Ignore:
Timestamp:
12/17/14 15:35:12 (9 years ago)
Author:
rlacroix
Message:

Update the Fortran interface after r540.

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

Legend:

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

    r532 r546  
    1818  typedef xios::CAxis*  axis_Ptr; 
    1919   
     20  void cxios_set_axis_axis_ref(axis_Ptr axis_hdl, const char * axis_ref, int axis_ref_size) 
     21  { 
     22    std::string axis_ref_str; 
     23    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return; 
     24     CTimer::get("XIOS").resume(); 
     25    axis_hdl->axis_ref.setValue(axis_ref_str); 
     26     CTimer::get("XIOS").suspend(); 
     27  } 
     28   
     29  void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size) 
     30  { 
     31     CTimer::get("XIOS").resume(); 
     32    if(!string_copy(axis_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size)) 
     33      ERROR("void cxios_get_axis_axis_ref(axis_Ptr axis_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short"); 
     34     CTimer::get("XIOS").suspend(); 
     35  } 
     36   
     37  bool cxios_is_defined_axis_axis_ref(axis_Ptr axis_hdl ) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40    return axis_hdl->axis_ref.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42  } 
     43   
     44   
     45   
    2046  void cxios_set_axis_long_name(axis_Ptr axis_hdl, const char * long_name, int long_name_size) 
    2147  { 
  • XIOS/trunk/src/interface/c_attr/icaxisgroup_attr.cpp

    r532 r546  
    1818  typedef xios::CAxisGroup*  axisgroup_Ptr; 
    1919   
     20  void cxios_set_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, const char * axis_ref, int axis_ref_size) 
     21  { 
     22    std::string axis_ref_str; 
     23    if(!cstr2string(axis_ref, axis_ref_size, axis_ref_str)) return; 
     24     CTimer::get("XIOS").resume(); 
     25    axisgroup_hdl->axis_ref.setValue(axis_ref_str); 
     26     CTimer::get("XIOS").suspend(); 
     27  } 
     28   
     29  void cxios_get_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, char * axis_ref, int axis_ref_size) 
     30  { 
     31     CTimer::get("XIOS").resume(); 
     32    if(!string_copy(axisgroup_hdl->axis_ref.getInheritedValue(),axis_ref , axis_ref_size)) 
     33      ERROR("void cxios_get_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl, char * axis_ref, int axis_ref_size)", <<"Input string is to short"); 
     34     CTimer::get("XIOS").suspend(); 
     35  } 
     36   
     37  bool cxios_is_defined_axisgroup_axis_ref(axisgroup_Ptr axisgroup_hdl ) 
     38  { 
     39     CTimer::get("XIOS").resume(); 
     40    return axisgroup_hdl->axis_ref.hasInheritedValue(); 
     41     CTimer::get("XIOS").suspend(); 
     42  } 
     43   
     44   
     45   
    2046  void cxios_set_axisgroup_group_ref(axisgroup_Ptr axisgroup_hdl, const char * group_ref, int group_ref_size) 
    2147  { 
  • XIOS/trunk/src/interface/c_attr/icdomain_attr.cpp

    r532 r546  
    270270   
    271271   
     272  void cxios_set_domain_domain_ref(domain_Ptr domain_hdl, const char * domain_ref, int domain_ref_size) 
     273  { 
     274    std::string domain_ref_str; 
     275    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return; 
     276     CTimer::get("XIOS").resume(); 
     277    domain_hdl->domain_ref.setValue(domain_ref_str); 
     278     CTimer::get("XIOS").suspend(); 
     279  } 
     280   
     281  void cxios_get_domain_domain_ref(domain_Ptr domain_hdl, char * domain_ref, int domain_ref_size) 
     282  { 
     283     CTimer::get("XIOS").resume(); 
     284    if(!string_copy(domain_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size)) 
     285      ERROR("void cxios_get_domain_domain_ref(domain_Ptr domain_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short"); 
     286     CTimer::get("XIOS").suspend(); 
     287  } 
     288   
     289  bool cxios_is_defined_domain_domain_ref(domain_Ptr domain_hdl ) 
     290  { 
     291     CTimer::get("XIOS").resume(); 
     292    return domain_hdl->domain_ref.hasInheritedValue(); 
     293     CTimer::get("XIOS").suspend(); 
     294  } 
     295   
     296   
     297   
    272298  void cxios_set_domain_i_index(domain_Ptr domain_hdl, int* i_index, int extent1, int extent2) 
    273299  { 
  • XIOS/trunk/src/interface/c_attr/icdomaingroup_attr.cpp

    r532 r546  
    270270   
    271271   
     272  void cxios_set_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, const char * domain_ref, int domain_ref_size) 
     273  { 
     274    std::string domain_ref_str; 
     275    if(!cstr2string(domain_ref, domain_ref_size, domain_ref_str)) return; 
     276     CTimer::get("XIOS").resume(); 
     277    domaingroup_hdl->domain_ref.setValue(domain_ref_str); 
     278     CTimer::get("XIOS").suspend(); 
     279  } 
     280   
     281  void cxios_get_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, char * domain_ref, int domain_ref_size) 
     282  { 
     283     CTimer::get("XIOS").resume(); 
     284    if(!string_copy(domaingroup_hdl->domain_ref.getInheritedValue(),domain_ref , domain_ref_size)) 
     285      ERROR("void cxios_get_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl, char * domain_ref, int domain_ref_size)", <<"Input string is to short"); 
     286     CTimer::get("XIOS").suspend(); 
     287  } 
     288   
     289  bool cxios_is_defined_domaingroup_domain_ref(domaingroup_Ptr domaingroup_hdl ) 
     290  { 
     291     CTimer::get("XIOS").resume(); 
     292    return domaingroup_hdl->domain_ref.hasInheritedValue(); 
     293     CTimer::get("XIOS").suspend(); 
     294  } 
     295   
     296   
     297   
    272298  void cxios_set_domaingroup_group_ref(domaingroup_Ptr domaingroup_hdl, const char * group_ref, int group_ref_size) 
    273299  { 
  • XIOS/trunk/src/interface/fortran_attr/axis_interface_attr.F90

    r532 r546  
    1010     
    1111     
     12    SUBROUTINE cxios_set_axis_axis_ref(axis_hdl, axis_ref, axis_ref_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
     16      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
     17    END SUBROUTINE cxios_set_axis_axis_ref 
     18     
     19    SUBROUTINE cxios_get_axis_axis_ref(axis_hdl, axis_ref, axis_ref_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
     23      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
     24    END SUBROUTINE cxios_get_axis_axis_ref 
     25     
     26    FUNCTION cxios_is_defined_axis_axis_ref(axis_hdl ) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axis_axis_ref 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: axis_hdl 
     30    END FUNCTION cxios_is_defined_axis_axis_ref 
     31     
     32     
    1233    SUBROUTINE cxios_set_axis_long_name(axis_hdl, long_name, long_name_size) BIND(C) 
    1334      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/axisgroup_interface_attr.F90

    r532 r546  
    1010     
    1111     
     12    SUBROUTINE cxios_set_axisgroup_axis_ref(axisgroup_hdl, axis_ref, axis_ref_size) BIND(C) 
     13      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     15      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
     16      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
     17    END SUBROUTINE cxios_set_axisgroup_axis_ref 
     18     
     19    SUBROUTINE cxios_get_axisgroup_axis_ref(axisgroup_hdl, axis_ref, axis_ref_size) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     22      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
     23      INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
     24    END SUBROUTINE cxios_get_axisgroup_axis_ref 
     25     
     26    FUNCTION cxios_is_defined_axisgroup_axis_ref(axisgroup_hdl ) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_axisgroup_axis_ref 
     29      INTEGER (kind = C_INTPTR_T), VALUE :: axisgroup_hdl 
     30    END FUNCTION cxios_is_defined_axisgroup_axis_ref 
     31     
     32     
    1233    SUBROUTINE cxios_set_axisgroup_group_ref(axisgroup_hdl, group_ref, group_ref_size) BIND(C) 
    1334      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/domain_interface_attr.F90

    r532 r546  
    233233     
    234234     
     235    SUBROUTINE cxios_set_domain_domain_ref(domain_hdl, domain_ref, domain_ref_size) BIND(C) 
     236      USE ISO_C_BINDING 
     237      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     238      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
     239      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
     240    END SUBROUTINE cxios_set_domain_domain_ref 
     241     
     242    SUBROUTINE cxios_get_domain_domain_ref(domain_hdl, domain_ref, domain_ref_size) BIND(C) 
     243      USE ISO_C_BINDING 
     244      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     245      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
     246      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
     247    END SUBROUTINE cxios_get_domain_domain_ref 
     248     
     249    FUNCTION cxios_is_defined_domain_domain_ref(domain_hdl ) BIND(C) 
     250      USE ISO_C_BINDING 
     251      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domain_domain_ref 
     252      INTEGER (kind = C_INTPTR_T), VALUE :: domain_hdl 
     253    END FUNCTION cxios_is_defined_domain_domain_ref 
     254     
     255     
    235256    SUBROUTINE cxios_set_domain_i_index(domain_hdl, i_index, extent1, extent2) BIND(C) 
    236257      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/domaingroup_interface_attr.F90

    r532 r546  
    233233     
    234234     
     235    SUBROUTINE cxios_set_domaingroup_domain_ref(domaingroup_hdl, domain_ref, domain_ref_size) BIND(C) 
     236      USE ISO_C_BINDING 
     237      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     238      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
     239      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
     240    END SUBROUTINE cxios_set_domaingroup_domain_ref 
     241     
     242    SUBROUTINE cxios_get_domaingroup_domain_ref(domaingroup_hdl, domain_ref, domain_ref_size) BIND(C) 
     243      USE ISO_C_BINDING 
     244      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     245      CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
     246      INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
     247    END SUBROUTINE cxios_get_domaingroup_domain_ref 
     248     
     249    FUNCTION cxios_is_defined_domaingroup_domain_ref(domaingroup_hdl ) BIND(C) 
     250      USE ISO_C_BINDING 
     251      LOGICAL(kind=C_BOOL) :: cxios_is_defined_domaingroup_domain_ref 
     252      INTEGER (kind = C_INTPTR_T), VALUE :: domaingroup_hdl 
     253    END FUNCTION cxios_is_defined_domaingroup_domain_ref 
     254     
     255     
    235256    SUBROUTINE cxios_set_domaingroup_group_ref(domaingroup_hdl, group_ref, group_ref_size) BIND(C) 
    236257      USE ISO_C_BINDING 
  • XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90

    r532 r546  
    1010     
    1111     
    12     SUBROUTINE cxios_set_grid_axis_ref(grid_hdl, axis_ref, axis_ref_size) BIND(C) 
     12    SUBROUTINE cxios_set_grid_axisDomOrder(grid_hdl, axisDomOrder, extent1) BIND(C) 
    1313      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     15      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder 
     16      INTEGER (kind = C_INT), VALUE  :: extent1 
     17    END SUBROUTINE cxios_set_grid_axisDomOrder 
     18     
     19    SUBROUTINE cxios_get_grid_axisDomOrder(grid_hdl, axisDomOrder, extent1) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE       :: grid_hdl 
     22      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder 
     23      INTEGER (kind = C_INT), VALUE  :: extent1 
     24    END SUBROUTINE cxios_get_grid_axisDomOrder 
     25     
     26    FUNCTION cxios_is_defined_grid_axisDomOrder(grid_hdl ) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axisDomOrder 
    1429      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    15       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
    16       INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
    17     END SUBROUTINE cxios_set_grid_axis_ref 
    18      
    19     SUBROUTINE cxios_get_grid_axis_ref(grid_hdl, axis_ref, axis_ref_size) BIND(C) 
    20       USE ISO_C_BINDING 
    21       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    22       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
    23       INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
    24     END SUBROUTINE cxios_get_grid_axis_ref 
    25      
    26     FUNCTION cxios_is_defined_grid_axis_ref(grid_hdl ) BIND(C) 
    27       USE ISO_C_BINDING 
    28       LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axis_ref 
    29       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    30     END FUNCTION cxios_is_defined_grid_axis_ref 
     30    END FUNCTION cxios_is_defined_grid_axisDomOrder 
    3131     
    3232     
     
    5050      INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    5151    END FUNCTION cxios_is_defined_grid_description 
    52      
    53      
    54     SUBROUTINE cxios_set_grid_domain_ref(grid_hdl, domain_ref, domain_ref_size) BIND(C) 
    55       USE ISO_C_BINDING 
    56       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    57       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
    58       INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
    59     END SUBROUTINE cxios_set_grid_domain_ref 
    60      
    61     SUBROUTINE cxios_get_grid_domain_ref(grid_hdl, domain_ref, domain_ref_size) BIND(C) 
    62       USE ISO_C_BINDING 
    63       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    64       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
    65       INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
    66     END SUBROUTINE cxios_get_grid_domain_ref 
    67      
    68     FUNCTION cxios_is_defined_grid_domain_ref(grid_hdl ) BIND(C) 
    69       USE ISO_C_BINDING 
    70       LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_domain_ref 
    71       INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 
    72     END FUNCTION cxios_is_defined_grid_domain_ref 
    7352     
    7453     
  • XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90

    r532 r546  
    1010     
    1111     
    12     SUBROUTINE cxios_set_gridgroup_axis_ref(gridgroup_hdl, axis_ref, axis_ref_size) BIND(C) 
     12    SUBROUTINE cxios_set_gridgroup_axisDomOrder(gridgroup_hdl, axisDomOrder, extent1) BIND(C) 
    1313      USE ISO_C_BINDING 
     14      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     15      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder 
     16      INTEGER (kind = C_INT), VALUE  :: extent1 
     17    END SUBROUTINE cxios_set_gridgroup_axisDomOrder 
     18     
     19    SUBROUTINE cxios_get_gridgroup_axisDomOrder(gridgroup_hdl, axisDomOrder, extent1) BIND(C) 
     20      USE ISO_C_BINDING 
     21      INTEGER (kind = C_INTPTR_T), VALUE       :: gridgroup_hdl 
     22      INTEGER (KIND=C_INT)     , DIMENSION(*) :: axisDomOrder 
     23      INTEGER (kind = C_INT), VALUE  :: extent1 
     24    END SUBROUTINE cxios_get_gridgroup_axisDomOrder 
     25     
     26    FUNCTION cxios_is_defined_gridgroup_axisDomOrder(gridgroup_hdl ) BIND(C) 
     27      USE ISO_C_BINDING 
     28      LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axisDomOrder 
    1429      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    15       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
    16       INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
    17     END SUBROUTINE cxios_set_gridgroup_axis_ref 
    18      
    19     SUBROUTINE cxios_get_gridgroup_axis_ref(gridgroup_hdl, axis_ref, axis_ref_size) BIND(C) 
    20       USE ISO_C_BINDING 
    21       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    22       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: axis_ref 
    23       INTEGER  (kind = C_INT)     , VALUE        :: axis_ref_size 
    24     END SUBROUTINE cxios_get_gridgroup_axis_ref 
    25      
    26     FUNCTION cxios_is_defined_gridgroup_axis_ref(gridgroup_hdl ) BIND(C) 
    27       USE ISO_C_BINDING 
    28       LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axis_ref 
    29       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    30     END FUNCTION cxios_is_defined_gridgroup_axis_ref 
     30    END FUNCTION cxios_is_defined_gridgroup_axisDomOrder 
    3131     
    3232     
     
    5050      INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    5151    END FUNCTION cxios_is_defined_gridgroup_description 
    52      
    53      
    54     SUBROUTINE cxios_set_gridgroup_domain_ref(gridgroup_hdl, domain_ref, domain_ref_size) BIND(C) 
    55       USE ISO_C_BINDING 
    56       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    57       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
    58       INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
    59     END SUBROUTINE cxios_set_gridgroup_domain_ref 
    60      
    61     SUBROUTINE cxios_get_gridgroup_domain_ref(gridgroup_hdl, domain_ref, domain_ref_size) BIND(C) 
    62       USE ISO_C_BINDING 
    63       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    64       CHARACTER(kind = C_CHAR)    , DIMENSION(*) :: domain_ref 
    65       INTEGER  (kind = C_INT)     , VALUE        :: domain_ref_size 
    66     END SUBROUTINE cxios_get_gridgroup_domain_ref 
    67      
    68     FUNCTION cxios_is_defined_gridgroup_domain_ref(gridgroup_hdl ) BIND(C) 
    69       USE ISO_C_BINDING 
    70       LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_domain_ref 
    71       INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 
    72     END FUNCTION cxios_is_defined_gridgroup_domain_ref 
    7352     
    7453     
  • XIOS/trunk/src/interface/fortran_attr/iaxis_attr.F90

    r501 r546  
    1212   
    1313  SUBROUTINE xios(set_axis_attr)  & 
    14     ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    15     , zoom_size ) 
     14    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     15    , zoom_end, zoom_size ) 
    1616     
    1717    IMPLICIT NONE 
    1818      TYPE(txios(axis))  :: axis_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::axis_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    2021      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    2122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     
    3132      CALL xios(get_axis_handle)(axis_id,axis_hdl) 
    3233      CALL xios(set_axis_attr_hdl_)   & 
    33       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    34       , zoom_size ) 
     34      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     35      , zoom_end, zoom_size ) 
    3536     
    3637  END SUBROUTINE xios(set_axis_attr) 
    3738   
    3839  SUBROUTINE xios(set_axis_attr_hdl)  & 
    39     ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    40     , zoom_size ) 
    41      
    42     IMPLICIT NONE 
    43       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     40    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     41    , zoom_end, zoom_size ) 
     42     
     43    IMPLICIT NONE 
     44      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     45      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    4446      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
    4547      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 
     
    5456       
    5557      CALL xios(set_axis_attr_hdl_)  & 
    56       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    57       , zoom_size ) 
     58      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     59      , zoom_end, zoom_size ) 
    5860     
    5961  END SUBROUTINE xios(set_axis_attr_hdl) 
    6062   
    6163  SUBROUTINE xios(set_axis_attr_hdl_)   & 
    62     ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
     64    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
    6365    , zoom_end_, zoom_size_ ) 
    6466     
    6567    IMPLICIT NONE 
    6668      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     69      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
    6770      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
    6871      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
     
    7679      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_ 
    7780       
     81      IF (PRESENT(axis_ref_)) THEN 
     82        CALL cxios_set_axis_axis_ref(axis_hdl%daddr, axis_ref_, len(axis_ref_)) 
     83      ENDIF 
     84       
    7885      IF (PRESENT(long_name_)) THEN 
    7986        CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) 
     
    121128   
    122129  SUBROUTINE xios(get_axis_attr)  & 
    123     ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    124     , zoom_size ) 
     130    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     131    , zoom_end, zoom_size ) 
    125132     
    126133    IMPLICIT NONE 
    127134      TYPE(txios(axis))  :: axis_hdl 
    128135      CHARACTER(LEN=*), INTENT(IN) ::axis_id 
     136      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    129137      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    130138      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     
    140148      CALL xios(get_axis_handle)(axis_id,axis_hdl) 
    141149      CALL xios(get_axis_attr_hdl_)   & 
    142       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    143       , zoom_size ) 
     150      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     151      , zoom_end, zoom_size ) 
    144152     
    145153  END SUBROUTINE xios(get_axis_attr) 
    146154   
    147155  SUBROUTINE xios(get_axis_attr_hdl)  & 
    148     ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    149     , zoom_size ) 
    150      
    151     IMPLICIT NONE 
    152       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     156    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     157    , zoom_end, zoom_size ) 
     158     
     159    IMPLICIT NONE 
     160      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     161      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    153162      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
    154163      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 
     
    163172       
    164173      CALL xios(get_axis_attr_hdl_)  & 
    165       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    166       , zoom_size ) 
     174      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     175      , zoom_end, zoom_size ) 
    167176     
    168177  END SUBROUTINE xios(get_axis_attr_hdl) 
    169178   
    170179  SUBROUTINE xios(get_axis_attr_hdl_)   & 
    171     ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
     180    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
    172181    , zoom_end_, zoom_size_ ) 
    173182     
    174183    IMPLICIT NONE 
    175184      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     185      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
    176186      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
    177187      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
     
    185195      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_ 
    186196       
     197      IF (PRESENT(axis_ref_)) THEN 
     198        CALL cxios_get_axis_axis_ref(axis_hdl%daddr, axis_ref_, len(axis_ref_)) 
     199      ENDIF 
     200       
    187201      IF (PRESENT(long_name_)) THEN 
    188202        CALL cxios_get_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_)) 
     
    230244   
    231245  SUBROUTINE xios(is_defined_axis_attr)  & 
    232     ( axis_id, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    233     , zoom_size ) 
     246    ( axis_id, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     247    , zoom_end, zoom_size ) 
    234248     
    235249    IMPLICIT NONE 
    236250      TYPE(txios(axis))  :: axis_hdl 
    237251      CHARACTER(LEN=*), INTENT(IN) ::axis_id 
     252      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
     253      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
    238254      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    239255      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    259275      CALL xios(get_axis_handle)(axis_id,axis_hdl) 
    260276      CALL xios(is_defined_axis_attr_hdl_)   & 
    261       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    262       , zoom_size ) 
     277      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     278      , zoom_end, zoom_size ) 
    263279     
    264280  END SUBROUTINE xios(is_defined_axis_attr) 
    265281   
    266282  SUBROUTINE xios(is_defined_axis_attr_hdl)  & 
    267     ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    268     , zoom_size ) 
    269      
    270     IMPLICIT NONE 
    271       TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     283    ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     284    , zoom_end, zoom_size ) 
     285     
     286    IMPLICIT NONE 
     287      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     288      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
     289      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
    272290      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name 
    273291      LOGICAL(KIND=C_BOOL) :: long_name_tmp 
     
    292310       
    293311      CALL xios(is_defined_axis_attr_hdl_)  & 
    294       ( axis_hdl, long_name, name, positive, size, standard_name, unit, value, zoom_begin, zoom_end  & 
    295       , zoom_size ) 
     312      ( axis_hdl, axis_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
     313      , zoom_end, zoom_size ) 
    296314     
    297315  END SUBROUTINE xios(is_defined_axis_attr_hdl) 
    298316   
    299317  SUBROUTINE xios(is_defined_axis_attr_hdl_)   & 
    300     ( axis_hdl, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
     318    ( axis_hdl, axis_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_, zoom_begin_  & 
    301319    , zoom_end_, zoom_size_ ) 
    302320     
    303321    IMPLICIT NONE 
    304322      TYPE(txios(axis)) , INTENT(IN) :: axis_hdl 
     323      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
     324      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
    305325      LOGICAL, OPTIONAL, INTENT(OUT) :: long_name_ 
    306326      LOGICAL(KIND=C_BOOL) :: long_name__tmp 
     
    324344      LOGICAL(KIND=C_BOOL) :: zoom_size__tmp 
    325345       
     346      IF (PRESENT(axis_ref_)) THEN 
     347        axis_ref__tmp=cxios_is_defined_axis_axis_ref(axis_hdl%daddr) 
     348        axis_ref_=axis_ref__tmp 
     349      ENDIF 
     350       
    326351      IF (PRESENT(long_name_)) THEN 
    327352        long_name__tmp=cxios_is_defined_axis_long_name(axis_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/iaxisgroup_attr.F90

    r501 r546  
    1212   
    1313  SUBROUTINE xios(set_axisgroup_attr)  & 
    14     ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    15     , zoom_end, zoom_size ) 
     14    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     15    , zoom_begin, zoom_end, zoom_size ) 
    1616     
    1717    IMPLICIT NONE 
    1818      TYPE(txios(axisgroup))  :: axisgroup_hdl 
    1919      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
     20      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    2021      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    2122      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
     
    3233      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
    3334      CALL xios(set_axisgroup_attr_hdl_)   & 
    34       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    35       , zoom_end, zoom_size ) 
     35      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     36      , zoom_begin, zoom_end, zoom_size ) 
    3637     
    3738  END SUBROUTINE xios(set_axisgroup_attr) 
    3839   
    3940  SUBROUTINE xios(set_axisgroup_attr_hdl)  & 
    40     ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    41     , zoom_end, zoom_size ) 
    42      
    43     IMPLICIT NONE 
    44       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     41    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     42    , zoom_begin, zoom_end, zoom_size ) 
     43     
     44    IMPLICIT NONE 
     45      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     46      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
    4547      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    4648      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name 
     
    5658       
    5759      CALL xios(set_axisgroup_attr_hdl_)  & 
    58       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    59       , zoom_end, zoom_size ) 
     60      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     61      , zoom_begin, zoom_end, zoom_size ) 
    6062     
    6163  END SUBROUTINE xios(set_axisgroup_attr_hdl) 
    6264   
    6365  SUBROUTINE xios(set_axisgroup_attr_hdl_)   & 
    64     ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  & 
    65     , zoom_begin_, zoom_end_, zoom_size_ ) 
    66      
    67     IMPLICIT NONE 
    68       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     66    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  & 
     67    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 
     68     
     69    IMPLICIT NONE 
     70      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     71      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
    6972      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
    7073      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_ 
     
    7982      INTEGER  , OPTIONAL, INTENT(IN) :: zoom_size_ 
    8083       
     84      IF (PRESENT(axis_ref_)) THEN 
     85        CALL cxios_set_axisgroup_axis_ref(axisgroup_hdl%daddr, axis_ref_, len(axis_ref_)) 
     86      ENDIF 
     87       
    8188      IF (PRESENT(group_ref_)) THEN 
    8289        CALL cxios_set_axisgroup_group_ref(axisgroup_hdl%daddr, group_ref_, len(group_ref_)) 
     
    128135   
    129136  SUBROUTINE xios(get_axisgroup_attr)  & 
    130     ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    131     , zoom_end, zoom_size ) 
     137    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     138    , zoom_begin, zoom_end, zoom_size ) 
    132139     
    133140    IMPLICIT NONE 
    134141      TYPE(txios(axisgroup))  :: axisgroup_hdl 
    135142      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
     143      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    136144      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    137145      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
     
    148156      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
    149157      CALL xios(get_axisgroup_attr_hdl_)   & 
    150       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    151       , zoom_end, zoom_size ) 
     158      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     159      , zoom_begin, zoom_end, zoom_size ) 
    152160     
    153161  END SUBROUTINE xios(get_axisgroup_attr) 
    154162   
    155163  SUBROUTINE xios(get_axisgroup_attr_hdl)  & 
    156     ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    157     , zoom_end, zoom_size ) 
    158      
    159     IMPLICIT NONE 
    160       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     164    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     165    , zoom_begin, zoom_end, zoom_size ) 
     166     
     167    IMPLICIT NONE 
     168      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     169      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
    161170      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    162171      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name 
     
    172181       
    173182      CALL xios(get_axisgroup_attr_hdl_)  & 
    174       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    175       , zoom_end, zoom_size ) 
     183      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     184      , zoom_begin, zoom_end, zoom_size ) 
    176185     
    177186  END SUBROUTINE xios(get_axisgroup_attr_hdl) 
    178187   
    179188  SUBROUTINE xios(get_axisgroup_attr_hdl_)   & 
    180     ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  & 
    181     , zoom_begin_, zoom_end_, zoom_size_ ) 
    182      
    183     IMPLICIT NONE 
    184       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     189    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  & 
     190    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 
     191     
     192    IMPLICIT NONE 
     193      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     194      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
    185195      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
    186196      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: long_name_ 
     
    195205      INTEGER  , OPTIONAL, INTENT(OUT) :: zoom_size_ 
    196206       
     207      IF (PRESENT(axis_ref_)) THEN 
     208        CALL cxios_get_axisgroup_axis_ref(axisgroup_hdl%daddr, axis_ref_, len(axis_ref_)) 
     209      ENDIF 
     210       
    197211      IF (PRESENT(group_ref_)) THEN 
    198212        CALL cxios_get_axisgroup_group_ref(axisgroup_hdl%daddr, group_ref_, len(group_ref_)) 
     
    244258   
    245259  SUBROUTINE xios(is_defined_axisgroup_attr)  & 
    246     ( axisgroup_id, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    247     , zoom_end, zoom_size ) 
     260    ( axisgroup_id, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     261    , zoom_begin, zoom_end, zoom_size ) 
    248262     
    249263    IMPLICIT NONE 
    250264      TYPE(txios(axisgroup))  :: axisgroup_hdl 
    251265      CHARACTER(LEN=*), INTENT(IN) ::axisgroup_id 
     266      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
     267      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
    252268      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    253269      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    275291      CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl) 
    276292      CALL xios(is_defined_axisgroup_attr_hdl_)   & 
    277       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    278       , zoom_end, zoom_size ) 
     293      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     294      , zoom_begin, zoom_end, zoom_size ) 
    279295     
    280296  END SUBROUTINE xios(is_defined_axisgroup_attr) 
    281297   
    282298  SUBROUTINE xios(is_defined_axisgroup_attr_hdl)  & 
    283     ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    284     , zoom_end, zoom_size ) 
    285      
    286     IMPLICIT NONE 
    287       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     299    ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     300    , zoom_begin, zoom_end, zoom_size ) 
     301     
     302    IMPLICIT NONE 
     303      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     304      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
     305      LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
    288306      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    289307      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    310328       
    311329      CALL xios(is_defined_axisgroup_attr_hdl_)  & 
    312       ( axisgroup_hdl, group_ref, long_name, name, positive, size, standard_name, unit, value, zoom_begin  & 
    313       , zoom_end, zoom_size ) 
     330      ( axisgroup_hdl, axis_ref, group_ref, long_name, name, positive, size, standard_name, unit, value  & 
     331      , zoom_begin, zoom_end, zoom_size ) 
    314332     
    315333  END SUBROUTINE xios(is_defined_axisgroup_attr_hdl) 
    316334   
    317335  SUBROUTINE xios(is_defined_axisgroup_attr_hdl_)   & 
    318     ( axisgroup_hdl, group_ref_, long_name_, name_, positive_, size_, standard_name_, unit_, value_  & 
    319     , zoom_begin_, zoom_end_, zoom_size_ ) 
    320      
    321     IMPLICIT NONE 
    322       TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     336    ( axisgroup_hdl, axis_ref_, group_ref_, long_name_, name_, positive_, size_, standard_name_  & 
     337    , unit_, value_, zoom_begin_, zoom_end_, zoom_size_ ) 
     338     
     339    IMPLICIT NONE 
     340      TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl 
     341      LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
     342      LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
    323343      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    324344      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     
    344364      LOGICAL(KIND=C_BOOL) :: zoom_size__tmp 
    345365       
     366      IF (PRESENT(axis_ref_)) THEN 
     367        axis_ref__tmp=cxios_is_defined_axisgroup_axis_ref(axisgroup_hdl%daddr) 
     368        axis_ref_=axis_ref__tmp 
     369      ENDIF 
     370       
    346371      IF (PRESENT(group_ref_)) THEN 
    347372        group_ref__tmp=cxios_is_defined_axisgroup_group_ref(axisgroup_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/idomain_attr.F90

    r501 r546  
    1313  SUBROUTINE xios(set_domain_attr)  & 
    1414    ( 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, i_index, ibegin, iend, j_index, jbegin, jend  & 
    16     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     15    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     16    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    1717    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    1818    , zoom_nj_loc ) 
     
    3232      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
    3333      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 
     34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    3435      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:) 
    3536      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin 
     
    6364      CALL xios(set_domain_attr_hdl_)   & 
    6465      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    65       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    66       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     66      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     67      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    6768      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    6869      , zoom_nj_loc ) 
     
    7273  SUBROUTINE xios(set_domain_attr_hdl)  & 
    7374    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    74     , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    75     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     75    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     76    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    7677    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    7778    , zoom_nj_loc ) 
     
    9091      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
    9192      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 
     93      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    9294      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:) 
    9395      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin 
     
    120122      CALL xios(set_domain_attr_hdl_)  & 
    121123      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    122       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    123       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     124      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     125      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    124126      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    125127      , zoom_nj_loc ) 
     
    129131  SUBROUTINE xios(set_domain_attr_hdl_)   & 
    130132    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    131     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  & 
    132     , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    133     , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
    134     , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     133    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
     134    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
     135    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
     136    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    135137     
    136138    IMPLICIT NONE 
     
    147149      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_ 
    148150      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_ 
     151      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    149152      INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:,:) 
    150153      INTEGER  , OPTIONAL, INTENT(IN) :: ibegin_ 
     
    219222      ENDIF 
    220223       
     224      IF (PRESENT(domain_ref_)) THEN 
     225        CALL cxios_set_domain_domain_ref(domain_hdl%daddr, domain_ref_, len(domain_ref_)) 
     226      ENDIF 
     227       
    221228      IF (PRESENT(i_index_)) THEN 
    222229        CALL cxios_set_domain_i_index(domain_hdl%daddr, i_index_,size(i_index_,1),size(i_index_,2)) 
     
    331338  SUBROUTINE xios(get_domain_attr)  & 
    332339    ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    333     , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    334     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     340    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     341    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    335342    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    336343    , zoom_nj_loc ) 
     
    350357      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
    351358      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 
     359      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    352360      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:) 
    353361      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin 
     
    381389      CALL xios(get_domain_attr_hdl_)   & 
    382390      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    383       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    384       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     391      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     392      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    385393      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    386394      , zoom_nj_loc ) 
     
    390398  SUBROUTINE xios(get_domain_attr_hdl)  & 
    391399    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    392     , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    393     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     400    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     401    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    394402    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    395403    , zoom_nj_loc ) 
     
    408416      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
    409417      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 
     418      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    410419      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:) 
    411420      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin 
     
    438447      CALL xios(get_domain_attr_hdl_)  & 
    439448      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    440       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    441       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     449      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     450      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    442451      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    443452      , zoom_nj_loc ) 
     
    447456  SUBROUTINE xios(get_domain_attr_hdl_)   & 
    448457    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    449     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  & 
    450     , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    451     , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
    452     , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     458    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
     459    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
     460    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
     461    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    453462     
    454463    IMPLICIT NONE 
     
    465474      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_ 
    466475      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref_ 
     476      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    467477      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:,:) 
    468478      INTEGER  , OPTIONAL, INTENT(OUT) :: ibegin_ 
     
    537547      ENDIF 
    538548       
     549      IF (PRESENT(domain_ref_)) THEN 
     550        CALL cxios_get_domain_domain_ref(domain_hdl%daddr, domain_ref_, len(domain_ref_)) 
     551      ENDIF 
     552       
    539553      IF (PRESENT(i_index_)) THEN 
    540554        CALL cxios_get_domain_i_index(domain_hdl%daddr, i_index_,size(i_index_,1),size(i_index_,2)) 
     
    649663  SUBROUTINE xios(is_defined_domain_attr)  & 
    650664    ( domain_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    651     , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    652     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     665    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     666    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    653667    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    654668    , zoom_nj_loc ) 
     
    679693      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref 
    680694      LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp 
     695      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
     696      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    681697      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index 
    682698      LOGICAL(KIND=C_BOOL) :: i_index_tmp 
     
    735751      CALL xios(is_defined_domain_attr_hdl_)   & 
    736752      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    737       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    738       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     753      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     754      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    739755      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    740756      , zoom_nj_loc ) 
     
    744760  SUBROUTINE xios(is_defined_domain_attr_hdl)  & 
    745761    ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    746     , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    747     , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     762    , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     763    , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    748764    , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    749765    , zoom_nj_loc ) 
     
    773789      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref 
    774790      LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp 
     791      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
     792      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    775793      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index 
    776794      LOGICAL(KIND=C_BOOL) :: i_index_tmp 
     
    828846      CALL xios(is_defined_domain_attr_hdl_)  & 
    829847      ( domain_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index, data_jbegin  & 
    830       , data_n_index, data_ni, data_nj, domain_group_ref, i_index, ibegin, iend, j_index, jbegin, jend  & 
    831       , latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
     848      , data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, i_index, ibegin, iend, j_index  & 
     849      , jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo, nvertex, standard_name  & 
    832850      , type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni, zoom_ni_loc, zoom_nj  & 
    833851      , zoom_nj_loc ) 
     
    837855  SUBROUTINE xios(is_defined_domain_attr_hdl_)   & 
    838856    ( domain_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    839     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, i_index_, ibegin_, iend_  & 
    840     , j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_, nj_  & 
    841     , nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_, zoom_jbegin_loc_  & 
    842     , zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     857    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, i_index_  & 
     858    , ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_  & 
     859    , ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
     860    , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    843861     
    844862    IMPLICIT NONE 
     
    866884      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref_ 
    867885      LOGICAL(KIND=C_BOOL) :: domain_group_ref__tmp 
     886      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
     887      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
    868888      LOGICAL, OPTIONAL, INTENT(OUT) :: i_index_ 
    869889      LOGICAL(KIND=C_BOOL) :: i_index__tmp 
     
    974994      ENDIF 
    975995       
     996      IF (PRESENT(domain_ref_)) THEN 
     997        domain_ref__tmp=cxios_is_defined_domain_domain_ref(domain_hdl%daddr) 
     998        domain_ref_=domain_ref__tmp 
     999      ENDIF 
     1000       
    9761001      IF (PRESENT(i_index_)) THEN 
    9771002        i_index__tmp=cxios_is_defined_domain_i_index(domain_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/idomaingroup_attr.F90

    r501 r546  
    1313  SUBROUTINE xios(set_domaingroup_attr)  & 
    1414    ( 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, i_index, ibegin  & 
    16     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    17     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    18     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     15    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     16    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     17    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     18    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    1919     
    2020    IMPLICIT NONE 
     
    3232      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
    3333      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 
     34      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    3435      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    3536      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:) 
     
    6465      CALL xios(set_domaingroup_attr_hdl_)   & 
    6566      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    66       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    67       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    68       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    69       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     67      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     68      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     69      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     70      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    7071     
    7172  END SUBROUTINE xios(set_domaingroup_attr) 
     
    7374  SUBROUTINE xios(set_domaingroup_attr_hdl)  & 
    7475    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    75     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    76     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    77     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    78     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     76    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     77    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     78    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     79    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    7980     
    8081    IMPLICIT NONE 
     
    9192      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj 
    9293      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref 
     94      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    9395      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    9496      INTEGER  , OPTIONAL, INTENT(IN) :: i_index(:,:) 
     
    122124      CALL xios(set_domaingroup_attr_hdl_)  & 
    123125      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    124       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    125       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    126       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    127       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     126      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     127      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     128      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     129      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    128130     
    129131  END SUBROUTINE xios(set_domaingroup_attr_hdl) 
     
    131133  SUBROUTINE xios(set_domaingroup_attr_hdl_)   & 
    132134    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    133     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  & 
    134     , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  & 
    135     , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
    136     , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     135    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
     136    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  & 
     137    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  & 
     138    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    137139     
    138140    IMPLICIT NONE 
     
    149151      INTEGER  , OPTIONAL, INTENT(IN) :: data_nj_ 
    150152      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_group_ref_ 
     153      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    151154      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
    152155      INTEGER  , OPTIONAL, INTENT(IN) :: i_index_(:,:) 
     
    222225      ENDIF 
    223226       
     227      IF (PRESENT(domain_ref_)) THEN 
     228        CALL cxios_set_domaingroup_domain_ref(domaingroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
     229      ENDIF 
     230       
    224231      IF (PRESENT(group_ref_)) THEN 
    225232        CALL cxios_set_domaingroup_group_ref(domaingroup_hdl%daddr, group_ref_, len(group_ref_)) 
     
    338345  SUBROUTINE xios(get_domaingroup_attr)  & 
    339346    ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    340     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    341     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    342     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    343     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     347    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     348    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     349    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     350    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    344351     
    345352    IMPLICIT NONE 
     
    357364      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
    358365      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 
     366      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    359367      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    360368      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:) 
     
    389397      CALL xios(get_domaingroup_attr_hdl_)   & 
    390398      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    391       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    392       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    393       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    394       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     399      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     400      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     401      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     402      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    395403     
    396404  END SUBROUTINE xios(get_domaingroup_attr) 
     
    398406  SUBROUTINE xios(get_domaingroup_attr_hdl)  & 
    399407    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    400     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    401     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    402     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    403     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     408    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     409    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     410    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     411    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    404412     
    405413    IMPLICIT NONE 
     
    416424      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj 
    417425      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref 
     426      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    418427      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    419428      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index(:,:) 
     
    447456      CALL xios(get_domaingroup_attr_hdl_)  & 
    448457      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    449       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    450       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    451       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    452       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     458      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     459      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     460      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     461      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    453462     
    454463  END SUBROUTINE xios(get_domaingroup_attr_hdl) 
     
    456465  SUBROUTINE xios(get_domaingroup_attr_hdl_)   & 
    457466    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    458     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  & 
    459     , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  & 
    460     , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
    461     , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     467    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
     468    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  & 
     469    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  & 
     470    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    462471     
    463472    IMPLICIT NONE 
     
    474483      INTEGER  , OPTIONAL, INTENT(OUT) :: data_nj_ 
    475484      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_group_ref_ 
     485      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    476486      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
    477487      INTEGER  , OPTIONAL, INTENT(OUT) :: i_index_(:,:) 
     
    547557      ENDIF 
    548558       
     559      IF (PRESENT(domain_ref_)) THEN 
     560        CALL cxios_get_domaingroup_domain_ref(domaingroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
     561      ENDIF 
     562       
    549563      IF (PRESENT(group_ref_)) THEN 
    550564        CALL cxios_get_domaingroup_group_ref(domaingroup_hdl%daddr, group_ref_, len(group_ref_)) 
     
    663677  SUBROUTINE xios(is_defined_domaingroup_attr)  & 
    664678    ( domaingroup_id, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    665     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    666     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    667     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    668     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     679    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     680    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     681    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     682    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    669683     
    670684    IMPLICIT NONE 
     
    693707      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref 
    694708      LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp 
     709      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
     710      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    695711      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    696712      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    751767      CALL xios(is_defined_domaingroup_attr_hdl_)   & 
    752768      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    753       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    754       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    755       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    756       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     769      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     770      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     771      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     772      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    757773     
    758774  END SUBROUTINE xios(is_defined_domaingroup_attr) 
     
    760776  SUBROUTINE xios(is_defined_domaingroup_attr_hdl)  & 
    761777    ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    762     , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    763     , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    764     , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    765     , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     778    , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     779    , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     780    , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     781    , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    766782     
    767783    IMPLICIT NONE 
     
    789805      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref 
    790806      LOGICAL(KIND=C_BOOL) :: domain_group_ref_tmp 
     807      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
     808      LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    791809      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    792810      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    846864      CALL xios(is_defined_domaingroup_attr_hdl_)  & 
    847865      ( domaingroup_hdl, bounds_lat, bounds_lon, data_dim, data_i_index, data_ibegin, data_j_index  & 
    848       , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, group_ref, i_index, ibegin  & 
    849       , iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo, nj, nj_glo  & 
    850       , nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc, zoom_ni  & 
    851       , zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
     866      , data_jbegin, data_n_index, data_ni, data_nj, domain_group_ref, domain_ref, group_ref, i_index  & 
     867      , ibegin, iend, j_index, jbegin, jend, latvalue, long_name, lonvalue, mask, name, ni, ni_glo  & 
     868      , nj, nj_glo, nvertex, standard_name, type, zoom_ibegin, zoom_ibegin_loc, zoom_jbegin, zoom_jbegin_loc  & 
     869      , zoom_ni, zoom_ni_loc, zoom_nj, zoom_nj_loc ) 
    852870     
    853871  END SUBROUTINE xios(is_defined_domaingroup_attr_hdl) 
     
    855873  SUBROUTINE xios(is_defined_domaingroup_attr_hdl_)   & 
    856874    ( domaingroup_hdl, bounds_lat_, bounds_lon_, data_dim_, data_i_index_, data_ibegin_, data_j_index_  & 
    857     , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, group_ref_, i_index_, ibegin_  & 
    858     , iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_, name_, ni_, ni_glo_  & 
    859     , nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_, zoom_jbegin_  & 
    860     , zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
     875    , data_jbegin_, data_n_index_, data_ni_, data_nj_, domain_group_ref_, domain_ref_, group_ref_  & 
     876    , i_index_, ibegin_, iend_, j_index_, jbegin_, jend_, latvalue_, long_name_, lonvalue_, mask_  & 
     877    , name_, ni_, ni_glo_, nj_, nj_glo_, nvertex_, standard_name_, type_, zoom_ibegin_, zoom_ibegin_loc_  & 
     878    , zoom_jbegin_, zoom_jbegin_loc_, zoom_ni_, zoom_ni_loc_, zoom_nj_, zoom_nj_loc_ ) 
    861879     
    862880    IMPLICIT NONE 
     
    884902      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_group_ref_ 
    885903      LOGICAL(KIND=C_BOOL) :: domain_group_ref__tmp 
     904      LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
     905      LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
    886906      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    887907      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     
    9941014      ENDIF 
    9951015       
     1016      IF (PRESENT(domain_ref_)) THEN 
     1017        domain_ref__tmp=cxios_is_defined_domaingroup_domain_ref(domaingroup_hdl%daddr) 
     1018        domain_ref_=domain_ref__tmp 
     1019      ENDIF 
     1020       
    9961021      IF (PRESENT(group_ref_)) THEN 
    9971022        group_ref__tmp=cxios_is_defined_domaingroup_group_ref(domaingroup_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90

    r501 r546  
    1212   
    1313  SUBROUTINE xios(set_grid_attr)  & 
    14     ( grid_id, axis_ref, description, domain_ref, mask, name ) 
     14    ( grid_id, axisDomOrder, description, mask, name ) 
    1515     
    1616    IMPLICIT NONE 
    1717      TYPE(txios(grid))  :: grid_hdl 
    1818      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
    19       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     19      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 
    2020      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    21       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    2221      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:) 
    2322      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 
     
    2625      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    2726      CALL xios(set_grid_attr_hdl_)   & 
    28       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     27      ( grid_hdl, axisDomOrder, description, mask, name ) 
    2928     
    3029  END SUBROUTINE xios(set_grid_attr) 
    3130   
    3231  SUBROUTINE xios(set_grid_attr_hdl)  & 
    33     ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
    34      
    35     IMPLICIT NONE 
    36       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    37       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     32    ( grid_hdl, axisDomOrder, description, mask, name ) 
     33     
     34    IMPLICIT NONE 
     35      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     36      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 
    3837      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    39       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    4038      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:) 
    4139      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 
     
    4341       
    4442      CALL xios(set_grid_attr_hdl_)  & 
    45       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     43      ( grid_hdl, axisDomOrder, description, mask, name ) 
    4644     
    4745  END SUBROUTINE xios(set_grid_attr_hdl) 
    4846   
    4947  SUBROUTINE xios(set_grid_attr_hdl_)   & 
    50     ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ ) 
    51      
    52     IMPLICIT NONE 
    53       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    54       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     48    ( grid_hdl, axisDomOrder_, description_, mask_, name_ ) 
     49     
     50    IMPLICIT NONE 
     51      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     52      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder_(:) 
    5553      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 
    56       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    5754      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:) 
    5855      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 
    5956      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    6057       
    61       IF (PRESENT(axis_ref_)) THEN 
    62         CALL cxios_set_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_)) 
     58      IF (PRESENT(axisDomOrder_)) THEN 
     59        CALL cxios_set_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 
    6360      ENDIF 
    6461       
    6562      IF (PRESENT(description_)) THEN 
    6663        CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_)) 
    67       ENDIF 
    68        
    69       IF (PRESENT(domain_ref_)) THEN 
    70         CALL cxios_set_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_)) 
    7164      ENDIF 
    7265       
     
    8679   
    8780  SUBROUTINE xios(get_grid_attr)  & 
    88     ( grid_id, axis_ref, description, domain_ref, mask, name ) 
     81    ( grid_id, axisDomOrder, description, mask, name ) 
    8982     
    9083    IMPLICIT NONE 
    9184      TYPE(txios(grid))  :: grid_hdl 
    9285      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
    93       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     86      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 
    9487      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    95       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    9688      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 
    9789      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 
     
    10092      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    10193      CALL xios(get_grid_attr_hdl_)   & 
    102       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     94      ( grid_hdl, axisDomOrder, description, mask, name ) 
    10395     
    10496  END SUBROUTINE xios(get_grid_attr) 
    10597   
    10698  SUBROUTINE xios(get_grid_attr_hdl)  & 
    107     ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
    108      
    109     IMPLICIT NONE 
    110       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    111       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     99    ( grid_hdl, axisDomOrder, description, mask, name ) 
     100     
     101    IMPLICIT NONE 
     102      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     103      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 
    112104      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    113       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    114105      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 
    115106      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 
     
    117108       
    118109      CALL xios(get_grid_attr_hdl_)  & 
    119       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     110      ( grid_hdl, axisDomOrder, description, mask, name ) 
    120111     
    121112  END SUBROUTINE xios(get_grid_attr_hdl) 
    122113   
    123114  SUBROUTINE xios(get_grid_attr_hdl_)   & 
    124     ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ ) 
    125      
    126     IMPLICIT NONE 
    127       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    128       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     115    ( grid_hdl, axisDomOrder_, description_, mask_, name_ ) 
     116     
     117    IMPLICIT NONE 
     118      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     119      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:) 
    129120      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 
    130       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    131121      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) 
    132122      LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 
    133123      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    134124       
    135       IF (PRESENT(axis_ref_)) THEN 
    136         CALL cxios_get_grid_axis_ref(grid_hdl%daddr, axis_ref_, len(axis_ref_)) 
     125      IF (PRESENT(axisDomOrder_)) THEN 
     126        CALL cxios_get_grid_axisDomOrder(grid_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 
    137127      ENDIF 
    138128       
    139129      IF (PRESENT(description_)) THEN 
    140130        CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_)) 
    141       ENDIF 
    142        
    143       IF (PRESENT(domain_ref_)) THEN 
    144         CALL cxios_get_grid_domain_ref(grid_hdl%daddr, domain_ref_, len(domain_ref_)) 
    145131      ENDIF 
    146132       
     
    160146   
    161147  SUBROUTINE xios(is_defined_grid_attr)  & 
    162     ( grid_id, axis_ref, description, domain_ref, mask, name ) 
     148    ( grid_id, axisDomOrder, description, mask, name ) 
    163149     
    164150    IMPLICIT NONE 
    165151      TYPE(txios(grid))  :: grid_hdl 
    166152      CHARACTER(LEN=*), INTENT(IN) ::grid_id 
    167       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    168       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     153      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder 
     154      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp 
    169155      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    170156      LOGICAL(KIND=C_BOOL) :: description_tmp 
    171       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    172       LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    173157      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    174158      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     
    178162      CALL xios(get_grid_handle)(grid_id,grid_hdl) 
    179163      CALL xios(is_defined_grid_attr_hdl_)   & 
    180       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     164      ( grid_hdl, axisDomOrder, description, mask, name ) 
    181165     
    182166  END SUBROUTINE xios(is_defined_grid_attr) 
    183167   
    184168  SUBROUTINE xios(is_defined_grid_attr_hdl)  & 
    185     ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
    186      
    187     IMPLICIT NONE 
    188       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    189       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    190       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     169    ( grid_hdl, axisDomOrder, description, mask, name ) 
     170     
     171    IMPLICIT NONE 
     172      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     173      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder 
     174      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp 
    191175      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    192176      LOGICAL(KIND=C_BOOL) :: description_tmp 
    193       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    194       LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    195177      LOGICAL, OPTIONAL, INTENT(OUT) :: mask 
    196178      LOGICAL(KIND=C_BOOL) :: mask_tmp 
     
    199181       
    200182      CALL xios(is_defined_grid_attr_hdl_)  & 
    201       ( grid_hdl, axis_ref, description, domain_ref, mask, name ) 
     183      ( grid_hdl, axisDomOrder, description, mask, name ) 
    202184     
    203185  END SUBROUTINE xios(is_defined_grid_attr_hdl) 
    204186   
    205187  SUBROUTINE xios(is_defined_grid_attr_hdl_)   & 
    206     ( grid_hdl, axis_ref_, description_, domain_ref_, mask_, name_ ) 
    207      
    208     IMPLICIT NONE 
    209       TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
    210       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    211       LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     188    ( grid_hdl, axisDomOrder_, description_, mask_, name_ ) 
     189     
     190    IMPLICIT NONE 
     191      TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 
     192      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder_ 
     193      LOGICAL(KIND=C_BOOL) :: axisDomOrder__tmp 
    212194      LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 
    213195      LOGICAL(KIND=C_BOOL) :: description__tmp 
    214       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    215       LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
    216196      LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 
    217197      LOGICAL(KIND=C_BOOL) :: mask__tmp 
     
    219199      LOGICAL(KIND=C_BOOL) :: name__tmp 
    220200       
    221       IF (PRESENT(axis_ref_)) THEN 
    222         axis_ref__tmp=cxios_is_defined_grid_axis_ref(grid_hdl%daddr) 
    223         axis_ref_=axis_ref__tmp 
     201      IF (PRESENT(axisDomOrder_)) THEN 
     202        axisDomOrder__tmp=cxios_is_defined_grid_axisDomOrder(grid_hdl%daddr) 
     203        axisDomOrder_=axisDomOrder__tmp 
    224204      ENDIF 
    225205       
     
    229209      ENDIF 
    230210       
    231       IF (PRESENT(domain_ref_)) THEN 
    232         domain_ref__tmp=cxios_is_defined_grid_domain_ref(grid_hdl%daddr) 
    233         domain_ref_=domain_ref__tmp 
    234       ENDIF 
    235        
    236211      IF (PRESENT(mask_)) THEN 
    237212        mask__tmp=cxios_is_defined_grid_mask(grid_hdl%daddr) 
  • XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90

    r501 r546  
    1212   
    1313  SUBROUTINE xios(set_gridgroup_attr)  & 
    14     ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name ) 
     14    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name ) 
    1515     
    1616    IMPLICIT NONE 
    1717      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    1818      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
    19       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     19      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 
    2020      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    21       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    2221      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    2322      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:) 
     
    2726      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    2827      CALL xios(set_gridgroup_attr_hdl_)   & 
    29       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     28      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    3029     
    3130  END SUBROUTINE xios(set_gridgroup_attr) 
    3231   
    3332  SUBROUTINE xios(set_gridgroup_attr_hdl)  & 
    34     ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
    35      
    36     IMPLICIT NONE 
    37       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    38       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref 
     33    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
     34     
     35    IMPLICIT NONE 
     36      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     37      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder(:) 
    3938      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 
    40       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref 
    4139      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 
    4240      LOGICAL  , OPTIONAL, INTENT(IN) :: mask(:,:,:) 
     
    4543       
    4644      CALL xios(set_gridgroup_attr_hdl_)  & 
    47       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     45      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    4846     
    4947  END SUBROUTINE xios(set_gridgroup_attr_hdl) 
    5048   
    5149  SUBROUTINE xios(set_gridgroup_attr_hdl_)   & 
    52     ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ ) 
    53      
    54     IMPLICIT NONE 
    55       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    56       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: axis_ref_ 
     50    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ ) 
     51     
     52    IMPLICIT NONE 
     53      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     54      INTEGER  , OPTIONAL, INTENT(IN) :: axisDomOrder_(:) 
    5755      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 
    58       CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: domain_ref_ 
    5956      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 
    6057      LOGICAL  , OPTIONAL, INTENT(IN) :: mask_(:,:,:) 
     
    6259      CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 
    6360       
    64       IF (PRESENT(axis_ref_)) THEN 
    65         CALL cxios_set_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_)) 
     61      IF (PRESENT(axisDomOrder_)) THEN 
     62        CALL cxios_set_gridgroup_axisDomOrder(gridgroup_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 
    6663      ENDIF 
    6764       
    6865      IF (PRESENT(description_)) THEN 
    6966        CALL cxios_set_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_)) 
    70       ENDIF 
    71        
    72       IF (PRESENT(domain_ref_)) THEN 
    73         CALL cxios_set_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
    7467      ENDIF 
    7568       
     
    9386   
    9487  SUBROUTINE xios(get_gridgroup_attr)  & 
    95     ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name ) 
     88    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name ) 
    9689     
    9790    IMPLICIT NONE 
    9891      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    9992      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
    100       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     93      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 
    10194      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    102       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    10395      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    10496      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 
     
    108100      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    109101      CALL xios(get_gridgroup_attr_hdl_)   & 
    110       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     102      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    111103     
    112104  END SUBROUTINE xios(get_gridgroup_attr) 
    113105   
    114106  SUBROUTINE xios(get_gridgroup_attr_hdl)  & 
    115     ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
    116      
    117     IMPLICIT NONE 
    118       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    119       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref 
     107    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
     108     
     109    IMPLICIT NONE 
     110      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     111      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder(:) 
    120112      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 
    121       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref 
    122113      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 
    123114      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 
     
    126117       
    127118      CALL xios(get_gridgroup_attr_hdl_)  & 
    128       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     119      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    129120     
    130121  END SUBROUTINE xios(get_gridgroup_attr_hdl) 
    131122   
    132123  SUBROUTINE xios(get_gridgroup_attr_hdl_)   & 
    133     ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ ) 
    134      
    135     IMPLICIT NONE 
    136       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    137       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: axis_ref_ 
     124    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ ) 
     125     
     126    IMPLICIT NONE 
     127      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     128      INTEGER  , OPTIONAL, INTENT(OUT) :: axisDomOrder_(:) 
    138129      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 
    139       CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: domain_ref_ 
    140130      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 
    141131      LOGICAL  , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) 
     
    143133      CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 
    144134       
    145       IF (PRESENT(axis_ref_)) THEN 
    146         CALL cxios_get_gridgroup_axis_ref(gridgroup_hdl%daddr, axis_ref_, len(axis_ref_)) 
     135      IF (PRESENT(axisDomOrder_)) THEN 
     136        CALL cxios_get_gridgroup_axisDomOrder(gridgroup_hdl%daddr, axisDomOrder_,size(axisDomOrder_,1)) 
    147137      ENDIF 
    148138       
    149139      IF (PRESENT(description_)) THEN 
    150140        CALL cxios_get_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_)) 
    151       ENDIF 
    152        
    153       IF (PRESENT(domain_ref_)) THEN 
    154         CALL cxios_get_gridgroup_domain_ref(gridgroup_hdl%daddr, domain_ref_, len(domain_ref_)) 
    155141      ENDIF 
    156142       
     
    174160   
    175161  SUBROUTINE xios(is_defined_gridgroup_attr)  & 
    176     ( gridgroup_id, axis_ref, description, domain_ref, group_ref, mask, name ) 
     162    ( gridgroup_id, axisDomOrder, description, group_ref, mask, name ) 
    177163     
    178164    IMPLICIT NONE 
    179165      TYPE(txios(gridgroup))  :: gridgroup_hdl 
    180166      CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 
    181       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    182       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     167      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder 
     168      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp 
    183169      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    184170      LOGICAL(KIND=C_BOOL) :: description_tmp 
    185       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    186       LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    187171      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    188172      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    194178      CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 
    195179      CALL xios(is_defined_gridgroup_attr_hdl_)   & 
    196       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     180      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    197181     
    198182  END SUBROUTINE xios(is_defined_gridgroup_attr) 
    199183   
    200184  SUBROUTINE xios(is_defined_gridgroup_attr_hdl)  & 
    201     ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
    202      
    203     IMPLICIT NONE 
    204       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    205       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref 
    206       LOGICAL(KIND=C_BOOL) :: axis_ref_tmp 
     185    ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
     186     
     187    IMPLICIT NONE 
     188      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     189      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder 
     190      LOGICAL(KIND=C_BOOL) :: axisDomOrder_tmp 
    207191      LOGICAL, OPTIONAL, INTENT(OUT) :: description 
    208192      LOGICAL(KIND=C_BOOL) :: description_tmp 
    209       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref 
    210       LOGICAL(KIND=C_BOOL) :: domain_ref_tmp 
    211193      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 
    212194      LOGICAL(KIND=C_BOOL) :: group_ref_tmp 
     
    217199       
    218200      CALL xios(is_defined_gridgroup_attr_hdl_)  & 
    219       ( gridgroup_hdl, axis_ref, description, domain_ref, group_ref, mask, name ) 
     201      ( gridgroup_hdl, axisDomOrder, description, group_ref, mask, name ) 
    220202     
    221203  END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 
    222204   
    223205  SUBROUTINE xios(is_defined_gridgroup_attr_hdl_)   & 
    224     ( gridgroup_hdl, axis_ref_, description_, domain_ref_, group_ref_, mask_, name_ ) 
    225      
    226     IMPLICIT NONE 
    227       TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
    228       LOGICAL, OPTIONAL, INTENT(OUT) :: axis_ref_ 
    229       LOGICAL(KIND=C_BOOL) :: axis_ref__tmp 
     206    ( gridgroup_hdl, axisDomOrder_, description_, group_ref_, mask_, name_ ) 
     207     
     208    IMPLICIT NONE 
     209      TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 
     210      LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomOrder_ 
     211      LOGICAL(KIND=C_BOOL) :: axisDomOrder__tmp 
    230212      LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 
    231213      LOGICAL(KIND=C_BOOL) :: description__tmp 
    232       LOGICAL, OPTIONAL, INTENT(OUT) :: domain_ref_ 
    233       LOGICAL(KIND=C_BOOL) :: domain_ref__tmp 
    234214      LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 
    235215      LOGICAL(KIND=C_BOOL) :: group_ref__tmp 
     
    239219      LOGICAL(KIND=C_BOOL) :: name__tmp 
    240220       
    241       IF (PRESENT(axis_ref_)) THEN 
    242         axis_ref__tmp=cxios_is_defined_gridgroup_axis_ref(gridgroup_hdl%daddr) 
    243         axis_ref_=axis_ref__tmp 
     221      IF (PRESENT(axisDomOrder_)) THEN 
     222        axisDomOrder__tmp=cxios_is_defined_gridgroup_axisDomOrder(gridgroup_hdl%daddr) 
     223        axisDomOrder_=axisDomOrder__tmp 
    244224      ENDIF 
    245225       
     
    249229      ENDIF 
    250230       
    251       IF (PRESENT(domain_ref_)) THEN 
    252         domain_ref__tmp=cxios_is_defined_gridgroup_domain_ref(gridgroup_hdl%daddr) 
    253         domain_ref_=domain_ref__tmp 
    254       ENDIF 
    255        
    256231      IF (PRESENT(group_ref_)) THEN 
    257232        group_ref__tmp=cxios_is_defined_gridgroup_group_ref(gridgroup_hdl%daddr) 
Note: See TracChangeset for help on using the changeset viewer.