Ignore:
Timestamp:
03/30/21 18:25:37 (3 years ago)
Author:
ymipsl
Message:

Merge fortran interface functionnalities from trunk :

  • sendField & recvField with field handle
  • getCurrentContext

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/dev/dev_ym/XIOS_COUPLING/src/interface/fortran/idata.F90

    r2115 r2121  
    44   USE, INTRINSIC :: ISO_C_BINDING 
    55   USE ICONTEXT 
     6   USE IFIELD 
    67 
    78   INTERFACE ! Ne pas appeler directement/Interface FORTRAN 2003 <-> C99 
     
    5253      END SUBROUTINE cxios_solve_inheritance 
    5354 
     55      SUBROUTINE cxios_write_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 
     56         USE ISO_C_BINDING 
     57         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     58         REAL     (kind = C_DOUBLE)               :: data_k8 
     59         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     60      END SUBROUTINE cxios_write_data_k80_hdl 
     61 
    5462      SUBROUTINE cxios_write_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    5563         USE ISO_C_BINDING 
     
    6068      END SUBROUTINE cxios_write_data_k80 
    6169 
     70      SUBROUTINE cxios_write_data_k81_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 
     71         USE ISO_C_BINDING 
     72         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     73         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     74         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     75      END SUBROUTINE cxios_write_data_k81_hdl 
     76 
    6277      SUBROUTINE cxios_write_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    6378         USE ISO_C_BINDING 
     
    6782         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    6883      END SUBROUTINE cxios_write_data_k81 
     84 
     85      SUBROUTINE cxios_write_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize) BIND(C) 
     86         USE ISO_C_BINDING 
     87         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     88         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     89         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     90      END SUBROUTINE cxios_write_data_k82_hdl 
    6991 
    7092      SUBROUTINE cxios_write_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 
     
    7698      END SUBROUTINE cxios_write_data_k82 
    7799 
     100      SUBROUTINE cxios_write_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     101         USE ISO_C_BINDING 
     102         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     103         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     104         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     105      END SUBROUTINE cxios_write_data_k83_hdl 
     106 
    78107      SUBROUTINE cxios_write_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    79108         USE ISO_C_BINDING 
     
    84113      END SUBROUTINE cxios_write_data_k83 
    85114 
     115      SUBROUTINE cxios_write_data_k84_hdl(field_hdl, data_k8, & 
     116                                      data_0size, data_1size, data_2size, & 
     117                                      data_3size) BIND(C) 
     118         USE ISO_C_BINDING 
     119         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     120         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     121         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     122         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     123      END SUBROUTINE cxios_write_data_k84_hdl 
     124 
    86125      SUBROUTINE cxios_write_data_k84(fieldid, fieldid_size, data_k8, & 
    87126                                      data_0size, data_1size, data_2size, & 
     
    95134      END SUBROUTINE cxios_write_data_k84 
    96135 
     136      SUBROUTINE cxios_write_data_k85_hdl(field_hdl, data_k8, & 
     137                                      data_0size, data_1size, data_2size, & 
     138                                      data_3size, data_4size) BIND(C) 
     139         USE ISO_C_BINDING 
     140         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     141         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     142         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     143         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     144      END SUBROUTINE cxios_write_data_k85_hdl 
     145 
    97146      SUBROUTINE cxios_write_data_k85(fieldid, fieldid_size, data_k8, & 
    98147                                      data_0size, data_1size, data_2size, & 
     
    106155      END SUBROUTINE cxios_write_data_k85 
    107156 
     157      SUBROUTINE cxios_write_data_k86_hdl(field_hdl, data_k8, & 
     158                                      data_0size, data_1size, data_2size, & 
     159                                      data_3size, data_4size, data_5size) BIND(C) 
     160         USE ISO_C_BINDING 
     161         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     162         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     163         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     164         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     165      END SUBROUTINE cxios_write_data_k86_hdl 
     166 
    108167      SUBROUTINE cxios_write_data_k86(fieldid, fieldid_size, data_k8, & 
    109168                                      data_0size, data_1size, data_2size, & 
     
    117176      END SUBROUTINE cxios_write_data_k86 
    118177 
    119       SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, & 
     178      SUBROUTINE cxios_write_data_k87_hdl(field_hdl, data_k8, & 
    120179                                      data_0size, data_1size, data_2size, & 
    121180                                      data_3size, data_4size, data_5size, & 
    122181                                      data_6size) BIND(C) 
    123182         USE ISO_C_BINDING 
     183         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     184         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     185         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     186         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     187         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     188      END SUBROUTINE cxios_write_data_k87_hdl 
     189 
     190      SUBROUTINE cxios_write_data_k87(fieldid, fieldid_size, data_k8, & 
     191                                      data_0size, data_1size, data_2size, & 
     192                                      data_3size, data_4size, data_5size, & 
     193                                      data_6size) BIND(C) 
     194         USE ISO_C_BINDING 
    124195         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    125196         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     
    130201      END SUBROUTINE cxios_write_data_k87 
    131202 
     203      SUBROUTINE cxios_write_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 
     204         USE ISO_C_BINDING 
     205         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     206         REAL     (kind = C_FLOAT)                :: data_k4 
     207         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     208      END SUBROUTINE cxios_write_data_k40_hdl 
     209 
    132210      SUBROUTINE cxios_write_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    133211         USE ISO_C_BINDING 
     
    138216      END SUBROUTINE cxios_write_data_k40 
    139217 
     218      SUBROUTINE cxios_write_data_k41_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 
     219         USE ISO_C_BINDING 
     220         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     221         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     222         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     223      END SUBROUTINE cxios_write_data_k41_hdl 
     224 
    140225      SUBROUTINE cxios_write_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    141226         USE ISO_C_BINDING 
     
    146231      END SUBROUTINE cxios_write_data_k41 
    147232 
     233      SUBROUTINE cxios_write_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize) BIND(C) 
     234         USE ISO_C_BINDING 
     235         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     236         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     237         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     238      END SUBROUTINE cxios_write_data_k42_hdl 
     239  
    148240      SUBROUTINE cxios_write_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 
    149241         USE ISO_C_BINDING 
     
    154246      END SUBROUTINE cxios_write_data_k42 
    155247 
     248      SUBROUTINE cxios_write_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     249         USE ISO_C_BINDING 
     250         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     251         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     252         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     253      END SUBROUTINE cxios_write_data_k43_hdl 
     254 
    156255      SUBROUTINE cxios_write_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    157256         USE ISO_C_BINDING 
     
    162261      END SUBROUTINE cxios_write_data_k43 
    163262 
     263      SUBROUTINE cxios_write_data_k44_hdl(field_hdl, data_k4, & 
     264                                      data_0size, data_1size, data_2size, & 
     265                                      data_3size) BIND(C) 
     266         USE ISO_C_BINDING 
     267         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     268         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     269         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     270         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     271      END SUBROUTINE cxios_write_data_k44_hdl 
     272 
    164273      SUBROUTINE cxios_write_data_k44(fieldid, fieldid_size, data_k4, & 
    165274                                      data_0size, data_1size, data_2size, & 
     
    173282      END SUBROUTINE cxios_write_data_k44 
    174283 
     284      SUBROUTINE cxios_write_data_k45_hdl(field_hdl, data_k4, & 
     285                                      data_0size, data_1size, data_2size, & 
     286                                      data_3size, data_4size) BIND(C) 
     287         USE ISO_C_BINDING 
     288         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     289         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     290         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     291         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     292      END SUBROUTINE cxios_write_data_k45_hdl 
     293 
    175294      SUBROUTINE cxios_write_data_k45(fieldid, fieldid_size, data_k4, & 
    176295                                      data_0size, data_1size, data_2size, & 
     
    184303      END SUBROUTINE cxios_write_data_k45 
    185304 
     305      SUBROUTINE cxios_write_data_k46_hdl(field_hdl, data_k4, & 
     306                                      data_0size, data_1size, data_2size, & 
     307                                      data_3size, data_4size, data_5size) BIND(C) 
     308         USE ISO_C_BINDING 
     309         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     310         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     311         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     312         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     313      END SUBROUTINE cxios_write_data_k46_hdl 
     314  
    186315      SUBROUTINE cxios_write_data_k46(fieldid, fieldid_size, data_k4, & 
    187316                                      data_0size, data_1size, data_2size, & 
     
    195324      END SUBROUTINE cxios_write_data_k46 
    196325 
    197       SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, & 
     326      SUBROUTINE cxios_write_data_k47_hdl(field_hdl, data_k4, & 
    198327                                      data_0size, data_1size, data_2size, & 
    199328                                      data_3size, data_4size, data_5size, & 
    200329                                      data_6size) BIND(C) 
    201330         USE ISO_C_BINDING 
     331         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     332         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     333         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     334         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     335         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     336      END SUBROUTINE cxios_write_data_k47_hdl 
     337 
     338      SUBROUTINE cxios_write_data_k47(fieldid, fieldid_size, data_k4, & 
     339                                      data_0size, data_1size, data_2size, & 
     340                                      data_3size, data_4size, data_5size, & 
     341                                      data_6size) BIND(C) 
     342         USE ISO_C_BINDING 
    202343         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    203344         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     
    208349      END SUBROUTINE cxios_write_data_k47 
    209350 
     351 
    210352      ! Read data 
     353      SUBROUTINE cxios_read_data_k80_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 
     354         USE ISO_C_BINDING 
     355         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     356         REAL     (kind = C_DOUBLE)               :: data_k8 
     357         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     358      END SUBROUTINE cxios_read_data_k80_hdl 
     359 
    211360      SUBROUTINE cxios_read_data_k80(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    212361         USE ISO_C_BINDING 
     
    217366      END SUBROUTINE cxios_read_data_k80 
    218367 
     368      SUBROUTINE cxios_read_data_k81_hdl(field_hdl, data_k8, data_Xsize) BIND(C) 
     369         USE ISO_C_BINDING 
     370         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     371         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     372         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     373      END SUBROUTINE cxios_read_data_k81_hdl 
     374 
    219375      SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 
    220376         USE ISO_C_BINDING 
     
    224380         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    225381      END SUBROUTINE cxios_read_data_k81 
     382 
     383      SUBROUTINE cxios_read_data_k82_hdl(field_hdl, data_k8, data_Xsize, data_Ysize) BIND(C) 
     384         USE ISO_C_BINDING 
     385         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     386         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     387         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     388      END SUBROUTINE cxios_read_data_k82_hdl 
    226389 
    227390      SUBROUTINE cxios_read_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 
     
    233396      END SUBROUTINE cxios_read_data_k82 
    234397 
    235       SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     398      SUBROUTINE cxios_read_data_k83_hdl(field_hdl, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     399         USE ISO_C_BINDING 
     400         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     401         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     402         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     403      END SUBROUTINE cxios_read_data_k83_hdl 
     404 
     405       SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    236406         USE ISO_C_BINDING 
    237407         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
     
    241411      END SUBROUTINE cxios_read_data_k83 
    242412 
    243       SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, & 
     413     SUBROUTINE cxios_read_data_k84_hdl(field_hdl, data_k8, & 
     414                                      data_0size, data_1size, data_2size, & 
     415                                      data_3size) BIND(C) 
     416         USE ISO_C_BINDING 
     417         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     418         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     419         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     420         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     421      END SUBROUTINE cxios_read_data_k84_hdl 
     422 
     423     SUBROUTINE cxios_read_data_k84(fieldid, fieldid_size, data_k8, & 
    244424                                      data_0size, data_1size, data_2size, & 
    245425                                      data_3size) BIND(C) 
     
    252432      END SUBROUTINE cxios_read_data_k84 
    253433 
     434      SUBROUTINE cxios_read_data_k85_hdl(field_hdl, data_k8, & 
     435                                      data_0size, data_1size, data_2size, & 
     436                                      data_3size, data_4size) BIND(C) 
     437         USE ISO_C_BINDING 
     438         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     439         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     440         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     441         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     442      END SUBROUTINE cxios_read_data_k85_hdl 
     443 
    254444      SUBROUTINE cxios_read_data_k85(fieldid, fieldid_size, data_k8, & 
    255445                                      data_0size, data_1size, data_2size, & 
     
    263453      END SUBROUTINE cxios_read_data_k85 
    264454 
     455      SUBROUTINE cxios_read_data_k86_hdl(field_hdl, data_k8, & 
     456                                      data_0size, data_1size, data_2size, & 
     457                                      data_3size, data_4size, data_5size) BIND(C) 
     458         USE ISO_C_BINDING 
     459         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     460         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     461         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     462         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     463      END SUBROUTINE cxios_read_data_k86_hdl 
     464  
    265465      SUBROUTINE cxios_read_data_k86(fieldid, fieldid_size, data_k8, & 
    266466                                      data_0size, data_1size, data_2size, & 
     
    274474      END SUBROUTINE cxios_read_data_k86 
    275475 
    276       SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, & 
     476      SUBROUTINE cxios_read_data_k87_hdl(field_hdl, data_k8, & 
    277477                                      data_0size, data_1size, data_2size, & 
    278478                                      data_3size, data_4size, data_5size, & 
    279479                                      data_6size) BIND(C) 
    280480         USE ISO_C_BINDING 
     481         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     482         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     483         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     484         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     485         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     486      END SUBROUTINE cxios_read_data_k87_hdl 
     487 
     488      SUBROUTINE cxios_read_data_k87(fieldid, fieldid_size, data_k8, & 
     489                                      data_0size, data_1size, data_2size, & 
     490                                      data_3size, data_4size, data_5size, & 
     491                                      data_6size) BIND(C) 
     492         USE ISO_C_BINDING 
    281493         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: fieldid 
    282494         REAL     (kind = C_DOUBLE), DIMENSION(*) :: data_k8 
     
    287499      END SUBROUTINE cxios_read_data_k87 
    288500 
     501      SUBROUTINE cxios_read_data_k40_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 
     502         USE ISO_C_BINDING 
     503         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     504         REAL     (kind = C_FLOAT)                :: data_k4 
     505         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     506      END SUBROUTINE cxios_read_data_k40_hdl 
     507 
    289508      SUBROUTINE cxios_read_data_k40(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    290509         USE ISO_C_BINDING 
     
    295514      END SUBROUTINE cxios_read_data_k40 
    296515 
     516      SUBROUTINE cxios_read_data_k41_hdl(field_hdl, data_k4, data_Xsize) BIND(C) 
     517         USE ISO_C_BINDING 
     518         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     519         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     520         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
     521      END SUBROUTINE cxios_read_data_k41_hdl 
     522 
    297523      SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 
    298524         USE ISO_C_BINDING 
     
    302528         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize 
    303529      END SUBROUTINE cxios_read_data_k41 
     530 
     531      SUBROUTINE cxios_read_data_k42_hdl(field_hdl, data_k4, data_Xsize, data_Ysize) BIND(C) 
     532         USE ISO_C_BINDING 
     533         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     534         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     535         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize 
     536      END SUBROUTINE cxios_read_data_k42_hdl 
    304537 
    305538      SUBROUTINE cxios_read_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 
     
    311544      END SUBROUTINE cxios_read_data_k42 
    312545 
     546      SUBROUTINE cxios_read_data_k43_hdl(field_hdl, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
     547         USE ISO_C_BINDING 
     548         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     549         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     550         INTEGER  (kind = C_INT)   , VALUE        :: data_Xsize, data_Ysize, data_Zsize 
     551      END SUBROUTINE cxios_read_data_k43_hdl 
     552 
    313553      SUBROUTINE cxios_read_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 
    314554         USE ISO_C_BINDING 
     
    319559      END SUBROUTINE cxios_read_data_k43 
    320560 
     561      SUBROUTINE cxios_read_data_k44_hdl(field_hdl, data_k4, & 
     562                                      data_0size, data_1size, data_2size, & 
     563                                      data_3size) BIND(C) 
     564         USE ISO_C_BINDING 
     565         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     566         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     567         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     568         INTEGER  (kind = C_INT)   , VALUE        :: data_3size 
     569      END SUBROUTINE cxios_read_data_k44_hdl 
     570  
    321571      SUBROUTINE cxios_read_data_k44(fieldid, fieldid_size, data_k4, & 
    322572                                      data_0size, data_1size, data_2size, & 
     
    330580      END SUBROUTINE cxios_read_data_k44 
    331581 
     582      SUBROUTINE cxios_read_data_k45_hdl(field_hdl, data_k4, & 
     583                                      data_0size, data_1size, data_2size, & 
     584                                      data_3size, data_4size) BIND(C) 
     585         USE ISO_C_BINDING 
     586         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     587         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     588         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     589         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size 
     590      END SUBROUTINE cxios_read_data_k45_hdl 
     591 
    332592      SUBROUTINE cxios_read_data_k45(fieldid, fieldid_size, data_k4, & 
    333593                                      data_0size, data_1size, data_2size, & 
     
    341601      END SUBROUTINE cxios_read_data_k45 
    342602 
     603      SUBROUTINE cxios_read_data_k46_hdl(field_hdl, data_k4, & 
     604                                      data_0size, data_1size, data_2size, & 
     605                                      data_3size, data_4size, data_5size) BIND(C) 
     606         USE ISO_C_BINDING 
     607         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     608         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     609         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     610         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     611      END SUBROUTINE cxios_read_data_k46_hdl 
     612  
    343613      SUBROUTINE cxios_read_data_k46(fieldid, fieldid_size, data_k4, & 
    344614                                      data_0size, data_1size, data_2size, & 
     
    351621         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
    352622      END SUBROUTINE cxios_read_data_k46 
     623 
     624      SUBROUTINE cxios_read_data_k47_hdl(field_hdl, data_k4, & 
     625                                      data_0size, data_1size, data_2size, & 
     626                                      data_3size, data_4size, data_5size, & 
     627                                      data_6size) BIND(C) 
     628         USE ISO_C_BINDING 
     629         INTEGER  (kind = C_INTPTR_T), VALUE      :: field_hdl 
     630         REAL     (kind = C_FLOAT) , DIMENSION(*) :: data_k4 
     631         INTEGER  (kind = C_INT)   , VALUE        :: data_0size, data_1size, data_2size 
     632         INTEGER  (kind = C_INT)   , VALUE        :: data_3size, data_4size, data_5size 
     633         INTEGER  (kind = C_INT)   , VALUE        :: data_6size 
     634      END SUBROUTINE cxios_read_data_k47_hdl 
    353635 
    354636      SUBROUTINE cxios_read_data_k47(fieldid, fieldid_size, data_k4, & 
     
    436718         CHARACTER(kind = C_CHAR)  , DIMENSION(*) :: vardid 
    437719         INTEGER  (kind = C_INT)   , VALUE        :: varid_size 
    438          LOGICAL  (kind = C_BOOL)  , VALUE        :: data_logic 
     720         LOGICAL  (kind = C_BOOL)       , VALUE   :: data_logic 
    439721         LOGICAL  (kind = C_BOOL)                 :: is_var_existed 
    440722      END SUBROUTINE cxios_set_variable_data_logic 
     
    534816 
    535817   ! Send field functions 
     818   SUBROUTINE xios(send_field_r8_0d_hdl)(field_hdl, data_k8) 
     819   IMPLICIT NONE 
     820      TYPE(txios(field))              :: field_hdl 
     821      REAL     (kind = 8), INTENT(IN) :: data_k8 
     822      CALL cxios_write_data_k80_hdl(field_hdl%daddr, data_k8, 1) 
     823   END SUBROUTINE xios(send_field_r8_0d_hdl) 
     824 
    536825   SUBROUTINE xios(send_field_r8_0d)(fieldid, data_k8) 
    537826   IMPLICIT NONE 
     
    541830   END SUBROUTINE xios(send_field_r8_0d) 
    542831 
     832   SUBROUTINE xios(send_field_r8_1d_hdl)(field_hdl, data1d_k8) 
     833   IMPLICIT NONE 
     834      TYPE(txios(field))              :: field_hdl 
     835      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data1d_k8(:) 
     836      CALL cxios_write_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1)) 
     837   END SUBROUTINE xios(send_field_r8_1d_hdl) 
     838 
    543839   SUBROUTINE xios(send_field_r8_1d)(fieldid, data1d_k8) 
    544840   IMPLICIT NONE 
     
    548844   END SUBROUTINE xios(send_field_r8_1d) 
    549845 
     846   SUBROUTINE  xios(send_field_r8_2d_hdl)(field_hdl, data2d_k8) 
     847   IMPLICIT NONE 
     848      TYPE(txios(field))              :: field_hdl 
     849      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data2d_k8(:,:) 
     850      CALL cxios_write_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 
     851   END SUBROUTINE  xios(send_field_r8_2d_hdl) 
     852 
    550853   SUBROUTINE  xios(send_field_r8_2d)(fieldid, data2d_k8) 
    551854   IMPLICIT NONE 
     
    555858   END SUBROUTINE  xios(send_field_r8_2d) 
    556859 
     860   SUBROUTINE  xios(send_field_r8_3d_hdl)(field_hdl, data3d_k8) 
     861   IMPLICIT NONE 
     862      TYPE(txios(field))              :: field_hdl 
     863      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data3d_k8(:,:,:) 
     864      CALL cxios_write_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
     865   END SUBROUTINE  xios(send_field_r8_3d_hdl) 
     866 
    557867   SUBROUTINE  xios(send_field_r8_3d)(fieldid, data3d_k8) 
    558868   IMPLICIT NONE 
     
    561871      CALL cxios_write_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
    562872   END SUBROUTINE  xios(send_field_r8_3d) 
     873 
     874   SUBROUTINE  xios(send_field_r8_4d_hdl)(field_hdl, data4d_k8) 
     875   IMPLICIT NONE 
     876      TYPE(txios(field))              :: field_hdl 
     877      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data4d_k8(:,:,:,:) 
     878      CALL cxios_write_data_k84_hdl(field_hdl%daddr, data4d_k8, & 
     879                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 
     880                                size(data4d_k8, 4)) 
     881   END SUBROUTINE  xios(send_field_r8_4d_hdl) 
    563882 
    564883   SUBROUTINE  xios(send_field_r8_4d)(fieldid, data4d_k8) 
     
    571890   END SUBROUTINE  xios(send_field_r8_4d) 
    572891 
     892   SUBROUTINE  xios(send_field_r8_5d_hdl)(field_hdl, data5d_k8) 
     893   IMPLICIT NONE 
     894      TYPE(txios(field))              :: field_hdl 
     895      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data5d_k8(:,:,:,:,:) 
     896      CALL cxios_write_data_k85_hdl(field_hdl%daddr, data5d_k8, & 
     897                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 
     898                                size(data5d_k8, 4), size(data5d_k8, 5)) 
     899   END SUBROUTINE  xios(send_field_r8_5d_hdl) 
     900 
    573901   SUBROUTINE  xios(send_field_r8_5d)(fieldid, data5d_k8) 
    574902   IMPLICIT NONE 
     
    580908   END SUBROUTINE  xios(send_field_r8_5d) 
    581909 
     910   SUBROUTINE  xios(send_field_r8_6d_hdl)(field_hdl, data6d_k8) 
     911   IMPLICIT NONE 
     912      TYPE(txios(field))              :: field_hdl 
     913      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data6d_k8(:,:,:,:,:,:) 
     914      CALL cxios_write_data_k86_hdl(field_hdl%daddr, data6d_k8, & 
     915                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 
     916                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 
     917   END SUBROUTINE  xios(send_field_r8_6d_hdl) 
     918 
    582919   SUBROUTINE  xios(send_field_r8_6d)(fieldid, data6d_k8) 
    583920   IMPLICIT NONE 
     
    588925                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 
    589926   END SUBROUTINE  xios(send_field_r8_6d) 
     927 
     928   SUBROUTINE  xios(send_field_r8_7d_hdl)(field_hdl, data7d_k8) 
     929   IMPLICIT NONE 
     930      TYPE(txios(field))              :: field_hdl 
     931      REAL     (kind = 8), DIMENSION(*), INTENT(IN) :: data7d_k8(:,:,:,:,:,:,:) 
     932      CALL cxios_write_data_k87_hdl(field_hdl%daddr, data7d_k8, & 
     933                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 
     934                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 
     935                                size(data7d_k8, 7)) 
     936   END SUBROUTINE  xios(send_field_r8_7d_hdl) 
    590937 
    591938   SUBROUTINE  xios(send_field_r8_7d)(fieldid, data7d_k8) 
     
    599946   END SUBROUTINE  xios(send_field_r8_7d) 
    600947 
     948   SUBROUTINE xios(send_field_r4_0d_hdl)(field_hdl, data_k4) 
     949   IMPLICIT NONE 
     950      TYPE(txios(field))              :: field_hdl 
     951      REAL     (kind = 4), INTENT(IN) :: data_k4 
     952      CALL cxios_write_data_k40_hdl(field_hdl%daddr, data_k4, 1) 
     953   END SUBROUTINE xios(send_field_r4_0d_hdl) 
     954 
    601955   SUBROUTINE xios(send_field_r4_0d)(fieldid, data_k4) 
    602956   IMPLICIT NONE 
     
    606960   END SUBROUTINE xios(send_field_r4_0d) 
    607961 
     962   SUBROUTINE xios(send_field_r4_1d_hdl)(field_hdl, data1d_k4) 
     963   IMPLICIT NONE 
     964      TYPE(txios(field))              :: field_hdl 
     965      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data1d_k4(:) 
     966      CALL cxios_write_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1)) 
     967   END SUBROUTINE xios(send_field_r4_1d_hdl) 
     968 
    608969   SUBROUTINE xios(send_field_r4_1d)(fieldid, data1d_k4) 
    609970   IMPLICIT NONE 
     
    613974   END SUBROUTINE xios(send_field_r4_1d) 
    614975 
     976   SUBROUTINE xios(send_field_r4_2d_hdl)(field_hdl, data2d_k4) 
     977   IMPLICIT NONE 
     978      TYPE(txios(field))              :: field_hdl 
     979      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data2d_k4(:,:) 
     980      CALL cxios_write_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 
     981   END SUBROUTINE xios(send_field_r4_2d_hdl) 
     982 
    615983   SUBROUTINE xios(send_field_r4_2d)(fieldid, data2d_k4) 
    616984   IMPLICIT NONE 
     
    620988   END SUBROUTINE xios(send_field_r4_2d) 
    621989 
     990   SUBROUTINE xios(send_field_r4_3d_hdl)(field_hdl, data3d_k4) 
     991   IMPLICIT NONE 
     992      TYPE(txios(field))              :: field_hdl 
     993      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data3d_k4(:,:,:) 
     994      CALL cxios_write_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 
     995   END SUBROUTINE xios(send_field_r4_3d_hdl) 
     996 
    622997   SUBROUTINE xios(send_field_r4_3d)(fieldid, data3d_k4) 
    623998   IMPLICIT NONE 
     
    6271002   END SUBROUTINE xios(send_field_r4_3d) 
    6281003 
     1004   SUBROUTINE  xios(send_field_r4_4d_hdl)(field_hdl, data4d_k4) 
     1005   IMPLICIT NONE 
     1006      TYPE(txios(field))              :: field_hdl 
     1007      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data4d_k4(:,:,:,:) 
     1008      CALL cxios_write_data_k44_hdl(field_hdl%daddr, data4d_k4, & 
     1009                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 
     1010                                size(data4d_k4, 4)) 
     1011   END SUBROUTINE  xios(send_field_r4_4d_hdl) 
     1012    
    6291013   SUBROUTINE  xios(send_field_r4_4d)(fieldid, data4d_k4) 
    6301014   IMPLICIT NONE 
     
    6361020   END SUBROUTINE  xios(send_field_r4_4d) 
    6371021 
     1022   SUBROUTINE  xios(send_field_r4_5d_hdl)(field_hdl, data5d_k4) 
     1023   IMPLICIT NONE 
     1024      TYPE(txios(field))              :: field_hdl 
     1025      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data5d_k4(:,:,:,:,:) 
     1026      CALL cxios_write_data_k45_hdl(field_hdl%daddr, data5d_k4, & 
     1027                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 
     1028                                size(data5d_k4, 4), size(data5d_k4, 5)) 
     1029   END SUBROUTINE  xios(send_field_r4_5d_hdl) 
     1030 
    6381031   SUBROUTINE  xios(send_field_r4_5d)(fieldid, data5d_k4) 
    6391032   IMPLICIT NONE 
     
    6451038   END SUBROUTINE  xios(send_field_r4_5d) 
    6461039 
     1040   SUBROUTINE  xios(send_field_r4_6d_hdl)(field_hdl, data6d_k4) 
     1041   IMPLICIT NONE 
     1042      TYPE(txios(field))              :: field_hdl 
     1043      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data6d_k4(:,:,:,:,:,:) 
     1044      CALL cxios_write_data_k46_hdl(field_hdl%daddr, data6d_k4, & 
     1045                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 
     1046                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 
     1047   END SUBROUTINE  xios(send_field_r4_6d_hdl) 
     1048    
    6471049   SUBROUTINE  xios(send_field_r4_6d)(fieldid, data6d_k4) 
    6481050   IMPLICIT NONE 
     
    6541056   END SUBROUTINE  xios(send_field_r4_6d) 
    6551057 
     1058   SUBROUTINE  xios(send_field_r4_7d_hdl)(field_hdl, data7d_k4) 
     1059   IMPLICIT NONE 
     1060      TYPE(txios(field))              :: field_hdl 
     1061      REAL     (kind = 4), DIMENSION(*), INTENT(IN) :: data7d_k4(:,:,:,:,:,:,:) 
     1062      CALL cxios_write_data_k47_hdl(field_hdl%daddr, data7d_k4, & 
     1063                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 
     1064                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 
     1065                                size(data7d_k4, 7)) 
     1066   END SUBROUTINE  xios(send_field_r4_7d_hdl) 
     1067    
    6561068   SUBROUTINE  xios(send_field_r4_7d)(fieldid, data7d_k4) 
    6571069   IMPLICIT NONE 
     
    6651077 
    6661078   ! Receive field functions 
     1079   SUBROUTINE xios(recv_field_r8_0d_hdl)(field_hdl, data0d_k8) 
     1080   IMPLICIT NONE 
     1081      TYPE(txios(field))              :: field_hdl 
     1082      REAL     (kind = 8)              , INTENT(OUT):: data0d_k8 
     1083      CALL cxios_read_data_k80_hdl(field_hdl%daddr, data0d_k8, 1) 
     1084   END SUBROUTINE xios(recv_field_r8_0d_hdl) 
     1085 
    6671086   SUBROUTINE xios(recv_field_r8_0d)(fieldid, data0d_k8) 
    6681087   IMPLICIT NONE 
     
    6721091   END SUBROUTINE xios(recv_field_r8_0d) 
    6731092 
     1093   SUBROUTINE xios(recv_field_r8_1d_hdl)(field_hdl, data1d_k8) 
     1094   IMPLICIT NONE 
     1095      TYPE(txios(field))              :: field_hdl 
     1096      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data1d_k8(:) 
     1097      CALL cxios_read_data_k81_hdl(field_hdl%daddr, data1d_k8, size(data1d_k8, 1)) 
     1098   END SUBROUTINE xios(recv_field_r8_1d_hdl) 
     1099 
    6741100   SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8) 
    6751101   IMPLICIT NONE 
     
    6791105   END SUBROUTINE xios(recv_field_r8_1d) 
    6801106 
     1107   SUBROUTINE  xios(recv_field_r8_2d_hdl)(field_hdl, data2d_k8) 
     1108   IMPLICIT NONE 
     1109      TYPE(txios(field))              :: field_hdl 
     1110      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data2d_k8(:,:) 
     1111      CALL cxios_read_data_k82_hdl(field_hdl%daddr, data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 
     1112   END SUBROUTINE  xios(recv_field_r8_2d_hdl) 
     1113 
    6811114   SUBROUTINE  xios(recv_field_r8_2d)(fieldid, data2d_k8) 
    6821115   IMPLICIT NONE 
     
    6861119   END SUBROUTINE  xios(recv_field_r8_2d) 
    6871120 
     1121   SUBROUTINE  xios(recv_field_r8_3d_hdl)(field_hdl, data3d_k8) 
     1122   IMPLICIT NONE 
     1123      TYPE(txios(field))              :: field_hdl 
     1124      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data3d_k8(:,:,:) 
     1125      CALL cxios_read_data_k83_hdl(field_hdl%daddr, data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
     1126   END SUBROUTINE  xios(recv_field_r8_3d_hdl) 
     1127 
    6881128   SUBROUTINE  xios(recv_field_r8_3d)(fieldid, data3d_k8) 
    6891129   IMPLICIT NONE 
     
    6921132      CALL cxios_read_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 
    6931133   END SUBROUTINE  xios(recv_field_r8_3d) 
     1134 
     1135   SUBROUTINE  xios(recv_field_r8_4d_hdl)(field_hdl, data4d_k8) 
     1136   IMPLICIT NONE 
     1137      TYPE(txios(field))              :: field_hdl 
     1138      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data4d_k8(:,:,:,:) 
     1139      CALL cxios_read_data_k84_hdl(field_hdl%daddr, data4d_k8, & 
     1140                                size(data4d_k8, 1), size(data4d_k8, 2), size(data4d_k8, 3), & 
     1141                                size(data4d_k8, 4)) 
     1142   END SUBROUTINE  xios(recv_field_r8_4d_hdl) 
    6941143 
    6951144   SUBROUTINE  xios(recv_field_r8_4d)(fieldid, data4d_k8) 
     
    7021151   END SUBROUTINE  xios(recv_field_r8_4d) 
    7031152 
     1153   SUBROUTINE  xios(recv_field_r8_5d_hdl)(field_hdl, data5d_k8) 
     1154   IMPLICIT NONE 
     1155      TYPE(txios(field))              :: field_hdl 
     1156      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data5d_k8(:,:,:,:,:) 
     1157      CALL cxios_read_data_k85_hdl(field_hdl%daddr, data5d_k8, & 
     1158                                size(data5d_k8, 1), size(data5d_k8, 2), size(data5d_k8, 3), & 
     1159                                size(data5d_k8, 4), size(data5d_k8, 5)) 
     1160   END SUBROUTINE  xios(recv_field_r8_5d_hdl) 
     1161 
    7041162   SUBROUTINE  xios(recv_field_r8_5d)(fieldid, data5d_k8) 
    7051163   IMPLICIT NONE 
     
    7111169   END SUBROUTINE  xios(recv_field_r8_5d) 
    7121170 
     1171   SUBROUTINE  xios(recv_field_r8_6d_hdl)(field_hdl, data6d_k8) 
     1172   IMPLICIT NONE 
     1173      TYPE(txios(field))              :: field_hdl 
     1174      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data6d_k8(:,:,:,:,:,:) 
     1175      CALL cxios_read_data_k86_hdl(field_hdl%daddr, data6d_k8, & 
     1176                                size(data6d_k8, 1), size(data6d_k8, 2), size(data6d_k8, 3), & 
     1177                                size(data6d_k8, 4), size(data6d_k8, 5), size(data6d_k8, 6)) 
     1178   END SUBROUTINE  xios(recv_field_r8_6d_hdl) 
     1179 
    7131180   SUBROUTINE  xios(recv_field_r8_6d)(fieldid, data6d_k8) 
    7141181   IMPLICIT NONE 
     
    7201187   END SUBROUTINE  xios(recv_field_r8_6d) 
    7211188 
    722    SUBROUTINE  xios(recv_field_r8_7d)(fieldid, data7d_k8) 
     1189  SUBROUTINE  xios(recv_field_r8_7d_hdl)(field_hdl, data7d_k8) 
     1190   IMPLICIT NONE 
     1191      TYPE(txios(field))              :: field_hdl 
     1192      REAL     (kind = 8), DIMENSION(*), INTENT(OUT) :: data7d_k8(:,:,:,:,:,:,:) 
     1193      CALL cxios_read_data_k87_hdl(field_hdl%daddr, data7d_k8, & 
     1194                                size(data7d_k8, 1), size(data7d_k8, 2), size(data7d_k8, 3), & 
     1195                                size(data7d_k8, 4), size(data7d_k8, 5), size(data7d_k8, 6), & 
     1196                                size(data7d_k8, 7)) 
     1197   END SUBROUTINE  xios(recv_field_r8_7d_hdl) 
     1198 
     1199  SUBROUTINE  xios(recv_field_r8_7d)(fieldid, data7d_k8) 
    7231200   IMPLICIT NONE 
    7241201      CHARACTER(len = *)               , INTENT(IN) :: fieldid 
     
    7301207   END SUBROUTINE  xios(recv_field_r8_7d) 
    7311208 
     1209   SUBROUTINE xios(recv_field_r4_0d_hdl)(field_hdl, data0d_k4) 
     1210   IMPLICIT NONE 
     1211      TYPE(txios(field))              :: field_hdl 
     1212      REAL     (kind = 4)              , INTENT(OUT):: data0d_k4 
     1213      CALL cxios_read_data_k40_hdl(field_hdl%daddr, data0d_k4, 1) 
     1214   END SUBROUTINE xios(recv_field_r4_0d_hdl) 
     1215 
    7321216   SUBROUTINE xios(recv_field_r4_0d)(fieldid, data0d_k4) 
    7331217   IMPLICIT NONE 
     
    7371221   END SUBROUTINE xios(recv_field_r4_0d) 
    7381222 
     1223   SUBROUTINE xios(recv_field_r4_1d_hdl)(field_hdl, data1d_k4) 
     1224   IMPLICIT NONE 
     1225      TYPE(txios(field))              :: field_hdl 
     1226      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data1d_k4(:) 
     1227      CALL cxios_read_data_k41_hdl(field_hdl%daddr, data1d_k4, size(data1d_k4, 1)) 
     1228   END SUBROUTINE xios(recv_field_r4_1d_hdl) 
     1229 
    7391230   SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4) 
    7401231   IMPLICIT NONE 
     
    7441235   END SUBROUTINE xios(recv_field_r4_1d) 
    7451236 
     1237   SUBROUTINE xios(recv_field_r4_2d_hdl)(field_hdl, data2d_k4) 
     1238   IMPLICIT NONE 
     1239      TYPE(txios(field))              :: field_hdl 
     1240      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data2d_k4(:,:) 
     1241      CALL cxios_read_data_k42_hdl(field_hdl%daddr, data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 
     1242   END SUBROUTINE xios(recv_field_r4_2d_hdl) 
     1243 
    7461244   SUBROUTINE xios(recv_field_r4_2d)(fieldid, data2d_k4) 
    7471245   IMPLICIT NONE 
     
    7511249   END SUBROUTINE xios(recv_field_r4_2d) 
    7521250 
     1251   SUBROUTINE xios(recv_field_r4_3d_hdl)(field_hdl, data3d_k4) 
     1252   IMPLICIT NONE 
     1253      TYPE(txios(field))              :: field_hdl 
     1254      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data3d_k4(:,:,:) 
     1255      CALL cxios_read_data_k43_hdl(field_hdl%daddr, data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 
     1256   END SUBROUTINE xios(recv_field_r4_3d_hdl) 
     1257 
    7531258   SUBROUTINE xios(recv_field_r4_3d)(fieldid, data3d_k4) 
    7541259   IMPLICIT NONE 
     
    7571262      CALL cxios_read_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 
    7581263   END SUBROUTINE xios(recv_field_r4_3d) 
     1264 
     1265   SUBROUTINE  xios(recv_field_r4_4d_hdl)(field_hdl, data4d_k4) 
     1266   IMPLICIT NONE 
     1267      TYPE(txios(field))              :: field_hdl 
     1268      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data4d_k4(:,:,:,:) 
     1269      CALL cxios_read_data_k44_hdl(field_hdl%daddr, data4d_k4, & 
     1270                                size(data4d_k4, 1), size(data4d_k4, 2), size(data4d_k4, 3), & 
     1271                                size(data4d_k4, 4)) 
     1272   END SUBROUTINE  xios(recv_field_r4_4d_hdl) 
    7591273 
    7601274   SUBROUTINE  xios(recv_field_r4_4d)(fieldid, data4d_k4) 
     
    7671281   END SUBROUTINE  xios(recv_field_r4_4d) 
    7681282 
     1283   SUBROUTINE  xios(recv_field_r4_5d_hdl)(field_hdl, data5d_k4) 
     1284   IMPLICIT NONE 
     1285      TYPE(txios(field))              :: field_hdl 
     1286      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data5d_k4(:,:,:,:,:) 
     1287      CALL cxios_read_data_k45_hdl(field_hdl%daddr, data5d_k4, & 
     1288                                size(data5d_k4, 1), size(data5d_k4, 2), size(data5d_k4, 3), & 
     1289                                size(data5d_k4, 4), size(data5d_k4, 5)) 
     1290   END SUBROUTINE  xios(recv_field_r4_5d_hdl) 
     1291 
    7691292   SUBROUTINE  xios(recv_field_r4_5d)(fieldid, data5d_k4) 
    7701293   IMPLICIT NONE 
     
    7761299   END SUBROUTINE  xios(recv_field_r4_5d) 
    7771300 
     1301   SUBROUTINE  xios(recv_field_r4_6d_hdl)(field_hdl, data6d_k4) 
     1302   IMPLICIT NONE 
     1303      TYPE(txios(field))              :: field_hdl 
     1304      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data6d_k4(:,:,:,:,:,:) 
     1305      CALL cxios_read_data_k46_hdl(field_hdl%daddr, data6d_k4, & 
     1306                                size(data6d_k4, 1), size(data6d_k4, 2), size(data6d_k4, 3), & 
     1307                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 
     1308   END SUBROUTINE  xios(recv_field_r4_6d_hdl) 
     1309 
    7781310   SUBROUTINE  xios(recv_field_r4_6d)(fieldid, data6d_k4) 
    7791311   IMPLICIT NONE 
     
    7841316                                size(data6d_k4, 4), size(data6d_k4, 5), size(data6d_k4, 6)) 
    7851317   END SUBROUTINE  xios(recv_field_r4_6d) 
     1318 
     1319   SUBROUTINE  xios(recv_field_r4_7d_hdl)(field_hdl, data7d_k4) 
     1320   IMPLICIT NONE 
     1321      TYPE(txios(field))              :: field_hdl 
     1322      REAL     (kind = 4), DIMENSION(*), INTENT(OUT) :: data7d_k4(:,:,:,:,:,:,:) 
     1323      CALL cxios_read_data_k47_hdl(field_hdl%daddr, data7d_k4, & 
     1324                                size(data7d_k4, 1), size(data7d_k4, 2), size(data7d_k4, 3), & 
     1325                                size(data7d_k4, 4), size(data7d_k4, 5), size(data7d_k4, 6), & 
     1326                                size(data7d_k4, 7)) 
     1327   END SUBROUTINE  xios(recv_field_r4_7d_hdl) 
    7861328 
    7871329   SUBROUTINE  xios(recv_field_r4_7d)(fieldid, data7d_k4) 
     
    8371379      LOGICAL  (kind = C_BOOL)                      :: val 
    8381380      CHARACTER(len  = *)              , INTENT(IN) :: varId 
    839       LOGICAL  , INTENT(OUT)                        :: data_logic 
     1381      LOGICAL  ,INTENT(OUT)                         :: data_logic 
    8401382      LOGICAL (C_BOOL)                              :: data_tmp 
    8411383 
     
    8851427   USE ISO_C_BINDING 
    8861428   IMPLICIT NONE 
    887       LOGICAL  (kind = C_BOOL)                      :: val 
     1429      LOGICAL  (kind = C_BOOL)                           :: val 
    8881430      CHARACTER(len = *)               , INTENT(IN) :: varId 
    8891431      INTEGER                          , INTENT(IN) :: data_int 
     
    8971439   USE ISO_C_BINDING 
    8981440   IMPLICIT NONE 
    899       LOGICAL  (kind = C_BOOL)                      :: val 
     1441      LOGICAL(kind = C_BOOL)                        :: val 
    9001442      CHARACTER(len  = *)              , INTENT(IN) :: varId 
    901       LOGICAL  (kind = 4)              , INTENT(IN) :: data_logic 
     1443      LOGICAL                          , INTENT(IN) :: data_logic 
    9021444      LOGICAL  (kind = C_BOOL)                      :: data_tmp 
    9031445 
     
    9061448 
    9071449      xios(setVar_logic) = val 
    908  
    9091450   END FUNCTION xios(setVar_logic) 
    9101451 
Note: See TracChangeset for help on using the changeset viewer.