Ignore:
Timestamp:
09/19/13 17:05:07 (11 years ago)
Author:
ymipsl
Message:

Add unstructured grid management.

YM

File:
1 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90

    r432 r449  
    1212   
    1313  SUBROUTINE xios(set_domain_attr)  & 
    14     ( domain_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    15     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    16     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    17     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     14    ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     15    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     16    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     17    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    1818     
    1919    IMPLICIT NONE 
    2020      TYPE(txios(domain))  :: domain_hdl 
    2121      CHARACTER(LEN=*), INTENT(IN) ::domain_id 
     22      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
     23      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
    2224      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2325      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    4345      INTEGER  , OPTIONAL, INTENT(IN) :: nj 
    4446      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
     47      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    4548      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     49      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    4650      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    4751      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc 
     
    5559      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    5660      CALL xios(set_domain_attr_hdl_)   & 
    57       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    58       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    59       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    60       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     61      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     62      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     63      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     64      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    6165     
    6266  END SUBROUTINE xios(set_domain_attr) 
    6367   
    6468  SUBROUTINE xios(set_domain_attr_hdl)  & 
    65     ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    66     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    67     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    68     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     69    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     70    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     71    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     72    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    6973     
    7074    IMPLICIT NONE 
    7175      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     76      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
     77      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
    7278      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    7379      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    9399      INTEGER  , OPTIONAL, INTENT(IN) :: nj 
    94100      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
     101      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    95102      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     103      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    96104      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    97105      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc 
     
    104112       
    105113      CALL xios(set_domain_attr_hdl_)  & 
    106       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    107       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    108       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    109       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     114      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     115      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     116      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     117      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    110118     
    111119  END SUBROUTINE xios(set_domain_attr_hdl) 
    112120   
    113121  SUBROUTINE xios(set_domain_attr_hdl_)   & 
    114     ( domain_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    115     , data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_, long_name_  & 
    116     , lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_, zoom_ibegin_loc_  & 
    117     , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     122    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     123    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_  & 
     124    , jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_  & 
     125    , standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_  & 
     126    , zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    118127     
    119128    IMPLICIT NONE 
    120129      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     130      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_(:,:) 
     131      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_(:,:) 
    121132      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    122133      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    142153      INTEGER  , OPTIONAL, INTENT(IN) :: nj_ 
    143154      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo_ 
     155      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_ 
    144156      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
     157      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
    145158      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 
    146159      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_ 
     
    152165      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_nj_loc_ 
    153166       
     167      IF (PRESENT(bounds_lat_)) THEN 
     168        CALL cxios_set_domain_bounds_lat(domain_hdl%daddr, bounds_lat_,size(bounds_lat_,1),size(bounds_lat_,2)) 
     169      ENDIF 
     170       
     171      IF (PRESENT(bounds_lon_)) THEN 
     172        CALL cxios_set_domain_bounds_lon(domain_hdl%daddr, bounds_lon_,size(bounds_lon_,1),size(bounds_lon_,2)) 
     173      ENDIF 
     174       
    154175      IF (PRESENT(data_dim_)) THEN 
    155176        CALL cxios_set_domain_data_dim(domain_hdl%daddr, data_dim_) 
     
    242263      ENDIF 
    243264       
     265      IF (PRESENT(nvertex_)) THEN 
     266        CALL cxios_set_domain_nvertex(domain_hdl%daddr, nvertex_) 
     267      ENDIF 
     268       
    244269      IF (PRESENT(standard_name_)) THEN 
    245270        CALL cxios_set_domain_standard_name(domain_hdl%daddr, standard_name_, len(standard_name_)) 
     271      ENDIF 
     272       
     273      IF (PRESENT(type_)) THEN 
     274        CALL cxios_set_domain_type(domain_hdl%daddr, type_, len(type_)) 
    246275      ENDIF 
    247276       
     
    283312   
    284313  SUBROUTINE xios(get_domain_attr)  & 
    285     ( domain_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    286     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    287     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    288     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     314    ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     315    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     316    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     317    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    289318     
    290319    IMPLICIT NONE 
    291320      TYPE(txios(domain))  :: domain_hdl 
    292321      CHARACTER(LEN=*), INTENT(IN) ::domain_id 
     322      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
     323      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
    293324      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    294325      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    314345      INTEGER  , OPTIONAL, INTENT(OUT) :: nj 
    315346      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
     347      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    316348      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     349      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    317350      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    318351      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc 
     
    326359      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    327360      CALL xios(get_domain_attr_hdl_)   & 
    328       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    329       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    330       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    331       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     361      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     362      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     363      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     364      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    332365     
    333366  END SUBROUTINE xios(get_domain_attr) 
    334367   
    335368  SUBROUTINE xios(get_domain_attr_hdl)  & 
    336     ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    337     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    338     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    339     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     369    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     370    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     371    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     372    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    340373     
    341374    IMPLICIT NONE 
    342375      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     376      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
     377      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
    343378      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    344379      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    364399      INTEGER  , OPTIONAL, INTENT(OUT) :: nj 
    365400      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
     401      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    366402      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     403      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    367404      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    368405      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc 
     
    375412       
    376413      CALL xios(get_domain_attr_hdl_)  & 
    377       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    378       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    379       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    380       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     414      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     415      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     416      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     417      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    381418     
    382419  END SUBROUTINE xios(get_domain_attr_hdl) 
    383420   
    384421  SUBROUTINE xios(get_domain_attr_hdl_)   & 
    385     ( domain_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    386     , data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_, long_name_  & 
    387     , lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_, zoom_ibegin_loc_  & 
    388     , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     422    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     423    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_  & 
     424    , jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_  & 
     425    , standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_  & 
     426    , zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    389427     
    390428    IMPLICIT NONE 
    391429      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     430      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_(:,:) 
     431      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_(:,:) 
    392432      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    393433      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    413453      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_ 
    414454      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo_ 
     455      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_ 
    415456      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
     457      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
    416458      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_ 
    417459      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_ 
     
    423465      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_nj_loc_ 
    424466       
     467      IF (PRESENT(bounds_lat_)) THEN 
     468        CALL cxios_get_domain_bounds_lat(domain_hdl%daddr, bounds_lat_,size(bounds_lat_,1),size(bounds_lat_,2)) 
     469      ENDIF 
     470       
     471      IF (PRESENT(bounds_lon_)) THEN 
     472        CALL cxios_get_domain_bounds_lon(domain_hdl%daddr, bounds_lon_,size(bounds_lon_,1),size(bounds_lon_,2)) 
     473      ENDIF 
     474       
    425475      IF (PRESENT(data_dim_)) THEN 
    426476        CALL cxios_get_domain_data_dim(domain_hdl%daddr, data_dim_) 
     
    513563      ENDIF 
    514564       
     565      IF (PRESENT(nvertex_)) THEN 
     566        CALL cxios_get_domain_nvertex(domain_hdl%daddr, nvertex_) 
     567      ENDIF 
     568       
    515569      IF (PRESENT(standard_name_)) THEN 
    516570        CALL cxios_get_domain_standard_name(domain_hdl%daddr, standard_name_, len(standard_name_)) 
     571      ENDIF 
     572       
     573      IF (PRESENT(type_)) THEN 
     574        CALL cxios_get_domain_type(domain_hdl%daddr, type_, len(type_)) 
    517575      ENDIF 
    518576       
     
    554612   
    555613  SUBROUTINE xios(is_defined_domain_attr)  & 
    556     ( domain_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    557     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    558     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    559     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     614    ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     615    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     616    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     617    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    560618     
    561619    IMPLICIT NONE 
    562620      TYPE(txios(domain))  :: domain_hdl 
    563621      CHARACTER(LEN=*), INTENT(IN) ::domain_id 
     622      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
     623      LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
     624      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
     625      LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
    564626      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    565627      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    606668      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 
    607669      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp 
     670      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
     671      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
    608672      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    609673      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     674      LOGICAL, OPTIONAL, INTENT(OUT) :: type 
     675      LOGICAL(KIND=C_BOOL) :: type_tmp 
    610676      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    611677      LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp 
     
    627693      CALL xios(get_domain_handle)(domain_id,domain_hdl) 
    628694      CALL xios(is_defined_domain_attr_hdl_)   & 
    629       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    630       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    631       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    632       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     695      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     696      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     697      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     698      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    633699     
    634700  END SUBROUTINE xios(is_defined_domain_attr) 
    635701   
    636702  SUBROUTINE xios(is_defined_domain_attr_hdl)  & 
    637     ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    638     , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    639     , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    640     , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     703    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     704    , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     705    , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     706    , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    641707     
    642708    IMPLICIT NONE 
    643709      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     710      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
     711      LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
     712      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
     713      LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
    644714      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    645715      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    686756      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 
    687757      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp 
     758      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
     759      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
    688760      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    689761      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     762      LOGICAL, OPTIONAL, INTENT(OUT) :: type 
     763      LOGICAL(KIND=C_BOOL) :: type_tmp 
    690764      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    691765      LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp 
     
    706780       
    707781      CALL xios(is_defined_domain_attr_hdl_)  & 
    708       ( domain_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index, data_ni  & 
    709       , data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name, lonvalue, mask  & 
    710       , name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
    711       , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     782      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
     783      , data_n_index, data_ni, data_nj, domain_group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
     784      , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc  & 
     785      , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    712786     
    713787  END SUBROUTINE xios(is_defined_domain_attr_hdl) 
    714788   
    715789  SUBROUTINE xios(is_defined_domain_attr_hdl_)   & 
    716     ( domain_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    717     , data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_, long_name_  & 
    718     , lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_, zoom_ibegin_loc_  & 
    719     , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     790    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     791    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, ibegin_, iend_, jbegin_  & 
     792    , jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_  & 
     793    , standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_  & 
     794    , zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    720795     
    721796    IMPLICIT NONE 
    722797      TYPE(txios(domain)) , INTENT(IN) :: domain_hdl 
     798      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_ 
     799      LOGICAL(KIND=C_BOOL) :: bounds_lat__tmp 
     800      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_ 
     801      LOGICAL(KIND=C_BOOL) :: bounds_lon__tmp 
    723802      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    724803      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    765844      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo_ 
    766845      LOGICAL(KIND=C_BOOL) :: nj_glo__tmp 
     846      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_ 
     847      LOGICAL(KIND=C_BOOL) :: nvertex__tmp 
    767848      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 
    768849      LOGICAL(KIND=C_BOOL) :: standard_name__tmp 
     850      LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 
     851      LOGICAL(KIND=C_BOOL) :: type__tmp 
    769852      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_ 
    770853      LOGICAL(KIND=C_BOOL) :: zoom_ibegin__tmp 
     
    784867      LOGICAL(KIND=C_BOOL) :: zoom_nj_loc__tmp 
    785868       
     869      IF (PRESENT(bounds_lat_)) THEN 
     870        bounds_lat__tmp=cxios_is_defined_domain_bounds_lat(domain_hdl%daddr) 
     871        bounds_lat_=bounds_lat__tmp 
     872      ENDIF 
     873       
     874      IF (PRESENT(bounds_lon_)) THEN 
     875        bounds_lon__tmp=cxios_is_defined_domain_bounds_lon(domain_hdl%daddr) 
     876        bounds_lon_=bounds_lon__tmp 
     877      ENDIF 
     878       
    786879      IF (PRESENT(data_dim_)) THEN 
    787880        data_dim__tmp=cxios_is_defined_domain_data_dim(domain_hdl%daddr) 
     
    894987      ENDIF 
    895988       
     989      IF (PRESENT(nvertex_)) THEN 
     990        nvertex__tmp=cxios_is_defined_domain_nvertex(domain_hdl%daddr) 
     991        nvertex_=nvertex__tmp 
     992      ENDIF 
     993       
    896994      IF (PRESENT(standard_name_)) THEN 
    897995        standard_name__tmp=cxios_is_defined_domain_standard_name(domain_hdl%daddr) 
     
    899997      ENDIF 
    900998       
     999      IF (PRESENT(type_)) THEN 
     1000        type__tmp=cxios_is_defined_domain_type(domain_hdl%daddr) 
     1001        type_=type__tmp 
     1002      ENDIF 
     1003       
    9011004      IF (PRESENT(zoom_ibegin_)) THEN 
    9021005        zoom_ibegin__tmp=cxios_is_defined_domain_zoom_ibegin(domain_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.