Changeset 549 for XIOS/trunk/src/interface/fortran_attr
- Timestamp:
- 01/26/15 14:39:26 (9 years ago)
- Location:
- XIOS/trunk/src/interface/fortran_attr
- Files:
-
- 2 added
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran_attr/context_interface_attr.F90
r545 r549 8 8 9 9 INTERFACE ! Do not call directly / interface FORTRAN 2003 <-> C99 10 11 12 SUBROUTINE cxios_set_context_calendar_type(context_hdl, calendar_type, calendar_type_size) BIND(C)13 USE ISO_C_BINDING14 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl15 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: calendar_type16 INTEGER (kind = C_INT) , VALUE :: calendar_type_size17 END SUBROUTINE cxios_set_context_calendar_type18 19 SUBROUTINE cxios_get_context_calendar_type(context_hdl, calendar_type, calendar_type_size) BIND(C)20 USE ISO_C_BINDING21 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl22 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: calendar_type23 INTEGER (kind = C_INT) , VALUE :: calendar_type_size24 END SUBROUTINE cxios_get_context_calendar_type25 26 FUNCTION cxios_is_defined_context_calendar_type(context_hdl ) BIND(C)27 USE ISO_C_BINDING28 LOGICAL(kind=C_BOOL) :: cxios_is_defined_context_calendar_type29 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl30 END FUNCTION cxios_is_defined_context_calendar_type31 10 32 11 … … 52 31 53 32 54 SUBROUTINE cxios_set_context_start_date(context_hdl, start_date) BIND(C)55 USE ISO_C_BINDING56 USE IDATE57 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl58 TYPE(txios(date)), VALUE :: start_date59 END SUBROUTINE cxios_set_context_start_date60 61 SUBROUTINE cxios_get_context_start_date(context_hdl, start_date) BIND(C)62 USE ISO_C_BINDING63 USE IDATE64 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl65 TYPE(txios(date)) :: start_date66 END SUBROUTINE cxios_get_context_start_date67 68 FUNCTION cxios_is_defined_context_start_date(context_hdl ) BIND(C)69 USE ISO_C_BINDING70 LOGICAL(kind=C_BOOL) :: cxios_is_defined_context_start_date71 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl72 END FUNCTION cxios_is_defined_context_start_date73 74 75 SUBROUTINE cxios_set_context_time_origin(context_hdl, time_origin) BIND(C)76 USE ISO_C_BINDING77 USE IDATE78 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl79 TYPE(txios(date)), VALUE :: time_origin80 END SUBROUTINE cxios_set_context_time_origin81 82 SUBROUTINE cxios_get_context_time_origin(context_hdl, time_origin) BIND(C)83 USE ISO_C_BINDING84 USE IDATE85 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl86 TYPE(txios(date)) :: time_origin87 END SUBROUTINE cxios_get_context_time_origin88 89 FUNCTION cxios_is_defined_context_time_origin(context_hdl ) BIND(C)90 USE ISO_C_BINDING91 LOGICAL(kind=C_BOOL) :: cxios_is_defined_context_time_origin92 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl93 END FUNCTION cxios_is_defined_context_time_origin94 95 96 SUBROUTINE cxios_set_context_timestep(context_hdl, timestep) BIND(C)97 USE ISO_C_BINDING98 USE IDURATION99 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl100 TYPE(txios(duration)), VALUE :: timestep101 END SUBROUTINE cxios_set_context_timestep102 103 SUBROUTINE cxios_get_context_timestep(context_hdl, timestep) BIND(C)104 USE ISO_C_BINDING105 USE IDURATION106 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl107 TYPE(txios(duration)) :: timestep108 END SUBROUTINE cxios_get_context_timestep109 110 FUNCTION cxios_is_defined_context_timestep(context_hdl ) BIND(C)111 USE ISO_C_BINDING112 LOGICAL(kind=C_BOOL) :: cxios_is_defined_context_timestep113 INTEGER (kind = C_INTPTR_T), VALUE :: context_hdl114 END FUNCTION cxios_is_defined_context_timestep115 116 117 33 END INTERFACE 118 34 -
XIOS/trunk/src/interface/fortran_attr/icontext_attr.F90
r537 r549 12 12 13 13 SUBROUTINE xios(set_context_attr) & 14 ( context_id, calendar_type, output_dir, start_date, time_origin, timestep)14 ( context_id, output_dir ) 15 15 16 16 IMPLICIT NONE 17 17 TYPE(txios(context)) :: context_hdl 18 18 CHARACTER(LEN=*), INTENT(IN) ::context_id 19 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type20 19 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir 21 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: start_date22 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: time_origin23 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: timestep24 20 25 21 CALL xios(get_context_handle)(context_id,context_hdl) 26 22 CALL xios(set_context_attr_hdl_) & 27 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)23 ( context_hdl, output_dir ) 28 24 29 25 END SUBROUTINE xios(set_context_attr) 30 26 31 27 SUBROUTINE xios(set_context_attr_hdl) & 32 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)28 ( context_hdl, output_dir ) 33 29 34 30 IMPLICIT NONE 35 31 TYPE(txios(context)) , INTENT(IN) :: context_hdl 36 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type37 32 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir 38 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: start_date39 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: time_origin40 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: timestep41 33 42 34 CALL xios(set_context_attr_hdl_) & 43 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)35 ( context_hdl, output_dir ) 44 36 45 37 END SUBROUTINE xios(set_context_attr_hdl) 46 38 47 39 SUBROUTINE xios(set_context_attr_hdl_) & 48 ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )40 ( context_hdl, output_dir_ ) 49 41 50 42 IMPLICIT NONE 51 43 TYPE(txios(context)) , INTENT(IN) :: context_hdl 52 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: calendar_type_53 44 CHARACTER(len = *) , OPTIONAL, INTENT(IN) :: output_dir_ 54 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: start_date_55 TYPE(txios(date)) , OPTIONAL, INTENT(IN) :: time_origin_56 TYPE(txios(duration)) , OPTIONAL, INTENT(IN) :: timestep_57 58 IF (PRESENT(calendar_type_)) THEN59 CALL cxios_set_context_calendar_type(context_hdl%daddr, calendar_type_, len(calendar_type_))60 ENDIF61 45 62 46 IF (PRESENT(output_dir_)) THEN 63 47 CALL cxios_set_context_output_dir(context_hdl%daddr, output_dir_, len(output_dir_)) 64 ENDIF65 66 IF (PRESENT(start_date_)) THEN67 CALL cxios_set_context_start_date(context_hdl%daddr, start_date_)68 ENDIF69 70 IF (PRESENT(time_origin_)) THEN71 CALL cxios_set_context_time_origin(context_hdl%daddr, time_origin_)72 ENDIF73 74 IF (PRESENT(timestep_)) THEN75 CALL cxios_set_context_timestep(context_hdl%daddr, timestep_)76 48 ENDIF 77 49 … … 81 53 82 54 SUBROUTINE xios(get_context_attr) & 83 ( context_id, calendar_type, output_dir, start_date, time_origin, timestep)55 ( context_id, output_dir ) 84 56 85 57 IMPLICIT NONE 86 58 TYPE(txios(context)) :: context_hdl 87 59 CHARACTER(LEN=*), INTENT(IN) ::context_id 88 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type89 60 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir 90 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: start_date91 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: time_origin92 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: timestep93 61 94 62 CALL xios(get_context_handle)(context_id,context_hdl) 95 63 CALL xios(get_context_attr_hdl_) & 96 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)64 ( context_hdl, output_dir ) 97 65 98 66 END SUBROUTINE xios(get_context_attr) 99 67 100 68 SUBROUTINE xios(get_context_attr_hdl) & 101 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)69 ( context_hdl, output_dir ) 102 70 103 71 IMPLICIT NONE 104 72 TYPE(txios(context)) , INTENT(IN) :: context_hdl 105 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type106 73 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir 107 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: start_date108 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: time_origin109 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: timestep110 74 111 75 CALL xios(get_context_attr_hdl_) & 112 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)76 ( context_hdl, output_dir ) 113 77 114 78 END SUBROUTINE xios(get_context_attr_hdl) 115 79 116 80 SUBROUTINE xios(get_context_attr_hdl_) & 117 ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )81 ( context_hdl, output_dir_ ) 118 82 119 83 IMPLICIT NONE 120 84 TYPE(txios(context)) , INTENT(IN) :: context_hdl 121 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: calendar_type_122 85 CHARACTER(len = *) , OPTIONAL, INTENT(OUT) :: output_dir_ 123 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: start_date_124 TYPE(txios(date)) , OPTIONAL, INTENT(OUT) :: time_origin_125 TYPE(txios(duration)) , OPTIONAL, INTENT(OUT) :: timestep_126 127 IF (PRESENT(calendar_type_)) THEN128 CALL cxios_get_context_calendar_type(context_hdl%daddr, calendar_type_, len(calendar_type_))129 ENDIF130 86 131 87 IF (PRESENT(output_dir_)) THEN 132 88 CALL cxios_get_context_output_dir(context_hdl%daddr, output_dir_, len(output_dir_)) 133 ENDIF134 135 IF (PRESENT(start_date_)) THEN136 CALL cxios_get_context_start_date(context_hdl%daddr, start_date_)137 ENDIF138 139 IF (PRESENT(time_origin_)) THEN140 CALL cxios_get_context_time_origin(context_hdl%daddr, time_origin_)141 ENDIF142 143 IF (PRESENT(timestep_)) THEN144 CALL cxios_get_context_timestep(context_hdl%daddr, timestep_)145 89 ENDIF 146 90 … … 150 94 151 95 SUBROUTINE xios(is_defined_context_attr) & 152 ( context_id, calendar_type, output_dir, start_date, time_origin, timestep)96 ( context_id, output_dir ) 153 97 154 98 IMPLICIT NONE 155 99 TYPE(txios(context)) :: context_hdl 156 100 CHARACTER(LEN=*), INTENT(IN) ::context_id 157 LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type158 LOGICAL(KIND=C_BOOL) :: calendar_type_tmp159 101 LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir 160 102 LOGICAL(KIND=C_BOOL) :: output_dir_tmp 161 LOGICAL, OPTIONAL, INTENT(OUT) :: start_date162 LOGICAL(KIND=C_BOOL) :: start_date_tmp163 LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin164 LOGICAL(KIND=C_BOOL) :: time_origin_tmp165 LOGICAL, OPTIONAL, INTENT(OUT) :: timestep166 LOGICAL(KIND=C_BOOL) :: timestep_tmp167 103 168 104 CALL xios(get_context_handle)(context_id,context_hdl) 169 105 CALL xios(is_defined_context_attr_hdl_) & 170 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)106 ( context_hdl, output_dir ) 171 107 172 108 END SUBROUTINE xios(is_defined_context_attr) 173 109 174 110 SUBROUTINE xios(is_defined_context_attr_hdl) & 175 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)111 ( context_hdl, output_dir ) 176 112 177 113 IMPLICIT NONE 178 114 TYPE(txios(context)) , INTENT(IN) :: context_hdl 179 LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type180 LOGICAL(KIND=C_BOOL) :: calendar_type_tmp181 115 LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir 182 116 LOGICAL(KIND=C_BOOL) :: output_dir_tmp 183 LOGICAL, OPTIONAL, INTENT(OUT) :: start_date184 LOGICAL(KIND=C_BOOL) :: start_date_tmp185 LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin186 LOGICAL(KIND=C_BOOL) :: time_origin_tmp187 LOGICAL, OPTIONAL, INTENT(OUT) :: timestep188 LOGICAL(KIND=C_BOOL) :: timestep_tmp189 117 190 118 CALL xios(is_defined_context_attr_hdl_) & 191 ( context_hdl, calendar_type, output_dir, start_date, time_origin, timestep)119 ( context_hdl, output_dir ) 192 120 193 121 END SUBROUTINE xios(is_defined_context_attr_hdl) 194 122 195 123 SUBROUTINE xios(is_defined_context_attr_hdl_) & 196 ( context_hdl, calendar_type_, output_dir_, start_date_, time_origin_, timestep_ )124 ( context_hdl, output_dir_ ) 197 125 198 126 IMPLICIT NONE 199 127 TYPE(txios(context)) , INTENT(IN) :: context_hdl 200 LOGICAL, OPTIONAL, INTENT(OUT) :: calendar_type_201 LOGICAL(KIND=C_BOOL) :: calendar_type__tmp202 128 LOGICAL, OPTIONAL, INTENT(OUT) :: output_dir_ 203 129 LOGICAL(KIND=C_BOOL) :: output_dir__tmp 204 LOGICAL, OPTIONAL, INTENT(OUT) :: start_date_205 LOGICAL(KIND=C_BOOL) :: start_date__tmp206 LOGICAL, OPTIONAL, INTENT(OUT) :: time_origin_207 LOGICAL(KIND=C_BOOL) :: time_origin__tmp208 LOGICAL, OPTIONAL, INTENT(OUT) :: timestep_209 LOGICAL(KIND=C_BOOL) :: timestep__tmp210 211 IF (PRESENT(calendar_type_)) THEN212 calendar_type__tmp=cxios_is_defined_context_calendar_type(context_hdl%daddr)213 calendar_type_=calendar_type__tmp214 ENDIF215 130 216 131 IF (PRESENT(output_dir_)) THEN 217 132 output_dir__tmp=cxios_is_defined_context_output_dir(context_hdl%daddr) 218 133 output_dir_=output_dir__tmp 219 ENDIF220 221 IF (PRESENT(start_date_)) THEN222 start_date__tmp=cxios_is_defined_context_start_date(context_hdl%daddr)223 start_date_=start_date__tmp224 ENDIF225 226 IF (PRESENT(time_origin_)) THEN227 time_origin__tmp=cxios_is_defined_context_time_origin(context_hdl%daddr)228 time_origin_=time_origin__tmp229 ENDIF230 231 IF (PRESENT(timestep_)) THEN232 timestep__tmp=cxios_is_defined_context_timestep(context_hdl%daddr)233 timestep_=timestep__tmp234 134 ENDIF 235 135
Note: See TracChangeset
for help on using the changeset viewer.