New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12489 for NEMO/trunk/src/OCE/DOM/domain.F90 – NEMO

Ignore:
Timestamp:
2020-02-28T16:55:11+01:00 (4 years ago)
Author:
davestorkey
Message:

Preparation for new timestepping scheme #2390.
Main changes:

  1. Initial euler timestep now handled in stp and not in TRA/DYN routines.
  2. Renaming of all timestep parameters. In summary, the namelist parameter is now rn_Dt and the current timestep is rDt (and rDt_ice, rDt_trc etc).
  3. Renaming of a few miscellaneous parameters, eg. atfp -> rn_atfp (namelist parameter used everywhere) and rau0 -> rho0.

This version gives bit-comparable results to the previous version of the trunk.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/OCE/DOM/domain.F90

    r12377 r12489  
    287287         &             nn_no   , cn_exp   , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl ,     & 
    288288         &             nn_it000, nn_itend , nn_date0    , nn_time0     , nn_leapy  , nn_istate ,     & 
    289          &             nn_stock, nn_write , ln_mskland  , ln_clobber   , nn_chunksz, nn_euler  ,    & 
     289         &             nn_stock, nn_write , ln_mskland  , ln_clobber   , nn_chunksz, ln_1st_euler  , & 
    290290         &             ln_cfmeta, ln_xios_read, nn_wxios 
    291       NAMELIST/namdom/ ln_linssh, rn_rdt, rn_atfp, ln_crs, ln_meshmask 
     291      NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_meshmask 
    292292#if defined key_netcdf4 
    293293      NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip 
     
    317317         WRITE(numout,*) '      restart output directory        cn_ocerst_outdir= ', TRIM( cn_ocerst_outdir ) 
    318318         WRITE(numout,*) '      restart logical                 ln_rstart       = ', ln_rstart 
    319          WRITE(numout,*) '      start with forward time step    nn_euler        = ', nn_euler 
     319         WRITE(numout,*) '      start with forward time step    ln_1st_euler    = ', ln_1st_euler 
    320320         WRITE(numout,*) '      control of time step            nn_rstctl       = ', nn_rstctl 
    321321         WRITE(numout,*) '      number of the first time step   nn_it000        = ', nn_it000 
     
    353353      nleapy = nn_leapy 
    354354      ninist = nn_istate 
    355       neuler = nn_euler 
    356       IF( neuler == 1 .AND. .NOT. ln_rstart ) THEN 
     355      l_1st_euler = ln_1st_euler 
     356      IF( .NOT. l_1st_euler .AND. .NOT. ln_rstart ) THEN 
    357357         IF(lwp) WRITE(numout,*)   
    358358         IF(lwp) WRITE(numout,*)'   ==>>>   Start from rest (ln_rstart=F)' 
    359          IF(lwp) WRITE(numout,*)'           an Euler initial time step is used : nn_euler is forced to 0 '    
    360          neuler = 0 
     359         IF(lwp) WRITE(numout,*)'           an Euler initial time step is used : l_1st_euler is forced to .true. '    
     360         l_1st_euler = .true. 
    361361      ENDIF 
    362362      !                             ! control of output frequency 
     
    408408         WRITE(numout,*) '      linear free surface (=T)                ln_linssh   = ', ln_linssh 
    409409         WRITE(numout,*) '      create mesh/mask file                   ln_meshmask = ', ln_meshmask 
    410          WRITE(numout,*) '      ocean time step                         rn_rdt      = ', rn_rdt 
     410         WRITE(numout,*) '      ocean time step                         rn_Dt       = ', rn_Dt 
    411411         WRITE(numout,*) '      asselin time filter parameter           rn_atfp     = ', rn_atfp 
    412412         WRITE(numout,*) '      online coarsening of dynamical fields   ln_crs      = ', ln_crs 
    413413      ENDIF 
    414414      ! 
    415       !          ! conversion DOCTOR names into model names (this should disappear soon) 
    416       atfp = rn_atfp 
    417       rdt  = rn_rdt 
     415      !! Initialise current model timestep rDt = 2*rn_Dt if MLF or rDt = rn_Dt if RK3 
     416      rDt  = 2._wp * rn_Dt 
     417      r1_Dt = 1._wp / rDt 
    418418 
    419419      IF( TRIM(Agrif_CFixed()) == '0' ) THEN 
Note: See TracChangeset for help on using the changeset viewer.