Changeset 313 for XIOS/trunk/src/fortran/iaxis.F90
- Timestamp:
- 02/18/12 22:43:24 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/fortran/iaxis.F90
r312 r313 5 5 USE AXIS_INTERFACE 6 6 USE AXISGROUP_INTERFACE 7 7 8 8 TYPE txios(axis) 9 9 INTEGER(kind = C_INTPTR_T) :: daddr … … 17 17 18 18 CONTAINS ! Fonctions disponibles pour les utilisateurs. 19 20 21 22 SUBROUTINE xios(set_axis_attr)(axis_id, name, standard_name, long_name, unit, size, value)23 IMPLICIT NONE24 TYPE(txios(axis)) :: axis_hdl25 CHARACTER(len = *) , INTENT(IN) :: axis_id26 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name27 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name28 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name29 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit30 INTEGER , OPTIONAL, INTENT(IN) :: size31 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value(:)32 33 CALL xios(get_axis_handle)(axis_id,axis_hdl)34 CALL xios(set_axis_attr_hdl_)(axis_hdl, name, standard_name, long_name, unit, size, value)35 36 END SUBROUTINE xios(set_axis_attr)37 38 39 SUBROUTINE xios(set_axis_attr_hdl)(axis_hdl, name, standard_name, long_name, unit, size, value)40 IMPLICIT NONE41 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl42 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name43 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name44 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name45 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit46 INTEGER , OPTIONAL, INTENT(IN) :: size47 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value(:)48 49 CALL xios(set_axis_attr_hdl_)(axis_hdl, name, standard_name, long_name, unit, size, value)50 51 END SUBROUTINE xios(set_axis_attr_hdl)52 53 54 SUBROUTINE xios(set_axis_attr_hdl_)(axis_hdl, name_, standard_name_, long_name_, unit_, size_, value_)55 IMPLICIT NONE56 TYPE(txios(axis)) , INTENT(IN) :: axis_hdl57 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_58 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_59 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_60 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_61 INTEGER , OPTIONAL, INTENT(IN) :: size_62 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value_(:)63 64 IF (PRESENT(name_)) THEN65 CALL cxios_set_axis_name(axis_hdl%daddr, name_, len(name_))66 END IF67 IF (PRESENT(standard_name_)) THEN68 CALL cxios_set_axis_standard_name(axis_hdl%daddr, standard_name_, len(standard_name_))69 END IF70 IF (PRESENT(long_name_)) THEN71 CALL cxios_set_axis_long_name(axis_hdl%daddr, long_name_, len(long_name_))72 END IF73 IF (PRESENT(unit_)) THEN74 CALL cxios_set_axis_unit(axis_hdl%daddr, unit_, len(unit_))75 END IF76 IF (PRESENT(size_)) THEN77 CALL cxios_set_axis_size(axis_hdl%daddr, size_)78 END IF79 IF (PRESENT(value_)) THEN80 CALL cxios_set_axis_zvalue(axis_hdl%daddr, value_, size(value_, 1))81 END IF82 83 END SUBROUTINE xios(set_axis_attr_hdl_)84 85 86 SUBROUTINE xios(set_axisgroup_attr)(axisgroup_id, name, standard_name, long_name, unit, size, value)87 IMPLICIT NONE88 TYPE(txios(axisgroup)) :: axisgroup_hdl89 CHARACTER(len = *) , INTENT(IN) :: axisgroup_id90 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name91 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name92 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name93 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit94 INTEGER , OPTIONAL, INTENT(IN) :: size95 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value(:)96 97 CALL xios(get_axisgroup_handle)(axisgroup_id,axisgroup_hdl)98 CALL xios(set_axisgroup_attr_hdl_)(axisgroup_hdl, name, standard_name, long_name, unit, size, value)99 100 END SUBROUTINE xios(set_axisgroup_attr)101 102 103 SUBROUTINE xios(set_axisgroup_attr_hdl)(axisgroup_hdl, name, standard_name, long_name, unit, size, value)104 IMPLICIT NONE105 TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl106 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name107 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name108 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name109 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit110 INTEGER , OPTIONAL, INTENT(IN) :: size111 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value(:)112 113 CALL xios(set_axisgroup_attr_hdl_)(axisgroup_hdl, name, standard_name, long_name, unit, size, value)114 115 END SUBROUTINE xios(set_axisgroup_attr_hdl)116 117 118 SUBROUTINE xios(set_axisgroup_attr_hdl_)(axisgroup_hdl, name_, standard_name_, long_name_, unit_, size_, value_)119 IMPLICIT NONE120 TYPE(txios(axisgroup)) , INTENT(IN) :: axisgroup_hdl121 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: name_122 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: standard_name_123 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: long_name_124 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: unit_125 INTEGER , OPTIONAL, INTENT(IN) :: size_126 REAL(kind=8), dimension(*), OPTIONAL, INTENT(IN) :: value_(:)127 128 IF (PRESENT(name_)) THEN129 CALL cxios_set_axisgroup_name(axisgroup_hdl%daddr, name_, len(name_))130 END IF131 IF (PRESENT(standard_name_)) THEN132 CALL cxios_set_axisgroup_standard_name(axisgroup_hdl%daddr, standard_name_, len(standard_name_))133 END IF134 IF (PRESENT(long_name_)) THEN135 CALL cxios_set_axisgroup_long_name(axisgroup_hdl%daddr, long_name_, len(long_name_))136 END IF137 IF (PRESENT(unit_)) THEN138 CALL cxios_set_axisgroup_unit(axisgroup_hdl%daddr, unit_, len(unit_))139 END IF140 IF (PRESENT(size_)) THEN141 CALL cxios_set_axisgroup_size(axisgroup_hdl%daddr, size_)142 END IF143 IF (PRESENT(value_)) THEN144 CALL cxios_set_axisgroup_zvalue(axisgroup_hdl%daddr, value_, size(value_, 1))145 END IF146 END SUBROUTINE xios(set_axisgroup_attr_hdl_)147 148 19 149 20 SUBROUTINE xios(get_axis_handle)(idt,ret)
Note: See TracChangeset
for help on using the changeset viewer.