Changeset 1608 for XIOS/dev/dev_trunk_omp
- Timestamp:
- 11/21/18 17:16:13 (5 years ago)
- Location:
- XIOS/dev/dev_trunk_omp
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
XIOS/dev/dev_trunk_omp/arch/arch-IRENE_omp.env
r1605 r1608 9 9 module load feature/bridge/heterogenous_mpmd 10 10 11 module unload netcdf 12 module unload hdf5 11 #module unload netcdf 12 #module unload hdf5 13 #module unload netcdf-fortran 13 14 14 15 export HDF5_INC_DIR=$HOME/lib/hdf5_intel/include -
XIOS/dev/dev_trunk_omp/arch/arch-IRENE_omp.fcm
r1605 r1608 3 3 ################################################################################ 4 4 5 %CCOMPILER mpicc -qopenmp -D_usingEP -D_ openmpi -std=c++115 %CCOMPILER mpicc -qopenmp -D_usingEP -D_intelmpi -std=c++11 6 6 %FCOMPILER mpif90 -qopenmp 7 7 %LINKER mpif90 -qopenmp -nofor-main -Wl,-rpath -Wl,$HOME/lib/netcdf_f_intel/lib -
XIOS/dev/dev_trunk_omp/arch/arch-IRENE_omp.path
r1605 r1608 1 1 NETCDF_INCDIR="-I $NETCDFC_INCDIR -I $NETCDFFORTRAN_INCDIR -I $NETCDF_INC_DIR -I $HOME/lib/netcdf_f_intel/include" 2 2 NETCDF_LIBDIR="-L $NETCDFC_LIBDIR -L $NETCDFFORTRAN_LIBDIR -L $NETCDF_LIB_DIR -L $HOME/lib/netcdf_f_intel/lib" 3 NETCDF_LIB="-lnetcdf -lnetcdff "3 NETCDF_LIB="-lnetcdf -lnetcdff -lnetcdf" 4 4 5 5 MPI_INCDIR="" -
XIOS/dev/dev_trunk_omp/bld.cfg
r1605 r1608 50 50 #bld::target test_xios2_cmip6.exe 51 51 #bld::target test_new_features.exe test_unstruct_complete.exe 52 #bld::target test_remap.exe 52 bld::target test_remap.exe 53 bld::target test_remap_omp.exe 53 54 #bld::target test_complete.exe 54 55 bld::target test_complete_omp.exe -
XIOS/dev/dev_trunk_omp/inputs/REMAP/iodef.xml
r1136 r1608 114 114 <generate_rectilinear_domain id="domain_regular_pole"/> 115 115 <interpolate_domain/> 116 < zoom_domain ibegin="0" ni="45" jbegin="0" nj="45" />116 <!--<zoom_domain ibegin="0" ni="45" jbegin="0" nj="45" /> --> 117 117 </domain> 118 118 <domain id="dst_domain_regular" ni_glo="90" nj_glo="45" type="rectilinear"> -
XIOS/dev/dev_trunk_omp/src/test/test_remap_omp.f90
r1604 r1608 17 17 TYPE(xios_context) :: ctx_hdl 18 18 19 DOUBLE PRECISION,ALLOCATABLE :: src_lon(:), dst_lon(:) , src_lon_tmp(:)20 DOUBLE PRECISION,ALLOCATABLE :: src_lat(:), dst_lat(:) , src_lat_tmp(:)19 DOUBLE PRECISION,ALLOCATABLE :: src_lon(:), dst_lon(:) 20 DOUBLE PRECISION,ALLOCATABLE :: src_lat(:), dst_lat(:) 21 21 DOUBLE PRECISION,ALLOCATABLE :: src_boundslon(:,:), dst_boundslon(:,:) 22 22 DOUBLE PRECISION,ALLOCATABLE :: src_boundslat(:,:), dst_boundslat(:,:) 23 DOUBLE PRECISION,ALLOCATABLE :: src_field_2D(:) , src_field_2D_clone(:)23 DOUBLE PRECISION,ALLOCATABLE :: src_field_2D(:) 24 24 DOUBLE PRECISION,ALLOCATABLE :: tmp_field_0(:), tmp_field_1(:), tmp_field_2(:) 25 25 DOUBLE PRECISION,ALLOCATABLE :: src_field_3D(:,:), src_field_4D(:,:,:), lval(:), lval1(:), lval2(:), src_field_pression(:,:) … … 37 37 INTEGER :: varid 38 38 INTEGER :: ts 39 INTEGER :: i ,j39 INTEGER :: i 40 40 INTEGER,PARAMETER :: llm=5, interpolatedLlm = 4, llm2 = 6 41 41 DOUBLE PRECISION, PARAMETER :: missing_value = 100000 … … 83 83 ENDIF 84 84 85 ALLOCATE(src_lon(src_ni) , src_lon_tmp(src_ni))86 ALLOCATE(src_lat(src_ni) , src_lat_tmp(src_ni))85 ALLOCATE(src_lon(src_ni)) 86 ALLOCATE(src_lat(src_ni)) 87 87 ALLOCATE(src_boundslon(src_nvertex,src_ni)) 88 88 ALLOCATE(src_boundslat(src_nvertex,src_ni)) 89 ALLOCATE(src_field_2D(src_ni) , src_field_2D_clone(src_ni))89 ALLOCATE(src_field_2D(src_ni)) 90 90 ALLOCATE(src_field_3D(src_ni,llm)) 91 91 ALLOCATE(src_field_4D(src_ni,llm,llm2)) … … 111 111 DO i=1,src_ni 112 112 src_field_3D(i,:) = src_field_2D(i) 113 IF ( (0 < src_lat(i)) .AND. (src_lat(i) < 25.5) .AND. (30 < src_lon(i)) .AND. (src_lon(i) < 60)) THEN113 IF (MOD(i,10)==0) THEN 114 114 src_mask_2D(i)=.FALSE. 115 ! src_field_2D(i) = missing_value116 115 ELSE 117 src_mask_2D(i)=.TRUE. 116 src_mask_2D(i)=.TRUE. 118 117 ENDIF 119 src_lon_tmp(i) = src_lon(i) + 1000 120 src_lat_tmp(i) = src_lat(i) + 10000 121 ENDDO 122 src_field_2D_clone = src_field_2D 118 ENDDO 123 119 124 120 DO i=1,llm 125 121 lval(i) = i*100 126 122 src_field_pression(:,i) = i * 100 127 IF (MOD(i,3)==0) THEN 128 ! src_field_pression(:,i) = missing_value 129 src_field_3D(:,i) = missing_value 130 ELSE 131 ! src_field_pression(:,i) = i * 100 132 src_field_3D(:,i) = src_field_3D(:,i) + i * 10 133 ENDIF 134 ! src_field_3D(:,i) = src_field_3D(:,i) + i * 10 123 src_field_3D(:,i) = src_field_3D(:,i) + i * 10 135 124 ENDDO 136 125 137 126 DO i=1,llm2 138 src_field_4D(:,:,i) = src_field_3D(:,:) + i * 100127 src_field_4D(:,:,i) = src_field_3D(:,:) 139 128 ENDDO 140 129 … … 206 195 bounds_lon_1D=dst_boundslon, bounds_lat_1D=dst_boundslat, nvertex=dst_nvertex) 207 196 208 !CALL xios_set_domain_attr("src_domain_unstructured_read", ni_glo=src_ni_glo, ibegin=src_ibegin, ni=src_ni, type="unstructured")209 !CALL xios_set_domain_attr("src_domain_unstructured_read", lonvalue_1D=src_lon_tmp, latvalue_1D=src_lat_tmp, &210 ! bounds_lon_1D=src_boundslon, bounds_lat_1D=src_boundslat, nvertex=src_nvertex)211 212 213 197 dtime%second = 3600 214 198 CALL xios_set_timestep(dtime) … … 226 210 !CALL xios_get_domain_attr("src_domain_unstructured_read", ni=src_tmp_ni, nj=src_tmp_nj) 227 211 !ALLOCATE(tmp_field_2(src_tmp_ni*src_tmp_nj)) 228 212 229 213 DO ts=1,1 230 214 CALL xios_recv_field("src_field_regular", tmp_field_0) … … 232 216 !CALL xios_recv_field("src_field_unstructured", tmp_field_2) 233 217 CALL xios_update_calendar(ts) 234 235 !DO i=1,src_ni236 ! src_field_2D_clone(i) = src_field_2D(i)237 ! IF ((23.5 * ts < src_lat(i)) .AND. (src_lat(i) < 65.5 *ts) .AND. (0 < src_lon(i)) .AND. (src_lon(i) < 30*ts)) THEN238 ! src_field_2D_clone(i) = missing_value239 ! ENDIF240 !ENDDO241 242 218 CALL xios_send_field("src_field_2D",src_field_2D) 243 219 CALL xios_send_field("src_field_2D_clone",src_field_2D) … … 255 231 DEALLOCATE(src_lon, src_lat, src_boundslon,src_boundslat, src_field_2D) 256 232 DEALLOCATE(dst_lon, dst_lat, dst_boundslon,dst_boundslat) 257 DEALLOCATE(tmp_field_0) 258 !DEALLOCATE(tmp_field_1) 259 !DEALLOCATE(tmp_field_2) 260 261 CALL xios_finalize() 262 263 print *, "Client : xios_finalize ", rank 264 233 ! DEALLOCATE(tmp_field_0, tmp_field_1, tmp_field_2) 234 235 CALL xios_finalize() 236 print *, "Client : xios_finalize OK", rank, size 237 265 238 !$omp barrier 266 239 … … 290 263 291 264 265
Note: See TracChangeset
for help on using the changeset viewer.