Ignore:
Timestamp:
03/19/24 14:23:16 (4 months ago)
Author:
jderouillat
Message:

Add XIOS3 fortran interfaces (resources management, chunking, compression)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS3/trunk/src/interface/fortran_attr/idomaingroup_attr.F90

    r1626 r2616  
    1212 
    1313  SUBROUTINE xios(set_domaingroup_attr)  & 
    14     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    15     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    16     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    17     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    18     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     14    ( domaingroup_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     15    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     16    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     17    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     18    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     19    , nvertex_name, prec, radius, standard_name, type ) 
    1920 
    2021    IMPLICIT NONE 
     
    2223      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
    2324      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
     25      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:) 
     26      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:) 
    2427      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    2528      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     
    2831      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    2932      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     33      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i 
     34      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j 
    3035      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    3136      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
     
    6166      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
    6267      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
     68      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name 
    6369      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    6470      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
     
    6975      (domaingroup_id,domaingroup_hdl) 
    7076      CALL xios(set_domaingroup_attr_hdl_)   & 
    71       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    72       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    73       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    74       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    75       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     77      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     78      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     79      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     80      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     81      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     82      , nvertex_name, prec, radius, standard_name, type ) 
    7683 
    7784  END SUBROUTINE xios(set_domaingroup_attr) 
    7885 
    7986  SUBROUTINE xios(set_domaingroup_attr_hdl)  & 
    80     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    81     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    82     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    83     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    84     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     87    ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     88    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     89    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     90    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     91    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     92    , nvertex_name, prec, radius, standard_name, type ) 
    8593 
    8694    IMPLICIT NONE 
    8795      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    8896      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area(:,:) 
     97      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d(:) 
     98      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d(:,:) 
    8999      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d(:,:) 
    90100      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d(:,:,:) 
     
    93103      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d(:,:,:) 
    94104      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name 
     105      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i 
     106      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j 
    95107      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment 
    96108      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
     
    126138      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
    127139      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
     140      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name 
    128141      INTEGER  , OPTIONAL, INTENT(IN) :: prec 
    129142      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius 
     
    132145 
    133146      CALL xios(set_domaingroup_attr_hdl_)  & 
    134       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    135       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    136       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    137       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    138       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     147      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     148      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     149      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     150      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     151      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     152      , nvertex_name, prec, radius, standard_name, type ) 
    139153 
    140154  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
    141155 
    142156  SUBROUTINE xios(set_domaingroup_attr_hdl_)   & 
    143     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
    144     , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
    145     , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    146     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    147     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
    148     , type_ ) 
     157    ( domaingroup_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_  & 
     158    , bounds_lon_1d_, bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_  & 
     159    , data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  & 
     160    , dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_  & 
     161    , latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_  & 
     162    , ni_, ni_glo_, nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_  & 
     163     ) 
    149164 
    150165    IMPLICIT NONE 
    151166      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    152167      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_(:,:) 
     168      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_1d_(:) 
     169      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: area_2d_(:,:) 
    153170      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_1d_(:,:) 
    154171      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_2d_(:,:,:) 
     
    157174      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_2d_(:,:,:) 
    158175      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: bounds_lon_name_ 
     176      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_i_ 
     177      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: chunking_weight_j_ 
    159178      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: comment_ 
    160179      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
     
    190209      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo_ 
    191210      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_ 
     211      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: nvertex_name_ 
    192212      INTEGER  , OPTIONAL, INTENT(IN) :: prec_ 
    193213      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: radius_ 
     
    200220      ENDIF 
    201221 
     222      IF (PRESENT(area_1d_)) THEN 
     223        CALL cxios_set_domaingroup_area_1d & 
     224      (domaingroup_hdl%daddr, area_1d_, SHAPE(area_1d_)) 
     225      ENDIF 
     226 
     227      IF (PRESENT(area_2d_)) THEN 
     228        CALL cxios_set_domaingroup_area_2d & 
     229      (domaingroup_hdl%daddr, area_2d_, SHAPE(area_2d_)) 
     230      ENDIF 
     231 
    202232      IF (PRESENT(bounds_lat_1d_)) THEN 
    203233        CALL cxios_set_domaingroup_bounds_lat_1d & 
     
    228258        CALL cxios_set_domaingroup_bounds_lon_name & 
    229259      (domaingroup_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     260      ENDIF 
     261 
     262      IF (PRESENT(chunking_weight_i_)) THEN 
     263        CALL cxios_set_domaingroup_chunking_weight_i & 
     264      (domaingroup_hdl%daddr, chunking_weight_i_) 
     265      ENDIF 
     266 
     267      IF (PRESENT(chunking_weight_j_)) THEN 
     268        CALL cxios_set_domaingroup_chunking_weight_j & 
     269      (domaingroup_hdl%daddr, chunking_weight_j_) 
    230270      ENDIF 
    231271 
     
    389429      ENDIF 
    390430 
     431      IF (PRESENT(nvertex_name_)) THEN 
     432        CALL cxios_set_domaingroup_nvertex_name & 
     433      (domaingroup_hdl%daddr, nvertex_name_, len(nvertex_name_)) 
     434      ENDIF 
     435 
    391436      IF (PRESENT(prec_)) THEN 
    392437        CALL cxios_set_domaingroup_prec & 
     
    412457 
    413458  SUBROUTINE xios(get_domaingroup_attr)  & 
    414     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    415     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    416     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    417     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    418     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     459    ( domaingroup_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     460    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     461    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     462    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     463    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     464    , nvertex_name, prec, radius, standard_name, type ) 
    419465 
    420466    IMPLICIT NONE 
     
    422468      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
    423469      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
     470      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:) 
     471      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:) 
    424472      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    425473      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     
    428476      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    429477      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     478      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i 
     479      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j 
    430480      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    431481      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
     
    461511      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
    462512      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
     513      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name 
    463514      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    464515      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
     
    469520      (domaingroup_id,domaingroup_hdl) 
    470521      CALL xios(get_domaingroup_attr_hdl_)   & 
    471       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    472       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    473       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    474       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    475       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     522      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     523      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     524      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     525      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     526      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     527      , nvertex_name, prec, radius, standard_name, type ) 
    476528 
    477529  END SUBROUTINE xios(get_domaingroup_attr) 
    478530 
    479531  SUBROUTINE xios(get_domaingroup_attr_hdl)  & 
    480     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    481     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    482     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    483     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    484     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     532    ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     533    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     534    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     535    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     536    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     537    , nvertex_name, prec, radius, standard_name, type ) 
    485538 
    486539    IMPLICIT NONE 
    487540      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    488541      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area(:,:) 
     542      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d(:) 
     543      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d(:,:) 
    489544      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d(:,:) 
    490545      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d(:,:,:) 
     
    493548      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d(:,:,:) 
    494549      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name 
     550      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i 
     551      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j 
    495552      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment 
    496553      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
     
    526583      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
    527584      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
     585      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name 
    528586      INTEGER  , OPTIONAL, INTENT(OUT) :: prec 
    529587      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius 
     
    532590 
    533591      CALL xios(get_domaingroup_attr_hdl_)  & 
    534       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    535       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    536       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    537       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    538       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     592      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     593      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     594      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     595      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     596      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     597      , nvertex_name, prec, radius, standard_name, type ) 
    539598 
    540599  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
    541600 
    542601  SUBROUTINE xios(get_domaingroup_attr_hdl_)   & 
    543     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
    544     , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
    545     , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    546     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    547     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
    548     , type_ ) 
     602    ( domaingroup_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_  & 
     603    , bounds_lon_1d_, bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_  & 
     604    , data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  & 
     605    , dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_  & 
     606    , latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_  & 
     607    , ni_, ni_glo_, nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_  & 
     608     ) 
    549609 
    550610    IMPLICIT NONE 
    551611      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
    552612      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_(:,:) 
     613      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_1d_(:) 
     614      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: area_2d_(:,:) 
    553615      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_1d_(:,:) 
    554616      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_2d_(:,:,:) 
     
    557619      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_2d_(:,:,:) 
    558620      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
     621      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_i_ 
     622      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: chunking_weight_j_ 
    559623      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: comment_ 
    560624      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
     
    590654      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo_ 
    591655      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_ 
     656      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: nvertex_name_ 
    592657      INTEGER  , OPTIONAL, INTENT(OUT) :: prec_ 
    593658      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: radius_ 
     
    600665      ENDIF 
    601666 
     667      IF (PRESENT(area_1d_)) THEN 
     668        CALL cxios_get_domaingroup_area_1d & 
     669      (domaingroup_hdl%daddr, area_1d_, SHAPE(area_1d_)) 
     670      ENDIF 
     671 
     672      IF (PRESENT(area_2d_)) THEN 
     673        CALL cxios_get_domaingroup_area_2d & 
     674      (domaingroup_hdl%daddr, area_2d_, SHAPE(area_2d_)) 
     675      ENDIF 
     676 
    602677      IF (PRESENT(bounds_lat_1d_)) THEN 
    603678        CALL cxios_get_domaingroup_bounds_lat_1d & 
     
    628703        CALL cxios_get_domaingroup_bounds_lon_name & 
    629704      (domaingroup_hdl%daddr, bounds_lon_name_, len(bounds_lon_name_)) 
     705      ENDIF 
     706 
     707      IF (PRESENT(chunking_weight_i_)) THEN 
     708        CALL cxios_get_domaingroup_chunking_weight_i & 
     709      (domaingroup_hdl%daddr, chunking_weight_i_) 
     710      ENDIF 
     711 
     712      IF (PRESENT(chunking_weight_j_)) THEN 
     713        CALL cxios_get_domaingroup_chunking_weight_j & 
     714      (domaingroup_hdl%daddr, chunking_weight_j_) 
    630715      ENDIF 
    631716 
     
    789874      ENDIF 
    790875 
     876      IF (PRESENT(nvertex_name_)) THEN 
     877        CALL cxios_get_domaingroup_nvertex_name & 
     878      (domaingroup_hdl%daddr, nvertex_name_, len(nvertex_name_)) 
     879      ENDIF 
     880 
    791881      IF (PRESENT(prec_)) THEN 
    792882        CALL cxios_get_domaingroup_prec & 
     
    812902 
    813903  SUBROUTINE xios(is_defined_domaingroup_attr)  & 
    814     ( domaingroup_id, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    815     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    816     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    817     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    818     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     904    ( domaingroup_id, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     905    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     906    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     907    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     908    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     909    , nvertex_name, prec, radius, standard_name, type ) 
    819910 
    820911    IMPLICIT NONE 
     
    823914      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    824915      LOGICAL(KIND=C_BOOL) :: area_tmp 
     916      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d 
     917      LOGICAL(KIND=C_BOOL) :: area_1d_tmp 
     918      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d 
     919      LOGICAL(KIND=C_BOOL) :: area_2d_tmp 
    825920      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
    826921      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     
    835930      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
    836931      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     932      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i 
     933      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp 
     934      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j 
     935      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp 
    837936      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
    838937      LOGICAL(KIND=C_BOOL) :: comment_tmp 
     
    897996      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
    898997      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
     998      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name 
     999      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp 
    8991000      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    9001001      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    9091010      (domaingroup_id,domaingroup_hdl) 
    9101011      CALL xios(is_defined_domaingroup_attr_hdl_)   & 
    911       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    912       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    913       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    914       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    915       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     1012      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     1013      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     1014      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     1015      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     1016      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     1017      , nvertex_name, prec, radius, standard_name, type ) 
    9161018 
    9171019  END SUBROUTINE xios(is_defined_domaingroup_attr) 
    9181020 
    9191021  SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  & 
    920     ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    921     , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    922     , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    923     , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    924     , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     1022    ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     1023    , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     1024    , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     1025    , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     1026    , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     1027    , nvertex_name, prec, radius, standard_name, type ) 
    9251028 
    9261029    IMPLICIT NONE 
     
    9281031      LOGICAL, OPTIONAL, INTENT(OUT) :: area 
    9291032      LOGICAL(KIND=C_BOOL) :: area_tmp 
     1033      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d 
     1034      LOGICAL(KIND=C_BOOL) :: area_1d_tmp 
     1035      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d 
     1036      LOGICAL(KIND=C_BOOL) :: area_2d_tmp 
    9301037      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d 
    9311038      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d_tmp 
     
    9401047      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name 
    9411048      LOGICAL(KIND=C_BOOL) :: bounds_lon_name_tmp 
     1049      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i 
     1050      LOGICAL(KIND=C_BOOL) :: chunking_weight_i_tmp 
     1051      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j 
     1052      LOGICAL(KIND=C_BOOL) :: chunking_weight_j_tmp 
    9421053      LOGICAL, OPTIONAL, INTENT(OUT) :: comment 
    9431054      LOGICAL(KIND=C_BOOL) :: comment_tmp 
     
    10021113      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
    10031114      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
     1115      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name 
     1116      LOGICAL(KIND=C_BOOL) :: nvertex_name_tmp 
    10041117      LOGICAL, OPTIONAL, INTENT(OUT) :: prec 
    10051118      LOGICAL(KIND=C_BOOL) :: prec_tmp 
     
    10121125 
    10131126      CALL xios(is_defined_domaingroup_attr_hdl_)  & 
    1014       ( domaingroup_hdl, area, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d, bounds_lon_2d  & 
    1015       , bounds_lon_name, comment, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_ni  & 
    1016       , data_nj, dim_i_name, dim_j_name, domain_ref, group_ref, i_index, ibegin, j_index, jbegin, lat_name  & 
    1017       , latvalue_1d, latvalue_2d, lon_name, long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d  & 
    1018       , name, ni, ni_glo, nj, nj_glo, nvertex, prec, radius, standard_name, type ) 
     1127      ( domaingroup_hdl, area, area_1d, area_2d, bounds_lat_1d, bounds_lat_2d, bounds_lat_name, bounds_lon_1d  & 
     1128      , bounds_lon_2d, bounds_lon_name, chunking_weight_i, chunking_weight_j, comment, data_dim, data_i_index  & 
     1129      , data_ibegin, data_j_index, data_jbegin, data_ni, data_nj, dim_i_name, dim_j_name, domain_ref  & 
     1130      , group_ref, i_index, ibegin, j_index, jbegin, lat_name, latvalue_1d, latvalue_2d, lon_name  & 
     1131      , long_name, lonvalue_1d, lonvalue_2d, mask_1d, mask_2d, name, ni, ni_glo, nj, nj_glo, nvertex  & 
     1132      , nvertex_name, prec, radius, standard_name, type ) 
    10191133 
    10201134  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
    10211135 
    10221136  SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   & 
    1023     ( domaingroup_hdl, area_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_, bounds_lon_1d_, bounds_lon_2d_  & 
    1024     , bounds_lon_name_, comment_, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_  & 
    1025     , data_ni_, data_nj_, dim_i_name_, dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_  & 
    1026     , jbegin_, lat_name_, latvalue_1d_, latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_  & 
    1027     , mask_1d_, mask_2d_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, prec_, radius_, standard_name_  & 
    1028     , type_ ) 
     1137    ( domaingroup_hdl, area_, area_1d_, area_2d_, bounds_lat_1d_, bounds_lat_2d_, bounds_lat_name_  & 
     1138    , bounds_lon_1d_, bounds_lon_2d_, bounds_lon_name_, chunking_weight_i_, chunking_weight_j_, comment_  & 
     1139    , data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_ni_, data_nj_, dim_i_name_  & 
     1140    , dim_j_name_, domain_ref_, group_ref_, i_index_, ibegin_, j_index_, jbegin_, lat_name_, latvalue_1d_  & 
     1141    , latvalue_2d_, lon_name_, long_name_, lonvalue_1d_, lonvalue_2d_, mask_1d_, mask_2d_, name_  & 
     1142    , ni_, ni_glo_, nj_, nj_glo_, nvertex_, nvertex_name_, prec_, radius_, standard_name_, type_  & 
     1143     ) 
    10291144 
    10301145    IMPLICIT NONE 
     
    10321147      LOGICAL, OPTIONAL, INTENT(OUT) :: area_ 
    10331148      LOGICAL(KIND=C_BOOL) :: area__tmp 
     1149      LOGICAL, OPTIONAL, INTENT(OUT) :: area_1d_ 
     1150      LOGICAL(KIND=C_BOOL) :: area_1d__tmp 
     1151      LOGICAL, OPTIONAL, INTENT(OUT) :: area_2d_ 
     1152      LOGICAL(KIND=C_BOOL) :: area_2d__tmp 
    10341153      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_1d_ 
    10351154      LOGICAL(KIND=C_BOOL) :: bounds_lat_1d__tmp 
     
    10441163      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_name_ 
    10451164      LOGICAL(KIND=C_BOOL) :: bounds_lon_name__tmp 
     1165      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_i_ 
     1166      LOGICAL(KIND=C_BOOL) :: chunking_weight_i__tmp 
     1167      LOGICAL, OPTIONAL, INTENT(OUT) :: chunking_weight_j_ 
     1168      LOGICAL(KIND=C_BOOL) :: chunking_weight_j__tmp 
    10461169      LOGICAL, OPTIONAL, INTENT(OUT) :: comment_ 
    10471170      LOGICAL(KIND=C_BOOL) :: comment__tmp 
     
    11061229      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_ 
    11071230      LOGICAL(KIND=C_BOOL) :: nvertex__tmp 
     1231      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_name_ 
     1232      LOGICAL(KIND=C_BOOL) :: nvertex_name__tmp 
    11081233      LOGICAL, OPTIONAL, INTENT(OUT) :: prec_ 
    11091234      LOGICAL(KIND=C_BOOL) :: prec__tmp 
     
    11211246      ENDIF 
    11221247 
     1248      IF (PRESENT(area_1d_)) THEN 
     1249        area_1d__tmp = cxios_is_defined_domaingroup_area_1d & 
     1250      (domaingroup_hdl%daddr) 
     1251        area_1d_ = area_1d__tmp 
     1252      ENDIF 
     1253 
     1254      IF (PRESENT(area_2d_)) THEN 
     1255        area_2d__tmp = cxios_is_defined_domaingroup_area_2d & 
     1256      (domaingroup_hdl%daddr) 
     1257        area_2d_ = area_2d__tmp 
     1258      ENDIF 
     1259 
    11231260      IF (PRESENT(bounds_lat_1d_)) THEN 
    11241261        bounds_lat_1d__tmp = cxios_is_defined_domaingroup_bounds_lat_1d & 
     
    11571294      ENDIF 
    11581295 
     1296      IF (PRESENT(chunking_weight_i_)) THEN 
     1297        chunking_weight_i__tmp = cxios_is_defined_domaingroup_chunking_weight_i & 
     1298      (domaingroup_hdl%daddr) 
     1299        chunking_weight_i_ = chunking_weight_i__tmp 
     1300      ENDIF 
     1301 
     1302      IF (PRESENT(chunking_weight_j_)) THEN 
     1303        chunking_weight_j__tmp = cxios_is_defined_domaingroup_chunking_weight_j & 
     1304      (domaingroup_hdl%daddr) 
     1305        chunking_weight_j_ = chunking_weight_j__tmp 
     1306      ENDIF 
     1307 
    11591308      IF (PRESENT(comment_)) THEN 
    11601309        comment__tmp = cxios_is_defined_domaingroup_comment & 
     
    13431492      ENDIF 
    13441493 
     1494      IF (PRESENT(nvertex_name_)) THEN 
     1495        nvertex_name__tmp = cxios_is_defined_domaingroup_nvertex_name & 
     1496      (domaingroup_hdl%daddr) 
     1497        nvertex_name_ = nvertex_name__tmp 
     1498      ENDIF 
     1499 
    13451500      IF (PRESENT(prec_)) THEN 
    13461501        prec__tmp = cxios_is_defined_domaingroup_prec & 
Note: See TracChangeset for help on using the changeset viewer.