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

Add unstructured grid management.

YM

Location:
XIOS/trunk/src/interface
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp

    r445 r449  
    1717  typedef xios::CDomain*  domain_Ptr; 
    1818   
     19  void cxios_set_domain_bounds_lat(domain_Ptr domain_hdl, double* bounds_lat, int extent1, int extent2) 
     20  { 
     21    CTimer::get("XIOS").resume(); 
     22    CArray<double,2> tmp(bounds_lat,shape(extent1,extent2),neverDeleteData) ; 
     23    domain_hdl->bounds_lat.reference(tmp.copy()); 
     24    domain_hdl->sendAttributToServer(domain_hdl->bounds_lat); 
     25     CTimer::get("XIOS").suspend(); 
     26  } 
     27   
     28  void cxios_get_domain_bounds_lat(domain_Ptr domain_hdl, double* bounds_lat, int extent1, int extent2) 
     29  { 
     30    CTimer::get("XIOS").resume(); 
     31    CArray<double,2> tmp(bounds_lat,shape(extent1,extent2),neverDeleteData) ; 
     32    tmp=domain_hdl->bounds_lat.getInheritedValue() ; 
     33     CTimer::get("XIOS").suspend(); 
     34  } 
     35   
     36  bool cxios_is_defined_domain_bounds_lat(domain_Ptr domain_hdl ) 
     37  { 
     38     CTimer::get("XIOS").resume(); 
     39    return domain_hdl->bounds_lat.hasInheritedValue(); 
     40     CTimer::get("XIOS").suspend(); 
     41  } 
     42   
     43   
     44   
     45  void cxios_set_domain_bounds_lon(domain_Ptr domain_hdl, double* bounds_lon, int extent1, int extent2) 
     46  { 
     47    CTimer::get("XIOS").resume(); 
     48    CArray<double,2> tmp(bounds_lon,shape(extent1,extent2),neverDeleteData) ; 
     49    domain_hdl->bounds_lon.reference(tmp.copy()); 
     50    domain_hdl->sendAttributToServer(domain_hdl->bounds_lon); 
     51     CTimer::get("XIOS").suspend(); 
     52  } 
     53   
     54  void cxios_get_domain_bounds_lon(domain_Ptr domain_hdl, double* bounds_lon, int extent1, int extent2) 
     55  { 
     56    CTimer::get("XIOS").resume(); 
     57    CArray<double,2> tmp(bounds_lon,shape(extent1,extent2),neverDeleteData) ; 
     58    tmp=domain_hdl->bounds_lon.getInheritedValue() ; 
     59     CTimer::get("XIOS").suspend(); 
     60  } 
     61   
     62  bool cxios_is_defined_domain_bounds_lon(domain_Ptr domain_hdl ) 
     63  { 
     64     CTimer::get("XIOS").resume(); 
     65    return domain_hdl->bounds_lon.hasInheritedValue(); 
     66     CTimer::get("XIOS").suspend(); 
     67  } 
     68   
     69   
     70   
    1971  void cxios_set_domain_data_dim(domain_Ptr domain_hdl, int data_dim) 
    2072  { 
     
    536588   
    537589   
     590  void cxios_set_domain_nvertex(domain_Ptr domain_hdl, int nvertex) 
     591  { 
     592     CTimer::get("XIOS").resume(); 
     593    domain_hdl->nvertex.setValue(nvertex); 
     594    domain_hdl->sendAttributToServer(domain_hdl->nvertex); 
     595     CTimer::get("XIOS").suspend(); 
     596  } 
     597   
     598  void cxios_get_domain_nvertex(domain_Ptr domain_hdl, int* nvertex) 
     599  { 
     600    *nvertex = domain_hdl->nvertex.getInheritedValue(); 
     601  } 
     602   
     603  bool cxios_is_defined_domain_nvertex(domain_Ptr domain_hdl ) 
     604  { 
     605     CTimer::get("XIOS").resume(); 
     606    return domain_hdl->nvertex.hasInheritedValue(); 
     607     CTimer::get("XIOS").suspend(); 
     608  } 
     609   
     610   
     611   
    538612  void cxios_set_domain_standard_name(domain_Ptr domain_hdl, const char * standard_name, int standard_name_size) 
    539613  { 
     
    563637   
    564638   
     639  void cxios_set_domain_type(domain_Ptr domain_hdl, const char * type, int type_size) 
     640  { 
     641    std::string type_str; 
     642    if(!cstr2string(type, type_size, type_str)) return; 
     643     CTimer::get("XIOS").resume(); 
     644    domain_hdl->type.fromString(type_str); 
     645    domain_hdl->sendAttributToServer(domain_hdl->type); 
     646     CTimer::get("XIOS").suspend(); 
     647  } 
     648   
     649  void cxios_get_domain_type(domain_Ptr domain_hdl, char * type, int type_size) 
     650  { 
     651     CTimer::get("XIOS").resume(); 
     652    if(!string_copy(domain_hdl->type.getInheritedStringValue(),type , type_size)) 
     653      ERROR("void cxios_get_domain_type(domain_Ptr domain_hdl, char * type, int type_size)", <<"Input string is to short"); 
     654     CTimer::get("XIOS").suspend(); 
     655  } 
     656   
     657  bool cxios_is_defined_domain_type(domain_Ptr domain_hdl ) 
     658  { 
     659     CTimer::get("XIOS").resume(); 
     660    return domain_hdl->type.hasInheritedValue(); 
     661     CTimer::get("XIOS").suspend(); 
     662  } 
     663   
     664   
     665   
    565666  void cxios_set_domain_zoom_ibegin(domain_Ptr domain_hdl, int zoom_ibegin) 
    566667  { 
  • XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp

    r445 r449  
    1717  typedef xios::CDomainGroup*  domaingroup_Ptr; 
    1818   
     19  void cxios_set_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl, double* bounds_lat, int extent1, int extent2) 
     20  { 
     21    CTimer::get("XIOS").resume(); 
     22    CArray<double,2> tmp(bounds_lat,shape(extent1,extent2),neverDeleteData) ; 
     23    domaingroup_hdl->bounds_lat.reference(tmp.copy()); 
     24    domaingroup_hdl->sendAttributToServer(domaingroup_hdl->bounds_lat); 
     25     CTimer::get("XIOS").suspend(); 
     26  } 
     27   
     28  void cxios_get_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl, double* bounds_lat, int extent1, int extent2) 
     29  { 
     30    CTimer::get("XIOS").resume(); 
     31    CArray<double,2> tmp(bounds_lat,shape(extent1,extent2),neverDeleteData) ; 
     32    tmp=domaingroup_hdl->bounds_lat.getInheritedValue() ; 
     33     CTimer::get("XIOS").suspend(); 
     34  } 
     35   
     36  bool cxios_is_defined_domaingroup_bounds_lat(domaingroup_Ptr domaingroup_hdl ) 
     37  { 
     38     CTimer::get("XIOS").resume(); 
     39    return domaingroup_hdl->bounds_lat.hasInheritedValue(); 
     40     CTimer::get("XIOS").suspend(); 
     41  } 
     42   
     43   
     44   
     45  void cxios_set_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl, double* bounds_lon, int extent1, int extent2) 
     46  { 
     47    CTimer::get("XIOS").resume(); 
     48    CArray<double,2> tmp(bounds_lon,shape(extent1,extent2),neverDeleteData) ; 
     49    domaingroup_hdl->bounds_lon.reference(tmp.copy()); 
     50    domaingroup_hdl->sendAttributToServer(domaingroup_hdl->bounds_lon); 
     51     CTimer::get("XIOS").suspend(); 
     52  } 
     53   
     54  void cxios_get_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl, double* bounds_lon, int extent1, int extent2) 
     55  { 
     56    CTimer::get("XIOS").resume(); 
     57    CArray<double,2> tmp(bounds_lon,shape(extent1,extent2),neverDeleteData) ; 
     58    tmp=domaingroup_hdl->bounds_lon.getInheritedValue() ; 
     59     CTimer::get("XIOS").suspend(); 
     60  } 
     61   
     62  bool cxios_is_defined_domaingroup_bounds_lon(domaingroup_Ptr domaingroup_hdl ) 
     63  { 
     64     CTimer::get("XIOS").resume(); 
     65    return domaingroup_hdl->bounds_lon.hasInheritedValue(); 
     66     CTimer::get("XIOS").suspend(); 
     67  } 
     68   
     69   
     70   
    1971  void cxios_set_domaingroup_data_dim(domaingroup_Ptr domaingroup_hdl, int data_dim) 
    2072  { 
     
    563615   
    564616   
     617  void cxios_set_domaingroup_nvertex(domaingroup_Ptr domaingroup_hdl, int nvertex) 
     618  { 
     619     CTimer::get("XIOS").resume(); 
     620    domaingroup_hdl->nvertex.setValue(nvertex); 
     621    domaingroup_hdl->sendAttributToServer(domaingroup_hdl->nvertex); 
     622     CTimer::get("XIOS").suspend(); 
     623  } 
     624   
     625  void cxios_get_domaingroup_nvertex(domaingroup_Ptr domaingroup_hdl, int* nvertex) 
     626  { 
     627    *nvertex = domaingroup_hdl->nvertex.getInheritedValue(); 
     628  } 
     629   
     630  bool cxios_is_defined_domaingroup_nvertex(domaingroup_Ptr domaingroup_hdl ) 
     631  { 
     632     CTimer::get("XIOS").resume(); 
     633    return domaingroup_hdl->nvertex.hasInheritedValue(); 
     634     CTimer::get("XIOS").suspend(); 
     635  } 
     636   
     637   
     638   
    565639  void cxios_set_domaingroup_standard_name(domaingroup_Ptr domaingroup_hdl, const char * standard_name, int standard_name_size) 
    566640  { 
     
    590664   
    591665   
     666  void cxios_set_domaingroup_type(domaingroup_Ptr domaingroup_hdl, const char * type, int type_size) 
     667  { 
     668    std::string type_str; 
     669    if(!cstr2string(type, type_size, type_str)) return; 
     670     CTimer::get("XIOS").resume(); 
     671    domaingroup_hdl->type.fromString(type_str); 
     672    domaingroup_hdl->sendAttributToServer(domaingroup_hdl->type); 
     673     CTimer::get("XIOS").suspend(); 
     674  } 
     675   
     676  void cxios_get_domaingroup_type(domaingroup_Ptr domaingroup_hdl, char * type, int type_size) 
     677  { 
     678     CTimer::get("XIOS").resume(); 
     679    if(!string_copy(domaingroup_hdl->type.getInheritedStringValue(),type , type_size)) 
     680      ERROR("void cxios_get_domaingroup_type(domaingroup_Ptr domaingroup_hdl, char * type, int type_size)", <<"Input string is to short"); 
     681     CTimer::get("XIOS").suspend(); 
     682  } 
     683   
     684  bool cxios_is_defined_domaingroup_type(domaingroup_Ptr domaingroup_hdl ) 
     685  { 
     686     CTimer::get("XIOS").resume(); 
     687    return domaingroup_hdl->type.hasInheritedValue(); 
     688     CTimer::get("XIOS").suspend(); 
     689  } 
     690   
     691   
     692   
    592693  void cxios_set_domaingroup_zoom_ibegin(domaingroup_Ptr domaingroup_hdl, int zoom_ibegin) 
    593694  { 
  • XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.f90

    r432 r449  
    99     
    1010     
     11    SUBROUTINE cxios_set_domain_bounds_lat(domain_hdl, bounds_lat, extent1, extent2) BIND(C) 
     12      USE ISO_C_BINDING 
     13      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     14      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
     15      INTEGER (kind = C_INT), VALUE  :: extent1 
     16      INTEGER (kind = C_INT), VALUE  :: extent2 
     17    END SUBROUTINE cxios_set_domain_bounds_lat 
     18     
     19    SUBROUTINE cxios_get_domain_bounds_lat(domain_hdl, bounds_lat, extent1, extent2) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     22      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
     23      INTEGER (kind = C_INT), VALUE  :: extent1 
     24      INTEGER (kind = C_INT), VALUE  :: extent2 
     25    END SUBROUTINE cxios_get_domain_bounds_lat 
     26     
     27    FUNCTION cxios_is_defined_domain_bounds_lat(domain_hdl ) BIND(C) 
     28      USE ISO_C_BINDING 
     29      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lat 
     30      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     31    END FUNCTION cxios_is_defined_domain_bounds_lat 
     32     
     33     
     34    SUBROUTINE cxios_set_domain_bounds_lon(domain_hdl, bounds_lon, extent1, extent2) BIND(C) 
     35      USE ISO_C_BINDING 
     36      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     37      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
     38      INTEGER (kind = C_INT), VALUE  :: extent1 
     39      INTEGER (kind = C_INT), VALUE  :: extent2 
     40    END SUBROUTINE cxios_set_domain_bounds_lon 
     41     
     42    SUBROUTINE cxios_get_domain_bounds_lon(domain_hdl, bounds_lon, extent1, extent2) BIND(C) 
     43      USE ISO_C_BINDING 
     44      INTEGER (kind = C_INTPTR_T), VALUE       :: domain_hdl 
     45      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
     46      INTEGER (kind = C_INT), VALUE  :: extent1 
     47      INTEGER (kind = C_INT), VALUE  :: extent2 
     48    END SUBROUTINE cxios_get_domain_bounds_lon 
     49     
     50    FUNCTION cxios_is_defined_domain_bounds_lon(domain_hdl ) BIND(C) 
     51      USE ISO_C_BINDING 
     52      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_bounds_lon 
     53      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     54    END FUNCTION cxios_is_defined_domain_bounds_lon 
     55     
     56     
    1157    SUBROUTINE cxios_set_domain_data_dim(domain_hdl, data_dim) BIND(C) 
    1258      USE ISO_C_BINDING 
     
    445491     
    446492     
     493    SUBROUTINE cxios_set_domain_nvertex(domain_hdl, nvertex) BIND(C) 
     494      USE ISO_C_BINDING 
     495      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     496      INTEGER (KIND=C_INT)      , VALUE :: nvertex 
     497    END SUBROUTINE cxios_set_domain_nvertex 
     498     
     499    SUBROUTINE cxios_get_domain_nvertex(domain_hdl, nvertex) BIND(C) 
     500      USE ISO_C_BINDING 
     501      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     502      INTEGER (KIND=C_INT)             :: nvertex 
     503    END SUBROUTINE cxios_get_domain_nvertex 
     504     
     505    FUNCTION cxios_is_defined_domain_nvertex(domain_hdl ) BIND(C) 
     506      USE ISO_C_BINDING 
     507      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_nvertex 
     508      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     509    END FUNCTION cxios_is_defined_domain_nvertex 
     510     
     511     
    447512    SUBROUTINE cxios_set_domain_standard_name(domain_hdl, standard_name, standard_name_size) BIND(C) 
    448513      USE ISO_C_BINDING 
     
    466531     
    467532     
     533    SUBROUTINE cxios_set_domain_type(domain_hdl, type, type_size) BIND(C) 
     534      USE ISO_C_BINDING 
     535      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     536      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type 
     537      INTEGER  (kind = C_INT)     , VALUE        :: type_size 
     538    END SUBROUTINE cxios_set_domain_type 
     539     
     540    SUBROUTINE cxios_get_domain_type(domain_hdl, type, type_size) BIND(C) 
     541      USE ISO_C_BINDING 
     542      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     543      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type 
     544      INTEGER  (kind = C_INT)     , VALUE        :: type_size 
     545    END SUBROUTINE cxios_get_domain_type 
     546     
     547    FUNCTION cxios_is_defined_domain_type(domain_hdl ) BIND(C) 
     548      USE ISO_C_BINDING 
     549      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_type 
     550      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     551    END FUNCTION cxios_is_defined_domain_type 
     552     
     553     
    468554    SUBROUTINE cxios_set_domain_zoom_ibegin(domain_hdl, zoom_ibegin) BIND(C) 
    469555      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.f90

    r432 r449  
    99     
    1010     
     11    SUBROUTINE cxios_set_domaingroup_bounds_lat(domaingroup_hdl, bounds_lat, extent1, extent2) BIND(C) 
     12      USE ISO_C_BINDING 
     13      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     14      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
     15      INTEGER (kind = C_INT), VALUE  :: extent1 
     16      INTEGER (kind = C_INT), VALUE  :: extent2 
     17    END SUBROUTINE cxios_set_domaingroup_bounds_lat 
     18     
     19    SUBROUTINE cxios_get_domaingroup_bounds_lat(domaingroup_hdl, bounds_lat, extent1, extent2) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     22      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lat 
     23      INTEGER (kind = C_INT), VALUE  :: extent1 
     24      INTEGER (kind = C_INT), VALUE  :: extent2 
     25    END SUBROUTINE cxios_get_domaingroup_bounds_lat 
     26     
     27    FUNCTION cxios_is_defined_domaingroup_bounds_lat(domaingroup_hdl ) BIND(C) 
     28      USE ISO_C_BINDING 
     29      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lat 
     30      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     31    END FUNCTION cxios_is_defined_domaingroup_bounds_lat 
     32     
     33     
     34    SUBROUTINE cxios_set_domaingroup_bounds_lon(domaingroup_hdl, bounds_lon, extent1, extent2) BIND(C) 
     35      USE ISO_C_BINDING 
     36      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     37      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
     38      INTEGER (kind = C_INT), VALUE  :: extent1 
     39      INTEGER (kind = C_INT), VALUE  :: extent2 
     40    END SUBROUTINE cxios_set_domaingroup_bounds_lon 
     41     
     42    SUBROUTINE cxios_get_domaingroup_bounds_lon(domaingroup_hdl, bounds_lon, extent1, extent2) BIND(C) 
     43      USE ISO_C_BINDING 
     44      INTEGER (kind = C_INTPTR_T), VALUE       :: domaingroup_hdl 
     45      REAL (KIND=C_DOUBLE)     , DIMENSION(*) :: bounds_lon 
     46      INTEGER (kind = C_INT), VALUE  :: extent1 
     47      INTEGER (kind = C_INT), VALUE  :: extent2 
     48    END SUBROUTINE cxios_get_domaingroup_bounds_lon 
     49     
     50    FUNCTION cxios_is_defined_domaingroup_bounds_lon(domaingroup_hdl ) BIND(C) 
     51      USE ISO_C_BINDING 
     52      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_bounds_lon 
     53      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     54    END FUNCTION cxios_is_defined_domaingroup_bounds_lon 
     55     
     56     
    1157    SUBROUTINE cxios_set_domaingroup_data_dim(domaingroup_hdl, data_dim) BIND(C) 
    1258      USE ISO_C_BINDING 
     
    466512     
    467513     
     514    SUBROUTINE cxios_set_domaingroup_nvertex(domaingroup_hdl, nvertex) BIND(C) 
     515      USE ISO_C_BINDING 
     516      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     517      INTEGER (KIND=C_INT)      , VALUE :: nvertex 
     518    END SUBROUTINE cxios_set_domaingroup_nvertex 
     519     
     520    SUBROUTINE cxios_get_domaingroup_nvertex(domaingroup_hdl, nvertex) BIND(C) 
     521      USE ISO_C_BINDING 
     522      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     523      INTEGER (KIND=C_INT)             :: nvertex 
     524    END SUBROUTINE cxios_get_domaingroup_nvertex 
     525     
     526    FUNCTION cxios_is_defined_domaingroup_nvertex(domaingroup_hdl ) BIND(C) 
     527      USE ISO_C_BINDING 
     528      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_nvertex 
     529      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     530    END FUNCTION cxios_is_defined_domaingroup_nvertex 
     531     
     532     
    468533    SUBROUTINE cxios_set_domaingroup_standard_name(domaingroup_hdl, standard_name, standard_name_size) BIND(C) 
    469534      USE ISO_C_BINDING 
     
    487552     
    488553     
     554    SUBROUTINE cxios_set_domaingroup_type(domaingroup_hdl, type, type_size) BIND(C) 
     555      USE ISO_C_BINDING 
     556      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     557      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type 
     558      INTEGER  (kind = C_INT)     , VALUE        :: type_size 
     559    END SUBROUTINE cxios_set_domaingroup_type 
     560     
     561    SUBROUTINE cxios_get_domaingroup_type(domaingroup_hdl, type, type_size) BIND(C) 
     562      USE ISO_C_BINDING 
     563      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     564      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: type 
     565      INTEGER  (kind = C_INT)     , VALUE        :: type_size 
     566    END SUBROUTINE cxios_get_domaingroup_type 
     567     
     568    FUNCTION cxios_is_defined_domaingroup_type(domaingroup_hdl ) BIND(C) 
     569      USE ISO_C_BINDING 
     570      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_type 
     571      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     572    END FUNCTION cxios_is_defined_domaingroup_type 
     573     
     574     
    489575    SUBROUTINE cxios_set_domaingroup_zoom_ibegin(domaingroup_hdl, zoom_ibegin) BIND(C) 
    490576      USE ISO_C_BINDING 
  • 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) 
  • XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90

    r432 r449  
    1212   
    1313  SUBROUTINE xios(set_domaingroup_attr)  & 
    14     ( domaingroup_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    15     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    16     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    17     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     14    ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     15    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     16    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     17    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     18    , zoom_nj_loc ) 
    1819     
    1920    IMPLICIT NONE 
    2021      TYPE(txios(domaingroup))  :: domaingroup_hdl 
    2122      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
     23      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
     24      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
    2225      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    2326      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    4447      INTEGER  , OPTIONAL, INTENT(IN) :: nj 
    4548      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
     49      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    4650      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     51      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    4752      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    4853      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc 
     
    5661      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    5762      CALL xios(set_domaingroup_attr_hdl_)   & 
    58       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    59       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    60       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    61       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     63      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     64      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     65      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     66      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     67      , zoom_nj_loc ) 
    6268     
    6369  END SUBROUTINE xios(set_domaingroup_attr) 
    6470   
    6571  SUBROUTINE xios(set_domaingroup_attr_hdl)  & 
    66     ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    67     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    68     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    69     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     72    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     73    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     74    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     75    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     76    , zoom_nj_loc ) 
    7077     
    7178    IMPLICIT NONE 
    7279      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     80      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat(:,:) 
     81      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon(:,:) 
    7382      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim 
    7483      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index(:) 
     
    95104      INTEGER  , OPTIONAL, INTENT(IN) :: nj 
    96105      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo 
     106      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex 
    97107      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name 
     108      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type 
    98109      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin 
    99110      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc 
     
    106117       
    107118      CALL xios(set_domaingroup_attr_hdl_)  & 
    108       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    109       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    110       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    111       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     119      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     120      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     121      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     122      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     123      , zoom_nj_loc ) 
    112124     
    113125  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
    114126   
    115127  SUBROUTINE xios(set_domaingroup_attr_hdl_)   & 
    116     ( domaingroup_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    117     , data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_  & 
    118     , long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_  & 
    119     , zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_  & 
    120     ) 
     128    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     129    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_  & 
     130    , jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     131    , nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
     132    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    121133     
    122134    IMPLICIT NONE 
    123135      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     136      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lat_(:,:) 
     137      REAL (KIND=8) , OPTIONAL, INTENT(IN) :: bounds_lon_(:,:) 
    124138      INTEGER  , OPTIONAL, INTENT(IN) :: data_dim_ 
    125139      INTEGER  , OPTIONAL, INTENT(IN) :: data_i_index_(:) 
     
    146160      INTEGER  , OPTIONAL, INTENT(IN) :: nj_ 
    147161      INTEGER  , OPTIONAL, INTENT(IN) :: nj_glo_ 
     162      INTEGER  , OPTIONAL, INTENT(IN) :: nvertex_ 
    148163      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_ 
     164      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: type_ 
    149165      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_ 
    150166      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_ibegin_loc_ 
     
    156172      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_nj_loc_ 
    157173       
     174      IF (PRESENT(bounds_lat_)) THEN 
     175        CALL cxios_set_domaingroup_bounds_lat(domaingroup_hdl%daddr, bounds_lat_,size(bounds_lat_,1),size(bounds_lat_,2)) 
     176      ENDIF 
     177       
     178      IF (PRESENT(bounds_lon_)) THEN 
     179        CALL cxios_set_domaingroup_bounds_lon(domaingroup_hdl%daddr, bounds_lon_,size(bounds_lon_,1),size(bounds_lon_,2)) 
     180      ENDIF 
     181       
    158182      IF (PRESENT(data_dim_)) THEN 
    159183        CALL cxios_set_domaingroup_data_dim(domaingroup_hdl%daddr, data_dim_) 
     
    250274      ENDIF 
    251275       
     276      IF (PRESENT(nvertex_)) THEN 
     277        CALL cxios_set_domaingroup_nvertex(domaingroup_hdl%daddr, nvertex_) 
     278      ENDIF 
     279       
    252280      IF (PRESENT(standard_name_)) THEN 
    253281        CALL cxios_set_domaingroup_standard_name(domaingroup_hdl%daddr, standard_name_, len(standard_name_)) 
     282      ENDIF 
     283       
     284      IF (PRESENT(type_)) THEN 
     285        CALL cxios_set_domaingroup_type(domaingroup_hdl%daddr, type_, len(type_)) 
    254286      ENDIF 
    255287       
     
    291323   
    292324  SUBROUTINE xios(get_domaingroup_attr)  & 
    293     ( domaingroup_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    294     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    295     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    296     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     325    ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     326    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     327    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     328    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     329    , zoom_nj_loc ) 
    297330     
    298331    IMPLICIT NONE 
    299332      TYPE(txios(domaingroup))  :: domaingroup_hdl 
    300333      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
     334      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
     335      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
    301336      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    302337      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    323358      INTEGER  , OPTIONAL, INTENT(OUT) :: nj 
    324359      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
     360      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    325361      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     362      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    326363      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    327364      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc 
     
    335372      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    336373      CALL xios(get_domaingroup_attr_hdl_)   & 
    337       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    338       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    339       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    340       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     374      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     375      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     376      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     377      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     378      , zoom_nj_loc ) 
    341379     
    342380  END SUBROUTINE xios(get_domaingroup_attr) 
    343381   
    344382  SUBROUTINE xios(get_domaingroup_attr_hdl)  & 
    345     ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    346     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    347     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    348     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     383    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     384    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     385    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     386    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     387    , zoom_nj_loc ) 
    349388     
    350389    IMPLICIT NONE 
    351390      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     391      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat(:,:) 
     392      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon(:,:) 
    352393      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim 
    353394      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index(:) 
     
    374415      INTEGER  , OPTIONAL, INTENT(OUT) :: nj 
    375416      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo 
     417      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex 
    376418      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name 
     419      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type 
    377420      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    378421      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc 
     
    385428       
    386429      CALL xios(get_domaingroup_attr_hdl_)  & 
    387       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    388       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    389       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    390       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     430      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     431      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     432      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     433      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     434      , zoom_nj_loc ) 
    391435     
    392436  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
    393437   
    394438  SUBROUTINE xios(get_domaingroup_attr_hdl_)   & 
    395     ( domaingroup_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    396     , data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_  & 
    397     , long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_  & 
    398     , zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_  & 
    399     ) 
     439    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     440    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_  & 
     441    , jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     442    , nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
     443    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    400444     
    401445    IMPLICIT NONE 
    402446      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     447      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lat_(:,:) 
     448      REAL (KIND=8) , OPTIONAL, INTENT(OUT) :: bounds_lon_(:,:) 
    403449      INTEGER  , OPTIONAL, INTENT(OUT) :: data_dim_ 
    404450      INTEGER  , OPTIONAL, INTENT(OUT) :: data_i_index_(:) 
     
    425471      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_ 
    426472      INTEGER  , OPTIONAL, INTENT(OUT) :: nj_glo_ 
     473      INTEGER  , OPTIONAL, INTENT(OUT) :: nvertex_ 
    427474      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: standard_name_ 
     475      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: type_ 
    428476      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_ 
    429477      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_ibegin_loc_ 
     
    435483      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_nj_loc_ 
    436484       
     485      IF (PRESENT(bounds_lat_)) THEN 
     486        CALL cxios_get_domaingroup_bounds_lat(domaingroup_hdl%daddr, bounds_lat_,size(bounds_lat_,1),size(bounds_lat_,2)) 
     487      ENDIF 
     488       
     489      IF (PRESENT(bounds_lon_)) THEN 
     490        CALL cxios_get_domaingroup_bounds_lon(domaingroup_hdl%daddr, bounds_lon_,size(bounds_lon_,1),size(bounds_lon_,2)) 
     491      ENDIF 
     492       
    437493      IF (PRESENT(data_dim_)) THEN 
    438494        CALL cxios_get_domaingroup_data_dim(domaingroup_hdl%daddr, data_dim_) 
     
    529585      ENDIF 
    530586       
     587      IF (PRESENT(nvertex_)) THEN 
     588        CALL cxios_get_domaingroup_nvertex(domaingroup_hdl%daddr, nvertex_) 
     589      ENDIF 
     590       
    531591      IF (PRESENT(standard_name_)) THEN 
    532592        CALL cxios_get_domaingroup_standard_name(domaingroup_hdl%daddr, standard_name_, len(standard_name_)) 
     593      ENDIF 
     594       
     595      IF (PRESENT(type_)) THEN 
     596        CALL cxios_get_domaingroup_type(domaingroup_hdl%daddr, type_, len(type_)) 
    533597      ENDIF 
    534598       
     
    570634   
    571635  SUBROUTINE xios(is_defined_domaingroup_attr)  & 
    572     ( domaingroup_id, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    573     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    574     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    575     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     636    ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     637    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     638    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     639    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     640    , zoom_nj_loc ) 
    576641     
    577642    IMPLICIT NONE 
    578643      TYPE(txios(domaingroup))  :: domaingroup_hdl 
    579644      CHARACTER(LEN=*), INTENT(IN) ::domaingroup_id 
     645      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
     646      LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
     647      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
     648      LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
    580649      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    581650      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    624693      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 
    625694      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp 
     695      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
     696      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
    626697      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    627698      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     699      LOGICAL, OPTIONAL, INTENT(OUT) :: type 
     700      LOGICAL(KIND=C_BOOL) :: type_tmp 
    628701      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    629702      LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp 
     
    645718      CALL xios(get_domaingroup_handle)(domaingroup_id,domaingroup_hdl) 
    646719      CALL xios(is_defined_domaingroup_attr_hdl_)   & 
    647       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    648       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    649       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    650       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     720      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     721      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     722      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     723      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     724      , zoom_nj_loc ) 
    651725     
    652726  END SUBROUTINE xios(is_defined_domaingroup_attr) 
    653727   
    654728  SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  & 
    655     ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    656     , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    657     , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    658     , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     729    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     730    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     731    , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     732    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     733    , zoom_nj_loc ) 
    659734     
    660735    IMPLICIT NONE 
    661736      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     737      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat 
     738      LOGICAL(KIND=C_BOOL) :: bounds_lat_tmp 
     739      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon 
     740      LOGICAL(KIND=C_BOOL) :: bounds_lon_tmp 
    662741      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim 
    663742      LOGICAL(KIND=C_BOOL) :: data_dim_tmp 
     
    706785      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo 
    707786      LOGICAL(KIND=C_BOOL) :: nj_glo_tmp 
     787      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex 
     788      LOGICAL(KIND=C_BOOL) :: nvertex_tmp 
    708789      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name 
    709790      LOGICAL(KIND=C_BOOL) :: standard_name_tmp 
     791      LOGICAL, OPTIONAL, INTENT(OUT) :: type 
     792      LOGICAL(KIND=C_BOOL) :: type_tmp 
    710793      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin 
    711794      LOGICAL(KIND=C_BOOL) :: zoom_ibegin_tmp 
     
    726809       
    727810      CALL xios(is_defined_domaingroup_attr_hdl_)  & 
    728       ( domaingroup_hdl, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin, data_n_index  & 
    729       , data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin, jend, latvalue, long_name  & 
    730       , lonvalue, mask, name, ni, ni_glo, nj, nj_glo, standard_name, zoom_ibegin, zoom_ibegin_loc  & 
    731       , zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     811      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
     812      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, ibegin, iend, jbegin  & 
     813      , jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     814      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
     815      , zoom_nj_loc ) 
    732816     
    733817  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
    734818   
    735819  SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   & 
    736     ( domaingroup_hdl, data_dim_, data_i_index_, data_ibegin_, data_j_index_, data_jbegin_, data_n_index_  & 
    737     , data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_, jbegin_, jend_, latvalue_  & 
    738     , long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_, standard_name_, zoom_ibegin_  & 
    739     , zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_  & 
    740     ) 
     820    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
     821    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, ibegin_, iend_  & 
     822    , jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_, nj_glo_  & 
     823    , nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
     824    , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    741825     
    742826    IMPLICIT NONE 
    743827      TYPE(txios(domaingroup)) , INTENT(IN) :: domaingroup_hdl 
     828      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lat_ 
     829      LOGICAL(KIND=C_BOOL) :: bounds_lat__tmp 
     830      LOGICAL, OPTIONAL, INTENT(OUT) :: bounds_lon_ 
     831      LOGICAL(KIND=C_BOOL) :: bounds_lon__tmp 
    744832      LOGICAL, OPTIONAL, INTENT(OUT) :: data_dim_ 
    745833      LOGICAL(KIND=C_BOOL) :: data_dim__tmp 
     
    788876      LOGICAL, OPTIONAL, INTENT(OUT) :: nj_glo_ 
    789877      LOGICAL(KIND=C_BOOL) :: nj_glo__tmp 
     878      LOGICAL, OPTIONAL, INTENT(OUT) :: nvertex_ 
     879      LOGICAL(KIND=C_BOOL) :: nvertex__tmp 
    790880      LOGICAL, OPTIONAL, INTENT(OUT) :: standard_name_ 
    791881      LOGICAL(KIND=C_BOOL) :: standard_name__tmp 
     882      LOGICAL, OPTIONAL, INTENT(OUT) :: type_ 
     883      LOGICAL(KIND=C_BOOL) :: type__tmp 
    792884      LOGICAL, OPTIONAL, INTENT(OUT) :: zoom_ibegin_ 
    793885      LOGICAL(KIND=C_BOOL) :: zoom_ibegin__tmp 
     
    807899      LOGICAL(KIND=C_BOOL) :: zoom_nj_loc__tmp 
    808900       
     901      IF (PRESENT(bounds_lat_)) THEN 
     902        bounds_lat__tmp=cxios_is_defined_domaingroup_bounds_lat(domaingroup_hdl%daddr) 
     903        bounds_lat_=bounds_lat__tmp 
     904      ENDIF 
     905       
     906      IF (PRESENT(bounds_lon_)) THEN 
     907        bounds_lon__tmp=cxios_is_defined_domaingroup_bounds_lon(domaingroup_hdl%daddr) 
     908        bounds_lon_=bounds_lon__tmp 
     909      ENDIF 
     910       
    809911      IF (PRESENT(data_dim_)) THEN 
    810912        data_dim__tmp=cxios_is_defined_domaingroup_data_dim(domaingroup_hdl%daddr) 
     
    9221024      ENDIF 
    9231025       
     1026      IF (PRESENT(nvertex_)) THEN 
     1027        nvertex__tmp=cxios_is_defined_domaingroup_nvertex(domaingroup_hdl%daddr) 
     1028        nvertex_=nvertex__tmp 
     1029      ENDIF 
     1030       
    9241031      IF (PRESENT(standard_name_)) THEN 
    9251032        standard_name__tmp=cxios_is_defined_domaingroup_standard_name(domaingroup_hdl%daddr) 
     
    9271034      ENDIF 
    9281035       
     1036      IF (PRESENT(type_)) THEN 
     1037        type__tmp=cxios_is_defined_domaingroup_type(domaingroup_hdl%daddr) 
     1038        type_=type__tmp 
     1039      ENDIF 
     1040       
    9291041      IF (PRESENT(zoom_ibegin_)) THEN 
    9301042        zoom_ibegin__tmp=cxios_is_defined_domaingroup_zoom_ibegin(domaingroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.