Changeset 266 for XMLIO_V2/dev/common/src/xmlio/fortran/ixmlioserver.f03.in
- Timestamp:
- 09/06/11 16:45:08 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XMLIO_V2/dev/common/src/xmlio/fortran/ixmlioserver.f03.in
r219 r266 6 6 #include "macro.inc" 7 7 8 MODULE IXMLIOSERVER8 MODULE XIOS 9 9 USE, INTRINSIC :: ISO_C_BINDING 10 10 … … 110 110 111 111 SUBROUTINE xios_write_data(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 112 import C_INT, C_CHAR, C_PTR, C_ FLOAT, C_DOUBLE, C_BOOL112 import C_INT, C_CHAR, C_PTR, C_DOUBLE, C_BOOL 113 113 CHARACTER(kind = C_CHAR), DIMENSION(*) :: fieldid 114 114 INTEGER (kind = C_INT), VALUE :: fieldid_size … … 116 116 INTEGER (kind = C_INT), VALUE :: data_Xsize, data_Ysize, data_Zsize 117 117 END SUBROUTINE xios_write_data 118 119 SUBROUTINE xios_write_data_f(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 120 import C_INT, C_CHAR, C_PTR, C_FLOAT, C_BOOL 121 CHARACTER(kind = C_CHAR), DIMENSION(*) :: fieldid 122 INTEGER (kind = C_INT), VALUE :: fieldid_size 123 REAL(kind = C_FLOAT), DIMENSION(*) :: data_k4 124 INTEGER (kind = C_INT), VALUE :: data_Xsize, data_Ysize, data_Zsize 125 END SUBROUTINE xios_write_data_f 126 127 SUBROUTINE xios_init_ioserver(comm_client) BIND(C) 128 import C_INT 129 INTEGER (kind = C_INT) :: comm_client 130 END SUBROUTINE xios_init_ioserver 118 131 119 132 #define DECLARE_ATTRIBUTE(type, name) \ … … 149 162 150 163 CONTAINS ! Fonctions disponibles pour les utilisateurs. 164 165 SUBROUTINE init_ioserver(comm_client) 166 INTEGER, INTENT(INOUT) :: comm_client 167 CALL xios_init_ioserver(comm_client) 168 END SUBROUTINE init_ioserver 151 169 152 170 SUBROUTINE handle_create(ret, dtype, idt) … … 165 183 SUBROUTINE update_calendar(step) 166 184 INTEGER, INTENT(IN):: step 167 IF (step < 1) THEN168 PRINT *, "L'argument 'step' ne peut être négatif ou nul"169 STOP170 END IF171 185 CALL xios_update_calendar(step) 172 186 END SUBROUTINE update_calendar … … 255 269 SUBROUTINE dtreatment_end(context_hdl) 256 270 TYPE(XHandle), INTENT(IN), VALUE :: context_hdl 257 CALL context_set_current(context_hdl)271 !CALL context_set_current(context_hdl) 258 272 CALL xios_dtreatment_end() 259 273 END SUBROUTINE dtreatment_end 260 274 261 SUBROUTINE write_data (fieldid, & 262 data1d_k8, data2d_k8, data3d_k8) 275 SUBROUTINE write_data (fieldid, data1d_k4, data2d_k4, data3d_k4, data1d_k8, data2d_k8, data3d_k8) 263 276 CHARACTER(len = *), INTENT(IN) :: fieldid 264 277 REAL(kind = 8), DIMENSION(*), OPTIONAL, INTENT(IN) :: data1d_k8(:), data2d_k8(:,:), data3d_k8(:,:,:) 278 REAL(kind = 4), DIMENSION(*), OPTIONAL, INTENT(IN) :: data1d_k4(:), data2d_k4(:,:), data3d_k4(:,:,:) 279 265 280 IF((.NOT. PRESENT(data1d_k8)) .AND. & 266 281 (.NOT. PRESENT(data2d_k8)) .AND. & … … 269 284 STOP 270 285 END IF 286 271 287 IF (PRESENT (data1d_k8)) THEN 272 CALL xios_write_data(fieldid, len(fieldid), data1d_k8, & 273 size(data1d_k8, 1), -1, -1) 288 CALL xios_write_data(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1), -1, -1) 274 289 ELSE IF (PRESENT (data2d_k8)) THEN 275 CALL xios_write_data(fieldid, len(fieldid), data2d_k8, & 276 size(data2d_k8, 1), size(data2d_k8, 2), -1) 290 CALL xios_write_data(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2), -1) 277 291 ELSE IF (PRESENT (data3d_k8)) THEN 278 CALL xios_write_data(fieldid, len(fieldid), data3d_k8, & 279 size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 280 END IF 292 CALL xios_write_data(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 293 END IF 294 295 IF (PRESENT (data1d_k4)) THEN 296 CALL xios_write_data_f(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1), -1, -1) 297 ELSE IF (PRESENT (data2d_k4)) THEN 298 CALL xios_write_data_f(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2), -1) 299 ELSE IF (PRESENT (data3d_k4)) THEN 300 CALL xios_write_data_f(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 301 END IF 302 303 281 304 END SUBROUTINE 282 305 … … 389 412 END SUBROUTINE set_file_attributes 390 413 391 END MODULE IXMLIOSERVER414 END MODULE XIOS
Note: See TracChangeset
for help on using the changeset viewer.