Changeset 593 for XIOS/trunk/src/interface/fortran/idata.F90
- Timestamp:
- 05/26/15 16:13:45 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/trunk/src/interface/fortran/idata.F90
r587 r593 113 113 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 114 114 END SUBROUTINE cxios_write_data_k43 115 116 SUBROUTINE cxios_read_data_k81(fieldid, fieldid_size, data_k8, data_Xsize) BIND(C) 117 USE ISO_C_BINDING 118 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 119 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 120 INTEGER (kind = C_INT) , VALUE :: fieldid_size 121 INTEGER (kind = C_INT) , VALUE :: data_Xsize 122 END SUBROUTINE cxios_read_data_k81 123 124 SUBROUTINE cxios_read_data_k82(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize) BIND(C) 125 USE ISO_C_BINDING 126 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 127 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 128 INTEGER (kind = C_INT) , VALUE :: fieldid_size 129 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 130 END SUBROUTINE cxios_read_data_k82 131 132 SUBROUTINE cxios_read_data_k83(fieldid, fieldid_size, data_k8, data_Xsize, data_Ysize, data_Zsize) BIND(C) 133 USE ISO_C_BINDING 134 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 135 REAL (kind = C_DOUBLE), DIMENSION(*) :: data_k8 136 INTEGER (kind = C_INT) , VALUE :: fieldid_size 137 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 138 END SUBROUTINE cxios_read_data_k83 139 140 SUBROUTINE cxios_read_data_k41(fieldid, fieldid_size, data_k4, data_Xsize) BIND(C) 141 USE ISO_C_BINDING 142 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 143 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 144 INTEGER (kind = C_INT) , VALUE :: fieldid_size 145 INTEGER (kind = C_INT) , VALUE :: data_Xsize 146 END SUBROUTINE cxios_read_data_k41 147 148 SUBROUTINE cxios_read_data_k42(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize) BIND(C) 149 USE ISO_C_BINDING 150 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 151 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 152 INTEGER (kind = C_INT) , VALUE :: fieldid_size 153 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize 154 END SUBROUTINE cxios_read_data_k42 155 156 SUBROUTINE cxios_read_data_k43(fieldid, fieldid_size, data_k4, data_Xsize, data_Ysize, data_Zsize) BIND(C) 157 USE ISO_C_BINDING 158 CHARACTER(kind = C_CHAR) , DIMENSION(*) :: fieldid 159 REAL (kind = C_FLOAT) , DIMENSION(*) :: data_k4 160 INTEGER (kind = C_INT) , VALUE :: fieldid_size 161 INTEGER (kind = C_INT) , VALUE :: data_Xsize, data_Ysize, data_Zsize 162 END SUBROUTINE cxios_read_data_k43 115 163 116 164 ! Binding C and Fortran interface of get_variable (icdata.cpp) … … 276 324 END SUBROUTINE xios(solve_inheritance) 277 325 278 326 ! Send field functions 279 327 SUBROUTINE xios(send_scalar_r8)(fieldid, data_k8) 280 328 IMPLICIT NONE … … 335 383 END SUBROUTINE xios(send_field_r4_3d) 336 384 385 ! Receive field functions 386 SUBROUTINE xios(recv_field_r8_1d)(fieldid, data1d_k8) 387 IMPLICIT NONE 388 CHARACTER(len = *) , INTENT(IN) :: fieldid 389 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data1d_k8(:) 390 CALL cxios_read_data_k81(fieldid, len(fieldid), data1d_k8, size(data1d_k8, 1)) 391 END SUBROUTINE xios(recv_field_r8_1d) 392 393 SUBROUTINE xios(recv_field_r8_2d)(fieldid, data2d_k8) 394 IMPLICIT NONE 395 CHARACTER(len = *) , INTENT(IN) :: fieldid 396 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data2d_k8(:,:) 397 CALL cxios_read_data_k82(fieldid, len(fieldid), data2d_k8, size(data2d_k8, 1), size(data2d_k8, 2)) 398 END SUBROUTINE xios(recv_field_r8_2d) 399 400 SUBROUTINE xios(recv_field_r8_3d)(fieldid, data3d_k8) 401 IMPLICIT NONE 402 CHARACTER(len = *) , INTENT(IN) :: fieldid 403 REAL (kind = 8), DIMENSION(*), INTENT(OUT) :: data3d_k8(:,:,:) 404 CALL cxios_read_data_k83(fieldid, len(fieldid), data3d_k8, size(data3d_k8, 1), size(data3d_k8, 2), size(data3d_k8, 3)) 405 END SUBROUTINE xios(recv_field_r8_3d) 406 407 SUBROUTINE xios(recv_field_r4_1d)(fieldid, data1d_k4) 408 IMPLICIT NONE 409 CHARACTER(len = *) , INTENT(IN) :: fieldid 410 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data1d_k4(:) 411 CALL cxios_read_data_k41(fieldid, len(fieldid), data1d_k4, size(data1d_k4, 1)) 412 END SUBROUTINE xios(recv_field_r4_1d) 413 414 SUBROUTINE xios(recv_field_r4_2d)(fieldid, data2d_k4) 415 IMPLICIT NONE 416 CHARACTER(len = *) , INTENT(IN) :: fieldid 417 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data2d_k4(:,:) 418 CALL cxios_read_data_k42(fieldid, len(fieldid), data2d_k4, size(data2d_k4, 1), size(data2d_k4, 2)) 419 END SUBROUTINE xios(recv_field_r4_2d) 420 421 SUBROUTINE xios(recv_field_r4_3d)(fieldid, data3d_k4) 422 IMPLICIT NONE 423 CHARACTER(len = *) , INTENT(IN) :: fieldid 424 REAL (kind = 4), DIMENSION(*), INTENT(OUT) :: data3d_k4(:,:,:) 425 CALL cxios_read_data_k43(fieldid, len(fieldid), data3d_k4, size(data3d_k4, 1), size(data3d_k4, 2), size(data3d_k4, 3)) 426 END SUBROUTINE xios(recv_field_r4_3d) 427 337 428 ! Get variable functions 338 429 LOGICAL FUNCTION xios(getVar_k8)(varId, data_k8)
Note: See TracChangeset
for help on using the changeset viewer.