Changeset 13728
- Timestamp:
- 2020-11-05T17:06:42+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_12905_xios_restart/src/OCE
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom.F90
r13727 r13728 1281 1281 #if defined key_iomput 1282 1282 !would be good to be able to check which context is active and swap only if current is not restart 1283 idvar = iom_varid( kiomid, cdvar ) 1284 1285 zsgn = 1._wp 1286 IF( PRESENT(psgn ) ) zsgn = psgn 1287 cl_type = 'T' 1288 IF( PRESENT(cd_type) ) cl_type = cd_type 1289 1283 1290 IF( PRESENT(pv_r3d) ) THEN 1284 1291 IF(lwp) WRITE(numout,*) 'XIOS RST READ (3D): ',TRIM(cdvar) 1285 CALL xios_recv_field( trim(cdvar), pv_r3d) 1286 IF(idom /= jpdom_unknown ) CALL lbc_lnk( 'iom', pv_r3d,'Z', -999., kfillmode = jpfillnothing) 1292 CALL xios_recv_field( trim(cdvar), pv_r3d(Nis0:Nie0, Njs0:Nje0, :)) 1293 IF(idom /= jpdom_unknown .AND. cl_type /= 'Z' ) THEN 1294 CALL lbc_lnk( 'iom', pv_r3d, cl_type, zsgn, kfillmode = kfill) 1295 ENDIF 1287 1296 ELSEIF( PRESENT(pv_r2d) ) THEN 1288 1297 IF(lwp) WRITE(numout,*) 'XIOS RST READ (2D): ', TRIM(cdvar) 1289 CALL xios_recv_field( trim(cdvar), pv_r2d) 1290 IF(idom /= jpdom_unknown ) CALL lbc_lnk('iom', pv_r2d,'Z',-999., kfillmode = jpfillnothing) 1298 CALL xios_recv_field( trim(cdvar), pv_r2d(Nis0:Nie0, Njs0:Nje0)) 1299 IF(idom /= jpdom_unknown .AND. cl_type /= 'Z' ) THEN 1300 CALL lbc_lnk('iom', pv_r2d, cl_type, zsgn, kfillmode = kfill) 1301 ENDIF 1291 1302 ELSEIF( PRESENT(pv_r1d) ) THEN 1292 1303 IF(lwp) WRITE(numout,*) 'XIOS RST READ (1D): ', TRIM(cdvar) … … 1307 1318 zofs = iom_file(kiomid)%ofs(idvar) ! offset 1308 1319 IF( PRESENT(pv_r1d) ) THEN 1309 IF( zscf /= 1. ) pv_r1d(:) = pv_r1d(:) * zscf1310 IF( zofs /= 0. ) pv_r1d(:) = pv_r1d(:) + zofs1320 IF( zscf /= 1._wp ) pv_r1d(:) = pv_r1d(:) * zscf 1321 IF( zofs /= 0._wp ) pv_r1d(:) = pv_r1d(:) + zofs 1311 1322 ELSEIF( PRESENT(pv_r2d) ) THEN 1312 IF( zscf /= 1. ) pv_r2d(:,:) = pv_r2d(:,:) * zscf1313 IF( zofs /= 0. ) pv_r2d(:,:) = pv_r2d(:,:) + zofs1323 IF( zscf /= 1._wp) pv_r2d(:,:) = pv_r2d(:,:) * zscf 1324 IF( zofs /= 0._wp) pv_r2d(:,:) = pv_r2d(:,:) + zofs 1314 1325 ELSEIF( PRESENT(pv_r3d) ) THEN 1315 IF( zscf /= 1. ) pv_r3d(:,:,:) = pv_r3d(:,:,:) * zscf1316 IF( zofs /= 0. ) pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs1326 IF( zscf /= 1._wp) pv_r3d(:,:,:) = pv_r3d(:,:,:) * zscf 1327 IF( zofs /= 0._wp) pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs 1317 1328 ENDIF 1318 1329 ! -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90
r13727 r13728 116 116 clpname = TRIM(Agrif_CFixed())//"_"//clname 117 117 ENDIF 118 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,&119 ld_closedef = .FALSE.)118 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname), .false. ) 119 CALL xios_update_calendar(nitrst) 120 120 CALL iom_swap( cxios_context ) 121 121 #else -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/ISF/isfpar.F90
r13727 r13728 152 152 ! read par variable from restart 153 153 IF ( ln_rstart ) CALL isfrst_read('par', risf_par_tsc, fwfisf_par, risf_par_tsc_b, fwfisf_par_b) 154 !define fields for restart 155 IF( lwxios ) THEN 156 CALL iom_set_rstw_var_active( 'fwfisf_'//'par'//'_b') 157 CALL iom_set_rstw_var_active( 'isf_hc_'//'par'//'_b') 158 CALL iom_set_rstw_var_active( 'isf_sc_'//'par'//'_b') 159 ENDIF 160 154 161 ! 155 162 SELECT CASE ( TRIM(cn_isfpar_mlt) )
Note: See TracChangeset
for help on using the changeset viewer.