Changeset 581 for XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
- Timestamp:
- 03/24/15 11:21:45 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r575 r581 8 8 USE igrid 9 9 USE gridgroup_interface_attr 10 10 11 11 CONTAINS 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 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 … … 28 28 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 29 29 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 30 30 31 31 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 32 32 CALL xios(set_gridgroup_attr_hdl_) & 33 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 38 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 39 39 40 40 IMPLICIT NONE 41 41 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 51 51 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 52 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 53 53 54 54 CALL xios(set_gridgroup_attr_hdl_) & 55 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 60 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 61 61 ) 62 62 63 63 IMPLICIT NONE 64 64 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 74 74 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 75 75 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 76 76 77 77 IF (PRESENT(axis_domain_order_)) THEN 78 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))81 ENDIF 82 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)) 81 ENDIF 82 83 83 IF (PRESENT(description_)) THEN 84 84 CALL cxios_set_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_)) 85 85 ENDIF 86 86 87 87 IF (PRESENT(group_ref_)) THEN 88 88 CALL cxios_set_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_)) 89 89 ENDIF 90 90 91 91 IF (PRESENT(mask1_)) THEN 92 92 ALLOCATE(mask1__tmp(size(mask1_,1))) 93 mask1__tmp =mask1_94 CALL cxios_set_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp, size(mask1_,1))95 ENDIF 96 93 mask1__tmp = mask1_ 94 CALL cxios_set_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp, size(mask1_,1)) 95 ENDIF 96 97 97 IF (PRESENT(mask2_)) THEN 98 ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2)))99 mask2__tmp =mask2_100 CALL cxios_set_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp, size(mask2_,1),size(mask2_,2))101 ENDIF 102 98 ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2))) 99 mask2__tmp = mask2_ 100 CALL cxios_set_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2)) 101 ENDIF 102 103 103 IF (PRESENT(mask3_)) THEN 104 ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2),size(mask3_,3)))105 mask3__tmp =mask3_106 CALL cxios_set_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp, size(mask3_,1),size(mask3_,2),size(mask3_,3))107 ENDIF 108 104 ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3))) 105 mask3__tmp = mask3_ 106 CALL cxios_set_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3)) 107 ENDIF 108 109 109 IF (PRESENT(name_)) THEN 110 110 CALL cxios_set_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) 111 111 ENDIF 112 113 114 112 115 113 END SUBROUTINE xios(set_gridgroup_attr_hdl_) 116 114 117 115 SUBROUTINE xios(get_gridgroup_attr) & 118 116 ( gridgroup_id, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 119 117 120 118 IMPLICIT NONE 121 119 TYPE(txios(gridgroup)) :: gridgroup_hdl … … 132 130 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 133 131 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 134 132 135 133 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 136 134 CALL xios(get_gridgroup_attr_hdl_) & 137 135 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 138 136 139 137 END SUBROUTINE xios(get_gridgroup_attr) 140 138 141 139 SUBROUTINE xios(get_gridgroup_attr_hdl) & 142 140 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 143 141 144 142 IMPLICIT NONE 145 143 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 155 153 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 156 154 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 157 155 158 156 CALL xios(get_gridgroup_attr_hdl_) & 159 157 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 160 158 161 159 END SUBROUTINE xios(get_gridgroup_attr_hdl) 162 160 163 161 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 164 162 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 165 163 ) 166 164 167 165 IMPLICIT NONE 168 166 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 178 176 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 179 177 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 180 178 181 179 IF (PRESENT(axis_domain_order_)) THEN 182 180 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__tmp185 ENDIF 186 181 CALL cxios_get_gridgroup_axis_domain_order(gridgroup_hdl%daddr, axis_domain_order__tmp, size(axis_domain_order_,1)) 182 axis_domain_order_ = axis_domain_order__tmp 183 ENDIF 184 187 185 IF (PRESENT(description_)) THEN 188 186 CALL cxios_get_gridgroup_description(gridgroup_hdl%daddr, description_, len(description_)) 189 187 ENDIF 190 188 191 189 IF (PRESENT(group_ref_)) THEN 192 190 CALL cxios_get_gridgroup_group_ref(gridgroup_hdl%daddr, group_ref_, len(group_ref_)) 193 191 ENDIF 194 192 195 193 IF (PRESENT(mask1_)) THEN 196 194 ALLOCATE(mask1__tmp(size(mask1_,1))) 197 CALL cxios_get_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp, size(mask1_,1))198 mask1_ =mask1__tmp199 ENDIF 200 195 CALL cxios_get_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp, size(mask1_,1)) 196 mask1_ = mask1__tmp 197 ENDIF 198 201 199 IF (PRESENT(mask2_)) THEN 202 ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2)))203 CALL cxios_get_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp, size(mask2_,1),size(mask2_,2))204 mask2_ =mask2__tmp205 ENDIF 206 200 ALLOCATE(mask2__tmp(size(mask2_,1), size(mask2_,2))) 201 CALL cxios_get_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp, size(mask2_,1), size(mask2_,2)) 202 mask2_ = mask2__tmp 203 ENDIF 204 207 205 IF (PRESENT(mask3_)) THEN 208 ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2),size(mask3_,3)))209 CALL cxios_get_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp, size(mask3_,1),size(mask3_,2),size(mask3_,3))210 mask3_ =mask3__tmp211 ENDIF 212 206 ALLOCATE(mask3__tmp(size(mask3_,1), size(mask3_,2), size(mask3_,3))) 207 CALL cxios_get_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp, size(mask3_,1), size(mask3_,2), size(mask3_,3)) 208 mask3_ = mask3__tmp 209 ENDIF 210 213 211 IF (PRESENT(name_)) THEN 214 212 CALL cxios_get_gridgroup_name(gridgroup_hdl%daddr, name_, len(name_)) 215 213 ENDIF 216 217 218 214 219 215 END SUBROUTINE xios(get_gridgroup_attr_hdl_) 220 216 221 217 SUBROUTINE xios(is_defined_gridgroup_attr) & 222 218 ( gridgroup_id, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 223 219 224 220 IMPLICIT NONE 225 221 TYPE(txios(gridgroup)) :: gridgroup_hdl … … 239 235 LOGICAL, OPTIONAL, INTENT(OUT) :: name 240 236 LOGICAL(KIND=C_BOOL) :: name_tmp 241 237 242 238 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 243 239 CALL xios(is_defined_gridgroup_attr_hdl_) & 244 240 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 245 241 246 242 END SUBROUTINE xios(is_defined_gridgroup_attr) 247 243 248 244 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 249 245 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 250 246 251 247 IMPLICIT NONE 252 248 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 265 261 LOGICAL, OPTIONAL, INTENT(OUT) :: name 266 262 LOGICAL(KIND=C_BOOL) :: name_tmp 267 263 268 264 CALL xios(is_defined_gridgroup_attr_hdl_) & 269 265 ( gridgroup_hdl, axis_domain_order, description, group_ref, mask1, mask2, mask3, name ) 270 266 271 267 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 272 268 273 269 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 274 270 ( gridgroup_hdl, axis_domain_order_, description_, group_ref_, mask1_, mask2_, mask3_, name_ & 275 271 ) 276 272 277 273 IMPLICIT NONE 278 274 TYPE(txios(gridgroup)) , INTENT(IN) :: gridgroup_hdl … … 291 287 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 292 288 LOGICAL(KIND=C_BOOL) :: name__tmp 293 289 294 290 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__tmp297 ENDIF 298 291 axis_domain_order__tmp = cxios_is_defined_gridgroup_axis_domain_order(gridgroup_hdl%daddr) 292 axis_domain_order_ = axis_domain_order__tmp 293 ENDIF 294 299 295 IF (PRESENT(description_)) THEN 300 description__tmp =cxios_is_defined_gridgroup_description(gridgroup_hdl%daddr)301 description_ =description__tmp302 ENDIF 303 296 description__tmp = cxios_is_defined_gridgroup_description(gridgroup_hdl%daddr) 297 description_ = description__tmp 298 ENDIF 299 304 300 IF (PRESENT(group_ref_)) THEN 305 group_ref__tmp =cxios_is_defined_gridgroup_group_ref(gridgroup_hdl%daddr)306 group_ref_ =group_ref__tmp307 ENDIF 308 301 group_ref__tmp = cxios_is_defined_gridgroup_group_ref(gridgroup_hdl%daddr) 302 group_ref_ = group_ref__tmp 303 ENDIF 304 309 305 IF (PRESENT(mask1_)) THEN 310 mask1__tmp =cxios_is_defined_gridgroup_mask1(gridgroup_hdl%daddr)311 mask1_ =mask1__tmp312 ENDIF 313 306 mask1__tmp = cxios_is_defined_gridgroup_mask1(gridgroup_hdl%daddr) 307 mask1_ = mask1__tmp 308 ENDIF 309 314 310 IF (PRESENT(mask2_)) THEN 315 mask2__tmp =cxios_is_defined_gridgroup_mask2(gridgroup_hdl%daddr)316 mask2_ =mask2__tmp317 ENDIF 318 311 mask2__tmp = cxios_is_defined_gridgroup_mask2(gridgroup_hdl%daddr) 312 mask2_ = mask2__tmp 313 ENDIF 314 319 315 IF (PRESENT(mask3_)) THEN 320 mask3__tmp =cxios_is_defined_gridgroup_mask3(gridgroup_hdl%daddr)321 mask3_ =mask3__tmp322 ENDIF 323 316 mask3__tmp = cxios_is_defined_gridgroup_mask3(gridgroup_hdl%daddr) 317 mask3_ = mask3__tmp 318 ENDIF 319 324 320 IF (PRESENT(name_)) THEN 325 name__tmp=cxios_is_defined_gridgroup_name(gridgroup_hdl%daddr) 326 name_=name__tmp 327 ENDIF 328 329 330 321 name__tmp = cxios_is_defined_gridgroup_name(gridgroup_hdl%daddr) 322 name_ = name__tmp 323 ENDIF 324 331 325 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) 332 326 333 327 END MODULE igridgroup_attr
Note: See TracChangeset
for help on using the changeset viewer.