Changeset 593 for XIOS/trunk/src/interface/fortran
- Timestamp:
- 05/26/15 16:13:45 (9 years ago)
- Location:
- XIOS/trunk/src/interface/fortran
- Files:
-
- 3 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) -
XIOS/trunk/src/interface/fortran/ixios.F90
r587 r593 67 67 USE iaxisgroup_attr, ONLY : xios(set_axisgroup_attr), xios(get_axisgroup_attr), xios(is_defined_axisgroup_attr) 68 68 69 USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), &70 xios( add_child), xios(send_field), xios(send_scalar), xios(field_is_active), xios(getVar), xios(setVar)69 USE XIOS_INTERFACES, ONLY : xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & 70 xios(send_field), xios(send_scalar), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar) 71 71 72 72 END MODULE XIOS -
XIOS/trunk/src/interface/fortran/ixios_interfaces.F90
r587 r593 7 7 USE icontext_attr, ONLY : xios(set_context_attr_hdl), xios(get_context_attr_hdl), xios(is_defined_context_attr_hdl) 8 8 9 USE idata, ONLY : xios(send_scalar_r8), xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & 10 xios(send_scalar_r4), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 11 xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), & 9 USE idata, ONLY : xios(send_scalar_r8), xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & 10 xios(send_scalar_r4), xios(send_field_r4_1d), xios(send_field_r4_2d), xios(send_field_r4_3d), & 11 xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 12 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d), & 13 xios(getVar_k8), xios(getVar_k4), xios(getVar_int), xios(getVar_logic), xios(getVar_char), & 12 14 xios(setVar_k8), xios(setVar_k4), xios(setVar_int), xios(setVar_logic), xios(setVar_char) 13 15 … … 96 98 END INTERFACE xios(add_child) 97 99 98 99 100 INTERFACE xios(send_field) 100 101 MODULE PROCEDURE xios(send_field_r8_1d), xios(send_field_r8_2d), xios(send_field_r8_3d), & … … 105 106 MODULE PROCEDURE xios(send_scalar_r8), xios(send_scalar_r4) 106 107 END INTERFACE xios(send_scalar) 108 109 INTERFACE xios(recv_field) 110 MODULE PROCEDURE xios(recv_field_r8_1d), xios(recv_field_r8_2d), xios(recv_field_r8_3d), & 111 xios(recv_field_r4_1d), xios(recv_field_r4_2d), xios(recv_field_r4_3d) 112 END INTERFACE xios(recv_field) 107 113 108 114 INTERFACE xios(field_is_active) … … 118 124 END INTERFACE xios(setVar) 119 125 120 PUBLIC :: xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), &121 xios( add_child), xios(send_field), xios(field_is_active), xios(getVar), xios(setVar), xios(send_scalar)126 PUBLIC :: xios(set_attr), xios(get_attr), xios(is_defined_attr), xios(get_handle), xios(add_child), & 127 xios(send_scalar), xios(send_field), xios(recv_field), xios(field_is_active), xios(getVar), xios(setVar) 122 128 123 129 END MODULE XIOS_INTERFACES
Note: See TracChangeset
for help on using the changeset viewer.