Changeset 312 for XIOS/trunk/src/fortran/iaxis.F90
- Timestamp:
- 02/14/12 15:36:14 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/fortran/iaxis.F90
r286 r312 5 5 USE AXIS_INTERFACE 6 6 USE AXISGROUP_INTERFACE 7 8 TYPE XAxisHandle9 INTEGER(kind = C_INTPTR_T) :: daddr10 END TYPE XAxisHandle11 12 TYPE XAxisGroupHandle13 INTEGER(kind = C_INTPTR_T) :: daddr14 END TYPE XAxisGroupHandle15 7 16 8 TYPE txios(axis) … … 22 14 END TYPE txios(axisgroup) 23 15 24 !----------------------------------------------------------------------------25 INTERFACE set_axis_attributes26 MODULE PROCEDURE set_axis_attributes_id,set_axis_attributes_hdl27 END INTERFACE28 29 INTERFACE set_axis_group_attributes30 MODULE PROCEDURE set_axisgroup_attributes_id,set_axisgroup_attributes_hdl31 END INTERFACE32 !----------------------------------------------------------------------------33 16 34 17 … … 199 182 200 183 END FUNCTION xios(is_valid_axisgroup) 201 202 203 204 205 !!!!!!!!!!!!! anciennes interfaces !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!206 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!207 208 SUBROUTINE set_axis_attributes_id(axis_id, name_, standard_name_, long_name_, unit_, size_, zvalue_)209 IMPLICIT NONE210 TYPE(XAxisHandle) :: axis_hdl211 CHARACTER(len = *) , INTENT(IN) :: axis_id212 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_213 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_214 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_215 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_216 INTEGER , OPTIONAL, INTENT(IN) :: size_217 REAL (kind = 8), dimension(*), OPTIONAL, INTENT(IN) :: zvalue_(:)218 219 CALL axis_handle_create(axis_hdl, axis_id)220 CALL set_axis_attributes_hdl(axis_hdl, name_, standard_name_, long_name_, unit_, size_, zvalue_)221 222 END SUBROUTINE set_axis_attributes_id223 224 SUBROUTINE set_axis_attributes_hdl(axis_hdl, name_, standard_name_, long_name_, unit_, size_, zvalue_)225 IMPLICIT NONE226 TYPE(XAxisHandle) , INTENT(IN) :: axis_hdl227 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_228 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_229 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_230 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_231 INTEGER , OPTIONAL, INTENT(IN) :: size_232 REAL (kind = 8), dimension(*), OPTIONAL, INTENT(IN) :: zvalue_(:)233 234 IF (PRESENT(name_)) THEN235 CALL cxios_set_axis_name(axis_hdl%daddr, name_, len(name_))236 END IF237 IF (PRESENT(standard_name_)) THEN238 CALL cxios_set_axis_standard_name(axis_hdl%daddr, standard_name_, len(standard_name_))239 END IF240 IF (PRESENT(long_name_)) THEN241 CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))242 END IF243 IF (PRESENT(unit_)) THEN244 CALL cxios_set_axis_unit(axis_hdl%daddr, unit_, len(unit_))245 END IF246 IF (PRESENT(size_)) THEN247 CALL cxios_set_axis_size(axis_hdl%daddr, size_)248 END IF249 IF (PRESENT(zvalue_)) THEN250 CALL cxios_set_axis_zvalue(axis_hdl%daddr, zvalue_, size(zvalue_, 1))251 END IF252 END SUBROUTINE set_axis_attributes_hdl253 254 SUBROUTINE set_axisgroup_attributes_id(axisgroup_id, name_, standard_name_, long_name_, unit_, size_, zvalue_)255 IMPLICIT NONE256 TYPE(XAxisGroupHandle) :: axisgroup_hdl257 CHARACTER(len = *) , INTENT(IN) :: axisgroup_id258 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_259 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_260 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_261 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_262 INTEGER , OPTIONAL, INTENT(IN) :: size_263 REAL (kind = 8), dimension(*), OPTIONAL, INTENT(IN) :: zvalue_(:)264 265 CALL axisgroup_handle_create(axisgroup_hdl, axisgroup_id)266 CALL set_axisgroup_attributes_hdl(axisgroup_hdl, name_, standard_name_, long_name_, unit_, size_, zvalue_)267 268 END SUBROUTINE set_axisgroup_attributes_id269 270 SUBROUTINE set_axisgroup_attributes_hdl(axisgroup_hdl, name_, standard_name_, long_name_, unit_, size_, zvalue_)271 IMPLICIT NONE272 TYPE(XAxisGroupHandle) , INTENT(IN) :: axisgroup_hdl273 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_274 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_275 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_276 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_277 INTEGER , OPTIONAL, INTENT(IN) :: size_278 REAL (kind = 8), dimension(*), OPTIONAL, INTENT(IN) :: zvalue_(:)279 280 IF (PRESENT(name_)) THEN281 CALL cxios_set_axisgroup_name(axisgroup_hdl%daddr, name_, len(name_))282 END IF283 IF (PRESENT(standard_name_)) THEN284 CALL cxios_set_axisgroup_standard_name(axisgroup_hdl%daddr, standard_name_, len(standard_name_))285 END IF286 IF (PRESENT(long_name_)) THEN287 CALL cxios_set_axisgroup_long_name(axisgroup_hdl%daddr, long_name_, len(long_name_))288 END IF289 IF (PRESENT(unit_)) THEN290 CALL cxios_set_axisgroup_unit(axisgroup_hdl%daddr, unit_, len(unit_))291 END IF292 IF (PRESENT(size_)) THEN293 CALL cxios_set_axisgroup_size(axisgroup_hdl%daddr, size_)294 END IF295 IF (PRESENT(zvalue_)) THEN296 CALL cxios_set_axisgroup_zvalue(axisgroup_hdl%daddr, zvalue_, size(zvalue_, 1))297 END IF298 END SUBROUTINE set_axisgroup_attributes_hdl299 300 SUBROUTINE axis_handle_create(ret, idt)301 IMPLICIT NONE302 TYPE(XAxisHandle) , INTENT(OUT):: ret303 CHARACTER(len = *), INTENT(IN) :: idt304 CALL cxios_axis_handle_create(ret%daddr, idt, len(idt))305 END SUBROUTINE axis_handle_create306 307 SUBROUTINE axisgroup_handle_create(ret, idt)308 IMPLICIT NONE309 TYPE(XAxisGroupHandle), INTENT(OUT):: ret310 CHARACTER(len = *) , INTENT(IN) :: idt311 CALL cxios_axisgroup_handle_create(ret%daddr, idt, len(idt))312 END SUBROUTINE axisgroup_handle_create313 314 LOGICAL FUNCTION axis_valid_id(idt)315 IMPLICIT NONE316 CHARACTER(len = *) , INTENT(IN) :: idt317 LOGICAL (kind = 1) :: val318 CALL cxios_axis_valid_id(val, idt, len(idt));319 axis_valid_id = val320 END FUNCTION axis_valid_id321 322 LOGICAL FUNCTION axisgroup_valid_id(idt)323 IMPLICIT NONE324 CHARACTER(len = *) , INTENT(IN) :: idt325 LOGICAL (kind = 1) :: val326 CALL cxios_axisgroup_valid_id(val, idt, len(idt));327 axisgroup_valid_id = val328 END FUNCTION axisgroup_valid_id329 184 330 185 END MODULE IAXIS
Note: See TracChangeset
for help on using the changeset viewer.