Changeset 13717
- Timestamp:
- 2020-11-03T10:02:29+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/r12377_ticket2386/src/OCE
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/iom.F90
r13694 r13717 530 530 i = i + 1; fields(i)%vname="isf_hc_cav_b"; fields(i)%grid="grid_N" 531 531 i = i + 1; fields(i)%vname="isf_sc_cav_b"; fields(i)%grid="grid_N" 532 i = i + 1; fields(i)%vname="fwfisf_par_b"; fields(i)%grid="grid_N" 533 i = i + 1; fields(i)%vname="isf_hc_par_b"; fields(i)%grid="grid_N" 534 i = i + 1; fields(i)%vname="isf_sc_par_b"; fields(i)%grid="grid_N" 532 535 533 536 IF( i-1 > max_rst_fields) THEN … … 1352 1355 #if defined key_iomput 1353 1356 !would be good to be able to check which context is active and swap only if current is not restart 1357 idvar = iom_varid( kiomid, cdvar ) 1358 1354 1359 CALL iom_swap( TRIM(crxios_context) ) 1360 1361 zsgn = 1._wp 1362 IF( PRESENT(psgn ) ) zsgn = psgn 1363 cl_type = 'T' 1364 IF( PRESENT(cd_type) ) cl_type = cd_type 1365 1355 1366 IF( PRESENT(pv_r3d) ) THEN 1356 1367 IF(lwp) WRITE(numout,*) 'XIOS RST READ (3D): ',TRIM(cdvar) 1357 CALL xios_recv_field( trim(cdvar), pv_r3d) 1358 IF(idom /= jpdom_unknown ) CALL lbc_lnk( 'iom', pv_r3d,'Z', -999., kfillmode = jpfillnothing) 1368 CALL xios_recv_field( trim(cdvar), pv_r3d(Nis0:Nie0, Njs0:Nje0, :)) 1369 IF(idom /= jpdom_unknown .AND. cl_type /= 'Z' ) THEN 1370 CALL lbc_lnk( 'iom', pv_r3d, cl_type, zsgn, kfillmode = kfill) 1371 ENDIF 1359 1372 ELSEIF( PRESENT(pv_r2d) ) THEN 1360 1373 IF(lwp) WRITE(numout,*) 'XIOS RST READ (2D): ', TRIM(cdvar) 1361 CALL xios_recv_field( trim(cdvar), pv_r2d) 1362 IF(idom /= jpdom_unknown ) CALL lbc_lnk('iom', pv_r2d,'Z',-999., kfillmode = jpfillnothing) 1374 CALL xios_recv_field( trim(cdvar), pv_r2d(Nis0:Nie0, Njs0:Nje0)) 1375 IF(idom /= jpdom_unknown .AND. cl_type /= 'Z' ) THEN 1376 CALL lbc_lnk('iom', pv_r2d, cl_type, zsgn, kfillmode = kfill) 1377 ENDIF 1363 1378 ELSEIF( PRESENT(pv_r1d) ) THEN 1364 1379 IF(lwp) WRITE(numout,*) 'XIOS RST READ (1D): ', TRIM(cdvar) … … 1380 1395 zofs = iom_file(kiomid)%ofs(idvar) ! offset 1381 1396 IF( PRESENT(pv_r1d) ) THEN 1382 IF( zscf /= 1. ) pv_r1d(:) = pv_r1d(:) * zscf1383 IF( zofs /= 0. ) pv_r1d(:) = pv_r1d(:) + zofs1397 IF( zscf /= 1._wp ) pv_r1d(:) = pv_r1d(:) * zscf 1398 IF( zofs /= 0._wp ) pv_r1d(:) = pv_r1d(:) + zofs 1384 1399 ELSEIF( PRESENT(pv_r2d) ) THEN 1385 IF( zscf /= 1. ) pv_r2d(:,:) = pv_r2d(:,:) * zscf1386 IF( zofs /= 0. ) pv_r2d(:,:) = pv_r2d(:,:) + zofs1400 IF( zscf /= 1._wp) pv_r2d(:,:) = pv_r2d(:,:) * zscf 1401 IF( zofs /= 0._wp) pv_r2d(:,:) = pv_r2d(:,:) + zofs 1387 1402 ELSEIF( PRESENT(pv_r3d) ) THEN 1388 IF( zscf /= 1. ) pv_r3d(:,:,:) = pv_r3d(:,:,:) * zscf1389 IF( zofs /= 0. ) pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs1403 IF( zscf /= 1._wp) pv_r3d(:,:,:) = pv_r3d(:,:,:) * zscf 1404 IF( zofs /= 0._wp) pv_r3d(:,:,:) = pv_r3d(:,:,:) + zofs 1390 1405 ENDIF 1391 1406 ! -
NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfpar.F90
r13540 r13717 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.