- Timestamp:
- 03/13/15 14:34:26 (10 years ago)
- Location:
- XIOS/trunk/src
- Files:
-
- 10 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/config/grid_attribute.conf
r567 r575 13 13 // These attributes should be used privately 14 14 // An array contains order of axis and domains composing of the grid 15 DECLARE_ARRAY(bool, 1 , axis DomainOrder)15 DECLARE_ARRAY(bool, 1 , axis_domain_order) -
XIOS/trunk/src/interface/c_attr/icgrid_attr.cpp
r567 r575 18 18 typedef xios::CGrid* grid_Ptr; 19 19 20 void cxios_set_grid_axis DomainOrder(grid_Ptr grid_hdl, bool* axisDomainOrder, int extent1)20 void cxios_set_grid_axis_domain_order(grid_Ptr grid_hdl, bool* axis_domain_order, int extent1) 21 21 { 22 22 CTimer::get("XIOS").resume(); 23 CArray<bool,1> tmp(axis DomainOrder,shape(extent1),neverDeleteData) ;24 grid_hdl->axis DomainOrder.reference(tmp.copy());23 CArray<bool,1> tmp(axis_domain_order,shape(extent1),neverDeleteData) ; 24 grid_hdl->axis_domain_order.reference(tmp.copy()); 25 25 CTimer::get("XIOS").suspend(); 26 26 } 27 27 28 void cxios_get_grid_axis DomainOrder(grid_Ptr grid_hdl, bool* axisDomainOrder, int extent1)28 void cxios_get_grid_axis_domain_order(grid_Ptr grid_hdl, bool* axis_domain_order, int extent1) 29 29 { 30 30 CTimer::get("XIOS").resume(); 31 CArray<bool,1> tmp(axis DomainOrder,shape(extent1),neverDeleteData) ;32 tmp=grid_hdl->axis DomainOrder.getInheritedValue() ;31 CArray<bool,1> tmp(axis_domain_order,shape(extent1),neverDeleteData) ; 32 tmp=grid_hdl->axis_domain_order.getInheritedValue() ; 33 33 CTimer::get("XIOS").suspend(); 34 34 } 35 35 36 bool cxios_is_defined_grid_axis DomainOrder(grid_Ptr grid_hdl )36 bool cxios_is_defined_grid_axis_domain_order(grid_Ptr grid_hdl ) 37 37 { 38 38 CTimer::get("XIOS").resume(); 39 return grid_hdl->axis DomainOrder.hasInheritedValue();39 return grid_hdl->axis_domain_order.hasInheritedValue(); 40 40 CTimer::get("XIOS").suspend(); 41 41 } -
XIOS/trunk/src/interface/c_attr/icgridgroup_attr.cpp
r567 r575 18 18 typedef xios::CGridGroup* gridgroup_Ptr; 19 19 20 void cxios_set_gridgroup_axis DomainOrder(gridgroup_Ptr gridgroup_hdl, bool* axisDomainOrder, int extent1)20 void cxios_set_gridgroup_axis_domain_order(gridgroup_Ptr gridgroup_hdl, bool* axis_domain_order, int extent1) 21 21 { 22 22 CTimer::get("XIOS").resume(); 23 CArray<bool,1> tmp(axis DomainOrder,shape(extent1),neverDeleteData) ;24 gridgroup_hdl->axis DomainOrder.reference(tmp.copy());23 CArray<bool,1> tmp(axis_domain_order,shape(extent1),neverDeleteData) ; 24 gridgroup_hdl->axis_domain_order.reference(tmp.copy()); 25 25 CTimer::get("XIOS").suspend(); 26 26 } 27 27 28 void cxios_get_gridgroup_axis DomainOrder(gridgroup_Ptr gridgroup_hdl, bool* axisDomainOrder, int extent1)28 void cxios_get_gridgroup_axis_domain_order(gridgroup_Ptr gridgroup_hdl, bool* axis_domain_order, int extent1) 29 29 { 30 30 CTimer::get("XIOS").resume(); 31 CArray<bool,1> tmp(axis DomainOrder,shape(extent1),neverDeleteData) ;32 tmp=gridgroup_hdl->axis DomainOrder.getInheritedValue() ;31 CArray<bool,1> tmp(axis_domain_order,shape(extent1),neverDeleteData) ; 32 tmp=gridgroup_hdl->axis_domain_order.getInheritedValue() ; 33 33 CTimer::get("XIOS").suspend(); 34 34 } 35 35 36 bool cxios_is_defined_gridgroup_axis DomainOrder(gridgroup_Ptr gridgroup_hdl )36 bool cxios_is_defined_gridgroup_axis_domain_order(gridgroup_Ptr gridgroup_hdl ) 37 37 { 38 38 CTimer::get("XIOS").resume(); 39 return gridgroup_hdl->axis DomainOrder.hasInheritedValue();39 return gridgroup_hdl->axis_domain_order.hasInheritedValue(); 40 40 CTimer::get("XIOS").suspend(); 41 41 } -
XIOS/trunk/src/interface/fortran_attr/grid_interface_attr.F90
r567 r575 10 10 11 11 12 SUBROUTINE cxios_set_grid_axis DomainOrder(grid_hdl, axisDomainOrder, extent1) BIND(C)12 SUBROUTINE cxios_set_grid_axis_domain_order(grid_hdl, axis_domain_order, extent1) BIND(C) 13 13 USE ISO_C_BINDING 14 14 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 15 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis DomainOrder15 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis_domain_order 16 16 INTEGER (kind = C_INT), VALUE :: extent1 17 END SUBROUTINE cxios_set_grid_axis DomainOrder17 END SUBROUTINE cxios_set_grid_axis_domain_order 18 18 19 SUBROUTINE cxios_get_grid_axis DomainOrder(grid_hdl, axisDomainOrder, extent1) BIND(C)19 SUBROUTINE cxios_get_grid_axis_domain_order(grid_hdl, axis_domain_order, extent1) BIND(C) 20 20 USE ISO_C_BINDING 21 21 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 22 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis DomainOrder22 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis_domain_order 23 23 INTEGER (kind = C_INT), VALUE :: extent1 24 END SUBROUTINE cxios_get_grid_axis DomainOrder24 END SUBROUTINE cxios_get_grid_axis_domain_order 25 25 26 FUNCTION cxios_is_defined_grid_axis DomainOrder(grid_hdl ) BIND(C)26 FUNCTION cxios_is_defined_grid_axis_domain_order(grid_hdl ) BIND(C) 27 27 USE ISO_C_BINDING 28 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axis DomainOrder28 LOGICAL(kind=C_BOOL) :: cxios_is_defined_grid_axis_domain_order 29 29 INTEGER (kind = C_INTPTR_T), VALUE :: grid_hdl 30 END FUNCTION cxios_is_defined_grid_axis DomainOrder30 END FUNCTION cxios_is_defined_grid_axis_domain_order 31 31 32 32 -
XIOS/trunk/src/interface/fortran_attr/gridgroup_interface_attr.F90
r567 r575 10 10 11 11 12 SUBROUTINE cxios_set_gridgroup_axis DomainOrder(gridgroup_hdl, axisDomainOrder, extent1) BIND(C)12 SUBROUTINE cxios_set_gridgroup_axis_domain_order(gridgroup_hdl, axis_domain_order, extent1) BIND(C) 13 13 USE ISO_C_BINDING 14 14 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 15 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis DomainOrder15 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis_domain_order 16 16 INTEGER (kind = C_INT), VALUE :: extent1 17 END SUBROUTINE cxios_set_gridgroup_axis DomainOrder17 END SUBROUTINE cxios_set_gridgroup_axis_domain_order 18 18 19 SUBROUTINE cxios_get_gridgroup_axis DomainOrder(gridgroup_hdl, axisDomainOrder, extent1) BIND(C)19 SUBROUTINE cxios_get_gridgroup_axis_domain_order(gridgroup_hdl, axis_domain_order, extent1) BIND(C) 20 20 USE ISO_C_BINDING 21 21 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 22 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis DomainOrder22 LOGICAL (KIND=C_BOOL) , DIMENSION(*) :: axis_domain_order 23 23 INTEGER (kind = C_INT), VALUE :: extent1 24 END SUBROUTINE cxios_get_gridgroup_axis DomainOrder24 END SUBROUTINE cxios_get_gridgroup_axis_domain_order 25 25 26 FUNCTION cxios_is_defined_gridgroup_axis DomainOrder(gridgroup_hdl ) BIND(C)26 FUNCTION cxios_is_defined_gridgroup_axis_domain_order(gridgroup_hdl ) BIND(C) 27 27 USE ISO_C_BINDING 28 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axis DomainOrder28 LOGICAL(kind=C_BOOL) :: cxios_is_defined_gridgroup_axis_domain_order 29 29 INTEGER (kind = C_INTPTR_T), VALUE :: gridgroup_hdl 30 END FUNCTION cxios_is_defined_gridgroup_axis DomainOrder30 END FUNCTION cxios_is_defined_gridgroup_axis_domain_order 31 31 32 32 -
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r567 r575 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, axis DomainOrder, description, mask1, mask2, mask3, name )14 ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 15 15 16 16 IMPLICIT NONE 17 17 TYPE(txios(grid)) :: grid_hdl 18 18 CHARACTER(LEN=*), INTENT(IN) ::grid_id 19 LOGICAL , OPTIONAL, INTENT(IN) :: axis DomainOrder(:)20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)19 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order(:) 20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 21 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 22 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) … … 30 30 CALL xios(get_grid_handle)(grid_id,grid_hdl) 31 31 CALL xios(set_grid_attr_hdl_) & 32 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )32 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 33 33 34 34 END SUBROUTINE xios(set_grid_attr) 35 35 36 36 SUBROUTINE xios(set_grid_attr_hdl) & 37 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )38 39 IMPLICIT NONE 40 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 41 LOGICAL , OPTIONAL, INTENT(IN) :: axis DomainOrder(:)42 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)37 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 38 39 IMPLICIT NONE 40 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 41 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order(:) 42 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 43 43 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 44 44 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) … … 51 51 52 52 CALL xios(set_grid_attr_hdl_) & 53 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )53 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 54 54 55 55 END SUBROUTINE xios(set_grid_attr_hdl) 56 56 57 57 SUBROUTINE xios(set_grid_attr_hdl_) & 58 ( grid_hdl, axis DomainOrder_, description_, mask1_, mask2_, mask3_, name_ )59 60 IMPLICIT NONE 61 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 62 LOGICAL , OPTIONAL, INTENT(IN) :: axis DomainOrder_(:)63 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder__tmp(:)58 ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 59 60 IMPLICIT NONE 61 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 62 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order_(:) 63 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:) 64 64 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 65 65 LOGICAL , OPTIONAL, INTENT(IN) :: mask1_(:) … … 71 71 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 72 72 73 IF (PRESENT(axis DomainOrder_)) THEN74 ALLOCATE(axis DomainOrder__tmp(size(axisDomainOrder_,1)))75 axis DomainOrder__tmp=axisDomainOrder_76 CALL cxios_set_grid_axis DomainOrder(grid_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1))73 IF (PRESENT(axis_domain_order_)) THEN 74 ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 75 axis_domain_order__tmp=axis_domain_order_ 76 CALL cxios_set_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 77 77 ENDIF 78 78 … … 108 108 109 109 SUBROUTINE xios(get_grid_attr) & 110 ( grid_id, axis DomainOrder, description, mask1, mask2, mask3, name )110 ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 111 111 112 112 IMPLICIT NONE 113 113 TYPE(txios(grid)) :: grid_hdl 114 114 CHARACTER(LEN=*), INTENT(IN) ::grid_id 115 LOGICAL , OPTIONAL, INTENT(OUT) :: axis DomainOrder(:)116 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)115 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:) 116 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 117 117 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 118 118 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) … … 126 126 CALL xios(get_grid_handle)(grid_id,grid_hdl) 127 127 CALL xios(get_grid_attr_hdl_) & 128 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )128 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 129 129 130 130 END SUBROUTINE xios(get_grid_attr) 131 131 132 132 SUBROUTINE xios(get_grid_attr_hdl) & 133 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )134 135 IMPLICIT NONE 136 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 137 LOGICAL , OPTIONAL, INTENT(OUT) :: axis DomainOrder(:)138 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)133 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 134 135 IMPLICIT NONE 136 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 137 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:) 138 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 139 139 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 140 140 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) … … 147 147 148 148 CALL xios(get_grid_attr_hdl_) & 149 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )149 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 150 150 151 151 END SUBROUTINE xios(get_grid_attr_hdl) 152 152 153 153 SUBROUTINE xios(get_grid_attr_hdl_) & 154 ( grid_hdl, axis DomainOrder_, description_, mask1_, mask2_, mask3_, name_ )155 156 IMPLICIT NONE 157 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 158 LOGICAL , OPTIONAL, INTENT(OUT) :: axis DomainOrder_(:)159 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder__tmp(:)154 ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 155 156 IMPLICIT NONE 157 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 158 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order_(:) 159 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:) 160 160 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 161 161 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1_(:) … … 167 167 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 168 168 169 IF (PRESENT(axis DomainOrder_)) THEN170 ALLOCATE(axis DomainOrder__tmp(size(axisDomainOrder_,1)))171 CALL cxios_get_grid_axis DomainOrder(grid_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1))172 axis DomainOrder_=axisDomainOrder__tmp169 IF (PRESENT(axis_domain_order_)) THEN 170 ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 171 CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 172 axis_domain_order_=axis_domain_order__tmp 173 173 ENDIF 174 174 … … 204 204 205 205 SUBROUTINE xios(is_defined_grid_attr) & 206 ( grid_id, axis DomainOrder, description, mask1, mask2, mask3, name )206 ( grid_id, axis_domain_order, description, mask1, mask2, mask3, name ) 207 207 208 208 IMPLICIT NONE 209 209 TYPE(txios(grid)) :: grid_hdl 210 210 CHARACTER(LEN=*), INTENT(IN) ::grid_id 211 LOGICAL, OPTIONAL, INTENT(OUT) :: axis DomainOrder212 LOGICAL(KIND=C_BOOL) :: axis DomainOrder_tmp211 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order 212 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp 213 213 LOGICAL, OPTIONAL, INTENT(OUT) :: description 214 214 LOGICAL(KIND=C_BOOL) :: description_tmp … … 224 224 CALL xios(get_grid_handle)(grid_id,grid_hdl) 225 225 CALL xios(is_defined_grid_attr_hdl_) & 226 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )226 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 227 227 228 228 END SUBROUTINE xios(is_defined_grid_attr) 229 229 230 230 SUBROUTINE xios(is_defined_grid_attr_hdl) & 231 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )232 233 IMPLICIT NONE 234 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 235 LOGICAL, OPTIONAL, INTENT(OUT) :: axis DomainOrder236 LOGICAL(KIND=C_BOOL) :: axis DomainOrder_tmp231 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 232 233 IMPLICIT NONE 234 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 235 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order 236 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp 237 237 LOGICAL, OPTIONAL, INTENT(OUT) :: description 238 238 LOGICAL(KIND=C_BOOL) :: description_tmp … … 247 247 248 248 CALL xios(is_defined_grid_attr_hdl_) & 249 ( grid_hdl, axis DomainOrder, description, mask1, mask2, mask3, name )249 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 250 250 251 251 END SUBROUTINE xios(is_defined_grid_attr_hdl) 252 252 253 253 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 254 ( grid_hdl, axis DomainOrder_, description_, mask1_, mask2_, mask3_, name_ )255 256 IMPLICIT NONE 257 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 258 LOGICAL, OPTIONAL, INTENT(OUT) :: axis DomainOrder_259 LOGICAL(KIND=C_BOOL) :: axis DomainOrder__tmp254 ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 255 256 IMPLICIT NONE 257 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 258 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order_ 259 LOGICAL(KIND=C_BOOL) :: axis_domain_order__tmp 260 260 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 261 261 LOGICAL(KIND=C_BOOL) :: description__tmp … … 269 269 LOGICAL(KIND=C_BOOL) :: name__tmp 270 270 271 IF (PRESENT(axis DomainOrder_)) THEN272 axis DomainOrder__tmp=cxios_is_defined_grid_axisDomainOrder(grid_hdl%daddr)273 axis DomainOrder_=axisDomainOrder__tmp271 IF (PRESENT(axis_domain_order_)) THEN 272 axis_domain_order__tmp=cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr) 273 axis_domain_order_=axis_domain_order__tmp 274 274 ENDIF 275 275 -
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r567 r575 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 ( gridgroup_id, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )14 ( gridgroup_id, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 15 15 16 16 IMPLICIT NONE 17 17 TYPE(txios(gridgroup)) :: gridgroup_hdl 18 18 CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 19 LOGICAL , OPTIONAL, INTENT(IN) :: axis DomainOrder(:)20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)19 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order(:) 20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 21 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 22 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref … … 31 31 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 32 32 CALL xios(set_gridgroup_attr_hdl_) & 33 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )33 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 34 34 35 35 END SUBROUTINE xios(set_gridgroup_attr) 36 36 37 37 SUBROUTINE xios(set_gridgroup_attr_hdl) & 38 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )39 40 IMPLICIT NONE 41 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 42 LOGICAL , OPTIONAL, INTENT(IN) :: axis DomainOrder(:)43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)38 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 39 40 IMPLICIT NONE 41 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 42 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order(:) 43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 44 44 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 45 45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref … … 53 53 54 54 CALL xios(set_gridgroup_attr_hdl_) & 55 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )55 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 56 56 57 57 END SUBROUTINE xios(set_gridgroup_attr_hdl) 58 58 59 59 SUBROUTINE xios(set_gridgroup_attr_hdl_) & 60 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 61 62 IMPLICIT NONE 63 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 64 LOGICAL , OPTIONAL, INTENT(IN) :: axisDomainOrder_(:) 65 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 60 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 61 ) 62 63 IMPLICIT NONE 64 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 65 LOGICAL , OPTIONAL, INTENT(IN) :: axis_domain_order_(:) 66 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:) 66 67 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 67 68 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ … … 74 75 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 75 76 76 IF (PRESENT(axis DomainOrder_)) THEN77 ALLOCATE(axis DomainOrder__tmp(size(axisDomainOrder_,1)))78 axis DomainOrder__tmp=axisDomainOrder_79 CALL cxios_set_gridgroup_axis DomainOrder(gridgroup_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1))77 IF (PRESENT(axis_domain_order_)) THEN 78 ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 79 axis_domain_order__tmp=axis_domain_order_ 80 CALL cxios_set_gridgroup_axis_domain_order(gridgroup_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 80 81 ENDIF 81 82 … … 115 116 116 117 SUBROUTINE xios(get_gridgroup_attr) & 117 ( gridgroup_id, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )118 ( gridgroup_id, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 118 119 119 120 IMPLICIT NONE 120 121 TYPE(txios(gridgroup)) :: gridgroup_hdl 121 122 CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 122 LOGICAL , OPTIONAL, INTENT(OUT) :: axis DomainOrder(:)123 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)123 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:) 124 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 124 125 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 125 126 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref … … 134 135 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 135 136 CALL xios(get_gridgroup_attr_hdl_) & 136 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )137 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 137 138 138 139 END SUBROUTINE xios(get_gridgroup_attr) 139 140 140 141 SUBROUTINE xios(get_gridgroup_attr_hdl) & 141 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )142 143 IMPLICIT NONE 144 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 145 LOGICAL , OPTIONAL, INTENT(OUT) :: axis DomainOrder(:)146 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis DomainOrder_tmp(:)142 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 143 144 IMPLICIT NONE 145 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 146 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:) 147 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 147 148 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 148 149 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref … … 156 157 157 158 CALL xios(get_gridgroup_attr_hdl_) & 158 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )159 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 159 160 160 161 END SUBROUTINE xios(get_gridgroup_attr_hdl) 161 162 162 163 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 163 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 164 165 IMPLICIT NONE 166 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 167 LOGICAL , OPTIONAL, INTENT(OUT) :: axisDomainOrder_(:) 168 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axisDomainOrder__tmp(:) 164 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 165 ) 166 167 IMPLICIT NONE 168 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 169 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order_(:) 170 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:) 169 171 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 170 172 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ … … 177 179 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 178 180 179 IF (PRESENT(axis DomainOrder_)) THEN180 ALLOCATE(axis DomainOrder__tmp(size(axisDomainOrder_,1)))181 CALL cxios_get_gridgroup_axis DomainOrder(gridgroup_hdl%daddr, axisDomainOrder__tmp,size(axisDomainOrder_,1))182 axis DomainOrder_=axisDomainOrder__tmp181 IF (PRESENT(axis_domain_order_)) THEN 182 ALLOCATE(axis_domain_order__tmp(size(axis_domain_order_,1))) 183 CALL cxios_get_gridgroup_axis_domain_order(gridgroup_hdl%daddr, axis_domain_order__tmp,size(axis_domain_order_,1)) 184 axis_domain_order_=axis_domain_order__tmp 183 185 ENDIF 184 186 … … 218 220 219 221 SUBROUTINE xios(is_defined_gridgroup_attr) & 220 ( gridgroup_id, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )222 ( gridgroup_id, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 221 223 222 224 IMPLICIT NONE 223 225 TYPE(txios(gridgroup)) :: gridgroup_hdl 224 226 CHARACTER(LEN=*), INTENT(IN) ::gridgroup_id 225 LOGICAL, OPTIONAL, INTENT(OUT) :: axis DomainOrder226 LOGICAL(KIND=C_BOOL) :: axis DomainOrder_tmp227 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order 228 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp 227 229 LOGICAL, OPTIONAL, INTENT(OUT) :: description 228 230 LOGICAL(KIND=C_BOOL) :: description_tmp … … 240 242 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 241 243 CALL xios(is_defined_gridgroup_attr_hdl_) & 242 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )244 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 243 245 244 246 END SUBROUTINE xios(is_defined_gridgroup_attr) 245 247 246 248 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 247 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )248 249 IMPLICIT NONE 250 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 251 LOGICAL, OPTIONAL, INTENT(OUT) :: axis DomainOrder252 LOGICAL(KIND=C_BOOL) :: axis DomainOrder_tmp249 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 250 251 IMPLICIT NONE 252 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 253 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order 254 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp 253 255 LOGICAL, OPTIONAL, INTENT(OUT) :: description 254 256 LOGICAL(KIND=C_BOOL) :: description_tmp … … 265 267 266 268 CALL xios(is_defined_gridgroup_attr_hdl_) & 267 ( gridgroup_hdl, axis DomainOrder, description, group_ref, mask1, mask2, mask3, name )269 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 268 270 269 271 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 270 272 271 273 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 272 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 273 274 IMPLICIT NONE 275 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 276 LOGICAL, OPTIONAL, INTENT(OUT) :: axisDomainOrder_ 277 LOGICAL(KIND=C_BOOL) :: axisDomainOrder__tmp 274 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 275 ) 276 277 IMPLICIT NONE 278 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl 279 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order_ 280 LOGICAL(KIND=C_BOOL) :: axis_domain_order__tmp 278 281 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 279 282 LOGICAL(KIND=C_BOOL) :: description__tmp … … 289 292 LOGICAL(KIND=C_BOOL) :: name__tmp 290 293 291 IF (PRESENT(axis DomainOrder_)) THEN292 axis DomainOrder__tmp=cxios_is_defined_gridgroup_axisDomainOrder(gridgroup_hdl%daddr)293 axis DomainOrder_=axisDomainOrder__tmp294 IF (PRESENT(axis_domain_order_)) THEN 295 axis_domain_order__tmp=cxios_is_defined_gridgroup_axis_domain_order(gridgroup_hdl%daddr) 296 axis_domain_order_=axis_domain_order__tmp 294 297 ENDIF 295 298 -
XIOS/trunk/src/node/distribution_client.cpp
r569 r575 49 49 std::vector<CDomain*> domList = grid->getDomains(); 50 50 std::vector<CAxis*> axisList = grid->getAxis(); 51 CArray<bool,1> axisDomainOrder = grid->axis DomainOrder;51 CArray<bool,1> axisDomainOrder = grid->axis_domain_order; 52 52 53 53 std::vector<CDomain*>::iterator itbDom, iteDom, itDom; -
XIOS/trunk/src/node/grid.cpp
r569 r575 231 231 switch (dim) { 232 232 case 1: 233 checkGridMask(mask1, domainMasks, axisMasks, axis DomainOrder);233 checkGridMask(mask1, domainMasks, axisMasks, axis_domain_order); 234 234 break; 235 235 case 2: 236 checkGridMask(mask2, domainMasks, axisMasks, axis DomainOrder);236 checkGridMask(mask2, domainMasks, axisMasks, axis_domain_order); 237 237 break; 238 238 case 3: 239 checkGridMask(mask3, domainMasks, axisMasks, axis DomainOrder);239 checkGridMask(mask3, domainMasks, axisMasks, axis_domain_order); 240 240 break; 241 241 // case 4: 242 // checkGridMask(mask4, domainMasks, axisMasks, axis DomainOrder);242 // checkGridMask(mask4, domainMasks, axisMasks, axis_domain_order); 243 243 // break; 244 244 // case 5: 245 // checkGridMask(mask5, domainMasks, axisMasks, axis DomainOrder);245 // checkGridMask(mask5, domainMasks, axisMasks, axis_domain_order); 246 246 // break; 247 247 // case 6: 248 // checkGridMask(mask6, domainMasks, axisMasks, axis DomainOrder);248 // checkGridMask(mask6, domainMasks, axisMasks, axis_domain_order); 249 249 // break; 250 250 // case 7: 251 // checkGridMask(mask7, domainMasks, axisMasks, axis DomainOrder);251 // checkGridMask(mask7, domainMasks, axisMasks, axis_domain_order); 252 252 // break; 253 253 default: … … 263 263 if (!domListP.empty()) 264 264 { 265 computeGridGlobalDimension(getDomains(), getAxis(), axis DomainOrder);265 computeGridGlobalDimension(getDomains(), getAxis(), axis_domain_order); 266 266 for (int i = 0; i < domListP.size(); ++i) 267 267 { … … 282 282 int idx = 0; 283 283 std::vector<int> axisPositionMap; 284 for (int i = 0; i < axis DomainOrder.numElements(); ++i)284 for (int i = 0; i < axis_domain_order.numElements(); ++i) 285 285 { 286 if (false == axis DomainOrder(i))286 if (false == axis_domain_order(i)) 287 287 { 288 288 axisPositionMap.push_back(idx); … … 292 292 } 293 293 294 computeGridGlobalDimension(getDomains(), getAxis(), axis DomainOrder);294 computeGridGlobalDimension(getDomains(), getAxis(), axis_domain_order); 295 295 for (int i = 0; i < axisListP.size(); ++i) 296 296 { … … 385 385 386 386 //By default, domains are always the first ones of a grid 387 if (grid->axis DomainOrder.isEmpty())387 if (grid->axis_domain_order.isEmpty()) 388 388 { 389 389 int size = domains.size()+axis.size(); 390 grid->axis DomainOrder.resize(size);390 grid->axis_domain_order.resize(size); 391 391 for (int i = 0; i < size; ++i) 392 392 { 393 if (i < domains.size()) grid->axis DomainOrder(i) = true;394 else grid->axis DomainOrder(i) = false;393 if (i < domains.size()) grid->axis_domain_order(i) = true; 394 else grid->axis_domain_order(i) = false; 395 395 } 396 396 } 397 397 398 grid->computeGridGlobalDimension(domains, axis, grid->axis DomainOrder);398 grid->computeGridGlobalDimension(domains, axis, grid->axis_domain_order); 399 399 400 400 return (grid); … … 586 586 CContext* context = CContext::getCurrent() ; 587 587 CContextServer* server=context->server ; 588 int idx = 0, numElement = axis DomainOrder.numElements();588 int idx = 0, numElement = axis_domain_order.numElements(); 589 589 int ssize = numElement; 590 590 std::vector<int> indexMap(numElement); … … 592 592 { 593 593 indexMap[i] = idx; 594 if (true == axis DomainOrder(i))594 if (true == axis_domain_order(i)) 595 595 { 596 596 ++ssize; … … 607 607 for (int i = 0; i < numElement; ++i) 608 608 { 609 if (axis DomainOrder(i))609 if (axis_domain_order(i)) 610 610 { 611 611 nZoomBegin[indexMap[i]] = domainList[domainId]->zoom_ibegin_srv; … … 1018 1018 { 1019 1019 int sizeOrd = order.size(); 1020 axis DomainOrder.resize(sizeOrd);1020 axis_domain_order.resize(sizeOrd); 1021 1021 for (int i = 0; i < sizeOrd; ++i) 1022 1022 { 1023 axis DomainOrder(i) = order[i];1023 axis_domain_order(i) = order[i]; 1024 1024 } 1025 1025 } -
XIOS/trunk/src/output/nc4_data_output.cpp
r567 r575 583 583 if (SuperClass::type==MULTI_FILE) return ; 584 584 585 CArray<bool,1> axisDomainOrder = grid->axis DomainOrder;585 CArray<bool,1> axisDomainOrder = grid->axis_domain_order; 586 586 int numElement = axisDomainOrder.numElements(), idxDomain = 0, idxAxis = 0; 587 587 std::vector<StdString> domainList = grid->getDomainList();
Note: See TracChangeset
for help on using the changeset viewer.