Changeset 13750 for NEMO/branches
- Timestamp:
- 2020-11-09T16:35:44+01:00 (4 years ago)
- Location:
- NEMO/branches/2020/dev_12905_xios_restart
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
NEMO/branches/2020/dev_12905_xios_restart/src/ICE/icerst.F90
r13727 r13750 95 95 clpname = TRIM(Agrif_CFixed())//"_"//clname 96 96 ENDIF 97 CALL iom_init( cwixios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 98 ld_closedef = .FALSE. ) 97 CALL iom_init( cwixios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 99 98 CALL iom_swap( cxios_context ) 100 99 #else … … 228 227 ENDIF 229 228 CALL iom_init( crixios_context, fname = TRIM(cn_icerst_indir)//'/'//TRIM(clpname), & 230 idfp = iom_file(numrir)%nfid, ld_ tmppatch= .TRUE. )229 idfp = iom_file(numrir)%nfid, ld_closedef = .TRUE. ) 231 230 ENDIF 232 231 -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/DOM/domqco.F90
r13727 r13750 91 91 ! 92 92 CALL dom_qco_zgr(Kbb, Kmm, Kaa) ! interpolation scale factor, depth and water column 93 !94 ! IF(lwxios) THEN ! define variables in restart file when writing with XIOS95 ! CALL iom_set_rstw_var_active('e3t_b')96 ! CALL iom_set_rstw_var_active('e3t_n')97 ! ENDIF98 93 ! 99 94 END SUBROUTINE dom_qco_init -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/iom.F90
r13728 r13750 103 103 CONTAINS 104 104 105 SUBROUTINE iom_init( cdname, fname, ld_closedef )105 SUBROUTINE iom_init( cdname, fname, idfp, ld_closedef ) 106 106 !!---------------------------------------------------------------------- 107 107 !! *** ROUTINE *** … … 450 450 451 451 452 SUBROUTINE iom_set_rstw_active(sdfield, rd0, r d1, rd2, rd3)452 SUBROUTINE iom_set_rstw_active(sdfield, rd0, rs0, rd1, rs1, rd2, rs2, rd3, rs3) 453 453 !!--------------------------------------------------------------------- 454 454 !! *** SUBROUTINE iom_set_rstw_active *** … … 459 459 !sets enabled = .TRUE. for each field in restart file 460 460 CHARACTER(len = *), INTENT(IN) :: sdfield 461 REAL(wp), OPTIONAL, INTENT(IN) :: rd0 462 REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:) :: rd1 463 REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:, :) :: rd2 464 REAL(wp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3 461 REAL(dp), OPTIONAL, INTENT(IN) :: rd0 462 REAL(sp), OPTIONAL, INTENT(IN) :: rs0 463 REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:) :: rd1 464 REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:) :: rs1 465 REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :) :: rd2 466 REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :) :: rs2 467 REAL(dp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rd3 468 REAL(sp), OPTIONAL, INTENT(IN), DIMENSION(:, :, :) :: rs3 465 469 #if defined key_iomput 466 470 TYPE(xios_field) :: field_hdl … … 479 483 domain_ref="grid_N", axis_ref=TRIM(iom_axis(size(rd3, 3))), & 480 484 prec = 8, operation = "instant") 481 ENDIF 482 483 IF(PRESENT(rd2)) THEN 485 ELSEIF(PRESENT(rs3)) THEN 486 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 487 domain_ref="grid_N", axis_ref=TRIM(iom_axis(size(rd3, 3))), & 488 prec = 4, operation = "instant") 489 ELSEIF(PRESENT(rd2)) THEN 484 490 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 485 491 domain_ref="grid_N", prec = 8, operation = "instant") 486 ENDIF 487 488 IF(PRESENT(rd1)) THEN 492 ELSEIF(PRESENT(rs2)) THEN 493 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 494 domain_ref="grid_N", prec = 4, operation = "instant") 495 ELSEIF(PRESENT(rd1)) THEN 489 496 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 490 497 axis_ref=TRIM(iom_axis(size(rd1, 1))), prec = 8, operation = "instant") 491 ENDIF 492 493 IF(PRESENT(rd0)) THEN 498 ELSEIF(PRESENT(rs1)) THEN 499 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 500 axis_ref=TRIM(iom_axis(size(rd1, 1))), prec = 4, operation = "instant") 501 ELSEIF(PRESENT(rd0)) THEN 494 502 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 495 503 scalar_ref = "grid_scalar", prec = 8, operation = "instant") 504 ELSEIF(PRESENT(rs0)) THEN 505 CALL xios_set_attr (field_hdl, enabled = .TRUE., name = TRIM(sdfield), & 506 scalar_ref = "grid_scalar", prec = 4, operation = "instant") 496 507 ENDIF 497 508 #endif … … 1516 1527 IF( kt == kwrite ) THEN 1517 1528 IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 1518 CALL xios_send_field(trim(cdvar), pvar) 1529 CALL iom_put(trim(cdvar), pvar) 1530 ELSE 1531 IF(lwp) write(numout,*) 'RESTART: define (XIOS 0D) ',trim(cdvar) 1532 CALL iom_set_rstw_active( trim(cdvar), rs0 = pvar ) 1519 1533 ENDIF 1520 1534 #endif … … 1546 1560 IF( kt == kwrite ) THEN 1547 1561 IF(lwp) write(numout,*) 'RESTART: write (XIOS 0D) ',trim(cdvar) 1548 CALL xios_send_field(trim(cdvar), pvar) 1562 CALL iom_put(trim(cdvar), pvar) 1563 ELSE 1564 IF(lwp) write(numout,*) 'RESTART: define (XIOS 0D) ',trim(cdvar) 1565 CALL iom_set_rstw_active( trim(cdvar), rd0 = pvar ) 1549 1566 ENDIF 1550 1567 #endif … … 1577 1594 IF( kt == kwrite ) THEN 1578 1595 IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 1579 CALL xios_send_field(trim(cdvar), pvar) 1596 CALL iom_put(trim(cdvar), pvar) 1597 ELSE 1598 IF(lwp) write(numout,*) 'RESTART: define (XIOS 1D)',trim(cdvar) 1599 CALL iom_set_rstw_active( trim(cdvar), rs1 = pvar ) 1580 1600 ENDIF 1581 1601 #endif … … 1607 1627 IF( kt == kwrite ) THEN 1608 1628 IF(lwp) write(numout,*) 'RESTART: write (XIOS 1D) ',trim(cdvar) 1609 CALL xios_send_field(trim(cdvar), pvar) 1629 CALL iom_put(trim(cdvar), pvar) 1630 ELSE 1631 IF(lwp) write(numout,*) 'RESTART: define (XIOS 1D)',trim(cdvar) 1632 CALL iom_set_rstw_active( trim(cdvar), rd1 = pvar ) 1610 1633 ENDIF 1611 1634 #endif … … 1638 1661 IF( kt == kwrite ) THEN 1639 1662 IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 1640 CALL xios_send_field(trim(cdvar), pvar) 1663 CALL iom_put(trim(cdvar), pvar) 1664 ELSE 1665 IF(lwp) write(numout,*) 'RESTART: define (XIOS 2D)',trim(cdvar) 1666 CALL iom_set_rstw_active( trim(cdvar), rs2 = pvar ) 1641 1667 ENDIF 1642 1668 #endif … … 1668 1694 IF( kt == kwrite ) THEN 1669 1695 IF(lwp) write(numout,*) 'RESTART: write (XIOS 2D) ',trim(cdvar) 1670 CALL xios_send_field(trim(cdvar), pvar) 1696 CALL iom_put(trim(cdvar), pvar) 1697 ELSE 1698 IF(lwp) write(numout,*) 'RESTART: define (XIOS 2D)',trim(cdvar) 1699 CALL iom_set_rstw_active( trim(cdvar), rd2 = pvar ) 1671 1700 ENDIF 1672 1701 #endif … … 1699 1728 IF( kt == kwrite ) THEN 1700 1729 IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 1701 CALL xios_send_field(trim(cdvar), pvar) 1730 CALL iom_put(trim(cdvar), pvar) 1731 ELSE 1732 IF(lwp) write(numout,*) 'RESTART: define (XIOS 3D)',trim(cdvar) 1733 CALL iom_set_rstw_active( trim(cdvar), rs3 = pvar ) 1702 1734 ENDIF 1703 1735 #endif … … 1729 1761 IF( kt == kwrite ) THEN 1730 1762 IF(lwp) write(numout,*) 'RESTART: write (XIOS 3D) ',trim(cdvar) 1731 CALL xios_send_field(trim(cdvar), pvar) 1763 CALL iom_put(trim(cdvar), pvar) 1764 ELSE 1765 IF(lwp) write(numout,*) 'RESTART: define (XIOS 3D)',trim(cdvar) 1766 CALL iom_set_rstw_active( trim(cdvar), rd3 = pvar ) 1732 1767 ENDIF 1733 1768 #endif -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/IOM/restart.F90
r13728 r13750 116 116 clpname = TRIM(Agrif_CFixed())//"_"//clname 117 117 ENDIF 118 CALL iom_init( cwxios_context, TRIM(clpath)//TRIM(clpname), .false. ) 119 CALL xios_update_calendar(nitrst) 118 CALL iom_init( cwxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .false. ) 120 119 CALL iom_swap( cxios_context ) 121 120 #else … … 221 220 ENDIF 222 221 CALL iom_init( crxios_context, fname = TRIM(clpath)//TRIM(clpname), & 223 idfp = iom_file(numror)%nfid, ld_ tmppatch= .TRUE. )222 idfp = iom_file(numror)%nfid, ld_closedef = .TRUE. ) 224 223 ENDIF 225 224 … … 261 260 262 261 ! Diurnal DSST 263 IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto glo, 'Dsst' , x_dsst, ldxios = lroxios )262 IF( ln_diurnal ) CALL iom_get( numror, jpdom_auto, 'Dsst' , x_dsst, ldxios = lroxios ) 264 263 IF ( ln_diurnal_only ) THEN 265 264 IF(lwp) WRITE( numout, * ) & -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/ISF/isfcpl.F90
r13727 r13750 119 119 #if ! defined key_qco 120 120 e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm) 121 121 #endif 122 122 END SUBROUTINE isfcpl_init 123 123 ! -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/ISF/isfpar.F90
r13728 r13750 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 restart155 IF( lwxios ) THEN156 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 ENDIF160 161 154 ! 162 155 SELECT CASE ( TRIM(cn_isfpar_mlt) ) -
NEMO/branches/2020/dev_12905_xios_restart/src/OCE/nemogcm.F90
r13727 r13750 437 437 CALL Agrif_Declare_Var_ini ! " " " " " DOM 438 438 #endif 439 CALL dom_init( Nbb, Nnn, Naa , "OPA") ! Domain439 CALL dom_init( Nbb, Nnn, Naa ) ! Domain 440 440 IF( ln_crs ) CALL crs_init( Nnn ) ! coarsened grid: domain initialization 441 441 IF( sn_cfctl%l_prtctl ) & -
NEMO/branches/2020/dev_12905_xios_restart/src/SAS/nemogcm.F90
r13727 r13750 374 374 CALL Agrif_Declare_Var_ini ! " " " " " DOM 375 375 #endif 376 CALL dom_init( Nbb, Nnn, Naa , 'SAS') ! Domain376 CALL dom_init( Nbb, Nnn, Naa ) ! Domain 377 377 IF( sn_cfctl%l_prtctl ) & 378 378 & CALL prt_ctl_init ! Print control -
NEMO/branches/2020/dev_12905_xios_restart/src/SWE/domain.F90
r13458 r13750 66 66 CONTAINS 67 67 68 SUBROUTINE dom_init( Kbb, Kmm, Kaa , cdstr)68 SUBROUTINE dom_init( Kbb, Kmm, Kaa ) 69 69 !!---------------------------------------------------------------------- 70 70 !! *** ROUTINE dom_init *** … … 82 82 !!---------------------------------------------------------------------- 83 83 INTEGER , INTENT(in) :: Kbb, Kmm, Kaa ! ocean time level indices 84 CHARACTER (len=*), INTENT(in) :: cdstr ! model: NEMO or SAS. Determines core restart variables85 84 ! 86 85 !!st6 … … 135 134 CALL dom_nam ! read namelist ( namrun, namdom ) 136 135 ! 137 IF( lwxios ) THEN138 !define names for restart write and set core output (restart.F90)139 CALL iom_set_rst_vars(rst_wfields)140 CALL iom_set_rstw_core(cdstr)141 ENDIF142 !reset namelist for SAS143 IF(cdstr == 'SAS') THEN144 IF(lrxios) THEN145 IF(lwp) write(numout,*) 'Disable reading restart file using XIOS for SAS'146 lrxios = .FALSE.147 ENDIF148 ENDIF149 !150 136 CALL dom_hgr ! Horizontal mesh 151 137 -
NEMO/branches/2020/dev_12905_xios_restart/src/SWE/nemogcm.F90
r12983 r13750 383 383 CALL phy_cst ! Physical constants 384 384 385 CALL dom_init( Nbb, Nnn, Naa , "OPA") ! Domain385 CALL dom_init( Nbb, Nnn, Naa ) ! Domain 386 386 387 387 IF( sn_cfctl%l_prtctl ) & -
NEMO/branches/2020/dev_12905_xios_restart/src/TOP/PISCES/SED/sedrst.F90
r13727 r13750 91 91 clpname = TRIM(Agrif_CFixed())//"_"//clname 92 92 ENDIF 93 CALL iom_init( cwsxios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 94 ld_closedef = .FALSE. ) 93 CALL iom_init( cwsxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 95 94 CALL iom_swap( cxios_context ) 96 95 #else … … 392 391 ENDIF 393 392 CALL iom_init( crsxios_context, fname = TRIM(cn_sedrst_indir)//'/'//TRIM(clpname), & 394 idfp = iom_file(numrsr)%nfid, ld_ tmppatch= .TRUE. )393 idfp = iom_file(numrsr)%nfid, ld_closedef = .TRUE. ) 395 394 ENDIF 396 395 IF(lrsxios) CALL iom_swap(crsxios_context) -
NEMO/branches/2020/dev_12905_xios_restart/src/TOP/trcrst.F90
r13727 r13750 102 102 clpname = TRIM(Agrif_CFixed())//"_"//clname 103 103 ENDIF 104 CALL iom_init( cwtxios_context, TRIM(clpath)//TRIM(clpname), ld_tmppatch = .false.,& 105 ld_closedef = .FALSE. ) 104 CALL iom_init( cwtxios_context, fname = TRIM(clpath)//TRIM(clpname), ld_closedef = .FALSE. ) 106 105 CALL iom_swap( cxios_context ) 107 106 #else … … 245 244 ENDIF 246 245 CALL iom_init( crtxios_context, fname = TRIM(cn_trcrst_indir)//'/'//TRIM(clpname), & 247 idfp = iom_file(numrtr)%nfid, ld_ tmppatch= .TRUE. )246 idfp = iom_file(numrtr)%nfid, ld_closedef = .TRUE. ) 248 247 ENDIF 249 248 -
NEMO/branches/2020/dev_12905_xios_restart/tests/VORTEX/MY_SRC/domvvl.F90
r13727 r13750 786 786 CALL rst_read_open ! open the restart file if necessary 787 787 IF( lroxios ) CALL iom_swap( TRIM(crxios_context) ) 788 CALL iom_get( numror, jpdom_auto glo, 'sshn' , ssh(:,:,Kmm), ldxios = lroxios )788 CALL iom_get( numror, jpdom_auto, 'sshn' , ssh(:,:,Kmm), ldxios = lroxios ) 789 789 ! 790 790 id1 = iom_varid( numror, 'e3t_b', ldstop = .FALSE. )
Note: See TracChangeset
for help on using the changeset viewer.