Changeset 1963


Ignore:
Timestamp:
10/14/20 11:38:20 (4 years ago)
Author:
oabramkina
Message:

dev_oa: adding interface to xios_send permitting sending a tile

Location:
XIOS/dev/dev_oa/src
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_oa/src/filter/source_filter.cpp

    r1928 r1963  
    1919    , offset(offset) 
    2020    , hasMissingValue(hasMissingValue), defaultValue(defaultValue) 
     21    , ntiles(0) 
    2122  { 
    2223    if (!grid) 
     
    5152    } 
    5253 
     54  } 
     55 
     56  template <int N> 
     57  void CSourceFilter::streamTile(CDate date, const CArray<double, N>& data, int ntile) 
     58  { 
     59    // TO DO 
    5360  } 
    5461 
     
    105112  template void CSourceFilter::streamData<7>(CDate date, const CArray<double, 7>& data); 
    106113 
     114  template void CSourceFilter::streamTile<1>(CDate date, const CArray<double, 1>& data, int ntile); 
     115  template void CSourceFilter::streamTile<2>(CDate date, const CArray<double, 2>& data, int ntile); 
     116  template void CSourceFilter::streamTile<3>(CDate date, const CArray<double, 3>& data, int ntile); 
     117  template void CSourceFilter::streamTile<4>(CDate date, const CArray<double, 4>& data, int ntile); 
     118  template void CSourceFilter::streamTile<5>(CDate date, const CArray<double, 5>& data, int ntile); 
     119  template void CSourceFilter::streamTile<6>(CDate date, const CArray<double, 6>& data, int ntile); 
     120  template void CSourceFilter::streamTile<7>(CDate date, const CArray<double, 7>& data, int ntile); 
     121 
    107122  void CSourceFilter::streamDataFromServer(CDate date, const std::map<int, CArray<double, 1> >& data) 
    108123  { 
  • XIOS/dev/dev_oa/src/filter/source_filter.hpp

    r1704 r1963  
    4848      void streamData(CDate date, const CArray<double, N>& data); 
    4949 
     50      template <int N> 
     51      void streamTile(CDate date, const CArray<double, N>& data, int ntile); 
     52 
    5053      void virtual buildGraph(CDataPacketPtr packet); 
    5154 
     
    7578      const bool compression ; //!< indicates if data need to be compressed : on client side : true, on server side : false 
    7679      const bool mask ;        //!< indicates whether grid mask should be applied (true for clients, false for servers) 
     80      int ntiles ; 
    7781  }; // class CSourceFilter 
    7882} // namespace xios 
  • XIOS/dev/dev_oa/src/interface/c/icdata.cpp

    r1639 r1963  
    429429   CATCH_DUMP_STACK 
    430430 
    431    void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize) 
     431   void cxios_write_data_k81(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int tileid) 
    432432   TRY 
    433433   { 
     
    443443 
    444444      CArray<double, 1> data(data_k8, shape(data_Xsize), neverDeleteData); 
    445       CField::get(fieldid_str)->setData(data); 
    446  
    447       CTimer::get("XIOS send field").suspend(); 
    448       CTimer::get("XIOS").suspend(); 
    449    } 
    450    CATCH_DUMP_STACK 
    451  
    452    void cxios_write_data_k82(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize) 
     445      CField::get(fieldid_str)->setData(data, tileid); 
     446 
     447      CTimer::get("XIOS send field").suspend(); 
     448      CTimer::get("XIOS").suspend(); 
     449   } 
     450   CATCH_DUMP_STACK 
     451 
     452   void cxios_write_data_k82(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int tileid) 
    453453   TRY 
    454454   { 
     
    464464 
    465465      CArray<double, 2>data(data_k8, shape(data_Xsize, data_Ysize), neverDeleteData); 
    466       CField::get(fieldid_str)->setData(data); 
    467  
    468       CTimer::get("XIOS send field").suspend(); 
    469       CTimer::get("XIOS").suspend(); 
    470    } 
    471    CATCH_DUMP_STACK 
    472  
    473    void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize) 
     466      CField::get(fieldid_str)->setData(data, tileid); 
     467 
     468      CTimer::get("XIOS send field").suspend(); 
     469      CTimer::get("XIOS").suspend(); 
     470   } 
     471   CATCH_DUMP_STACK 
     472 
     473   void cxios_write_data_k83(const char* fieldid, int fieldid_size, double* data_k8, int data_Xsize, int data_Ysize, int data_Zsize, int tileid) 
    474474   TRY 
    475475   { 
     
    485485 
    486486      CArray<double, 3>data(data_k8, shape(data_Xsize, data_Ysize, data_Zsize), neverDeleteData); 
    487       CField::get(fieldid_str)->setData(data); 
    488  
    489       CTimer::get("XIOS send field").suspend(); 
    490       CTimer::get("XIOS").suspend(); 
    491    } 
    492    CATCH_DUMP_STACK 
    493  
    494    void cxios_write_data_k84(const char* fieldid, int fieldid_size, double* data_k8, int data_0size, int data_1size, int data_2size, int data_3size) 
     487      CField::get(fieldid_str)->setData(data, tileid); 
     488 
     489      CTimer::get("XIOS send field").suspend(); 
     490      CTimer::get("XIOS").suspend(); 
     491   } 
     492   CATCH_DUMP_STACK 
     493 
     494   void cxios_write_data_k84(const char* fieldid, int fieldid_size, double* data_k8, int data_0size, int data_1size, 
     495                             int data_2size, int data_3size, int tileid) 
    495496   TRY 
    496497   { 
     
    506507 
    507508      CArray<double, 4>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size), neverDeleteData); 
    508       CField::get(fieldid_str)->setData(data); 
     509      CField::get(fieldid_str)->setData(data, tileid); 
    509510 
    510511      CTimer::get("XIOS send field").suspend(); 
     
    515516   void cxios_write_data_k85(const char* fieldid, int fieldid_size, double* data_k8, 
    516517                             int data_0size, int data_1size, int data_2size, 
    517                              int data_3size, int data_4size) 
     518                             int data_3size, int data_4size, int tileid) 
    518519   TRY 
    519520   { 
     
    529530 
    530531      CArray<double, 5>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size), neverDeleteData); 
    531       CField::get(fieldid_str)->setData(data); 
     532      CField::get(fieldid_str)->setData(data, tileid); 
    532533 
    533534      CTimer::get("XIOS send field").suspend(); 
     
    538539   void cxios_write_data_k86(const char* fieldid, int fieldid_size, double* data_k8, 
    539540                             int data_0size, int data_1size, int data_2size, 
    540                              int data_3size, int data_4size, int data_5size) 
     541                             int data_3size, int data_4size, int data_5size, int tileid) 
    541542   TRY 
    542543   { 
     
    552553 
    553554      CArray<double, 6>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size), neverDeleteData); 
    554       CField::get(fieldid_str)->setData(data); 
     555      CField::get(fieldid_str)->setData(data, tileid); 
    555556 
    556557      CTimer::get("XIOS send field").suspend(); 
     
    562563                             int data_0size, int data_1size, int data_2size, 
    563564                             int data_3size, int data_4size, int data_5size, 
    564                              int data_6size) 
     565                             int data_6size, int tileid) 
    565566   TRY 
    566567   { 
     
    576577 
    577578      CArray<double, 7>data(data_k8, shape(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size), neverDeleteData); 
    578       CField::get(fieldid_str)->setData(data); 
     579      CField::get(fieldid_str)->setData(data, tileid); 
    579580 
    580581      CTimer::get("XIOS send field").suspend(); 
     
    604605   CATCH_DUMP_STACK 
    605606 
    606    void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize) 
     607   void cxios_write_data_k41(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int tileid) 
    607608   TRY 
    608609   { 
     
    620621      CArray<double, 1> data(data_Xsize); 
    621622      data = data_tmp; 
    622       CField::get(fieldid_str)->setData(data); 
    623  
    624       CTimer::get("XIOS send field").suspend(); 
    625       CTimer::get("XIOS").suspend(); 
    626    } 
    627    CATCH_DUMP_STACK 
    628  
    629    void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize) 
     623      CField::get(fieldid_str)->setData(data, tileid); 
     624 
     625      CTimer::get("XIOS send field").suspend(); 
     626      CTimer::get("XIOS").suspend(); 
     627   } 
     628   CATCH_DUMP_STACK 
     629 
     630   void cxios_write_data_k42(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int tileid) 
    630631   TRY 
    631632   { 
     
    643644      CArray<double, 2> data(data_Xsize, data_Ysize); 
    644645      data = data_tmp; 
    645       CField::get(fieldid_str)->setData(data); 
    646  
    647       CTimer::get("XIOS send field").suspend(); 
    648       CTimer::get("XIOS").suspend(); 
    649    } 
    650    CATCH_DUMP_STACK 
    651  
    652    void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, int data_Zsize) 
     646      CField::get(fieldid_str)->setData(data, tileid); 
     647 
     648      CTimer::get("XIOS send field").suspend(); 
     649      CTimer::get("XIOS").suspend(); 
     650   } 
     651   CATCH_DUMP_STACK 
     652 
     653   void cxios_write_data_k43(const char* fieldid, int fieldid_size, float* data_k4, int data_Xsize, int data_Ysize, 
     654                             int data_Zsize, int tileid) 
    653655   TRY 
    654656   { 
     
    666668      CArray<double, 3> data(data_Xsize, data_Ysize, data_Zsize); 
    667669      data = data_tmp; 
    668       CField::get(fieldid_str)->setData(data); 
     670      CField::get(fieldid_str)->setData(data, tileid); 
    669671 
    670672      CTimer::get("XIOS send field").suspend(); 
     
    675677   void cxios_write_data_k44(const char* fieldid, int fieldid_size, float* data_k4, 
    676678                             int data_0size, int data_1size, int data_2size, 
    677                              int data_3size) 
     679                             int data_3size, int tileid) 
    678680   TRY 
    679681   { 
     
    691693      CArray<double, 4> data(data_0size, data_1size, data_2size, data_3size); 
    692694      data = data_tmp; 
    693       CField::get(fieldid_str)->setData(data); 
     695      CField::get(fieldid_str)->setData(data, tileid); 
    694696 
    695697      CTimer::get("XIOS send field").suspend(); 
     
    700702   void cxios_write_data_k45(const char* fieldid, int fieldid_size, float* data_k4, 
    701703                             int data_0size, int data_1size, int data_2size, 
    702                              int data_3size, int data_4size) 
     704                             int data_3size, int data_4size, int tileid) 
    703705   TRY 
    704706   { 
     
    716718      CArray<double, 5> data(data_0size, data_1size, data_2size, data_3size, data_4size); 
    717719      data = data_tmp; 
    718       CField::get(fieldid_str)->setData(data); 
     720      CField::get(fieldid_str)->setData(data, tileid); 
    719721 
    720722      CTimer::get("XIOS send field").suspend(); 
     
    725727   void cxios_write_data_k46(const char* fieldid, int fieldid_size, float* data_k4, 
    726728                             int data_0size, int data_1size, int data_2size, 
    727                              int data_3size, int data_4size, int data_5size) 
     729                             int data_3size, int data_4size, int data_5size, int tileid) 
    728730   TRY 
    729731   { 
     
    741743      CArray<double, 6> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size); 
    742744      data = data_tmp; 
    743       CField::get(fieldid_str)->setData(data); 
     745      CField::get(fieldid_str)->setData(data, tileid); 
    744746 
    745747      CTimer::get("XIOS send field").suspend(); 
     
    751753                             int data_0size, int data_1size, int data_2size, 
    752754                             int data_3size, int data_4size, int data_5size, 
    753                              int data_6size) 
     755                             int data_6size, int tileid) 
    754756   TRY 
    755757   { 
     
    767769      CArray<double, 7> data(data_0size, data_1size, data_2size, data_3size, data_4size, data_5size, data_6size); 
    768770      data = data_tmp; 
    769       CField::get(fieldid_str)->setData(data); 
     771      CField::get(fieldid_str)->setData(data, tileid); 
    770772 
    771773      CTimer::get("XIOS send field").suspend(); 
  • XIOS/dev/dev_oa/src/interface/fortran/idata.F90

    r1587 r1963  
    6060      END SUBROUTINE cxios_write_data_k80 
    6161 
    62       SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
     62      SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize, tileid) BIND(C) 
    6363         USE ISO_C_BINDING 
    6464         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    6666         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    6767         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     68         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    6869      END SUBROUTINE cxios_write_data_k81 
    6970 
    70       SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 
     71      SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, tileid) BIND(C) 
    7172         USE ISO_C_BINDING 
    7273         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    7475         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    7576         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     77         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    7678      END SUBROUTINE cxios_write_data_k82 
    7779 
    78       SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     80      SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize, & 
     81                                      tileid) BIND(C) 
    7982         USE ISO_C_BINDING 
    8083         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    8285         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    8386         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     87         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    8488      END SUBROUTINE cxios_write_data_k83 
    8589 
    8690      SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, & 
    8791                                      data_0size, data_1size, data_2size, & 
    88                                       data_3size) BIND(C) 
     92                                      data_3size, tileid) BIND(C) 
    8993         USE ISO_C_BINDING 
    9094         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    9397         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    9498         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     99         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    95100      END SUBROUTINE cxios_write_data_k84 
    96101 
    97102      SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, & 
    98103                                      data_0size, data_1size, data_2size, & 
    99                                       data_3size, data_4size) BIND(C) 
     104                                      data_3size, data_4size, tileid) BIND(C) 
    100105         USE ISO_C_BINDING 
    101106         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    104109         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    105110         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     111         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    106112      END SUBROUTINE cxios_write_data_k85 
    107113 
    108114      SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, & 
    109115                                      data_0size, data_1size, data_2size, & 
    110                                       data_3size, data_4size, data_5size) BIND(C) 
     116                                      data_3size, data_4size, data_5size, tileid) BIND(C) 
    111117         USE ISO_C_BINDING 
    112118         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    115121         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    116122         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     123         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    117124      END SUBROUTINE cxios_write_data_k86 
    118125 
     
    120127                                      data_0size, data_1size, data_2size, & 
    121128                                      data_3size, data_4size, data_5size, & 
    122                                       data_6size) BIND(C) 
     129                                      data_6size, tileid) BIND(C) 
    123130         USE ISO_C_BINDING 
    124131         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    128135         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
    129136         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     137         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    130138      END SUBROUTINE cxios_write_data_k87 
    131139 
     
    138146      END SUBROUTINE cxios_write_data_k40 
    139147 
    140       SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
     148      SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize, tileid) BIND(C) 
    141149         USE ISO_C_BINDING 
    142150         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    144152         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    145153         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     154         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    146155      END SUBROUTINE cxios_write_data_k41 
    147156 
    148       SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 
     157      SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, tileid) BIND(C) 
    149158         USE ISO_C_BINDING 
    150159         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    152161         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    153162         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     163         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    154164      END SUBROUTINE cxios_write_data_k42 
    155165 
    156       SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     166      SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize, & 
     167                                      tileid) BIND(C) 
    157168         USE ISO_C_BINDING 
    158169         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    160171         INTEGER  (kind = C_INT)   , VALUE        :: fieldid_size 
    161172         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     173         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    162174      END SUBROUTINE cxios_write_data_k43 
    163175 
    164176      SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, & 
    165177                                      data_0size, data_1size, data_2size, & 
    166                                       data_3size) BIND(C) 
     178                                      data_3size, tileid) BIND(C) 
    167179         USE ISO_C_BINDING 
    168180         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    171183         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    172184         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     185         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    173186      END SUBROUTINE cxios_write_data_k44 
    174187 
    175188      SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, & 
    176189                                      data_0size, data_1size, data_2size, & 
    177                                       data_3size, data_4size) BIND(C) 
     190                                      data_3size, data_4size, tileid) BIND(C) 
    178191         USE ISO_C_BINDING 
    179192         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    182195         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    183196         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     197         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    184198      END SUBROUTINE cxios_write_data_k45 
    185199 
    186200      SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, & 
    187201                                      data_0size, data_1size, data_2size, & 
    188                                       data_3size, data_4size, data_5size) BIND(C) 
     202                                      data_3size, data_4size, data_5size, tileid) BIND(C) 
    189203         USE ISO_C_BINDING 
    190204         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    193207         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
    194208         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     209         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    195210      END SUBROUTINE cxios_write_data_k46 
    196211 
     
    198213                                      data_0size, data_1size, data_2size, & 
    199214                                      data_3size, data_4size, data_5size, & 
    200                                       data_6size) BIND(C) 
     215                                      data_6size, tileid) BIND(C) 
    201216         USE ISO_C_BINDING 
    202217         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    206221         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
    207222         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     223         INTEGER  (kind = C_INT)   , VALUE        :: tileid 
    208224      END SUBROUTINE cxios_write_data_k47 
    209225 
     
    545561      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    546562      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:) 
    547       CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1)) 
     563      INTEGER, PARAMETER                            :: tileid = -1 
     564      CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1), tileid) 
    548565   END SUBROUTINE xios(send_field_r8_1d) 
    549566 
     567   SUBROUTINE xios(send_field_tiled_r8_1d)(fieldid, data1d_k8, tileid) 
     568   IMPLICIT NONE 
     569      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     570      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:) 
     571      INTEGER                          , INTENT(IN) :: tileid 
     572      CALL cxios_write_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1), tileid) 
     573   END SUBROUTINE xios(send_field_tiled_r8_1d) 
     574 
    550575   SUBROUTINE  xios(send_field_r8_2d)(fieldid, data2d_k8) 
    551576   IMPLICIT NONE 
    552577      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    553578      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:) 
    554       CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 
     579      INTEGER, PARAMETER                            :: tileid = -1 
     580      CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), & 
     581                                size(data2d_k8, 2), tileid) 
    555582   END SUBROUTINE  xios(send_field_r8_2d) 
    556583 
     584   SUBROUTINE  xios(send_field_tiled_r8_2d)(fieldid, data2d_k8, tileid) 
     585   IMPLICIT NONE 
     586      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     587      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:) 
     588      INTEGER                          , INTENT(IN) :: tileid 
     589      CALL cxios_write_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), & 
     590                                size(data2d_k8, 2), tileid) 
     591   END SUBROUTINE  xios(send_field_tiled_r8_2d) 
     592 
    557593   SUBROUTINE  xios(send_field_r8_3d)(fieldid, data3d_k8) 
    558594   IMPLICIT NONE 
    559595      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    560596      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:) 
    561       CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
     597      INTEGER, PARAMETER                            :: tileid = -1 
     598      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3), & 
     599                                tileid) 
    562600   END SUBROUTINE  xios(send_field_r8_3d) 
    563601 
     602   SUBROUTINE  xios(send_field_tiled_r8_3d)(fieldid, data3d_k8, tileid) 
     603   IMPLICIT NONE 
     604      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     605      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:) 
     606      INTEGER                          , INTENT(IN) :: tileid 
     607      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), & 
     608                                      size(data3d_k8, 2), size(data3d_k8, 3), tileid) 
     609   END SUBROUTINE  xios(send_field_tiled_r8_3d) 
     610 
    564611   SUBROUTINE  xios(send_field_r8_4d)(fieldid, data4d_k8) 
    565612   IMPLICIT NONE 
    566613      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    567614      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:) 
     615      INTEGER, PARAMETER                            :: tileid = -1 
    568616      CALL cxios_write_data_k84(fieldid, len(fieldid), data4d_k8, & 
    569617                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 
    570                                 size(data4d_k8, 4)) 
     618                                size(data4d_k8, 4), tileid) 
    571619   END SUBROUTINE  xios(send_field_r8_4d) 
    572620 
     621   SUBROUTINE  xios(send_field_tiled_r8_4d)(fieldid, data4d_k8, tileid) 
     622   IMPLICIT NONE 
     623      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     624      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:) 
     625      INTEGER                          , INTENT(IN) :: tileid 
     626      CALL cxios_write_data_k84(fieldid, len(fieldid), data4d_k8, & 
     627                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 
     628                                size(data4d_k8, 4), tileid) 
     629   END SUBROUTINE  xios(send_field_tiled_r8_4d) 
     630 
    573631   SUBROUTINE  xios(send_field_r8_5d)(fieldid, data5d_k8) 
    574632   IMPLICIT NONE 
    575633      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    576634      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:) 
     635      INTEGER, PARAMETER                            :: tileid = -1 
    577636      CALL cxios_write_data_k85(fieldid, len(fieldid), data5d_k8, & 
    578637                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 
    579                                 size(data5d_k8, 4), size(data5d_k8, 5)) 
     638                                size(data5d_k8, 4), size(data5d_k8, 5), tileid) 
    580639   END SUBROUTINE  xios(send_field_r8_5d) 
    581640 
     641   SUBROUTINE  xios(send_field_tiled_r8_5d)(fieldid, data5d_k8, tileid) 
     642   IMPLICIT NONE 
     643      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     644      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:) 
     645      INTEGER                          , INTENT(IN) :: tileid 
     646      CALL cxios_write_data_k85(fieldid, len(fieldid), data5d_k8, & 
     647                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 
     648                                size(data5d_k8, 4), size(data5d_k8, 5), tileid) 
     649   END SUBROUTINE  xios(send_field_tiled_r8_5d) 
     650 
    582651   SUBROUTINE  xios(send_field_r8_6d)(fieldid, data6d_k8) 
    583652   IMPLICIT NONE 
    584653      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    585654      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:) 
     655      INTEGER, PARAMETER                            :: tileid = -1 
    586656      CALL cxios_write_data_k86(fieldid, len(fieldid), data6d_k8, & 
    587657                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 
    588                                 size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 
     658                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6), tileid) 
    589659   END SUBROUTINE  xios(send_field_r8_6d) 
    590660 
     661   SUBROUTINE  xios(send_field_tiled_r8_6d)(fieldid, data6d_k8, tileid) 
     662   IMPLICIT NONE 
     663      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     664      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:) 
     665      INTEGER                          , INTENT(IN) :: tileid 
     666      CALL cxios_write_data_k86(fieldid, len(fieldid), data6d_k8, & 
     667                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 
     668                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6), tileid) 
     669   END SUBROUTINE  xios(send_field_tiled_r8_6d) 
     670 
    591671   SUBROUTINE  xios(send_field_r8_7d)(fieldid, data7d_k8) 
    592672   IMPLICIT NONE 
    593673      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    594674      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:) 
     675      INTEGER, PARAMETER                            :: tileid = -1 
    595676      CALL cxios_write_data_k87(fieldid, len(fieldid), data7d_k8, & 
    596677                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 
    597678                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 
    598                                 size(data7d_k8, 7)) 
     679                                size(data7d_k8, 7), tileid) 
    599680   END SUBROUTINE  xios(send_field_r8_7d) 
     681 
     682   SUBROUTINE  xios(send_field_tiled_r8_7d)(fieldid, data7d_k8, tileid) 
     683   IMPLICIT NONE 
     684      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     685      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:) 
     686      INTEGER                          , INTENT(IN) :: tileid 
     687      CALL cxios_write_data_k87(fieldid, len(fieldid), data7d_k8, & 
     688                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 
     689                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 
     690                                size(data7d_k8, 7), tileid) 
     691   END SUBROUTINE  xios(send_field_tiled_r8_7d) 
    600692 
    601693   SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4) 
     
    610702      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    611703      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:) 
    612       CALL cxios_write_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1)) 
     704      INTEGER, PARAMETER                            :: tileid = -1 
     705      CALL cxios_write_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1), tileid) 
    613706   END SUBROUTINE xios(send_field_r4_1d) 
    614707 
     708   SUBROUTINE xios(send_field_tiled_r4_1d)(fieldid, data1d_k4, tileid) 
     709   IMPLICIT NONE 
     710      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     711      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:) 
     712      INTEGER                          , INTENT(IN) :: tileid 
     713      CALL cxios_write_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1), tileid) 
     714   END SUBROUTINE xios(send_field_tiled_r4_1d) 
     715 
    615716   SUBROUTINE xios(send_field_r4_2d)(fieldid, data2d_k4) 
    616717   IMPLICIT NONE 
    617718      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    618719      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:) 
    619       CALL cxios_write_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 
     720      INTEGER, PARAMETER                            :: tileid = -1 
     721      CALL cxios_write_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), tileid) 
    620722   END SUBROUTINE xios(send_field_r4_2d) 
    621723 
     724   SUBROUTINE xios(send_field_tiled_r4_2d)(fieldid, data2d_k4, tileid) 
     725   IMPLICIT NONE 
     726      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     727      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:) 
     728      INTEGER                          , INTENT(IN) :: tileid 
     729      CALL cxios_write_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), tileid) 
     730   END SUBROUTINE xios(send_field_tiled_r4_2d) 
     731 
    622732   SUBROUTINE xios(send_field_r4_3d)(fieldid, data3d_k4) 
    623733   IMPLICIT NONE 
    624734      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    625735      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:) 
    626       CALL cxios_write_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 
     736      INTEGER, PARAMETER                            :: tileid = -1 
     737      CALL cxios_write_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3), & 
     738                                tileid) 
    627739   END SUBROUTINE xios(send_field_r4_3d) 
    628740 
     741   SUBROUTINE xios(send_field_tiled_r4_3d)(fieldid, data3d_k4, tileid) 
     742   IMPLICIT NONE 
     743      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     744      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:) 
     745      INTEGER                          , INTENT(IN) :: tileid 
     746      CALL cxios_write_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3), & 
     747                                tileid) 
     748   END SUBROUTINE xios(send_field_tiled_r4_3d) 
     749 
    629750   SUBROUTINE  xios(send_field_r4_4d)(fieldid, data4d_k4) 
    630751   IMPLICIT NONE 
    631752      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    632753      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:) 
     754      INTEGER, PARAMETER                            :: tileid = -1 
    633755      CALL cxios_write_data_k44(fieldid, len(fieldid), data4d_k4, & 
    634756                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 
    635                                 size(data4d_k4, 4)) 
     757                                size(data4d_k4, 4), tileid) 
    636758   END SUBROUTINE  xios(send_field_r4_4d) 
    637759 
     760   SUBROUTINE  xios(send_field_tiled_r4_4d)(fieldid, data4d_k4, tileid) 
     761   IMPLICIT NONE 
     762      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     763      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:) 
     764      INTEGER                          , INTENT(IN) :: tileid 
     765      CALL cxios_write_data_k44(fieldid, len(fieldid), data4d_k4, & 
     766                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 
     767                                size(data4d_k4, 4), tileid) 
     768   END SUBROUTINE  xios(send_field_tiled_r4_4d) 
     769 
    638770   SUBROUTINE  xios(send_field_r4_5d)(fieldid, data5d_k4) 
    639771   IMPLICIT NONE 
    640772      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    641773      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:) 
     774      INTEGER, PARAMETER                            :: tileid = -1 
    642775      CALL cxios_write_data_k45(fieldid, len(fieldid), data5d_k4, & 
    643776                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 
    644                                 size(data5d_k4, 4), size(data5d_k4, 5)) 
     777                                size(data5d_k4, 4), size(data5d_k4, 5), tileid) 
    645778   END SUBROUTINE  xios(send_field_r4_5d) 
    646779 
     780   SUBROUTINE  xios(send_field_tiled_r4_5d)(fieldid, data5d_k4, tileid) 
     781   IMPLICIT NONE 
     782      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     783      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:) 
     784      INTEGER                          , INTENT(IN) :: tileid 
     785      CALL cxios_write_data_k45(fieldid, len(fieldid), data5d_k4, & 
     786                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 
     787                                size(data5d_k4, 4), size(data5d_k4, 5), tileid) 
     788   END SUBROUTINE  xios(send_field_tiled_r4_5d) 
     789 
    647790   SUBROUTINE  xios(send_field_r4_6d)(fieldid, data6d_k4) 
    648791   IMPLICIT NONE 
    649792      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    650793      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:) 
     794      INTEGER, PARAMETER                            :: tileid = -1 
    651795      CALL cxios_write_data_k46(fieldid, len(fieldid), data6d_k4, & 
    652796                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 
    653                                 size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 
     797                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6), tileid) 
    654798   END SUBROUTINE  xios(send_field_r4_6d) 
    655799 
     800   SUBROUTINE  xios(send_field_tiled_r4_6d)(fieldid, data6d_k4, tileid) 
     801   IMPLICIT NONE 
     802      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     803      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:) 
     804      INTEGER                          , INTENT(IN) :: tileid 
     805      CALL cxios_write_data_k46(fieldid, len(fieldid), data6d_k4, & 
     806                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 
     807                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6), tileid) 
     808   END SUBROUTINE  xios(send_field_tiled_r4_6d) 
     809 
    656810   SUBROUTINE  xios(send_field_r4_7d)(fieldid, data7d_k4) 
    657811   IMPLICIT NONE 
    658812      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
    659813      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:) 
     814      INTEGER, PARAMETER                            :: tileid = -1 
    660815      CALL cxios_write_data_k47(fieldid, len(fieldid), data7d_k4, & 
    661816                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 
    662817                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 
    663                                 size(data7d_k4, 7)) 
     818                                size(data7d_k4, 7), tileid) 
    664819   END SUBROUTINE  xios(send_field_r4_7d) 
     820 
     821   SUBROUTINE  xios(send_field_tiled_r4_7d)(fieldid, data7d_k4, tileid) 
     822   IMPLICIT NONE 
     823      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     824      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:) 
     825      INTEGER                          , INTENT(IN) :: tileid 
     826      CALL cxios_write_data_k47(fieldid, len(fieldid), data7d_k4, & 
     827                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 
     828                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 
     829                                size(data7d_k4, 7), tileid) 
     830   END SUBROUTINE  xios(send_field_tiled_r4_7d) 
    665831 
    666832   ! Receive field functions 
  • XIOS/dev/dev_oa/src/interface/fortran/ixios_interfaces.F90

    r981 r1963  
    1111                  xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 
    1212                  xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d), & 
     13                  xios(send_field_tiled_r8_1d), xios(send_field_tiled_r8_2d), & 
     14                  xios(send_field_tiled_r8_3d), xios(send_field_tiled_r8_4d), & 
     15                  xios(send_field_tiled_r8_5d), xios(send_field_tiled_r8_6d), xios(send_field_tiled_r8_7d), & 
     16                  xios(send_field_tiled_r4_1d), xios(send_field_tiled_r4_2d), & 
     17                  xios(send_field_tiled_r4_3d), xios(send_field_tiled_r4_4d), & 
     18                  xios(send_field_tiled_r4_5d), xios(send_field_tiled_r4_6d), xios(send_field_tiled_r4_7d), & 
    1319                  xios(recv_field_r8_0d), xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 
    1420                  xios(recv_field_r8_4d), xios(recv_field_r8_5d), xios(recv_field_r8_6d), xios(recv_field_r8_7d), & 
     
    239245                   xios(send_field_r8_4d), xios(send_field_r8_5d), xios(send_field_r8_6d), xios(send_field_r8_7d), & 
    240246                   xios(send_field_r4_0d), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 
    241                    xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d) 
     247                   xios(send_field_r4_4d), xios(send_field_r4_5d), xios(send_field_r4_6d), xios(send_field_r4_7d), & 
     248                   xios(send_field_tiled_r8_1d), xios(send_field_tiled_r8_2d), & 
     249                   xios(send_field_tiled_r8_3d), xios(send_field_tiled_r8_4d), & 
     250                   xios(send_field_tiled_r8_5d), xios(send_field_tiled_r8_6d), xios(send_field_tiled_r8_7d), & 
     251                   xios(send_field_tiled_r4_1d), xios(send_field_tiled_r4_2d), & 
     252                   xios(send_field_tiled_r4_3d), xios(send_field_tiled_r4_4d), & 
     253                   xios(send_field_tiled_r4_5d), xios(send_field_tiled_r4_6d), xios(send_field_tiled_r4_7d) 
    242254END INTERFACE xios(send_field) 
    243255 
  • XIOS/dev/dev_oa/src/node/field.hpp

    r1704 r1963  
    160160         static ENodeType GetType(void); 
    161161 
    162         template <int N> void setData(const CArray<double, N>& _data); 
     162        template <int N> void setData(const CArray<double, N>& _data, int ntile = -1); 
    163163        static bool dispatchEvent(CEventServer& event); 
    164164        void sendAllAttributesToServer(CContextClient* client) ;  
  • XIOS/dev/dev_oa/src/node/field_decl.cpp

    r932 r1963  
    33namespace xios 
    44{ 
    5   template void CField::setData<1>(const CArray<double, 1>& _data); 
    6   template void CField::setData<2>(const CArray<double, 2>& _data); 
    7   template void CField::setData<3>(const CArray<double, 3>& _data); 
    8   template void CField::setData<4>(const CArray<double, 4>& _data); 
    9   template void CField::setData<5>(const CArray<double, 5>& _data); 
    10   template void CField::setData<6>(const CArray<double, 6>& _data); 
    11   template void CField::setData<7>(const CArray<double, 7>& _data); 
     5  template void CField::setData<1>(const CArray<double, 1>& _data, int ntile); 
     6  template void CField::setData<2>(const CArray<double, 2>& _data, int ntile); 
     7  template void CField::setData<3>(const CArray<double, 3>& _data, int ntile); 
     8  template void CField::setData<4>(const CArray<double, 4>& _data, int ntile); 
     9  template void CField::setData<5>(const CArray<double, 5>& _data, int ntile); 
     10  template void CField::setData<6>(const CArray<double, 6>& _data, int ntile); 
     11  template void CField::setData<7>(const CArray<double, 7>& _data, int ntile); 
    1212 
    1313  template void CField::getData<1>(CArray<double, 1>& _data) const; 
  • XIOS/dev/dev_oa/src/node/field_impl.hpp

    r1622 r1963  
    1616 
    1717  template <int N> 
    18   void CField::setData(const CArray<double, N>& _data) 
     18  void CField::setData(const CArray<double, N>& _data, int tileid) 
    1919  TRY 
    2020  { 
     
    2222    { 
    2323      if (check_if_active.isEmpty() || (!check_if_active.isEmpty() && (!check_if_active) || isActive(true))) 
    24         clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data); 
     24        if (tileid > -1) 
     25          clientSourceFilter->streamTile(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data, tileid); // tiled domain 
     26        else 
     27          clientSourceFilter->streamData(CContext::getCurrent()->getCalendar()->getCurrentDate(), _data); 
    2528    } 
    2629    else if (instantDataFilter) 
Note: See TracChangeset for help on using the changeset viewer.