Changeset 567 for XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
- Timestamp:
- 03/10/15 10:49:02 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/igridgroup_attr.F90
r556 r567 12 12 13 13 SUBROUTINE xios(set_gridgroup_attr) & 14 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )14 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 15 15 16 16 IMPLICIT NONE … … 21 21 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 22 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 23 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 23 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 24 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 25 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 26 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 27 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 28 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 25 29 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 26 30 27 31 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 28 32 CALL xios(set_gridgroup_attr_hdl_) & 29 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )33 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 30 34 31 35 END SUBROUTINE xios(set_gridgroup_attr) 32 36 33 37 SUBROUTINE xios(set_gridgroup_attr_hdl) & 34 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )38 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 35 39 36 40 IMPLICIT NONE … … 40 44 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 41 45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref 42 LOGICAL , OPTIONAL, INTENT(IN) :: mask(:,:,:) 43 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 46 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) 47 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 48 LOGICAL , OPTIONAL, INTENT(IN) :: mask2(:,:) 49 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 50 LOGICAL , OPTIONAL, INTENT(IN) :: mask3(:,:,:) 51 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 44 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name 45 53 46 54 CALL xios(set_gridgroup_attr_hdl_) & 47 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )55 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 48 56 49 57 END SUBROUTINE xios(set_gridgroup_attr_hdl) 50 58 51 59 SUBROUTINE xios(set_gridgroup_attr_hdl_) & 52 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )60 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 53 61 54 62 IMPLICIT NONE … … 58 66 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 59 67 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: group_ref_ 60 LOGICAL , OPTIONAL, INTENT(IN) :: mask_(:,:,:) 61 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 68 LOGICAL , OPTIONAL, INTENT(IN) :: mask1_(:) 69 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 70 LOGICAL , OPTIONAL, INTENT(IN) :: mask2_(:,:) 71 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 72 LOGICAL , OPTIONAL, INTENT(IN) :: mask3_(:,:,:) 73 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 62 74 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 63 75 … … 76 88 ENDIF 77 89 78 IF (PRESENT(mask_)) THEN 79 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 80 mask__tmp=mask_ 81 CALL cxios_set_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 90 IF (PRESENT(mask1_)) THEN 91 ALLOCATE(mask1__tmp(size(mask1_,1))) 92 mask1__tmp=mask1_ 93 CALL cxios_set_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp,size(mask1_,1)) 94 ENDIF 95 96 IF (PRESENT(mask2_)) THEN 97 ALLOCATE(mask2__tmp(size(mask2_,1),size(mask2_,2))) 98 mask2__tmp=mask2_ 99 CALL cxios_set_gridgroup_mask2(gridgroup_hdl%daddr, mask2__tmp,size(mask2_,1),size(mask2_,2)) 100 ENDIF 101 102 IF (PRESENT(mask3_)) THEN 103 ALLOCATE(mask3__tmp(size(mask3_,1),size(mask3_,2),size(mask3_,3))) 104 mask3__tmp=mask3_ 105 CALL cxios_set_gridgroup_mask3(gridgroup_hdl%daddr, mask3__tmp,size(mask3_,1),size(mask3_,2),size(mask3_,3)) 82 106 ENDIF 83 107 … … 91 115 92 116 SUBROUTINE xios(get_gridgroup_attr) & 93 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )117 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 94 118 95 119 IMPLICIT NONE … … 100 124 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 101 125 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 102 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 103 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 126 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 127 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 128 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 129 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 130 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 131 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 104 132 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 105 133 106 134 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 107 135 CALL xios(get_gridgroup_attr_hdl_) & 108 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )136 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 109 137 110 138 END SUBROUTINE xios(get_gridgroup_attr) 111 139 112 140 SUBROUTINE xios(get_gridgroup_attr_hdl) & 113 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )141 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 114 142 115 143 IMPLICIT NONE … … 119 147 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 120 148 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref 121 LOGICAL , OPTIONAL, INTENT(OUT) :: mask(:,:,:) 122 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask_tmp(:,:,:) 149 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) 150 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1_tmp(:) 151 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2(:,:) 152 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2_tmp(:,:) 153 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3(:,:,:) 154 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3_tmp(:,:,:) 123 155 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name 124 156 125 157 CALL xios(get_gridgroup_attr_hdl_) & 126 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )158 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 127 159 128 160 END SUBROUTINE xios(get_gridgroup_attr_hdl) 129 161 130 162 SUBROUTINE xios(get_gridgroup_attr_hdl_) & 131 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )163 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 132 164 133 165 IMPLICIT NONE … … 137 169 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 138 170 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: group_ref_ 139 LOGICAL , OPTIONAL, INTENT(OUT) :: mask_(:,:,:) 140 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask__tmp(:,:,:) 171 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1_(:) 172 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask1__tmp(:) 173 LOGICAL , OPTIONAL, INTENT(OUT) :: mask2_(:,:) 174 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask2__tmp(:,:) 175 LOGICAL , OPTIONAL, INTENT(OUT) :: mask3_(:,:,:) 176 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: mask3__tmp(:,:,:) 141 177 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 142 178 … … 155 191 ENDIF 156 192 157 IF (PRESENT(mask_)) THEN 158 ALLOCATE(mask__tmp(size(mask_,1),size(mask_,2),size(mask_,3))) 159 CALL cxios_get_gridgroup_mask(gridgroup_hdl%daddr, mask__tmp,size(mask_,1),size(mask_,2),size(mask_,3)) 160 mask_=mask__tmp 193 IF (PRESENT(mask1_)) THEN 194 ALLOCATE(mask1__tmp(size(mask1_,1))) 195 CALL cxios_get_gridgroup_mask1(gridgroup_hdl%daddr, mask1__tmp,size(mask1_,1)) 196 mask1_=mask1__tmp 197 ENDIF 198 199 IF (PRESENT(mask2_)) THEN 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 205 IF (PRESENT(mask3_)) THEN 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 161 209 ENDIF 162 210 … … 170 218 171 219 SUBROUTINE xios(is_defined_gridgroup_attr) & 172 ( gridgroup_id, axisDomainOrder, description, group_ref, mask , name )220 ( gridgroup_id, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 173 221 174 222 IMPLICIT NONE … … 181 229 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 182 230 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 183 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 184 LOGICAL(KIND=C_BOOL) :: mask_tmp 231 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 232 LOGICAL(KIND=C_BOOL) :: mask1_tmp 233 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 234 LOGICAL(KIND=C_BOOL) :: mask2_tmp 235 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 236 LOGICAL(KIND=C_BOOL) :: mask3_tmp 185 237 LOGICAL, OPTIONAL, INTENT(OUT) :: name 186 238 LOGICAL(KIND=C_BOOL) :: name_tmp … … 188 240 CALL xios(get_gridgroup_handle)(gridgroup_id,gridgroup_hdl) 189 241 CALL xios(is_defined_gridgroup_attr_hdl_) & 190 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )242 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 191 243 192 244 END SUBROUTINE xios(is_defined_gridgroup_attr) 193 245 194 246 SUBROUTINE xios(is_defined_gridgroup_attr_hdl) & 195 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )247 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 196 248 197 249 IMPLICIT NONE … … 203 255 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref 204 256 LOGICAL(KIND=C_BOOL) :: group_ref_tmp 205 LOGICAL, OPTIONAL, INTENT(OUT) :: mask 206 LOGICAL(KIND=C_BOOL) :: mask_tmp 257 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1 258 LOGICAL(KIND=C_BOOL) :: mask1_tmp 259 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2 260 LOGICAL(KIND=C_BOOL) :: mask2_tmp 261 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3 262 LOGICAL(KIND=C_BOOL) :: mask3_tmp 207 263 LOGICAL, OPTIONAL, INTENT(OUT) :: name 208 264 LOGICAL(KIND=C_BOOL) :: name_tmp 209 265 210 266 CALL xios(is_defined_gridgroup_attr_hdl_) & 211 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask , name )267 ( gridgroup_hdl, axisDomainOrder, description, group_ref, mask1, mask2, mask3, name ) 212 268 213 269 END SUBROUTINE xios(is_defined_gridgroup_attr_hdl) 214 270 215 271 SUBROUTINE xios(is_defined_gridgroup_attr_hdl_) & 216 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask _, name_ )272 ( gridgroup_hdl, axisDomainOrder_, description_, group_ref_, mask1_, mask2_, mask3_, name_ ) 217 273 218 274 IMPLICIT NONE … … 224 280 LOGICAL, OPTIONAL, INTENT(OUT) :: group_ref_ 225 281 LOGICAL(KIND=C_BOOL) :: group_ref__tmp 226 LOGICAL, OPTIONAL, INTENT(OUT) :: mask_ 227 LOGICAL(KIND=C_BOOL) :: mask__tmp 282 LOGICAL, OPTIONAL, INTENT(OUT) :: mask1_ 283 LOGICAL(KIND=C_BOOL) :: mask1__tmp 284 LOGICAL, OPTIONAL, INTENT(OUT) :: mask2_ 285 LOGICAL(KIND=C_BOOL) :: mask2__tmp 286 LOGICAL, OPTIONAL, INTENT(OUT) :: mask3_ 287 LOGICAL(KIND=C_BOOL) :: mask3__tmp 228 288 LOGICAL, OPTIONAL, INTENT(OUT) :: name_ 229 289 LOGICAL(KIND=C_BOOL) :: name__tmp … … 244 304 ENDIF 245 305 246 IF (PRESENT(mask_)) THEN 247 mask__tmp=cxios_is_defined_gridgroup_mask(gridgroup_hdl%daddr) 248 mask_=mask__tmp 306 IF (PRESENT(mask1_)) THEN 307 mask1__tmp=cxios_is_defined_gridgroup_mask1(gridgroup_hdl%daddr) 308 mask1_=mask1__tmp 309 ENDIF 310 311 IF (PRESENT(mask2_)) THEN 312 mask2__tmp=cxios_is_defined_gridgroup_mask2(gridgroup_hdl%daddr) 313 mask2_=mask2__tmp 314 ENDIF 315 316 IF (PRESENT(mask3_)) THEN 317 mask3__tmp=cxios_is_defined_gridgroup_mask3(gridgroup_hdl%daddr) 318 mask3_=mask3__tmp 249 319 ENDIF 250 320
Note: See TracChangeset
for help on using the changeset viewer.