Changeset 791 for XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
- Timestamp:
- 11/19/15 16:55:16 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/igrid_attr.F90
r674 r791 12 12 13 13 SUBROUTINE xios(set_grid_attr) & 14 ( grid_id, axis_domain_order,description, mask1, mask2, mask3, name )14 ( grid_id, 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_domain_order(:)20 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)21 19 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 22 20 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) … … 30 28 CALL xios(get_grid_handle)(grid_id,grid_hdl) 31 29 CALL xios(set_grid_attr_hdl_) & 32 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )30 ( grid_hdl, description, mask1, mask2, mask3, name ) 33 31 34 32 END SUBROUTINE xios(set_grid_attr) 35 33 36 34 SUBROUTINE xios(set_grid_attr_hdl) & 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(:) 35 ( grid_hdl, description, mask1, mask2, mask3, name ) 36 37 IMPLICIT NONE 38 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 43 39 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description 44 40 LOGICAL , OPTIONAL, INTENT(IN) :: mask1(:) … … 51 47 52 48 CALL xios(set_grid_attr_hdl_) & 53 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )49 ( grid_hdl, description, mask1, mask2, mask3, name ) 54 50 55 51 END SUBROUTINE xios(set_grid_attr_hdl) 56 52 57 53 SUBROUTINE xios(set_grid_attr_hdl_) & 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(:) 54 ( grid_hdl, description_, mask1_, mask2_, mask3_, name_ ) 55 56 IMPLICIT NONE 57 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 64 58 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: description_ 65 59 LOGICAL , OPTIONAL, INTENT(IN) :: mask1_(:) … … 71 65 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_ 72 66 73 IF (PRESENT(axis_domain_order_)) THEN74 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, SHAPE(axis_domain_order_))77 ENDIF78 79 67 IF (PRESENT(description_)) THEN 80 68 CALL cxios_set_grid_description(grid_hdl%daddr, description_, len(description_)) … … 106 94 107 95 SUBROUTINE xios(get_grid_attr) & 108 ( grid_id, axis_domain_order,description, mask1, mask2, mask3, name )96 ( grid_id, description, mask1, mask2, mask3, name ) 109 97 110 98 IMPLICIT NONE 111 99 TYPE(txios(grid)) :: grid_hdl 112 100 CHARACTER(LEN=*), INTENT(IN) ::grid_id 113 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:)114 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:)115 101 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 116 102 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) … … 124 110 CALL xios(get_grid_handle)(grid_id,grid_hdl) 125 111 CALL xios(get_grid_attr_hdl_) & 126 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )112 ( grid_hdl, description, mask1, mask2, mask3, name ) 127 113 128 114 END SUBROUTINE xios(get_grid_attr) 129 115 130 116 SUBROUTINE xios(get_grid_attr_hdl) & 131 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 132 133 IMPLICIT NONE 134 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 135 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order(:) 136 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order_tmp(:) 117 ( grid_hdl, description, mask1, mask2, mask3, name ) 118 119 IMPLICIT NONE 120 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 137 121 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description 138 122 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1(:) … … 145 129 146 130 CALL xios(get_grid_attr_hdl_) & 147 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )131 ( grid_hdl, description, mask1, mask2, mask3, name ) 148 132 149 133 END SUBROUTINE xios(get_grid_attr_hdl) 150 134 151 135 SUBROUTINE xios(get_grid_attr_hdl_) & 152 ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 153 154 IMPLICIT NONE 155 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 156 LOGICAL , OPTIONAL, INTENT(OUT) :: axis_domain_order_(:) 157 LOGICAL (KIND=C_BOOL) , ALLOCATABLE :: axis_domain_order__tmp(:) 136 ( grid_hdl, description_, mask1_, mask2_, mask3_, name_ ) 137 138 IMPLICIT NONE 139 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 158 140 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: description_ 159 141 LOGICAL , OPTIONAL, INTENT(OUT) :: mask1_(:) … … 165 147 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: name_ 166 148 167 IF (PRESENT(axis_domain_order_)) THEN168 ALLOCATE(axis_domain_order__tmp(SIZE(axis_domain_order_,1)))169 CALL cxios_get_grid_axis_domain_order(grid_hdl%daddr, axis_domain_order__tmp, SHAPE(axis_domain_order_))170 axis_domain_order_ = axis_domain_order__tmp171 ENDIF172 173 149 IF (PRESENT(description_)) THEN 174 150 CALL cxios_get_grid_description(grid_hdl%daddr, description_, len(description_)) … … 200 176 201 177 SUBROUTINE xios(is_defined_grid_attr) & 202 ( grid_id, axis_domain_order,description, mask1, mask2, mask3, name )178 ( grid_id, description, mask1, mask2, mask3, name ) 203 179 204 180 IMPLICIT NONE 205 181 TYPE(txios(grid)) :: grid_hdl 206 182 CHARACTER(LEN=*), INTENT(IN) ::grid_id 207 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order208 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp209 183 LOGICAL, OPTIONAL, INTENT(OUT) :: description 210 184 LOGICAL(KIND=C_BOOL) :: description_tmp … … 220 194 CALL xios(get_grid_handle)(grid_id,grid_hdl) 221 195 CALL xios(is_defined_grid_attr_hdl_) & 222 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )196 ( grid_hdl, description, mask1, mask2, mask3, name ) 223 197 224 198 END SUBROUTINE xios(is_defined_grid_attr) 225 199 226 200 SUBROUTINE xios(is_defined_grid_attr_hdl) & 227 ( grid_hdl, axis_domain_order, description, mask1, mask2, mask3, name ) 228 229 IMPLICIT NONE 230 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 231 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order 232 LOGICAL(KIND=C_BOOL) :: axis_domain_order_tmp 201 ( grid_hdl, description, mask1, mask2, mask3, name ) 202 203 IMPLICIT NONE 204 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 233 205 LOGICAL, OPTIONAL, INTENT(OUT) :: description 234 206 LOGICAL(KIND=C_BOOL) :: description_tmp … … 243 215 244 216 CALL xios(is_defined_grid_attr_hdl_) & 245 ( grid_hdl, axis_domain_order,description, mask1, mask2, mask3, name )217 ( grid_hdl, description, mask1, mask2, mask3, name ) 246 218 247 219 END SUBROUTINE xios(is_defined_grid_attr_hdl) 248 220 249 221 SUBROUTINE xios(is_defined_grid_attr_hdl_) & 250 ( grid_hdl, axis_domain_order_, description_, mask1_, mask2_, mask3_, name_ ) 251 252 IMPLICIT NONE 253 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 254 LOGICAL, OPTIONAL, INTENT(OUT) :: axis_domain_order_ 255 LOGICAL(KIND=C_BOOL) :: axis_domain_order__tmp 222 ( grid_hdl, description_, mask1_, mask2_, mask3_, name_ ) 223 224 IMPLICIT NONE 225 TYPE(txios(grid)) , INTENT(IN) :: grid_hdl 256 226 LOGICAL, OPTIONAL, INTENT(OUT) :: description_ 257 227 LOGICAL(KIND=C_BOOL) :: description__tmp … … 265 235 LOGICAL(KIND=C_BOOL) :: name__tmp 266 236 267 IF (PRESENT(axis_domain_order_)) THEN268 axis_domain_order__tmp = cxios_is_defined_grid_axis_domain_order(grid_hdl%daddr)269 axis_domain_order_ = axis_domain_order__tmp270 ENDIF271 272 237 IF (PRESENT(description_)) THEN 273 238 description__tmp = cxios_is_defined_grid_description(grid_hdl%daddr)
Note: See TracChangeset
for help on using the changeset viewer.