Index: NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/1_namelist_cfg	(revision 12511)
@@ -30,5 +30,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 5400.     !  time step for the dynamics and tracer
+   rn_Dt      = 5400.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/2_namelist_cfg	(revision 12511)
@@ -31,5 +31,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 1350.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 1350.     !  time step for the dynamics (and tracer if nn_acc=0)
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/3_namelist_cfg	(revision 12511)
@@ -31,5 +31,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 450.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 450.     !  time step for the dynamics (and tracer if nn_acc=0)
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/AGRIF_DEMO/EXPREF/namelist_cfg	(revision 12511)
@@ -30,5 +30,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 5400.     !  time step for the dynamics and tracer
+   rn_Dt      = 5400.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/AMM12/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/AMM12/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/AMM12/EXPREF/namelist_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =   600.    !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   600.    !  time step for the dynamics (and tracer if nn_acc=0)
 /
 !-----------------------------------------------------------------------
@@ -303,5 +303,5 @@
    ln_dynspg_ts = .true.   ! split-explicit free surface
    ln_bt_auto   = .false.  ! Number of sub-step defined from:
-   nn_baro      = 30       ! =F : the number of sub-step in rn_rdt seconds
+   nn_e      = 30       ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/C1D_PAPA/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/C1D_PAPA/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/C1D_PAPA/EXPREF/namelist_cfg	(revision 12511)
@@ -49,5 +49,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =  360.     !  time step for the dynamics and tracer
+   rn_Dt      =  360.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_BFM/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_BFM/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_BFM/EXPREF/namelist_cfg	(revision 12511)
@@ -45,5 +45,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 7200.     !  time step for the dynamics
+   rn_Dt      = 7200.     !  time step for the dynamics
 /
 
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_PISCES/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_PISCES/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/GYRE_PISCES/EXPREF/namelist_cfg	(revision 12511)
@@ -45,5 +45,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 7200.     !  time step for the dynamics
+   rn_Dt      = 7200.     !  time step for the dynamics
 /
 !!======================================================================
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_ABL/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_ABL/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_ABL/EXPREF/namelist_cfg	(revision 12511)
@@ -31,5 +31,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      = 5400.     !  time step for the dynamics and tracer
+   rn_Dt      = 5400.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_ICE_PISCES/EXPREF/namelist_cfg	(revision 12511)
@@ -28,5 +28,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      = 5400.     !  time step for the dynamics and tracer
+   rn_Dt      = 5400.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_PISCES/EXPREF/namelist_cfg	(revision 12511)
@@ -34,5 +34,5 @@
    ln_linssh   = .true.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 21600.     !  time step for the dynamics and tracer
+   rn_Dt      = 21600.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_TRC/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_TRC/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/ORCA2_OFF_TRC/EXPREF/namelist_cfg	(revision 12511)
@@ -34,5 +34,5 @@
    ln_linssh   = .true.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 21600.     !  time step for the dynamics and tracer
+   rn_Dt      = 21600.     !  time step for the dynamics and tracer
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/SHARED/namelist_ref
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/SHARED/namelist_ref	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/SHARED/namelist_ref	(revision 12511)
@@ -42,6 +42,6 @@
    nn_leapy    =       0   !  Leap year calendar (1) or not (0)
    ln_rstart   = .false.   !  start from rest (F) or from a restart file (T)
-      nn_euler    =    1      !  = 0 : start with forward time step if ln_rstart=T
-      nn_rstctl   =    0      !  restart control ==> activated only if ln_rstart=T
+      ln_1st_euler = .false.  !  =T force a start with forward time step (ln_rstart=T)
+      nn_rstctl    =    0     !  restart control ==> activated only if ln_rstart=T
       !                          !    = 0 nn_date0 read in namelist ; nn_it000 : read in namelist
       !                          !    = 1 nn_date0 read in namelist ; nn_it000 : check consistancy between namelist and restart
@@ -72,5 +72,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 5400.     !  time step for the dynamics and tracer
+   rn_Dt      = 5400.     !  time step for the dynamics and tracer
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -576,4 +576,10 @@
    ln_icebergs = .false.      ! activate iceberg floats (force =F with "key_agrif")
    !
+   !                          ! restart
+   cn_icbrst_in     = "restart_icb" !  suffix of iceberg restart name (input)
+   cn_icbrst_indir  = "./"          !  directory from which to read input ocean restarts
+   cn_icbrst_out    = "restart_icb" !  suffix of ocean restart name (output)
+   cn_icbrst_outdir = "./"          !  directory from which to read output ocean restarts          
+   !
    !                          ! diagnostics:
    ln_bergdia        = .true.        ! Calculate budgets
@@ -989,9 +995,9 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
          rn_bt_cmax   =  0.8        ! =T : the Maximum Courant Number allowed
-         nn_baro      = 30          ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      = 30          ! =F : the number of sub-step in rn_Dt seconds
       rn_bt_alpha   = 0.         ! Temporal diffusion parameter (if ln_bt_av=F)
 /
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/SPITZ12/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/SPITZ12/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/SPITZ12/EXPREF/namelist_cfg	(revision 12511)
@@ -27,5 +27,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =  720.     !  time step for the dynamics and tracer
+   rn_Dt      =  720.     !  time step for the dynamics and tracer
    !
 /
Index: NEMO/branches/2020/r12377_ticket2386/cfgs/WED025/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/cfgs/WED025/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/cfgs/WED025/EXPREF/namelist_cfg	(revision 12511)
@@ -45,5 +45,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      = 1200.     !  time step for the dynamics and tracer
+   rn_Dt      = 1200.     !  time step for the dynamics and tracer
    ln_meshmask = .true.    !  =T create a mesh file
 /
Index: NEMO/branches/2020/r12377_ticket2386/src/ABL/abl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ABL/abl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ABL/abl.F90	(revision 12511)
@@ -11,5 +11,5 @@
    USE dom_oce, ONLY: e1t, e1u, e1v, e1f         ! scale factors for horizontal grid
    USE dom_oce, ONLY: e2t, e2u, e2v, e2f         ! 
-   USE dom_oce, ONLY: rdt                        ! oceanic time-step
+   USE dom_oce, ONLY: rn_Dt                      ! oceanic time-step
    USE sbc_oce, ONLY: ght_abl, ghw_abl, e3t_abl, e3w_abl, jpka   ! scale factors and altitudes of ABL grid points in the vertical 
   
Index: NEMO/branches/2020/r12377_ticket2386/src/ABL/ablmod.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ABL/ablmod.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ABL/ablmod.F90	(revision 12511)
@@ -152,6 +152,6 @@
          DO jk = 3, jpkam1
             DO ji = 1, jpi   ! vector opt.
-               z_elem_a( ji,     jk              ) = - rdt_abl * Avt_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )   ! lower-diagonal
-               z_elem_c( ji,     jk              ) = - rdt_abl * Avt_abl( ji, jj, jk   ) / e3w_abl( jk   )   ! upper-diagonal       
+               z_elem_a( ji,     jk              ) = - rDt_abl * Avt_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )   ! lower-diagonal
+               z_elem_c( ji,     jk              ) = - rDt_abl * Avt_abl( ji, jj, jk   ) / e3w_abl( jk   )   ! upper-diagonal       
                z_elem_b( ji,     jk              ) = e3t_abl(jk) - z_elem_a( ji, jk ) - z_elem_c( ji, jk )   !       diagonal           
             END DO
@@ -161,7 +161,7 @@
             ! Neumann at the bottom          
             z_elem_a( ji,     2              ) = 0._wp
-            z_elem_c( ji,     2              ) = - rdt_abl * Avt_abl( ji, jj, 2   ) / e3w_abl( 2   )                                         
+            z_elem_c( ji,     2              ) = - rDt_abl * Avt_abl( ji, jj, 2   ) / e3w_abl( 2   )                                         
             ! Homogeneous Neumann at the top
-            z_elem_a( ji,     jpka           ) = - rdt_abl * Avt_abl( ji, jj, jpka ) / e3w_abl( jpka ) 
+            z_elem_a( ji,     jpka           ) = - rDt_abl * Avt_abl( ji, jj, jpka ) / e3w_abl( jpka ) 
             z_elem_c( ji,     jpka           ) = 0._wp
             z_elem_b( ji,     jpka           ) = e3t_abl( jpka ) - z_elem_a( ji,     jpka )
@@ -184,6 +184,6 @@
                   zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * psen_ice(ji,jj) * ptm_su(ji,jj)
 #endif				  
-                  z_elem_b( ji,     2                ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rdt_abl * zztmp1				  
-                  tq_abl  ( ji, jj, 2   , nt_a, jtra ) = e3t_abl( 2    ) * tq_abl  ( ji, jj, 2   , nt_n, jtra ) + rdt_abl * zztmp2               
+                  z_elem_b( ji,     2                ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rDt_abl * zztmp1				  
+                  tq_abl  ( ji, jj, 2   , nt_a, jtra ) = e3t_abl( 2    ) * tq_abl  ( ji, jj, 2   , nt_n, jtra ) + rDt_abl * zztmp2               
                   tq_abl  ( ji, jj, jpka, nt_a, jtra ) = e3t_abl( jpka ) * tq_abl  ( ji, jj, jpka, nt_n, jtra )
                END DO 
@@ -196,6 +196,6 @@
                   zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pevp_ice(ji, jj) * pssq_ice(ji, jj)    
 #endif	
-                  z_elem_b( ji,     2                ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rdt_abl * zztmp1
-                  tq_abl  ( ji, jj, 2   , nt_a, jtra ) = e3t_abl( 2    ) * tq_abl  ( ji, jj, 2   , nt_n, jtra ) + rdt_abl * zztmp2               
+                  z_elem_b( ji,     2                ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rDt_abl * zztmp1
+                  tq_abl  ( ji, jj, 2   , nt_a, jtra ) = e3t_abl( 2    ) * tq_abl  ( ji, jj, 2   , nt_n, jtra ) + rDt_abl * zztmp2               
                   tq_abl  ( ji, jj, jpka, nt_a, jtra ) = e3t_abl( jpka ) * tq_abl  ( ji, jj, jpka, nt_n, jtra )
                END DO                                     
@@ -242,14 +242,14 @@
          ! Advance u_abl & v_abl to time n+1
          DO_2D_11_11
-            zcff = ( fft_abl(ji,jj) * rdt_abl )*( fft_abl(ji,jj) * rdt_abl )  ! (f dt)**2
+            zcff = ( fft_abl(ji,jj) * rDt_abl )*( fft_abl(ji,jj) * rDt_abl )  ! (f dt)**2
    
             u_abl( ji, jj, jk, nt_a ) = e3t_abl(jk) *(  &
                &        (1._wp-gamma_Cor*(1._wp-gamma_Cor)*zcff)*u_abl( ji, jj, jk, nt_n )    &
-               &                 +  rdt_abl * fft_abl(ji, jj) * v_abl ( ji , jj  , jk, nt_n ) )  &
+               &                 +  rDt_abl * fft_abl(ji, jj) * v_abl ( ji , jj  , jk, nt_n ) )  &
                &                               / (1._wp + gamma_Cor*gamma_Cor*zcff)
                
             v_abl( ji, jj, jk, nt_a ) =  e3t_abl(jk) *(  &
                &        (1._wp-gamma_Cor*(1._wp-gamma_Cor)*zcff)*v_abl( ji, jj, jk, nt_n )   &
-               &                 -  rdt_abl * fft_abl(ji, jj) * u_abl ( ji   , jj, jk, nt_n )  ) &
+               &                 -  rDt_abl * fft_abl(ji, jj) * u_abl ( ji   , jj, jk, nt_n )  ) &
                &                                / (1._wp + gamma_Cor*gamma_Cor*zcff)                
          END_2D
@@ -264,7 +264,7 @@
                DO ji = 1, jpi 
                   u_abl( ji, jj, jk, nt_a ) = u_abl( ji, jj, jk, nt_a )   &
-                     &                      - rdt_abl * e3t_abl(jk) * fft_abl(ji  , jj) * pgv_dta(ji  ,jj  ,jk)
+                     &                      - rDt_abl * e3t_abl(jk) * fft_abl(ji  , jj) * pgv_dta(ji  ,jj  ,jk)
                   v_abl( ji, jj, jk, nt_a ) = v_abl( ji, jj, jk, nt_a )   &
-                     &                      + rdt_abl * e3t_abl(jk) * fft_abl(ji, jj  ) * pgu_dta(ji  ,jj  ,jk)
+                     &                      + rDt_abl * e3t_abl(jk) * fft_abl(ji, jj  ) * pgu_dta(ji  ,jj  ,jk)
                END DO
             END DO
@@ -277,6 +277,6 @@
             DO jk = 1, jpka
                DO ji = 1, jpi 
-                  u_abl( ji, jj, jk, nt_a ) = u_abl( ji, jj, jk, nt_a ) - rdt_abl * e3t_abl(jk) * pgu_dta(ji,jj,jk)
-                  v_abl( ji, jj, jk, nt_a ) = v_abl( ji, jj, jk, nt_a ) - rdt_abl * e3t_abl(jk) * pgv_dta(ji,jj,jk)  
+                  u_abl( ji, jj, jk, nt_a ) = u_abl( ji, jj, jk, nt_a ) - rDt_abl * e3t_abl(jk) * pgu_dta(ji,jj,jk)
+                  v_abl( ji, jj, jk, nt_a ) = v_abl( ji, jj, jk, nt_a ) - rDt_abl * e3t_abl(jk) * pgv_dta(ji,jj,jk)  
                ENDDO
             ENDDO
@@ -295,6 +295,6 @@
          DO jk = 3, jpkam1
             DO ji = 1, jpi  
-               z_elem_a( ji,     jk ) = - rdt_abl * Avm_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )  ! lower-diagonal
-               z_elem_c( ji,     jk ) = - rdt_abl * Avm_abl( ji, jj, jk   ) / e3w_abl( jk   )  ! upper-diagonal                
+               z_elem_a( ji,     jk ) = - rDt_abl * Avm_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )  ! lower-diagonal
+               z_elem_c( ji,     jk ) = - rDt_abl * Avm_abl( ji, jj, jk   ) / e3w_abl( jk   )  ! upper-diagonal                
                z_elem_b( ji,     jk ) = e3t_abl(jk) - z_elem_a( ji, jk ) - z_elem_c( ji, jk )                             !       diagonal
             END DO
@@ -304,5 +304,5 @@
             !++ Surface boundary condition
             z_elem_a( ji,     2    ) = 0._wp
-            z_elem_c( ji,     2    ) = - rdt_abl * Avm_abl( ji, jj, 2   ) / e3w_abl( 2   )                                       
+            z_elem_c( ji,     2    ) = - rDt_abl * Avm_abl( ji, jj, 2   ) / e3w_abl( 2   )                                       
             !
 			zztmp1  = pcd_du(ji, jj)
@@ -313,9 +313,9 @@
 			zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) * zzice
 #endif           
-			z_elem_b( ji,     2       ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rdt_abl * zztmp1 			
-            u_abl( ji, jj,    2, nt_a ) =      u_abl( ji, jj,    2, nt_a ) + rdt_abl * zztmp2
+			z_elem_b( ji,     2       ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rDt_abl * zztmp1 			
+            u_abl( ji, jj,    2, nt_a ) =      u_abl( ji, jj,    2, nt_a ) + rDt_abl * zztmp2
 			
             !++ Top Neumann B.C.
-            !z_elem_a( ji,     jpka ) = - 0.5_wp * rdt_abl * ( Avm_abl( ji, jj, jpka )+ Avm_abl( ji+1, jj, jpka ) ) / e3w_abl( jpka ) 
+            !z_elem_a( ji,     jpka ) = - 0.5_wp * rDt_abl * ( Avm_abl( ji, jj, jpka )+ Avm_abl( ji+1, jj, jpka ) ) / e3w_abl( jpka ) 
             !z_elem_c( ji,     jpka ) = 0._wp
             !z_elem_b( ji,     jpka ) = e3t_abl( jpka ) - z_elem_a( ji,     jpka )                                               
@@ -362,6 +362,6 @@
          DO jk = 3, jpkam1
             DO ji = 1, jpi   
-               z_elem_a( ji,     jk ) = -rdt_abl * Avm_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )   ! lower-diagonal
-               z_elem_c( ji,     jk ) = -rdt_abl * Avm_abl( ji, jj, jk   ) / e3w_abl( jk   )   ! upper-diagonal              
+               z_elem_a( ji,     jk ) = -rDt_abl * Avm_abl( ji, jj, jk-1 ) / e3w_abl( jk-1 )   ! lower-diagonal
+               z_elem_c( ji,     jk ) = -rDt_abl * Avm_abl( ji, jj, jk   ) / e3w_abl( jk   )   ! upper-diagonal              
                z_elem_b( ji,     jk ) = e3t_abl(jk) - z_elem_a( ji, jk ) - z_elem_c( ji, jk )                              !       diagonal
             END DO
@@ -371,5 +371,5 @@
             !++ Surface boundary condition
             z_elem_a( ji,     2    ) = 0._wp
-            z_elem_c( ji,     2    ) = - rdt_abl * Avm_abl( ji, jj, 2   ) / e3w_abl( 2   )        
+            z_elem_c( ji,     2    ) = - rDt_abl * Avm_abl( ji, jj, 2   ) / e3w_abl( 2   )        
             !
 			zztmp1 = pcd_du(ji, jj)
@@ -380,8 +380,8 @@
 			zztmp2 = zztmp2 * pfrac_oce(ji,jj) + (1._wp - pfrac_oce(ji,jj)) * pcd_du_ice(ji, jj) * zzice
 #endif 			
-            z_elem_b( ji,     2       ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rdt_abl * zztmp1 
-            v_abl( ji, jj,    2, nt_a ) =         v_abl( ji, jj, 2, nt_a ) + rdt_abl * zztmp2
+            z_elem_b( ji,     2       ) = e3t_abl( 2 ) - z_elem_c( ji, 2 ) + rDt_abl * zztmp1 
+            v_abl( ji, jj,    2, nt_a ) =         v_abl( ji, jj, 2, nt_a ) + rDt_abl * zztmp2
             !++ Top Neumann B.C.            
-            !z_elem_a( ji,     jpka ) = -rdt_abl * Avm_abl( ji, jj, jpka ) / e3w_abl( jpka ) 
+            !z_elem_a( ji,     jpka ) = -rDt_abl * Avm_abl( ji, jj, jpka ) / e3w_abl( jpka ) 
             !z_elem_c( ji,     jpka ) = 0._wp
             !z_elem_b( ji,     jpka ) = e3t_abl( jpka ) - z_elem_a( ji,     jpka )                                               
@@ -436,6 +436,6 @@
                zcff2 = jp_alp3_dyn * zsig**3 + jp_alp2_dyn * zsig**2   &
                   &  + jp_alp1_dyn * zsig    + jp_alp0_dyn
-               zcff  = (1._wp-zmsk) + zmsk * zcff2 * rdt   ! zcff = 1 for masked points
-                                                           ! rdt = rdt_abl / nn_fsbc                          
+               zcff  = (1._wp-zmsk) + zmsk * zcff2 * rn_Dt   ! zcff = 1 for masked points
+                                                             ! rn_Dt = rDt_abl / nn_fsbc                          
                zcff  = zcff * rest_eq(ji,jj)
                z_cft( ji, jj, jk ) = zcff
@@ -460,6 +460,6 @@
             zcff2 = jp_alp3_tra * zsig**3 + jp_alp2_tra * zsig**2   &
                &  + jp_alp1_tra * zsig    + jp_alp0_tra
-            zcff  = (1._wp-zmsk) + zmsk * zcff2 * rdt   ! zcff = 1 for masked points
-                                                        ! rdt = rdt_abl / nn_fsbc                          
+            zcff  = (1._wp-zmsk) + zmsk * zcff2 * rn_Dt   ! zcff = 1 for masked points
+                                                          ! rn_Dt = rDt_abl / nn_fsbc                          
             !z_cft( ji, jj, jk ) = zcff
             tq_abl( ji, jj, jk, nt_a, jp_ta ) = (1._wp - zcff ) * tq_abl( ji, jj, jk, nt_a, jp_ta )   &
@@ -688,15 +688,15 @@
                zbuoy        = - Avt_abl( ji, jj, jk ) * zbn2( ji, jj, jk ) 
                
-               z_elem_a( ji,     jk )   = - 0.5_wp * rdt_abl * rn_Sch * ( Avm_abl( ji, jj, jk   )+Avm_abl( ji, jj, jk-1 ) ) / e3t_abl( jk   ) ! lower-diagonal
-               z_elem_c( ji,     jk )   = - 0.5_wp * rdt_abl * rn_Sch * ( Avm_abl( ji, jj, jk   )+Avm_abl( ji, jj, jk+1 ) ) / e3t_abl( jk+1 ) ! upper-diagonal          
+               z_elem_a( ji,     jk )   = - 0.5_wp * rDt_abl * rn_Sch * ( Avm_abl( ji, jj, jk   )+Avm_abl( ji, jj, jk-1 ) ) / e3t_abl( jk   ) ! lower-diagonal
+               z_elem_c( ji,     jk )   = - 0.5_wp * rDt_abl * rn_Sch * ( Avm_abl( ji, jj, jk   )+Avm_abl( ji, jj, jk+1 ) ) / e3t_abl( jk+1 ) ! upper-diagonal          
                IF( (zbuoy + zshear) .gt. 0.) THEN    ! Patankar trick to avoid negative values of TKE
                   z_elem_b( ji,     jk )   = e3w_abl(jk) - z_elem_a( ji, jk ) - z_elem_c( ji, jk )   &
-                     &                     + e3w_abl(jk) * rdt_abl * rn_Ceps * sqrt(tke_abl( ji, jj, jk, nt_n )) / mxl_abl(ji,jj,jk)     ! diagonal       
-                  tke_abl( ji, jj, jk, nt_a )  = e3w_abl(jk) * ( tke_abl( ji, jj, jk, nt_n ) + rdt_abl * ( zbuoy + zshear ) )             ! right-hand-side
+                     &                     + e3w_abl(jk) * rDt_abl * rn_Ceps * sqrt(tke_abl( ji, jj, jk, nt_n )) / mxl_abl(ji,jj,jk)     ! diagonal       
+                  tke_abl( ji, jj, jk, nt_a )  = e3w_abl(jk) * ( tke_abl( ji, jj, jk, nt_n ) + rDt_abl * ( zbuoy + zshear ) )             ! right-hand-side
                ELSE
                   z_elem_b( ji,     jk )   = e3w_abl(jk) - z_elem_a( ji, jk ) - z_elem_c( ji, jk )   &
-                     &                     + e3w_abl(jk) * rdt_abl * rn_Ceps * sqrt(tke_abl( ji, jj, jk, nt_n )) / mxl_abl(ji,jj,jk)   &  ! diagonal    
-                     &                     - e3w_abl(jk) * rdt_abl * zbuoy   
-                  tke_abl( ji, jj, jk, nt_a )  = e3w_abl(jk) * ( tke_abl( ji, jj, jk, nt_n ) + rdt_abl *  zshear )             ! right-hand-side                     
+                     &                     + e3w_abl(jk) * rDt_abl * rn_Ceps * sqrt(tke_abl( ji, jj, jk, nt_n )) / mxl_abl(ji,jj,jk)   &  ! diagonal    
+                     &                     - e3w_abl(jk) * rDt_abl * zbuoy   
+                  tke_abl( ji, jj, jk, nt_a )  = e3w_abl(jk) * ( tke_abl( ji, jj, jk, nt_n ) + rDt_abl *  zshear )             ! right-hand-side                     
                END IF
             END DO
Index: NEMO/branches/2020/r12377_ticket2386/src/ABL/par_abl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ABL/par_abl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ABL/par_abl.F90	(revision 12511)
@@ -76,5 +76,5 @@
    REAL(wp), PUBLIC, PARAMETER ::   gamma_Cor  = 0.55_wp
    ! ABL timestep
-   REAL(wp), PUBLIC            :: rdt_abl
+   REAL(wp), PUBLIC            :: rDt_abl
 
    !!---------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/src/ABL/sbcabl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ABL/sbcabl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ABL/sbcabl.F90	(revision 12511)
@@ -202,11 +202,11 @@
 
       ! ABL timestep
-      rdt_abl = nn_fsbc * rdt
+      rDt_abl = nn_fsbc * rn_Dt
 
       ! Check parameters for dynamics
       zcff  = ( jp_alp3_dyn * jp_bmin**3 + jp_alp2_dyn * jp_bmin**2   &
-         &    + jp_alp1_dyn * jp_bmin    + jp_alp0_dyn ) * rdt_abl
+         &    + jp_alp1_dyn * jp_bmin    + jp_alp0_dyn ) * rDt_abl
       zcff1 = ( jp_alp3_dyn * jp_bmax**3 + jp_alp2_dyn * jp_bmax**2   &
-         &    + jp_alp1_dyn * jp_bmax    + jp_alp0_dyn ) * rdt_abl
+         &    + jp_alp1_dyn * jp_bmax    + jp_alp0_dyn ) * rDt_abl
       IF(lwp) THEN
          IF(nn_dyn_restore > 0) THEN
@@ -225,7 +225,7 @@
       ! Check parameters for active tracers
       zcff  = ( jp_alp3_tra * jp_bmin**3 + jp_alp2_tra * jp_bmin**2   &
-         &    + jp_alp1_tra * jp_bmin    + jp_alp0_tra ) * rdt_abl
+         &    + jp_alp1_tra * jp_bmin    + jp_alp0_tra ) * rDt_abl
       zcff1 = ( jp_alp3_tra * jp_bmax**3 + jp_alp2_tra * jp_bmax**2   &
-         &    + jp_alp1_tra * jp_bmax    + jp_alp0_tra ) * rdt_abl
+         &    + jp_alp1_tra * jp_bmax    + jp_alp0_tra ) * rDt_abl
       IF(lwp) THEN
          WRITE(numout,*) ' ABL Minimum value for tracers restoring = ',zcff
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/ice.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/ice.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/ice.F90	(revision 12511)
@@ -150,5 +150,5 @@
    REAL(wp), PUBLIC ::   rn_ecc           !: eccentricity of the elliptical yield curve
    INTEGER , PUBLIC ::   nn_nevp          !: number of iterations for subcycling
-   REAL(wp), PUBLIC ::   rn_relast        !: ratio => telast/rdt_ice (1/3 or 1/9 depending on nb of subcycling nevp) 
+   REAL(wp), PUBLIC ::   rn_relast        !: ratio => telast/rDt_ice (1/3 or 1/9 depending on nb of subcycling nevp) 
    !
    !                                     !!** ice-advection namelist (namdyn_adv) **
@@ -207,6 +207,6 @@
    !                                     !!** some other parameters 
    INTEGER , PUBLIC ::   kt_ice           !: iteration number
-   REAL(wp), PUBLIC ::   rdt_ice          !: ice time step
-   REAL(wp), PUBLIC ::   r1_rdtice        !: = 1. / rdt_ice
+   REAL(wp), PUBLIC ::   rDt_ice          !: ice time step
+   REAL(wp), PUBLIC ::   r1_Dt_ice        !: = 1. / rDt_ice
    REAL(wp), PUBLIC ::   r1_nlay_i        !: 1 / nlay_i
    REAL(wp), PUBLIC ::   r1_nlay_s        !: 1 / nlay_s 
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icecor.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icecor.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icecor.F90	(revision 12511)
@@ -86,5 +86,5 @@
       IF ( nn_icesal == 2 ) THEN    !  salinity must stay in bounds [Simin,Simax]        !
          !                          !-----------------------------------------------------
-         zzc = rhoi * r1_rdtice
+         zzc = rhoi * r1_Dt_ice
          DO jl = 1, jpl
             DO_2D_11_11
@@ -123,13 +123,13 @@
          !
          IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN
-            diag_heat(:,:) = - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice &      ! W.m-2
-               &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice
-            diag_sice(:,:) =   SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_rdtice * rhoi
-            diag_vice(:,:) =   SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhoi
-            diag_vsnw(:,:) =   SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhos
+            diag_heat(:,:) = - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice &      ! W.m-2
+               &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice
+            diag_sice(:,:) =   SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_Dt_ice * rhoi
+            diag_vice(:,:) =   SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_Dt_ice * rhoi
+            diag_vsnw(:,:) =   SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_Dt_ice * rhos
          ENDIF
          !                       ! concentration tendency (dynamics)
          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN 
-            zafx(:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice 
+            zafx(:,:) = SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_Dt_ice 
             CALL iom_put( 'afxdyn' , zafx )
          ENDIF
@@ -137,22 +137,22 @@
       CASE( 2 )                        !--- thermo trend diagnostics & ice aging
          !
-         oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rdt_ice   ! ice natural aging incrementation
+         oa_i(:,:,:) = oa_i(:,:,:) + a_i(:,:,:) * rDt_ice   ! ice natural aging incrementation
          !
          IF( ln_icediachk .OR. iom_use('hfxdhc') ) THEN
             diag_heat(:,:) = diag_heat(:,:) &
-               &             - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice &
-               &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice
+               &             - SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice &
+               &             - SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice
             diag_sice(:,:) = diag_sice(:,:) &
-               &             + SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_rdtice * rhoi
+               &             + SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_Dt_ice * rhoi
             diag_vice(:,:) = diag_vice(:,:) &
-               &             + SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhoi
+               &             + SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_Dt_ice * rhoi
             diag_vsnw(:,:) = diag_vsnw(:,:) &
-               &             + SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice * rhos
+               &             + SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_Dt_ice * rhos
             CALL iom_put ( 'hfxdhc' , diag_heat ) 
          ENDIF
          !                       ! concentration tendency (total + thermo)
          IF( iom_use('afxdyn') .OR. iom_use('afxthd') .OR. iom_use('afxtot') ) THEN 
-            zafx(:,:) = zafx(:,:) + SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice
-            CALL iom_put( 'afxthd' , SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_rdtice )
+            zafx(:,:) = zafx(:,:) + SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_Dt_ice
+            CALL iom_put( 'afxthd' , SUM( a_i(:,:,:) - a_i_b(:,:,:), dim=3 ) * r1_Dt_ice )
             CALL iom_put( 'afxtot' , zafx )
          ENDIF
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icectl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icectl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icectl.F90	(revision 12511)
@@ -104,5 +104,5 @@
 
          ! -- mass diag -- !
-         zdiag_mass = ( glob_sum( 'icectl', SUM( v_i * rhoi + v_s * rhos, dim=3 ) * e1e2t ) - pdiag_v ) * r1_rdtice       &
+         zdiag_mass = ( glob_sum( 'icectl', SUM( v_i * rhoi + v_s * rhos, dim=3 ) * e1e2t ) - pdiag_v ) * r1_Dt_ice       &
             &         + glob_sum( 'icectl', ( wfx_bog + wfx_bom + wfx_sum + wfx_sni + wfx_opw + wfx_res + wfx_dyn +       &
             &                                 wfx_lam + wfx_pnd + wfx_snw_sni + wfx_snw_sum + wfx_snw_dyn + wfx_snw_sub + &
@@ -111,5 +111,5 @@
          !
          ! -- salt diag -- !
-         zdiag_salt = ( glob_sum( 'icectl', SUM( sv_i * rhoi , dim=3 ) * e1e2t ) - pdiag_s ) * r1_rdtice  &
+         zdiag_salt = ( glob_sum( 'icectl', SUM( sv_i * rhoi , dim=3 ) * e1e2t ) - pdiag_s ) * r1_Dt_ice  &
             &         + glob_sum( 'icectl', ( sfx_bri + sfx_bog + sfx_bom + sfx_sum + sfx_sni +           &
             &                                 sfx_opw + sfx_res + sfx_dyn + sfx_sub + sfx_lam ) * e1e2t ) &
@@ -118,5 +118,5 @@
          ! -- heat diag -- !
          zdiag_heat = ( glob_sum( 'icectl', ( SUM(SUM(e_i, dim=4), dim=3) + SUM(SUM(e_s, dim=4), dim=3) ) * e1e2t ) - pdiag_t &
-            &         ) * r1_rdtice                                                                                           &
+            &         ) * r1_Dt_ice                                                                                           &
             &         + glob_sum( 'icectl', (  hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw                      &
             &                                - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr ) * e1e2t )                    &
@@ -141,9 +141,9 @@
             ! check conservation issues
             IF( ABS(zdiag_mass) > zchk_m * rn_icechk_glo * zarea ) &
-               &                   WRITE(numout,*)   cd_routine,' : violation mass cons. [kg] = ',zdiag_mass * rdt_ice
+               &                   WRITE(numout,*)   cd_routine,' : violation mass cons. [kg] = ',zdiag_mass * rDt_ice
             IF( ABS(zdiag_salt) > zchk_s * rn_icechk_glo * zarea ) &
-               &                   WRITE(numout,*)   cd_routine,' : violation salt cons. [g]  = ',zdiag_salt * rdt_ice
+               &                   WRITE(numout,*)   cd_routine,' : violation salt cons. [g]  = ',zdiag_salt * rDt_ice
             IF( ABS(zdiag_heat) > zchk_t * rn_icechk_glo * zarea ) &
-               &                   WRITE(numout,*)   cd_routine,' : violation heat cons. [J]  = ',zdiag_heat * rdt_ice
+               &                   WRITE(numout,*)   cd_routine,' : violation heat cons. [J]  = ',zdiag_heat * rDt_ice
             ! check negative values
             IF( zdiag_vmin  < 0. ) WRITE(numout,*)   cd_routine,' : violation v_i < 0         = ',zdiag_vmin
@@ -160,5 +160,5 @@
             !    it does not mean UM is not conservative (it is checked with above prints) => update (09/2019): same for Prather now
             !IF( ln_adv_Pra .AND. ABS(zvtrp) > zchk_m * rn_icechk_glo * zarea .AND. cd_routine == 'icedyn_adv' ) &
-            !   &                   WRITE(numout,*)   cd_routine,' : violation adv scheme [kg] = ',zvtrp * rdt_ice
+            !   &                   WRITE(numout,*)   cd_routine,' : violation adv scheme [kg] = ',zvtrp * rDt_ice
          ENDIF
          !
@@ -201,8 +201,8 @@
       IF( lwp ) THEN
          IF( ABS(zdiag_mass) > zchk_m * rn_icechk_glo * zarea ) &
-            &                   WRITE(numout,*) cd_routine,' : violation mass cons. [kg] = ',zdiag_mass * rdt_ice
+            &                   WRITE(numout,*) cd_routine,' : violation mass cons. [kg] = ',zdiag_mass * rDt_ice
          IF( ABS(zdiag_salt) > zchk_s * rn_icechk_glo * zarea ) &
-            &                   WRITE(numout,*) cd_routine,' : violation salt cons. [g]  = ',zdiag_salt * rdt_ice
-         !!IF( ABS(zdiag_heat) > zchk_t * rn_icechk_glo * zarea ) WRITE(numout,*) cd_routine,' : violation heat cons. [J]  = ',zdiag_heat * rdt_ice
+            &                   WRITE(numout,*) cd_routine,' : violation salt cons. [g]  = ',zdiag_salt * rDt_ice
+         !!IF( ABS(zdiag_heat) > zchk_t * rn_icechk_glo * zarea ) WRITE(numout,*) cd_routine,' : violation heat cons. [J]  = ',zdiag_heat * rDt_ice
       ENDIF
       !
@@ -250,5 +250,5 @@
 
          ! -- mass diag -- !
-         zdiag_mass =   ( SUM( v_i * rhoi + v_s * rhos, dim=3 ) - pdiag_v ) * r1_rdtice                             &
+         zdiag_mass =   ( SUM( v_i * rhoi + v_s * rhos, dim=3 ) - pdiag_v ) * r1_Dt_ice                             &
             &         + ( wfx_bog + wfx_bom + wfx_sum + wfx_sni + wfx_opw + wfx_res + wfx_dyn + wfx_lam + wfx_pnd + &
             &             wfx_snw_sni + wfx_snw_sum + wfx_snw_dyn + wfx_snw_sub + wfx_ice_sub + wfx_spr )           &
@@ -257,5 +257,5 @@
          !
          ! -- salt diag -- !
-         zdiag_salt =   ( SUM( sv_i * rhoi , dim=3 ) - pdiag_s ) * r1_rdtice                                                  &
+         zdiag_salt =   ( SUM( sv_i * rhoi , dim=3 ) - pdiag_s ) * r1_Dt_ice                                                  &
             &         + ( sfx_bri + sfx_bog + sfx_bom + sfx_sum + sfx_sni + sfx_opw + sfx_res + sfx_dyn + sfx_sub + sfx_lam ) &
             &         - pdiag_fs
@@ -263,5 +263,5 @@
          !
          ! -- heat diag -- !
-         zdiag_heat =   ( SUM( SUM( e_i, dim=4 ), dim=3 ) + SUM( SUM( e_s, dim=4 ), dim=3 ) - pdiag_t ) * r1_rdtice &
+         zdiag_heat =   ( SUM( SUM( e_i, dim=4 ), dim=3 ) + SUM( SUM( e_s, dim=4 ), dim=3 ) - pdiag_t ) * r1_Dt_ice &
             &         + (  hfx_sum + hfx_bom + hfx_bog + hfx_dif + hfx_opw + hfx_snw                                & 
             &            - hfx_thd - hfx_dyn - hfx_res - hfx_sub - hfx_spr )                                        &
@@ -455,5 +455,5 @@
       DO jl = 1, jpl
          DO_2D_11_11
-            IF ( ( ( ABS( o_i(ji,jj,jl) ) > rdt_ice ) .OR. &
+            IF ( ( ( ABS( o_i(ji,jj,jl) ) > rDt_ice ) .OR. &
                    ( ABS( o_i(ji,jj,jl) ) < 0._wp) ) .AND. &
                           ( a_i(ji,jj,jl) > 0._wp ) ) THEN
@@ -651,5 +651,5 @@
                WRITE(numout,*) ' hfx_res      : ', hfx_res(ji,jj)
                WRITE(numout,*) ' qsb_ice_bot  : ', qsb_ice_bot(ji,jj) 
-               WRITE(numout,*) ' qlead        : ', qlead(ji,jj) * r1_rdtice
+               WRITE(numout,*) ' qlead        : ', qlead(ji,jj) * r1_Dt_ice
                WRITE(numout,*)
                WRITE(numout,*) ' - Salt fluxes at bottom interface ***'
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedia.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedia.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedia.F90	(revision 12511)
@@ -109,15 +109,15 @@
       ! ---------------------------!
       ! they must be kept outside an IF(iom_use) because of the call to dia_rst below
-      z_frc_volbot = r1_rau0 * glob_sum( 'icedia', -( wfx_ice(:,:) + wfx_snw(:,:) + wfx_err_sub(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! freshwater flux ice/snow-ocean 
-      z_frc_voltop = r1_rau0 * glob_sum( 'icedia', -( wfx_sub(:,:) + wfx_spr(:,:) )                    * e1e2t(:,:) ) * 1.e-9   ! freshwater flux ice/snow-atm
-      z_frc_sal    = r1_rau0 * glob_sum( 'icedia', -      sfx(:,:)                                     * e1e2t(:,:) ) * 1.e-9   ! salt fluxes ice/snow-ocean
+      z_frc_volbot = r1_rho0 * glob_sum( 'icedia', -( wfx_ice(:,:) + wfx_snw(:,:) + wfx_err_sub(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! freshwater flux ice/snow-ocean 
+      z_frc_voltop = r1_rho0 * glob_sum( 'icedia', -( wfx_sub(:,:) + wfx_spr(:,:) )                    * e1e2t(:,:) ) * 1.e-9   ! freshwater flux ice/snow-atm
+      z_frc_sal    = r1_rho0 * glob_sum( 'icedia', -      sfx(:,:)                                     * e1e2t(:,:) ) * 1.e-9   ! salt fluxes ice/snow-ocean
       z_frc_tembot =           glob_sum( 'icedia',  qt_oce_ai(:,:)                                     * e1e2t(:,:) ) * 1.e-20  ! heat on top of ocean (and below ice)
       z_frc_temtop =           glob_sum( 'icedia',  qt_atm_oi(:,:)                                     * e1e2t(:,:) ) * 1.e-20  ! heat on top of ice-coean
       !
-      frc_voltop  = frc_voltop  + z_frc_voltop  * rdt_ice ! km3
-      frc_volbot  = frc_volbot  + z_frc_volbot  * rdt_ice ! km3
-      frc_sal     = frc_sal     + z_frc_sal     * rdt_ice ! km3*pss
-      frc_temtop  = frc_temtop  + z_frc_temtop  * rdt_ice ! 1.e20 J
-      frc_tembot  = frc_tembot  + z_frc_tembot  * rdt_ice ! 1.e20 J
+      frc_voltop  = frc_voltop  + z_frc_voltop  * rDt_ice ! km3
+      frc_volbot  = frc_volbot  + z_frc_volbot  * rDt_ice ! km3
+      frc_sal     = frc_sal     + z_frc_sal     * rDt_ice ! km3*pss
+      frc_temtop  = frc_temtop  + z_frc_temtop  * rDt_ice ! 1.e20 J
+      frc_tembot  = frc_tembot  + z_frc_tembot  * rDt_ice ! 1.e20 J
 
       CALL iom_put( 'ibgfrcvoltop' , frc_voltop )   ! vol  forcing ice/snw-atm          (km3 equivalent ocean water) 
@@ -128,6 +128,6 @@
 
       IF(  iom_use('ibgfrchfxtop') .OR. iom_use('ibgfrchfxbot') ) THEN
-         CALL iom_put( 'ibgfrchfxtop' , frc_temtop * z1_e1e2 * 1.e-20 * kt*rdt ) ! heat on top of ice/snw/ocean      (W/m2)
-         CALL iom_put( 'ibgfrchfxbot' , frc_tembot * z1_e1e2 * 1.e-20 * kt*rdt ) ! heat on top of ocean(below ice)   (W/m2) 
+         CALL iom_put( 'ibgfrchfxtop' , frc_temtop * z1_e1e2 * 1.e-20 * kt*rn_Dt ) ! heat on top of ice/snw/ocean      (W/m2)
+         CALL iom_put( 'ibgfrchfxbot' , frc_tembot * z1_e1e2 * 1.e-20 * kt*rn_Dt ) ! heat on top of ocean(below ice)   (W/m2) 
       ENDIF
       
@@ -137,6 +137,6 @@
       IF(  iom_use('ibgvolume') .OR. iom_use('ibgsaltco') .OR. iom_use('ibgheatco') .OR. iom_use('ibgheatfx') ) THEN
             
-         zdiff_vol = r1_rau0 * glob_sum( 'icedia', ( rhoi*vt_i(:,:) + rhos*vt_s(:,:) - vol_loc_ini(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! freshwater trend (km3) 
-         zdiff_sal = r1_rau0 * glob_sum( 'icedia', ( rhoi*st_i(:,:)                  - sal_loc_ini(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! salt content trend (km3*pss)
+         zdiff_vol = r1_rho0 * glob_sum( 'icedia', ( rhoi*vt_i(:,:) + rhos*vt_s(:,:) - vol_loc_ini(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! freshwater trend (km3) 
+         zdiff_sal = r1_rho0 * glob_sum( 'icedia', ( rhoi*st_i(:,:)                  - sal_loc_ini(:,:) ) * e1e2t(:,:) ) * 1.e-9   ! salt content trend (km3*pss)
          zdiff_tem =           glob_sum( 'icedia', ( et_i(:,:) + et_s(:,:)           - tem_loc_ini(:,:) ) * e1e2t(:,:) ) * 1.e-20  ! heat content trend (1.e20 J)
          !                               + SUM( qevap_ice * a_i_b, dim=3 )       !! clem: I think this term should not be there (but needs a check)
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv.F90	(revision 12511)
@@ -93,9 +93,9 @@
       ! diagnostics
       !------------
-      diag_trp_ei(:,:) = SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_rdtice
-      diag_trp_es(:,:) = SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_rdtice
-      diag_trp_sv(:,:) = SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_rdtice
-      diag_trp_vi(:,:) = SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_rdtice
-      diag_trp_vs(:,:) = SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_rdtice
+      diag_trp_ei(:,:) = SUM(SUM( e_i (:,:,1:nlay_i,:) - e_i_b (:,:,1:nlay_i,:), dim=4 ), dim=3 ) * r1_Dt_ice
+      diag_trp_es(:,:) = SUM(SUM( e_s (:,:,1:nlay_s,:) - e_s_b (:,:,1:nlay_s,:), dim=4 ), dim=3 ) * r1_Dt_ice
+      diag_trp_sv(:,:) = SUM(     sv_i(:,:,:)          - sv_i_b(:,:,:)                  , dim=3 ) * r1_Dt_ice
+      diag_trp_vi(:,:) = SUM(     v_i (:,:,:)          - v_i_b (:,:,:)                  , dim=3 ) * r1_Dt_ice
+      diag_trp_vs(:,:) = SUM(     v_s (:,:,:)          - v_s_b (:,:,:)                  , dim=3 ) * r1_Dt_ice
       IF( iom_use('icemtrp') )   CALL iom_put( 'icemtrp' ,  diag_trp_vi * rhoi          )   ! ice mass transport
       IF( iom_use('snwmtrp') )   CALL iom_put( 'snwmtrp' ,  diag_trp_vs * rhos          )   ! snw mass transport
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_pra.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_pra.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_pra.F90	(revision 12511)
@@ -122,6 +122,6 @@
       !        Note: the advection split is applied at the next time-step in order to avoid blocking global comm.
       !              this should not affect too much the stability
-      zcflnow(1) =                  MAXVAL( ABS( pu_ice(:,:) ) * rdt_ice * r1_e1u(:,:) )
-      zcflnow(1) = MAX( zcflnow(1), MAXVAL( ABS( pv_ice(:,:) ) * rdt_ice * r1_e2v(:,:) ) )
+      zcflnow(1) =                  MAXVAL( ABS( pu_ice(:,:) ) * rDt_ice * r1_e1u(:,:) )
+      zcflnow(1) = MAX( zcflnow(1), MAXVAL( ABS( pv_ice(:,:) ) * rDt_ice * r1_e2v(:,:) ) )
       
       ! non-blocking global communication send zcflnow and receive zcflprv
@@ -131,5 +131,5 @@
       ELSE                         ;   icycle = 1
       ENDIF
-      zdt = rdt_ice / REAL(icycle)
+      zdt = rDt_ice / REAL(icycle)
       
       ! --- transport --- !
@@ -687,5 +687,5 @@
             IF ( pv_i(ji,jj,jl) > 0._wp ) THEN
                !
-               zvs_excess = MAX( 0._wp, pv_s(ji,jj,jl) - pv_i(ji,jj,jl) * (rau0-rhoi) * r1_rhos )
+               zvs_excess = MAX( 0._wp, pv_s(ji,jj,jl) - pv_i(ji,jj,jl) * (rho0-rhoi) * r1_rhos )
                !
                IF( zvs_excess > 0._wp ) THEN   ! snow-ice interface deplets below the ocean surface
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_umx.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_umx.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_adv_umx.F90	(revision 12511)
@@ -128,6 +128,6 @@
       !        Note: the advection split is applied at the next time-step in order to avoid blocking global comm.
       !              this should not affect too much the stability
-      zcflnow(1) =                  MAXVAL( ABS( pu_ice(:,:) ) * rdt_ice * r1_e1u(:,:) )
-      zcflnow(1) = MAX( zcflnow(1), MAXVAL( ABS( pv_ice(:,:) ) * rdt_ice * r1_e2v(:,:) ) )
+      zcflnow(1) =                  MAXVAL( ABS( pu_ice(:,:) ) * rDt_ice * r1_e1u(:,:) )
+      zcflnow(1) = MAX( zcflnow(1), MAXVAL( ABS( pv_ice(:,:) ) * rDt_ice * r1_e2v(:,:) ) )
       
       ! non-blocking global communication send zcflnow and receive zcflprv
@@ -137,5 +137,5 @@
       ELSE                         ;   icycle = 1
       ENDIF
-      zdt = rdt_ice / REAL(icycle)
+      zdt = rDt_ice / REAL(icycle)
 
       ! --- transport --- !
@@ -1505,5 +1505,5 @@
             IF ( pv_i(ji,jj,jl) > 0._wp ) THEN
                !
-               zvs_excess = MAX( 0._wp, pv_s(ji,jj,jl) - pv_i(ji,jj,jl) * (rau0-rhoi) * r1_rhos )
+               zvs_excess = MAX( 0._wp, pv_s(ji,jj,jl) - pv_i(ji,jj,jl) * (rho0-rhoi) * r1_rhos )
                !
                IF( zvs_excess > 0._wp ) THEN   ! snow-ice interface deplets below the ocean surface
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rdgrft.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rdgrft.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rdgrft.F90	(revision 12511)
@@ -250,5 +250,5 @@
                ELSE
                   iterate_ridging  = 1
-                  zdivu      (ji) = zfac * r1_rdtice
+                  zdivu      (ji) = zfac * r1_Dt_ice
                   closing_net(ji) = MAX( 0._wp, -zdivu(ji) )
                   opning     (ji) = MAX( 0._wp,  zdivu(ji) )
@@ -455,7 +455,7 @@
       DO jl = 1, jpl
          DO ji = 1, npti
-            zfac = apartf(ji,jl) * closing_gross(ji) * rdt_ice
+            zfac = apartf(ji,jl) * closing_gross(ji) * rDt_ice
             IF( zfac > pa_i(ji,jl) .AND. apartf(ji,jl) /= 0._wp ) THEN
-               closing_gross(ji) = pa_i(ji,jl) / apartf(ji,jl) * r1_rdtice
+               closing_gross(ji) = pa_i(ji,jl) / apartf(ji,jl) * r1_Dt_ice
             ENDIF
          END DO
@@ -467,9 +467,9 @@
       ! Reduce the opening rate in proportion
       DO ji = 1, npti  
-         zfac = pato_i(ji) + ( opning(ji) - apartf(ji,0) * closing_gross(ji) ) * rdt_ice
+         zfac = pato_i(ji) + ( opning(ji) - apartf(ji,0) * closing_gross(ji) ) * rDt_ice
          IF( zfac < 0._wp ) THEN           ! would lead to negative ato_i
-            opning(ji) = apartf(ji,0) * closing_gross(ji) - pato_i(ji) * r1_rdtice 
+            opning(ji) = apartf(ji,0) * closing_gross(ji) - pato_i(ji) * r1_Dt_ice 
          ELSEIF( zfac > zasum(ji) ) THEN   ! would lead to ato_i > asum
-            opning(ji) = apartf(ji,0) * closing_gross(ji) + ( zasum(ji) - pato_i(ji) ) * r1_rdtice 
+            opning(ji) = apartf(ji,0) * closing_gross(ji) + ( zasum(ji) - pato_i(ji) ) * r1_Dt_ice 
          ENDIF
       END DO
@@ -515,5 +515,5 @@
       !--------------------------------------------------------
       DO ji = 1, npti
-         ato_i_1d(ji) = MAX( 0._wp, ato_i_1d(ji) + ( opning(ji) - apartf(ji,0) * closing_gross(ji) ) * rdt_ice )
+         ato_i_1d(ji) = MAX( 0._wp, ato_i_1d(ji) + ( opning(ji) - apartf(ji,0) * closing_gross(ji) ) * rDt_ice )
       END DO
       
@@ -533,6 +533,6 @@
                
                ! area of ridging / rafting ice (airdg1) and of new ridge (airdg2)
-               airdg1 = aridge(ji,jl1) * closing_gross(ji) * rdt_ice
-               airft1 = araft (ji,jl1) * closing_gross(ji) * rdt_ice
+               airdg1 = aridge(ji,jl1) * closing_gross(ji) * rDt_ice
+               airft1 = araft (ji,jl1) * closing_gross(ji) * rDt_ice
 
                airdg2(ji) = airdg1 * hi_hrdg(ji,jl1)
@@ -575,18 +575,18 @@
 
                ! Ice-ocean exchanges associated with ice porosity
-               wfx_dyn_1d(ji) = wfx_dyn_1d(ji) - vsw * rhoi * r1_rdtice   ! increase in ice volume due to seawater frozen in voids
-               sfx_dyn_1d(ji) = sfx_dyn_1d(ji) - vsw * sss_1d(ji) * rhoi * r1_rdtice
-               hfx_dyn_1d(ji) = hfx_dyn_1d(ji) + ersw(ji) * r1_rdtice          ! > 0 [W.m-2] 
+               wfx_dyn_1d(ji) = wfx_dyn_1d(ji) - vsw * rhoi * r1_Dt_ice   ! increase in ice volume due to seawater frozen in voids
+               sfx_dyn_1d(ji) = sfx_dyn_1d(ji) - vsw * sss_1d(ji) * rhoi * r1_Dt_ice
+               hfx_dyn_1d(ji) = hfx_dyn_1d(ji) + ersw(ji) * r1_Dt_ice          ! > 0 [W.m-2] 
 
                ! Put the snow lost by ridging into the ocean
                !  Note that esrdg > 0; the ocean must cool to melt snow. If the ocean temp = Tf already, new ice must grow.
                wfx_snw_dyn_1d(ji) = wfx_snw_dyn_1d(ji) + ( rhos * vsrdg(ji) * ( 1._wp - rn_fsnwrdg )   &   ! fresh water source for ocean
-                  &                                      + rhos * vsrft(ji) * ( 1._wp - rn_fsnwrft ) ) * r1_rdtice
+                  &                                      + rhos * vsrft(ji) * ( 1._wp - rn_fsnwrft ) ) * r1_Dt_ice
 
                ! virtual salt flux to keep salinity constant
                IF( nn_icesal /= 2 )  THEN
                   sirdg2(ji)     = sirdg2(ji)     - vsw * ( sss_1d(ji) - s_i_1d(ji) )       ! ridge salinity = s_i
-                  sfx_bri_1d(ji) = sfx_bri_1d(ji) + sss_1d(ji) * vsw * rhoi * r1_rdtice  &  ! put back sss_m into the ocean
-                     &                            - s_i_1d(ji) * vsw * rhoi * r1_rdtice     ! and get  s_i  from the ocean 
+                  sfx_bri_1d(ji) = sfx_bri_1d(ji) + sss_1d(ji) * vsw * rhoi * r1_Dt_ice  &  ! put back sss_m into the ocean
+                     &                            - s_i_1d(ji) * vsw * rhoi * r1_Dt_ice     ! and get  s_i  from the ocean 
                ENDIF
 
@@ -611,6 +611,6 @@
                IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN
                   ! Compute ridging /rafting fractions
-                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rdt_ice * z1_ai(ji)
-                  afrft = araft (ji,jl1) * closing_gross(ji) * rdt_ice * z1_ai(ji)
+                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji)
+                  afrft = araft (ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji)
                   ! Compute ridging /rafting ice and new ridges for es
                   esrdg(ji,jk) = ze_s_2d (ji,jk,jl1) * afrdg
@@ -618,5 +618,5 @@
                   ! Put the snow lost by ridging into the ocean
                   hfx_dyn_1d(ji) = hfx_dyn_1d(ji) + ( - esrdg(ji,jk) * ( 1._wp - rn_fsnwrdg )   &                 ! heat sink for ocean (<0, W.m-2)
-                     &                                - esrft(ji,jk) * ( 1._wp - rn_fsnwrft ) ) * r1_rdtice
+                     &                                - esrft(ji,jk) * ( 1._wp - rn_fsnwrft ) ) * r1_Dt_ice
                   !
                   ! Remove energy of new ridge to each category jl1
@@ -632,6 +632,6 @@
                IF( apartf(ji,jl1) > 0._wp .AND. closing_gross(ji) > 0._wp ) THEN
                   ! Compute ridging /rafting fractions
-                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rdt_ice * z1_ai(ji)
-                  afrft = araft (ji,jl1) * closing_gross(ji) * rdt_ice * z1_ai(ji)
+                  afrdg = aridge(ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji)
+                  afrft = araft (ji,jl1) * closing_gross(ji) * rDt_ice * z1_ai(ji)
                   ! Compute ridging ice and new ridges for ei
                   eirdg(ji,jk) = ze_i_2d (ji,jk,jl1) * afrdg + ersw(ji) * r1_nlay_i
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rhg_evp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rhg_evp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icedyn_rhg_evp.F90	(revision 12511)
@@ -116,5 +116,5 @@
       INTEGER ::   jter         ! local integers
       !
-      REAL(wp) ::   zrhoco                                              ! rau0 * rn_cio
+      REAL(wp) ::   zrhoco                                              ! rho0 * rn_cio
       REAL(wp) ::   zdtevp, z1_dtevp                                    ! time step for subcycling
       REAL(wp) ::   ecc2, z1_ecc2                                       ! square of yield ellipse eccenticity
@@ -213,5 +213,5 @@
       ! 1) define some variables and initialize arrays
       !------------------------------------------------------------------------------!
-      zrhoco = rau0 * rn_cio 
+      zrhoco = rho0 * rn_cio 
 
       ! ecc2: square of yield ellipse eccenticrity
@@ -220,10 +220,10 @@
 
       ! Time step for subcycling
-      zdtevp   = rdt_ice / REAL( nn_nevp )
+      zdtevp   = rDt_ice / REAL( nn_nevp )
       z1_dtevp = 1._wp / zdtevp
 
       ! alpha parameters (Bouillon 2009)
       IF( .NOT. ln_aEVP ) THEN
-         zalph1 = ( 2._wp * rn_relast * rdt_ice ) * z1_dtevp
+         zalph1 = ( 2._wp * rn_relast * rDt_ice ) * z1_dtevp
          zalph2 = zalph1 * z1_ecc2
 
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/iceistate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/iceistate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/iceistate.F90	(revision 12511)
@@ -189,26 +189,24 @@
             IF( TRIM(si(jp_smi)%clrootname) == 'NOT USED' ) &
                &     si(jp_smi)%fnow(:,:,1) = ( rn_smi_ini_n * zswitch + rn_smi_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
-            zsm_i_ini(:,:) = si(jp_smi)%fnow(:,:,1)
-            !
-            ! ice temperature
-            IF( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' ) &
-               &     si(jp_tmi)%fnow(:,:,1) = ( rn_tmi_ini_n * zswitch + rn_tmi_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
-            ztm_i_ini(:,:) = si(jp_tmi)%fnow(:,:,1)
-            !
-            ! surface temperature => set to ice temperature if it exists
-            IF    ( TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) == 'NOT USED' ) THEN
-                     si(jp_tsu)%fnow(:,:,1) = ( rn_tsu_ini_n * zswitch + rn_tsu_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
-            ELSEIF( TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) /= 'NOT USED' ) THEN
-                     si(jp_tsu)%fnow(:,:,1) = si(jp_tmi)%fnow(:,:,1)
+            !
+            ! temperatures
+            IF    ( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. &
+               &    TRIM(si(jp_tms)%clrootname) == 'NOT USED' ) THEN
+               si(jp_tmi)%fnow(:,:,1) = ( rn_tmi_ini_n * zswitch + rn_tmi_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
+               si(jp_tsu)%fnow(:,:,1) = ( rn_tsu_ini_n * zswitch + rn_tsu_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
+               si(jp_tms)%fnow(:,:,1) = ( rn_tms_ini_n * zswitch + rn_tms_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
+            ELSEIF( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tms)%clrootname) /= 'NOT USED' ) THEN ! if T_s is read and not T_i, set T_i = (T_s + T_freeze)/2
+               si(jp_tmi)%fnow(:,:,1) = 0.5_wp * ( si(jp_tms)%fnow(:,:,1) + 271.15 )
+            ELSEIF( TRIM(si(jp_tmi)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tsu)%clrootname) /= 'NOT USED' ) THEN ! if T_su is read and not T_i, set T_i = (T_su + T_freeze)/2
+               si(jp_tmi)%fnow(:,:,1) = 0.5_wp * ( si(jp_tsu)%fnow(:,:,1) + 271.15 )
+            ELSEIF( TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tms)%clrootname) /= 'NOT USED' ) THEN ! if T_s is read and not T_su, set T_su = T_s
+               si(jp_tsu)%fnow(:,:,1) = si(jp_tms)%fnow(:,:,1)
+            ELSEIF( TRIM(si(jp_tsu)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) /= 'NOT USED' ) THEN ! if T_i is read and not T_su, set T_su = T_i
+               si(jp_tsu)%fnow(:,:,1) = si(jp_tmi)%fnow(:,:,1)
+            ELSEIF( TRIM(si(jp_tms)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tsu)%clrootname) /= 'NOT USED' ) THEN ! if T_su is read and not T_s, set T_s = T_su
+               si(jp_tms)%fnow(:,:,1) = si(jp_tsu)%fnow(:,:,1)
+            ELSEIF( TRIM(si(jp_tms)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) /= 'NOT USED' ) THEN ! if T_i is read and not T_s, set T_s = T_i
+               si(jp_tms)%fnow(:,:,1) = si(jp_tmi)%fnow(:,:,1)
             ENDIF
-            zt_su_ini(:,:) = si(jp_tsu)%fnow(:,:,1)
-            !
-            ! snow temperature => set to ice temperature if it exists
-            IF    ( TRIM(si(jp_tms)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) == 'NOT USED' ) THEN
-                     si(jp_tms)%fnow(:,:,1) = ( rn_tms_ini_n * zswitch + rn_tms_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
-            ELSEIF( TRIM(si(jp_tms)%clrootname) == 'NOT USED' .AND. TRIM(si(jp_tmi)%clrootname) /= 'NOT USED' ) THEN
-                     si(jp_tms)%fnow(:,:,1) = si(jp_tmi)%fnow(:,:,1)
-            ENDIF
-            ztm_s_ini(:,:) = si(jp_tms)%fnow(:,:,1)
             !
             ! pond concentration
@@ -216,9 +214,14 @@
                &     si(jp_apd)%fnow(:,:,1) = ( rn_apd_ini_n * zswitch + rn_apd_ini_s * (1._wp - zswitch) ) * tmask(:,:,1) & ! rn_apd = pond fraction => rn_apnd * a_i = pond conc.
                &                              * si(jp_ati)%fnow(:,:,1) 
-            zapnd_ini(:,:) = si(jp_apd)%fnow(:,:,1)
             !
             ! pond depth
             IF( TRIM(si(jp_hpd)%clrootname) == 'NOT USED' ) &
                &     si(jp_hpd)%fnow(:,:,1) = ( rn_hpd_ini_n * zswitch + rn_hpd_ini_s * (1._wp - zswitch) ) * tmask(:,:,1)
+            !
+            zsm_i_ini(:,:) = si(jp_smi)%fnow(:,:,1)
+            ztm_i_ini(:,:) = si(jp_tmi)%fnow(:,:,1)
+            zt_su_ini(:,:) = si(jp_tsu)%fnow(:,:,1)
+            ztm_s_ini(:,:) = si(jp_tms)%fnow(:,:,1)
+            zapnd_ini(:,:) = si(jp_apd)%fnow(:,:,1)
             zhpnd_ini(:,:) = si(jp_hpd)%fnow(:,:,1)
             !
@@ -371,6 +374,6 @@
       IF( ln_ice_embd ) THEN            ! embedded sea-ice: deplete the initial ssh below sea-ice area
          !
-         ssh(:,:,Kmm) = ssh(:,:,Kmm) - snwice_mass(:,:) * r1_rau0
-         ssh(:,:,Kbb) = ssh(:,:,Kbb) - snwice_mass(:,:) * r1_rau0
+         ssh(:,:,Kmm) = ssh(:,:,Kmm) - snwice_mass(:,:) * r1_rho0
+         ssh(:,:,Kbb) = ssh(:,:,Kbb) - snwice_mass(:,:) * r1_rho0
          !
          IF( .NOT.ln_linssh ) THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icestp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icestp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icestp.F90	(revision 12511)
@@ -338,8 +338,8 @@
       IF( ln_bdy .AND. ln_icediachk )   CALL ctl_warn('par_init: online conservation check does not work with BDY')
       !
-      rdt_ice   = REAL(nn_fsbc) * rdt          !--- sea-ice timestep and its inverse
-      r1_rdtice = 1._wp / rdt_ice
+      rDt_ice   = REAL(nn_fsbc) * rn_Dt          !--- sea-ice timestep and its inverse
+      r1_Dt_ice = 1._wp / rDt_ice
       IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) '      ice timestep rdt_ice = nn_fsbc*rdt = ', rdt_ice
+      IF(lwp) WRITE(numout,*) '      ice timestep rDt_ice = nn_fsbc*rn_Dt = ', rDt_ice
       !
       r1_nlay_i = 1._wp / REAL( nlay_i, wp )   !--- inverse of nlay_i and nlay_s
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd.F90	(revision 12511)
@@ -116,5 +116,5 @@
       ELSE      !  if no ice dynamics => transmit directly the atmospheric stress to the ocean
          DO_2D_00_00
-            zfric(ji,jj) = r1_rau0 * SQRT( 0.5_wp *  &
+            zfric(ji,jj) = r1_rho0 * SQRT( 0.5_wp *  &
                &                         (  utau(ji,jj) * utau(ji,jj) + utau(ji-1,jj) * utau(ji-1,jj)   &
                &                          + vtau(ji,jj) * vtau(ji,jj) + vtau(ji,jj-1) * vtau(ji,jj-1) ) ) * tmask(ji,jj,1)
@@ -136,17 +136,17 @@
          !
          ! --- Energy received in the lead from atm-oce exchanges, zqld is defined everywhere (J.m-2) --- !
-         zqld =  tmask(ji,jj,1) * rdt_ice *  &
+         zqld =  tmask(ji,jj,1) * rDt_ice *  &
             &    ( ( 1._wp - at_i_b(ji,jj) ) * qsr_oce(ji,jj) * frq_m(ji,jj) +  &
             &      ( 1._wp - at_i_b(ji,jj) ) * qns_oce(ji,jj) + qemp_oce(ji,jj) )
 
          ! --- Energy needed to bring ocean surface layer until its freezing (mostly<0 but >0 if supercooling, J.m-2) --- !
-         zqfr     = rau0 * rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) * tmask(ji,jj,1)  ! both < 0 (t_bo < sst) and > 0 (t_bo > sst)
+         zqfr     = rho0 * rcp * e3t_m(ji,jj) * ( t_bo(ji,jj) - ( sst_m(ji,jj) + rt0 ) ) * tmask(ji,jj,1)  ! both < 0 (t_bo < sst) and > 0 (t_bo > sst)
          zqfr_neg = MIN( zqfr , 0._wp )                                                                    ! only < 0
 
          ! --- Sensible ocean-to-ice heat flux (mostly>0 but <0 if supercooling, W/m2)
          zfric_u            = MAX( SQRT( zfric(ji,jj) ), zfric_umin ) 
-         qsb_ice_bot(ji,jj) = rswitch * rau0 * rcp * zch * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2
-
-         qsb_ice_bot(ji,jj) = rswitch * MIN( qsb_ice_bot(ji,jj), - zqfr_neg * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) )
+         qsb_ice_bot(ji,jj) = rswitch * rho0 * rcp * zch * zfric_u * ( ( sst_m(ji,jj) + rt0 ) - t_bo(ji,jj) ) ! W.m-2
+
+         qsb_ice_bot(ji,jj) = rswitch * MIN( qsb_ice_bot(ji,jj), - zqfr_neg * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) )
          ! upper bound for qsb_ice_bot: the heat retrieved from the ocean must be smaller than the heat necessary to reach 
          !                              the freezing point, so that we do not have SST < T_freeze
@@ -154,10 +154,10 @@
 
          !-- Energy Budget of the leads (J.m-2), source of ice growth in open water. Must be < 0 to form ice
-         qlead(ji,jj) = MIN( 0._wp , zqld - ( qsb_ice_bot(ji,jj) * at_i(ji,jj) * rdt_ice ) - zqfr )
+         qlead(ji,jj) = MIN( 0._wp , zqld - ( qsb_ice_bot(ji,jj) * at_i(ji,jj) * rDt_ice ) - zqfr )
 
          ! If there is ice and leads are warming => transfer energy from the lead budget and use it for bottom melting 
          ! If the grid cell is fully covered by ice (no leads) => transfer energy from the lead budget to the ice bottom budget
          IF( ( zqld >= 0._wp .AND. at_i(ji,jj) > 0._wp ) .OR. at_i(ji,jj) >= (1._wp - epsi10) ) THEN
-            fhld (ji,jj) = rswitch * zqld * r1_rdtice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90
+            fhld (ji,jj) = rswitch * zqld * r1_Dt_ice / MAX( at_i(ji,jj), epsi10 ) ! divided by at_i since this is (re)multiplied by a_i in icethd_dh.F90
             qlead(ji,jj) = 0._wp
          ELSE
@@ -185,5 +185,5 @@
       !     Third  step in iceupdate.F90  :  heat from ice-ocean mass exchange (zf_mass) + solar
       qt_oce_ai(:,:) = ( 1._wp - at_i_b(:,:) ) * qns_oce(:,:) + qemp_oce(:,:)  &  ! Non solar heat flux received by the ocean               
-         &             - qlead(:,:) * r1_rdtice                                &  ! heat flux taken from the ocean where there is open water ice formation
+         &             - qlead(:,:) * r1_Dt_ice                                &  ! heat flux taken from the ocean where there is open water ice formation
          &             - at_i (:,:) * qsb_ice_bot(:,:)                         &  ! heat flux taken by sensible flux
          &             - at_i (:,:) * fhld       (:,:)                            ! heat flux taken during bottom growth/melt 
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_da.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_da.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_da.F90	(revision 12511)
@@ -128,5 +128,5 @@
          zwlat  = zm1 * ( MAX( 0._wp, sst_1d(ji) - ( t_bo_1d(ji) - rt0 ) ) )**zm2  ! Melt speed rate [m/s]
          !
-         zda_tot(ji) = MIN( zwlat * zperi * rdt_ice, at_i_1d(ji) )                 ! sea ice concentration decrease (>0)
+         zda_tot(ji) = MIN( zwlat * zperi * rDt_ice, at_i_1d(ji) )                 ! sea ice concentration decrease (>0)
       
          ! --- Distribute reduction among ice categories and calculate associated ice-ocean fluxes --- !
@@ -137,12 +137,12 @@
             
             ! Contribution to salt flux
-            sfx_lam_1d(ji) = sfx_lam_1d(ji) + rhoi *  h_i_1d(ji) * zda * s_i_1d(ji) * r1_rdtice
+            sfx_lam_1d(ji) = sfx_lam_1d(ji) + rhoi *  h_i_1d(ji) * zda * s_i_1d(ji) * r1_Dt_ice
             
             ! Contribution to heat flux into the ocean [W.m-2], (<0)  
-            hfx_thd_1d(ji) = hfx_thd_1d(ji) - zda * r1_rdtice * ( h_i_1d(ji) * r1_nlay_i * SUM( e_i_1d(ji,1:nlay_i) )  &
+            hfx_thd_1d(ji) = hfx_thd_1d(ji) - zda * r1_Dt_ice * ( h_i_1d(ji) * r1_nlay_i * SUM( e_i_1d(ji,1:nlay_i) )  &
                                                                 + h_s_1d(ji) * r1_nlay_s * SUM( e_s_1d(ji,1:nlay_s) ) ) 
             
             ! Contribution to mass flux
-            wfx_lam_1d(ji) =  wfx_lam_1d(ji) + zda * r1_rdtice * ( rhoi * h_i_1d(ji) + rhos * h_s_1d(ji) )
+            wfx_lam_1d(ji) =  wfx_lam_1d(ji) + zda * r1_Dt_ice * ( rhoi * h_i_1d(ji) + rhos * h_s_1d(ji) )
             
             ! new concentration
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_dh.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_dh.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_dh.F90	(revision 12511)
@@ -76,5 +76,5 @@
       REAL(wp) ::   zgrr         ! bottom growth rate
       REAL(wp) ::   zt_i_new     ! bottom formation temperature
-      REAL(wp) ::   z1_rho       ! 1/(rhos+rau0-rhoi)
+      REAL(wp) ::   z1_rho       ! 1/(rhos+rho0-rhoi)
 
       REAL(wp) ::   zQm          ! enthalpy exchanged with the ocean (J/m2), >0 towards the ocean
@@ -130,5 +130,5 @@
          !
          DO ji = 1, npti
-            zq_top(ji)     = MAX( 0._wp, qml_ice_1d(ji) * rdt_ice )
+            zq_top(ji)     = MAX( 0._wp, qml_ice_1d(ji) * rDt_ice )
          END DO
          !
@@ -138,5 +138,5 @@
             zdum           = qns_ice_1d(ji) + qsr_ice_1d(ji) - qtr_ice_top_1d(ji) - qcn_ice_top_1d(ji)
             qml_ice_1d(ji) = zdum * MAX( 0._wp , SIGN( 1._wp, t_su_1d(ji) - rt0 ) )
-            zq_top(ji)     = MAX( 0._wp, qml_ice_1d(ji) * rdt_ice )
+            zq_top(ji)     = MAX( 0._wp, qml_ice_1d(ji) * rDt_ice )
          END DO
          !
@@ -145,5 +145,5 @@
       DO ji = 1, npti
          zf_tt(ji)         = qcn_ice_bot_1d(ji) + qsb_ice_bot_1d(ji) + fhld_1d(ji) 
-         zq_bot(ji)        = MAX( 0._wp, zf_tt(ji) * rdt_ice )
+         zq_bot(ji)        = MAX( 0._wp, zf_tt(ji) * rDt_ice )
       END DO
 
@@ -172,6 +172,6 @@
          DO ji = 1, npti
             IF( t_s_1d(ji,jk) > rt0 ) THEN
-               hfx_res_1d    (ji) = hfx_res_1d    (ji) + e_s_1d(ji,jk) * zh_s(ji,jk) * a_i_1d(ji) * r1_rdtice   ! heat flux to the ocean [W.m-2], < 0
-               wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) + rhos          * zh_s(ji,jk) * a_i_1d(ji) * r1_rdtice   ! mass flux
+               hfx_res_1d    (ji) = hfx_res_1d    (ji) + e_s_1d(ji,jk) * zh_s(ji,jk) * a_i_1d(ji) * r1_Dt_ice   ! heat flux to the ocean [W.m-2], < 0
+               wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) + rhos          * zh_s(ji,jk) * a_i_1d(ji) * r1_Dt_ice   ! mass flux
                ! updates
                dh_s_mlt(ji)    = dh_s_mlt(ji) - zh_s(ji,jk)
@@ -193,9 +193,9 @@
             !
             ! --- precipitation ---
-            zdh_s_pre (ji) = zsnw(ji) * sprecip_1d(ji) * rdt_ice * r1_rhos / at_i_1d(ji)   ! thickness change
+            zdh_s_pre (ji) = zsnw(ji) * sprecip_1d(ji) * rDt_ice * r1_rhos / at_i_1d(ji)   ! thickness change
             zqprec    (ji) = - qprec_ice_1d(ji)                                             ! enthalpy of the precip (>0, J.m-3)
             !
-            hfx_spr_1d(ji) = hfx_spr_1d(ji) + zdh_s_pre(ji) * a_i_1d(ji) * zqprec(ji)    * r1_rdtice   ! heat flux from snow precip (>0, W.m-2)
-            wfx_spr_1d(ji) = wfx_spr_1d(ji) - rhos          * a_i_1d(ji) * zdh_s_pre(ji) * r1_rdtice   ! mass flux, <0
+            hfx_spr_1d(ji) = hfx_spr_1d(ji) + zdh_s_pre(ji) * a_i_1d(ji) * zqprec(ji)    * r1_Dt_ice   ! heat flux from snow precip (>0, W.m-2)
+            wfx_spr_1d(ji) = wfx_spr_1d(ji) - rhos          * a_i_1d(ji) * zdh_s_pre(ji) * r1_Dt_ice   ! mass flux, <0
             
             ! --- melt of falling snow ---
@@ -203,6 +203,6 @@
             zdeltah       (ji,1) = - rswitch * zq_top(ji) / MAX( zqprec(ji) , epsi20 )   ! thickness change
             zdeltah       (ji,1) = MAX( - zdh_s_pre(ji), zdeltah(ji,1) )                 ! bound melting 
-            hfx_snw_1d    (ji)   = hfx_snw_1d    (ji) - zdeltah(ji,1) * a_i_1d(ji) * zqprec(ji)    * r1_rdtice   ! heat used to melt snow (W.m-2, >0)
-            wfx_snw_sum_1d(ji)   = wfx_snw_sum_1d(ji) - rhos          * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice   ! snow melting only = water into the ocean (then without snow precip), >0
+            hfx_snw_1d    (ji)   = hfx_snw_1d    (ji) - zdeltah(ji,1) * a_i_1d(ji) * zqprec(ji)    * r1_Dt_ice   ! heat used to melt snow (W.m-2, >0)
+            wfx_snw_sum_1d(ji)   = wfx_snw_sum_1d(ji) - rhos          * a_i_1d(ji) * zdeltah(ji,1) * r1_Dt_ice   ! snow melting only = water into the ocean (then without snow precip), >0
             
             ! updates available heat + precipitations after melting
@@ -243,6 +243,6 @@
                zdh_s_mel(ji)    = zdh_s_mel(ji) + zdeltah(ji,jk)
                
-               hfx_snw_1d(ji)     = hfx_snw_1d(ji)     - zdeltah(ji,jk) * a_i_1d(ji) * e_s_1d (ji,jk) * r1_rdtice   ! heat used to melt snow(W.m-2, >0)
-               wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos           * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice   ! snow melting only = water into the ocean (then without snow precip)
+               hfx_snw_1d(ji)     = hfx_snw_1d(ji)     - zdeltah(ji,jk) * a_i_1d(ji) * e_s_1d (ji,jk) * r1_Dt_ice   ! heat used to melt snow(W.m-2, >0)
+               wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos           * a_i_1d(ji) * zdeltah(ji,jk) * r1_Dt_ice   ! snow melting only = water into the ocean (then without snow precip)
                
                ! updates available heat + thickness
@@ -264,12 +264,12 @@
          IF( evap_ice_1d(ji) > 0._wp ) THEN
             !
-            zdh_s_sub (ji)   = MAX( - h_s_1d(ji) , - evap_ice_1d(ji) * r1_rhos * rdt_ice )
-            zevap_rema(ji)   = evap_ice_1d(ji) * rdt_ice + zdh_s_sub(ji) * rhos   ! remaining evap in kg.m-2 (used for ice melting later on)
+            zdh_s_sub (ji)   = MAX( - h_s_1d(ji) , - evap_ice_1d(ji) * r1_rhos * rDt_ice )
+            zevap_rema(ji)   = evap_ice_1d(ji) * rDt_ice + zdh_s_sub(ji) * rhos   ! remaining evap in kg.m-2 (used for ice melting later on)
             zdeltah   (ji,1) = MAX( zdh_s_sub(ji), - zdh_s_pre(ji) )
             
             hfx_sub_1d    (ji) = hfx_sub_1d(ji) + &   ! Heat flux by sublimation [W.m-2], < 0 (sublimate snow that had fallen, then pre-existing snow)
                &                 ( zdeltah(ji,1) * zqprec(ji) + ( zdh_s_sub(ji) - zdeltah(ji,1) ) * e_s_1d(ji,1) )  &
-               &                 * a_i_1d(ji) * r1_rdtice
-            wfx_snw_sub_1d(ji) = wfx_snw_sub_1d(ji) - rhos * a_i_1d(ji) * zdh_s_sub(ji) * r1_rdtice   ! Mass flux by sublimation
+               &                 * a_i_1d(ji) * r1_Dt_ice
+            wfx_snw_sub_1d(ji) = wfx_snw_sub_1d(ji) - rhos * a_i_1d(ji) * zdh_s_sub(ji) * r1_Dt_ice   ! Mass flux by sublimation
             
             ! new snow thickness
@@ -328,9 +328,9 @@
                zfmdt          = - rhoi * zdeltah(ji,jk)               ! Recompute mass flux [kg/m2, >0]
 
-               hfx_res_1d(ji) = hfx_res_1d(ji) + zfmdt * a_i_1d(ji) * zEi * r1_rdtice                           ! Heat flux to the ocean [W.m-2], <0
+               hfx_res_1d(ji) = hfx_res_1d(ji) + zfmdt * a_i_1d(ji) * zEi * r1_Dt_ice                           ! Heat flux to the ocean [W.m-2], <0
                !                                                                                                  ice enthalpy zEi is "sent" to the ocean
-               sfx_res_1d(ji) = sfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_rdtice    ! Salt flux
+               sfx_res_1d(ji) = sfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_Dt_ice    ! Salt flux
                !                                                                                                  using s_i_1d and not sz_i_1d(jk) is ok
-               wfx_res_1d(ji) = wfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice                 ! Mass flux
+               wfx_res_1d(ji) = wfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_Dt_ice                 ! Mass flux
 
             ELSE                                        !-- Surface melting
@@ -354,10 +354,10 @@
                zQm            = zfmdt * zEw                           ! Energy of the melt water sent to the ocean [J/m2, <0]
                
-               sfx_sum_1d(ji) = sfx_sum_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_rdtice    ! Salt flux >0
+               sfx_sum_1d(ji) = sfx_sum_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_Dt_ice    ! Salt flux >0
                !                                                                                                  using s_i_1d and not sz_i_1d(jk) is ok)
-               hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_rdtice                           ! Heat flux [W.m-2], < 0
-               hfx_sum_1d(ji) = hfx_sum_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_rdtice                           ! Heat flux used in this process [W.m-2], > 0  
+               hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_Dt_ice                           ! Heat flux [W.m-2], < 0
+               hfx_sum_1d(ji) = hfx_sum_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_Dt_ice                           ! Heat flux used in this process [W.m-2], > 0  
                ! 
-               wfx_sum_1d(ji) = wfx_sum_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice                 ! Mass flux
+               wfx_sum_1d(ji) = wfx_sum_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_Dt_ice                 ! Mass flux
                
             END IF
@@ -369,11 +369,11 @@
             dh_i_sub(ji)    = dh_i_sub(ji)    + zdum
             
-            sfx_sub_1d(ji)     = sfx_sub_1d(ji) - rhoi * a_i_1d(ji) * zdum * s_i_1d(ji) * r1_rdtice  ! Salt flux >0
+            sfx_sub_1d(ji)     = sfx_sub_1d(ji) - rhoi * a_i_1d(ji) * zdum * s_i_1d(ji) * r1_Dt_ice  ! Salt flux >0
             !                                                                                          clem: flux is sent to the ocean for simplicity
             !                                                                                                but salt should remain in the ice except
             !                                                                                                if all ice is melted. => must be corrected
-            hfx_sub_1d(ji)     = hfx_sub_1d(ji) + zdum * e_i_1d(ji,jk) * a_i_1d(ji) * r1_rdtice      ! Heat flux [W.m-2], < 0
-
-            wfx_ice_sub_1d(ji) = wfx_ice_sub_1d(ji) - rhoi * a_i_1d(ji) * zdum * r1_rdtice           ! Mass flux > 0
+            hfx_sub_1d(ji)     = hfx_sub_1d(ji) + zdum * e_i_1d(ji,jk) * a_i_1d(ji) * r1_Dt_ice      ! Heat flux [W.m-2], < 0
+
+            wfx_ice_sub_1d(ji) = wfx_ice_sub_1d(ji) - rhoi * a_i_1d(ji) * zdum * r1_Dt_ice           ! Mass flux > 0
 
             ! update remaining mass flux
@@ -400,5 +400,5 @@
       ! remaining "potential" evap is sent to ocean
       DO ji = 1, npti
-         wfx_err_sub_1d(ji) = wfx_err_sub_1d(ji) - zevap_rema(ji) * a_i_1d(ji) * r1_rdtice  ! <=0 (net evap for the ocean in kg.m-2.s-1)
+         wfx_err_sub_1d(ji) = wfx_err_sub_1d(ji) - zevap_rema(ji) * a_i_1d(ji) * r1_Dt_ice  ! <=0 (net evap for the ocean in kg.m-2.s-1)
       END DO
 
@@ -428,5 +428,5 @@
                !--- zswi12 if 2.0e-8 < dh/dt < 3.6e-7 
                !--- zswi2  if dh/dt > 3.6e-7
-               zgrr     = MIN( 1.0e-3, MAX ( dh_i_bog(ji) * r1_rdtice , epsi10 ) )
+               zgrr     = MIN( 1.0e-3, MAX ( dh_i_bog(ji) * r1_Dt_ice , epsi10 ) )
                zswi2    = MAX( 0._wp , SIGN( 1._wp , zgrr - 3.6e-7 ) )
                zswi12   = MAX( 0._wp , SIGN( 1._wp , zgrr - 2.0e-8 ) ) * ( 1.0 - zswi2 )
@@ -448,5 +448,5 @@
                zdE           = zEi - zEw                                                              ! Specific enthalpy difference (J/kg, <0)
 
-               dh_i_bog(ji)  = rdt_ice * MAX( 0._wp , zf_tt(ji) / ( zdE * rhoi ) )
+               dh_i_bog(ji)  = rDt_ice * MAX( 0._wp , zf_tt(ji) / ( zdE * rhoi ) )
                
             END DO
@@ -454,10 +454,10 @@
             zfmdt          = - rhoi * dh_i_bog(ji)                                                   ! Mass flux x time step (kg/m2, < 0)
             
-            hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_rdtice                           ! Heat flux to the ocean [W.m-2], >0
-            hfx_bog_1d(ji) = hfx_bog_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_rdtice                           ! Heat flux used in this process [W.m-2], <0
-            
-            sfx_bog_1d(ji) = sfx_bog_1d(ji) - rhoi * a_i_1d(ji) * dh_i_bog(ji) * s_i_new(ji) * r1_rdtice     ! Salt flux, <0
-
-            wfx_bog_1d(ji) = wfx_bog_1d(ji) - rhoi * a_i_1d(ji) * dh_i_bog(ji) * r1_rdtice                   ! Mass flux, <0
+            hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_Dt_ice                           ! Heat flux to the ocean [W.m-2], >0
+            hfx_bog_1d(ji) = hfx_bog_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_Dt_ice                           ! Heat flux used in this process [W.m-2], <0
+            
+            sfx_bog_1d(ji) = sfx_bog_1d(ji) - rhoi * a_i_1d(ji) * dh_i_bog(ji) * s_i_new(ji) * r1_Dt_ice     ! Salt flux, <0
+
+            wfx_bog_1d(ji) = wfx_bog_1d(ji) - rhoi * a_i_1d(ji) * dh_i_bog(ji) * r1_Dt_ice                   ! Mass flux, <0
 
             ! update heat content (J.m-2) and layer thickness
@@ -490,9 +490,9 @@
                   zfmdt             = - zdeltah(ji,jk) * rhoi      ! Mass flux x time step > 0
 
-                  hfx_res_1d(ji) = hfx_res_1d(ji) + zfmdt * a_i_1d(ji) * zEi * r1_rdtice                           ! Heat flux to the ocean [W.m-2], <0
+                  hfx_res_1d(ji) = hfx_res_1d(ji) + zfmdt * a_i_1d(ji) * zEi * r1_Dt_ice                           ! Heat flux to the ocean [W.m-2], <0
                   !                                                                                                  ice enthalpy zEi is "sent" to the ocean
-                  sfx_res_1d(ji) = sfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_rdtice    ! Salt flux
+                  sfx_res_1d(ji) = sfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_Dt_ice    ! Salt flux
                   !                                                                                                  using s_i_1d and not sz_i_1d(jk) is ok
-                  wfx_res_1d(ji) = wfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice                 ! Mass flux
+                  wfx_res_1d(ji) = wfx_res_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_Dt_ice                 ! Mass flux
 
                   ! update heat content (J.m-2) and layer thickness
@@ -520,11 +520,11 @@
                   zQm             = zfmdt * zEw                                               ! Heat exchanged with ocean
 
-                  hfx_thd_1d(ji)  = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_rdtice                           ! Heat flux to the ocean [W.m-2], <0  
-                  hfx_bom_1d(ji)  = hfx_bom_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_rdtice                           ! Heat used in this process [W.m-2], >0  
-
-                  sfx_bom_1d(ji)  = sfx_bom_1d(ji) - rhoi *  a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_rdtice   ! Salt flux
+                  hfx_thd_1d(ji)  = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_Dt_ice                           ! Heat flux to the ocean [W.m-2], <0  
+                  hfx_bom_1d(ji)  = hfx_bom_1d(ji) - zfmdt * a_i_1d(ji) * zdE * r1_Dt_ice                           ! Heat used in this process [W.m-2], >0  
+
+                  sfx_bom_1d(ji)  = sfx_bom_1d(ji) - rhoi *  a_i_1d(ji) * zdeltah(ji,jk) * s_i_1d(ji) * r1_Dt_ice   ! Salt flux
                   !                                                                                                   using s_i_1d and not sz_i_1d(jk) is ok
                   
-                  wfx_bom_1d(ji)  = wfx_bom_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_rdtice                 ! Mass flux
+                  wfx_bom_1d(ji)  = wfx_bom_1d(ji) - rhoi * a_i_1d(ji) * zdeltah(ji,jk) * r1_Dt_ice                 ! Mass flux
 
                   ! update heat content (J.m-2) and layer thickness
@@ -556,10 +556,10 @@
         
          zq_rema(ji)        = zq_rema(ji) + zdeltah(ji,1) * e_s_1d(ji,1)                               ! update available heat (J.m-2)
-         hfx_snw_1d(ji)     = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * e_s_1d(ji,1) * r1_rdtice   ! Heat used to melt snow, W.m-2 (>0)
-         wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos * a_i_1d(ji) * zdeltah(ji,1) * r1_rdtice       ! Mass flux
+         hfx_snw_1d(ji)     = hfx_snw_1d(ji) - zdeltah(ji,1) * a_i_1d(ji) * e_s_1d(ji,1) * r1_Dt_ice   ! Heat used to melt snow, W.m-2 (>0)
+         wfx_snw_sum_1d(ji) = wfx_snw_sum_1d(ji) - rhos * a_i_1d(ji) * zdeltah(ji,1) * r1_Dt_ice       ! Mass flux
          dh_s_mlt(ji)       = dh_s_mlt(ji) + zdeltah(ji,1)
          !    
          ! Remaining heat flux (W.m-2) is sent to the ocean heat budget
-         qt_oce_ai_1d(ji) = qt_oce_ai_1d(ji) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_rdtice
+         qt_oce_ai_1d(ji) = qt_oce_ai_1d(ji) + ( zq_rema(ji) * a_i_1d(ji) ) * r1_Dt_ice
 
          IF( ln_icectl .AND. zq_rema(ji) < 0. .AND. lwp ) WRITE(numout,*) 'ALERTE zq_rema <0 = ', zq_rema(ji)
@@ -571,8 +571,8 @@
       ! When snow load excesses Archimede's limit, snow-ice interface goes down under sea-level, 
       ! flooding of seawater transforms snow into ice dh_snowice is positive for the ice
-      z1_rho = 1._wp / ( rhos+rau0-rhoi )
+      z1_rho = 1._wp / ( rhos+rho0-rhoi )
       DO ji = 1, npti
          !
-         dh_snowice(ji) = MAX(  0._wp , ( rhos * h_s_1d(ji) + (rhoi-rau0) * h_i_1d(ji) ) * z1_rho )
+         dh_snowice(ji) = MAX(  0._wp , ( rhos * h_s_1d(ji) + (rhoi-rho0) * h_i_1d(ji) ) * z1_rho )
 
          h_i_1d(ji)    = h_i_1d(ji) + dh_snowice(ji)
@@ -584,17 +584,17 @@
          zQm            = zfmdt * zEw 
          
-         hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_rdtice ! Heat flux
-
-         sfx_sni_1d(ji) = sfx_sni_1d(ji) + sss_1d(ji) * a_i_1d(ji) * zfmdt * r1_rdtice ! Salt flux
+         hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * a_i_1d(ji) * zEw * r1_Dt_ice ! Heat flux
+
+         sfx_sni_1d(ji) = sfx_sni_1d(ji) + sss_1d(ji) * a_i_1d(ji) * zfmdt * r1_Dt_ice ! Salt flux
 
          ! Case constant salinity in time: virtual salt flux to keep salinity constant
          IF( nn_icesal /= 2 )  THEN
-            sfx_bri_1d(ji) = sfx_bri_1d(ji) - sss_1d (ji) * a_i_1d(ji) * zfmdt                  * r1_rdtice  & ! put back sss_m     into the ocean
-               &                            - s_i_1d(ji)  * a_i_1d(ji) * dh_snowice(ji) * rhoi * r1_rdtice     ! and get  rn_icesal from the ocean 
+            sfx_bri_1d(ji) = sfx_bri_1d(ji) - sss_1d (ji) * a_i_1d(ji) * zfmdt                  * r1_Dt_ice  & ! put back sss_m     into the ocean
+               &                            - s_i_1d(ji)  * a_i_1d(ji) * dh_snowice(ji) * rhoi * r1_Dt_ice     ! and get  rn_icesal from the ocean 
          ENDIF
 
          ! Mass flux: All snow is thrown in the ocean, and seawater is taken to replace the volume
-         wfx_sni_1d(ji)     = wfx_sni_1d(ji)     - a_i_1d(ji) * dh_snowice(ji) * rhoi * r1_rdtice
-         wfx_snw_sni_1d(ji) = wfx_snw_sni_1d(ji) + a_i_1d(ji) * dh_snowice(ji) * rhos * r1_rdtice
+         wfx_sni_1d(ji)     = wfx_sni_1d(ji)     - a_i_1d(ji) * dh_snowice(ji) * rhoi * r1_Dt_ice
+         wfx_snw_sni_1d(ji) = wfx_snw_sni_1d(ji) + a_i_1d(ji) * dh_snowice(ji) * rhos * r1_Dt_ice
 
          ! update heat content (J.m-2) and layer thickness
@@ -618,7 +618,7 @@
             ! mass & energy loss to the ocean
             hfx_res_1d(ji) = hfx_res_1d(ji) + ( 1._wp - rswitch ) * &
-               &                              ( e_s_1d(ji,jk) * h_s_1d(ji) * r1_nlay_s * a_i_1d(ji) * r1_rdtice )  ! heat flux to the ocean [W.m-2], < 0
+               &                              ( e_s_1d(ji,jk) * h_s_1d(ji) * r1_nlay_s * a_i_1d(ji) * r1_Dt_ice )  ! heat flux to the ocean [W.m-2], < 0
             wfx_res_1d(ji) = wfx_res_1d(ji) + ( 1._wp - rswitch ) * &
-               &                              ( rhos          * h_s_1d(ji) * r1_nlay_s * a_i_1d(ji) * r1_rdtice )  ! mass flux
+               &                              ( rhos          * h_s_1d(ji) * r1_nlay_s * a_i_1d(ji) * r1_Dt_ice )  ! mass flux
             ! update energy (mass is updated in the next loop)
             e_s_1d(ji,jk) = rswitch * e_s_1d(ji,jk)
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_do.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_do.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_do.F90	(revision 12511)
@@ -141,5 +141,5 @@
          ! Physical constants
          zhicrit = 0.04                                          ! frazil ice thickness
-         ztwogp  = 2. * rau0 / ( grav * 0.3 * ( rau0 - rhoi ) )  ! reduced grav
+         ztwogp  = 2. * rho0 / ( grav * 0.3 * ( rho0 - rhoi ) )  ! reduced grav
          zsqcd   = 1.0 / SQRT( 1.3 * zcai )                      ! 1/SQRT(airdensity*drag)
          zgamafr = 0.03
@@ -289,11 +289,11 @@
 
             ! Contribution to heat flux to the ocean [W.m-2], >0  
-            hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * zEw * r1_rdtice
+            hfx_thd_1d(ji) = hfx_thd_1d(ji) + zfmdt * zEw * r1_Dt_ice
             ! Total heat flux used in this process [W.m-2]  
-            hfx_opw_1d(ji) = hfx_opw_1d(ji) - zfmdt * zdE * r1_rdtice
+            hfx_opw_1d(ji) = hfx_opw_1d(ji) - zfmdt * zdE * r1_Dt_ice
             ! mass flux
-            wfx_opw_1d(ji) = wfx_opw_1d(ji) - zv_newice(ji) * rhoi * r1_rdtice
+            wfx_opw_1d(ji) = wfx_opw_1d(ji) - zv_newice(ji) * rhoi * r1_Dt_ice
             ! salt flux
-            sfx_opw_1d(ji) = sfx_opw_1d(ji) - zv_newice(ji) * rhoi * zs_newice(ji) * r1_rdtice
+            sfx_opw_1d(ji) = sfx_opw_1d(ji) - zv_newice(ji) * rhoi * zs_newice(ji) * r1_Dt_ice
          END DO
          
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_ent.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_ent.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_ent.F90	(revision 12511)
@@ -129,5 +129,5 @@
       ! then we should not (* a_i) again but not important since this is just to check that remap error is ~0
       DO ji = 1, npti
-         hfx_err_rem_1d(ji) = hfx_err_rem_1d(ji) + a_i_1d(ji) * r1_rdtice *  &
+         hfx_err_rem_1d(ji) = hfx_err_rem_1d(ji) + a_i_1d(ji) * r1_Dt_ice *  &
             &               ( SUM( qnew(ji,1:nlay_i) ) * zhnew(ji) - SUM( eh_i_old(ji,0:nlay_i+1) ) ) 
       END DO
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_pnd.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_pnd.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_pnd.F90	(revision 12511)
@@ -165,5 +165,5 @@
             ! melt pond mass flux (<0)
             IF( zdv_mlt > 0._wp ) THEN
-               zfac = zfr_mlt * zdv_mlt * rhow * r1_rdtice
+               zfac = zfr_mlt * zdv_mlt * rhow * r1_Dt_ice
                wfx_pnd_1d(ji) = wfx_pnd_1d(ji) - zfac
                !
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_sal.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_sal.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_sal.F90	(revision 12511)
@@ -68,6 +68,6 @@
       CASE( 2 )       !  time varying salinity with linear profile  !
          !            !---------------------------------------------!
-         z1_time_gd = 1._wp / rn_time_gd * rdt_ice
-         z1_time_fl = 1._wp / rn_time_fl * rdt_ice
+         z1_time_gd = 1._wp / rn_time_gd * rDt_ice
+         z1_time_fl = 1._wp / rn_time_fl * rDt_ice
          !
          DO ji = 1, npti
@@ -98,5 +98,5 @@
                
                ! Salt flux
-               sfx_bri_1d(ji) = sfx_bri_1d(ji) - rhoi * a_i_1d(ji) * h_i_1d(ji) * ( zs_i_fl + zs_i_gd ) * r1_rdtice
+               sfx_bri_1d(ji) = sfx_bri_1d(ji) - rhoi * a_i_1d(ji) * h_i_1d(ji) * ( zs_i_fl + zs_i_gd ) * r1_Dt_ice
             ENDIF
          END DO
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_zdf_bl99.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_zdf_bl99.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icethd_zdf_bl99.F90	(revision 12511)
@@ -320,5 +320,5 @@
             DO ji = 1, npti
                zcpi = rcpi + zgamma * sz_i_1d(ji,jk) / MAX( ( t_i_1d(ji,jk) - rt0 ) * ( ztiold(ji,jk) - rt0 ), epsi10 )
-               zeta_i(ji,jk) = rdt_ice * r1_rhoi * z1_h_i(ji) / MAX( epsi10, zcpi ) 
+               zeta_i(ji,jk) = rDt_ice * r1_rhoi * z1_h_i(ji) / MAX( epsi10, zcpi ) 
             END DO
          END DO
@@ -326,5 +326,5 @@
          DO jk = 1, nlay_s
             DO ji = 1, npti
-               zeta_s(ji,jk) = rdt_ice * r1_rhos * r1_rcpi * z1_h_s(ji)
+               zeta_s(ji,jk) = rDt_ice * r1_rhos * r1_rcpi * z1_h_s(ji)
             END DO
          END DO
@@ -769,13 +769,35 @@
       !
       ! --- calculate conduction fluxes (positive downward)
-
+      !     bottom ice conduction flux
       DO ji = 1, npti
-         !                                ! surface ice conduction flux
-         qcn_ice_top_1d(ji) =  -           isnow(ji)   * zkappa_s(ji,0)      * zg1s * ( t_s_1d(ji,1) - t_su_1d(ji) )  &
-            &                  - ( 1._wp - isnow(ji) ) * zkappa_i(ji,0)      * zg1  * ( t_i_1d(ji,1) - t_su_1d(ji) )
-         !                                ! bottom ice conduction flux
-         qcn_ice_bot_1d(ji) =                          - zkappa_i(ji,nlay_i) * zg1  * ( t_bo_1d(ji ) - t_i_1d (ji,nlay_i) )
+         qcn_ice_bot_1d(ji) = - zkappa_i(ji,nlay_i) * zg1  * ( t_bo_1d(ji ) - t_i_1d (ji,nlay_i) )
       END DO
-      
+      !     surface ice conduction flux
+      IF( k_cnd == np_cnd_OFF .OR. k_cnd == np_cnd_EMU ) THEN
+         !
+         DO ji = 1, npti
+            qcn_ice_top_1d(ji) =  -           isnow(ji)   * zkappa_s(ji,0) * zg1s * ( t_s_1d(ji,1) - t_su_1d(ji) )  &
+               &                  - ( 1._wp - isnow(ji) ) * zkappa_i(ji,0) * zg1  * ( t_i_1d(ji,1) - t_su_1d(ji) )
+         END DO
+         !
+      ELSEIF( k_cnd == np_cnd_ON ) THEN
+         !
+         DO ji = 1, npti
+            qcn_ice_top_1d(ji) = qcn_ice_1d(ji)
+         END DO
+         !
+      ENDIF
+      !     surface ice temperature
+      IF( k_cnd == np_cnd_ON .AND. ln_cndemulate ) THEN
+         !
+         DO ji = 1, npti
+            t_su_1d(ji) = (  qcn_ice_top_1d(ji) &            ! calculate surface temperature
+               &           +           isnow(ji)   * zkappa_s(ji,0) * zg1s * t_s_1d(ji,1) &
+               &           + ( 1._wp - isnow(ji) ) * zkappa_i(ji,0) * zg1  * t_i_1d(ji,1) &
+               &          ) / MAX( epsi10, isnow(ji) * zkappa_s(ji,0) * zg1s + ( 1._wp - isnow(ji) ) * zkappa_i(ji,0) * zg1 )
+            t_su_1d(ji) = MAX( MIN( t_su_1d(ji), rt0 ), rt0 - 100._wp )  ! cap t_su
+         END DO
+         !
+      ENDIF
       !
       ! --- Diagnose the heat loss due to changing non-solar / conduction flux --- !
@@ -787,12 +809,5 @@
          END DO
          !
-      ELSEIF( k_cnd == np_cnd_ON ) THEN
-         !
-         DO ji = 1, npti
-            hfx_err_dif_1d(ji) = hfx_err_dif_1d(ji) - ( qcn_ice_top_1d(ji) - qcn_ice_1d(ji) ) * a_i_1d(ji) 
-         END DO
-         !
       ENDIF
-      
       !
       ! --- Diagnose the heat loss due to non-fully converged temperature solution (should not be above 10-4 W-m2) --- !
@@ -811,8 +826,8 @@
                IF( t_su_1d(ji) < rt0 ) THEN  ! case T_su < 0degC
                   zhfx_err = ( qns_ice_1d(ji)     + qsr_ice_1d(ji)     - zradtr_i(ji,nlay_i) - qcn_ice_bot_1d(ji)  &
-                     &       + zdq * r1_rdtice ) * a_i_1d(ji)
+                     &       + zdq * r1_Dt_ice ) * a_i_1d(ji)
                ELSE                          ! case T_su = 0degC
                   zhfx_err = ( qcn_ice_top_1d(ji) + qtr_ice_top_1d(ji) - zradtr_i(ji,nlay_i) - qcn_ice_bot_1d(ji)  &
-                     &       + zdq * r1_rdtice ) * a_i_1d(ji)
+                     &       + zdq * r1_Dt_ice ) * a_i_1d(ji)
                ENDIF
                
@@ -820,5 +835,5 @@
             
                zhfx_err    = ( qcn_ice_top_1d(ji) + qtr_ice_top_1d(ji) - zradtr_i(ji,nlay_i) - qcn_ice_bot_1d(ji)  &
-                  &          + zdq * r1_rdtice ) * a_i_1d(ji)
+                  &          + zdq * r1_Dt_ice ) * a_i_1d(ji)
             
             ENDIF
@@ -828,5 +843,5 @@
             !
             ! hfx_dif = Heat flux diagnostic of sensible heat used to warm/cool ice in W.m-2   
-            hfx_dif_1d(ji) = hfx_dif_1d(ji) - zdq * r1_rdtice * a_i_1d(ji)
+            hfx_dif_1d(ji) = hfx_dif_1d(ji) - zdq * r1_Dt_ice * a_i_1d(ji)
             !
          END DO
@@ -856,8 +871,4 @@
          t_i_1d    (1:npti,:) = ztiold        (1:npti,:)
          qcn_ice_1d(1:npti)   = qcn_ice_top_1d(1:npti)
-
-         !!clem
-         ! remettre t_su_1d, qns_ice_1d et dqns_ice_1d comme avant puisqu'on devrait faire comme si on avant conduction = input
-         !clem
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/iceupdate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/iceupdate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/iceupdate.F90	(revision 12511)
@@ -171,5 +171,5 @@
          snwice_mass  (ji,jj) = tmask(ji,jj,1) * ( rhos * vt_s(ji,jj) + rhoi * vt_i(ji,jj)  ) 
          !                                               ! time evolution of snow+ice mass
-         snwice_fmass (ji,jj) = ( snwice_mass(ji,jj) - snwice_mass_b(ji,jj) ) * r1_rdtice
+         snwice_fmass (ji,jj) = ( snwice_mass(ji,jj) - snwice_mass_b(ji,jj) ) * r1_Dt_ice
          
       END_2D
@@ -329,5 +329,5 @@
       ENDIF
 
-      zrhoco = rau0 * rn_cio
+      zrhoco = rho0 * rn_cio
       !
       IF( MOD( kt-1, nn_fsbc ) == 0 ) THEN     !==  Ice time-step only  ==!   (i.e. surface module time-step)
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icevar.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icevar.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icevar.F90	(revision 12511)
@@ -488,5 +488,5 @@
          DO_3D_11_11( 1, nlay_i )
             ! update exchanges with ocean
-            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_i(ji,jj,jk,jl) * r1_rdtice ! W.m-2 <0
+            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_i(ji,jj,jk,jl) * r1_Dt_ice ! W.m-2 <0
             e_i(ji,jj,jk,jl) = e_i(ji,jj,jk,jl) * zswitch(ji,jj)
             t_i(ji,jj,jk,jl) = t_i(ji,jj,jk,jl) * zswitch(ji,jj) + rt0 * ( 1._wp - zswitch(ji,jj) )
@@ -495,5 +495,5 @@
          DO_3D_11_11( 1, nlay_s )
             ! update exchanges with ocean
-            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_s(ji,jj,jk,jl) * r1_rdtice ! W.m-2 <0
+            hfx_res(ji,jj)   = hfx_res(ji,jj) - (1._wp - zswitch(ji,jj) ) * e_s(ji,jj,jk,jl) * r1_Dt_ice ! W.m-2 <0
             e_s(ji,jj,jk,jl) = e_s(ji,jj,jk,jl) * zswitch(ji,jj)
             t_s(ji,jj,jk,jl) = t_s(ji,jj,jk,jl) * zswitch(ji,jj) + rt0 * ( 1._wp - zswitch(ji,jj) )
@@ -505,7 +505,7 @@
          DO_2D_11_11
             ! update exchanges with ocean
-            sfx_res(ji,jj)  = sfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * sv_i(ji,jj,jl)   * rhoi * r1_rdtice
-            wfx_res(ji,jj)  = wfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * v_i (ji,jj,jl)   * rhoi * r1_rdtice
-            wfx_res(ji,jj)  = wfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * v_s (ji,jj,jl)   * rhos * r1_rdtice
+            sfx_res(ji,jj)  = sfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * sv_i(ji,jj,jl)   * rhoi * r1_Dt_ice
+            wfx_res(ji,jj)  = wfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * v_i (ji,jj,jl)   * rhoi * r1_Dt_ice
+            wfx_res(ji,jj)  = wfx_res(ji,jj) + (1._wp - zswitch(ji,jj) ) * v_s (ji,jj,jl)   * rhos * r1_Dt_ice
             !
             a_i  (ji,jj,jl) = a_i (ji,jj,jl) * zswitch(ji,jj)
@@ -717,5 +717,5 @@
       !! ** Purpose :  compute the equivalent ssh in lead when sea ice is embedded
       !!
-      !! ** Method  :  ssh_lead = ssh + (Mice + Msnow) / rau0
+      !! ** Method  :  ssh_lead = ssh + (Mice + Msnow) / rho0
       !!
       !! ** Reference : Jean-Michel Campin, John Marshall, David Ferreira,
@@ -747,5 +747,5 @@
          zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp
          !
-         zsnwiceload(:,:) = ( zintn * psnwice_mass(:,:) + zintb * psnwice_mass_b(:,:) ) * r1_rau0
+         zsnwiceload(:,:) = ( zintn * psnwice_mass(:,:) + zintb * psnwice_mass_b(:,:) ) * r1_rho0
          !
       ELSE
@@ -937,5 +937,5 @@
                ! In case snow load is in excess that would lead to transformation from snow to ice
                ! Then, transfer the snow excess into the ice (different from icethd_dh)
-               zdh = MAX( 0._wp, ( rhos * ph_s(ji,jl) + ( rhoi - rau0 ) * ph_i(ji,jl) ) * r1_rau0 ) 
+               zdh = MAX( 0._wp, ( rhos * ph_s(ji,jl) + ( rhoi - rho0 ) * ph_i(ji,jl) ) * r1_rho0 ) 
                ! recompute h_i, h_s avoiding out of bounds values
                ph_i(ji,jl) = MIN( hi_max(jl), ph_i(ji,jl) + zdh )
Index: NEMO/branches/2020/r12377_ticket2386/src/ICE/icewri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/ICE/icewri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/ICE/icewri.F90	(revision 12511)
@@ -87,5 +87,5 @@
       ! Standard outputs
       !-----------------
-      zrho1 = ( rau0 - rhoi ) * r1_rau0 ; zrho2 = rhos * r1_rau0
+      zrho1 = ( rho0 - rhoi ) * r1_rho0 ; zrho2 = rhos * r1_rho0
       ! masks
       CALL iom_put( 'icemask'  , zmsk00 )   ! ice mask 0%
Index: NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_sponge.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_sponge.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_sponge.F90	(revision 12511)
@@ -439,6 +439,6 @@
 
          !* set relaxation time scale
-         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rdt )
-         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rdt )
+         IF( l_1st_euler .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rn_Dt )
+         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rn_Dt )
          ENDIF
 
@@ -596,6 +596,6 @@
 #endif
          !* set relaxation time scale
-         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rdt )
-         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rdt )
+         IF( l_1st_euler .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rn_Dt )
+         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rn_Dt )
          ENDIF
          !
@@ -772,6 +772,6 @@
 # endif
          !* set relaxation time scale
-         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rdt )
-         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rdt )
+         IF( l_1st_euler .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_dyn  / (        rn_Dt )
+         ELSE                                          ;   ztrelax =   rn_trelax_dyn  / (2._wp * rn_Dt )
          ENDIF
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_update.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_update.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_oce_update.F90	(revision 12511)
@@ -256,5 +256,5 @@
       ! 2) BEFORE fields:
       !------------------
-      IF (.NOT.(lk_agrif_fstep.AND.(neuler==0) )) THEN
+      IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler) )) THEN
          !
          ! Vertical scale factor interpolations
@@ -351,5 +351,5 @@
          ENDDO
 
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN
             ! Add asselin part
             DO jn = 1,jpts
@@ -361,5 +361,5 @@
                            ztnu = tabres_child(ji,jj,jk,jn) * e3t(ji,jj,jk,Kmm_a)
                            ztno = ts(ji,jj,jk,jn,Kmm_a) * e3t(ji,jj,jk,Krhs_a)
-                           ts(ji,jj,jk,jn,Kbb_a) = ( ztb + atfp * ( ztnu - ztno) )  & 
+                           ts(ji,jj,jk,jn,Kbb_a) = ( ztb + rn_atfp * ( ztnu - ztno) )  & 
                                      &        * tmask(ji,jj,jk) / e3t(ji,jj,jk,Kbb_a)
                         ENDIF
@@ -381,5 +381,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             ts(i1:i2,j1:j2,1:jpkm1,1:jpts,Kbb_a)  = ts(i1:i2,j1:j2,1:jpkm1,1:jpts,Kmm_a)
          ENDIF
@@ -422,5 +422,5 @@
          ENDDO
 !< jc tmp
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN
             ! Add asselin part
             DO jn = 1,jpts
@@ -432,5 +432,5 @@
                            ztnu = tabres(ji,jj,jk,jn)
                            ztno = ts(ji,jj,jk,jn,Kmm_a) * e3t(ji,jj,jk,Krhs_a)
-                           ts(ji,jj,jk,jn,Kbb_a) = ( ztb + atfp * ( ztnu - ztno) )  & 
+                           ts(ji,jj,jk,jn,Kbb_a) = ( ztb + rn_atfp * ( ztnu - ztno) )  & 
                                      &        * tmask(ji,jj,jk) / e3t(ji,jj,jk,Kbb_a)
                         ENDIF
@@ -452,5 +452,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             ts(i1:i2,j1:j2,k1:k2,1:jpts,Kbb_a)  = ts(i1:i2,j1:j2,k1:k2,1:jpts,Kmm_a)
          ENDIF
@@ -551,9 +551,9 @@
             DO jj=j1,j2
                DO ji=i1,i2
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zub  = uu(ji,jj,jk,Kbb_a) * e3u(ji,jj,jk,Kbb_a)  ! fse3t_b prior update should be used
                      zuno = uu(ji,jj,jk,Kmm_a) * e3u(ji,jj,jk,Krhs_a)
                      zunu = tabres_child(ji,jj,jk) * e3u(ji,jj,jk,Kmm_a)
-                     uu(ji,jj,jk,Kbb_a) = ( zub + atfp * ( zunu - zuno) ) &      
+                     uu(ji,jj,jk,Kbb_a) = ( zub + rn_atfp * ( zunu - zuno) ) &      
                                     & * umask(ji,jj,jk) / e3u(ji,jj,jk,Kbb_a)
                   ENDIF
@@ -564,5 +564,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             uu(i1:i2,j1:j2,1:jpkm1,Kbb_a)  = uu(i1:i2,j1:j2,1:jpkm1,Kmm_a)
          ENDIF
@@ -597,9 +597,9 @@
                   tabres(ji,jj,jk,1) = tabres(ji,jj,jk,1) * r1_e2u(ji,jj) 
                   !
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zub  = uu(ji,jj,jk,Kbb_a) * e3u(ji,jj,jk,Kbb_a)  ! fse3t_b prior update should be used
                      zuno = uu(ji,jj,jk,Kmm_a) * e3u(ji,jj,jk,Krhs_a)
                      zunu = tabres(ji,jj,jk,1)
-                     uu(ji,jj,jk,Kbb_a) = ( zub + atfp * ( zunu - zuno) ) &      
+                     uu(ji,jj,jk,Kbb_a) = ( zub + rn_atfp * ( zunu - zuno) ) &      
                                     & * umask(ji,jj,jk) / e3u(ji,jj,jk,Kbb_a)
                   ENDIF
@@ -610,5 +610,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             uu(i1:i2,j1:j2,k1:k2,Kbb_a)  = uu(i1:i2,j1:j2,k1:k2,Kmm_a)
          ENDIF
@@ -751,9 +751,9 @@
             DO jj=j1,j2
                DO ji=i1,i2
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zvb  = vv(ji,jj,jk,Kbb_a) * e3v(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used
                      zvno = vv(ji,jj,jk,Kmm_a) * e3v(ji,jj,jk,Krhs_a)
                      zvnu = tabres_child(ji,jj,jk) * e3v(ji,jj,jk,Kmm_a)
-                     vv(ji,jj,jk,Kbb_a) = ( zvb + atfp * ( zvnu - zvno) ) &      
+                     vv(ji,jj,jk,Kbb_a) = ( zvb + rn_atfp * ( zvnu - zvno) ) &      
                                     & * vmask(ji,jj,jk) / e3v(ji,jj,jk,Kbb_a)
                   ENDIF
@@ -764,5 +764,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             vv(i1:i2,j1:j2,1:jpkm1,Kbb_a)  = vv(i1:i2,j1:j2,1:jpkm1,Kmm_a)
          ENDIF
@@ -801,9 +801,9 @@
                   tabres(ji,jj,jk,1) = tabres(ji,jj,jk,1) * r1_e1v(ji,jj)
                   !
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zvb  = vv(ji,jj,jk,Kbb_a) * e3v(ji,jj,jk,Kbb_a) ! fse3t_b prior update should be used
                      zvno = vv(ji,jj,jk,Kmm_a) * e3v(ji,jj,jk,Krhs_a)
                      zvnu = tabres(ji,jj,jk,1)
-                     vv(ji,jj,jk,Kbb_a) = ( zvb + atfp * ( zvnu - zvno) ) &      
+                     vv(ji,jj,jk,Kbb_a) = ( zvb + rn_atfp * ( zvnu - zvno) ) &      
                                     & * vmask(ji,jj,jk) / e3v(ji,jj,jk,Kbb_a)
                   ENDIF
@@ -814,5 +814,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             vv(i1:i2,j1:j2,k1:k2,Kbb_a)  = vv(i1:i2,j1:j2,k1:k2,Kmm_a)
          ENDIF
@@ -907,7 +907,7 @@
                ! Update barotropic velocities:
                IF ( .NOT.ln_dynspg_ts .OR. (ln_dynspg_ts.AND.(.NOT.ln_bt_fw)) ) THEN
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zcorr = (tabres(ji,jj) - uu_b(ji,jj,Kmm_a) * hu(ji,jj,Krhs_a)) * r1_hu(ji,jj,Kbb_a)
-                     uu_b(ji,jj,Kbb_a) = uu_b(ji,jj,Kbb_a) + atfp * zcorr * umask(ji,jj,1)
+                     uu_b(ji,jj,Kbb_a) = uu_b(ji,jj,Kbb_a) + rn_atfp * zcorr * umask(ji,jj,1)
                   END IF
                ENDIF    
@@ -928,5 +928,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             uu_b(i1:i2,j1:j2,Kbb_a)  = uu_b(i1:i2,j1:j2,Kmm_a)
          ENDIF
@@ -973,7 +973,7 @@
                ! Update barotropic velocities:
                IF ( .NOT.ln_dynspg_ts .OR. (ln_dynspg_ts.AND.(.NOT.ln_bt_fw)) ) THEN
-                  IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN ! Add asselin part
+                  IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN ! Add asselin part
                      zcorr = (tabres(ji,jj) - vv_b(ji,jj,Kmm_a) * hv(ji,jj,Krhs_a)) * r1_hv(ji,jj,Kbb_a)
-                     vv_b(ji,jj,Kbb_a) = vv_b(ji,jj,Kbb_a) + atfp * zcorr * vmask(ji,jj,1)
+                     vv_b(ji,jj,Kbb_a) = vv_b(ji,jj,Kbb_a) + rn_atfp * zcorr * vmask(ji,jj,1)
                   END IF
                ENDIF              
@@ -994,5 +994,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             vv_b(i1:i2,j1:j2,Kbb_a)  = vv_b(i1:i2,j1:j2,Kmm_a)
          ENDIF
@@ -1021,9 +1021,9 @@
          END DO
       ELSE
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN
             DO jj=j1,j2
                DO ji=i1,i2
                   ssh(ji,jj,Kbb_a) =   ssh(ji,jj,Kbb_a) &
-                        & + atfp * ( tabres(ji,jj) - ssh(ji,jj,Kmm_a) ) * tmask(ji,jj,1)
+                        & + rn_atfp * ( tabres(ji,jj) - ssh(ji,jj,Kmm_a) ) * tmask(ji,jj,1)
                END DO
             END DO
@@ -1036,5 +1036,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             ssh(i1:i2,j1:j2,Kbb_a)  = ssh(i1:i2,j1:j2,Kmm_a)
          ENDIF
@@ -1117,14 +1117,14 @@
          IF (western_side) THEN
             DO jj=j1,j2
-               zcor = rdt * r1_e1e2t(i1  ,jj) * e2u(i1,jj) * (ub2_b(i1,jj)-tabres(i1,jj)) 
+               zcor = rn_Dt * r1_e1e2t(i1  ,jj) * e2u(i1,jj) * (ub2_b(i1,jj)-tabres(i1,jj)) 
                ssh(i1  ,jj,Kmm_a) = ssh(i1  ,jj,Kmm_a) + zcor
-               IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) ssh(i1  ,jj,Kbb_a) = ssh(i1  ,jj,Kbb_a) + atfp * zcor
+               IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i1  ,jj,Kbb_a) = ssh(i1  ,jj,Kbb_a) + rn_atfp * zcor
             END DO
          ENDIF
          IF (eastern_side) THEN
             DO jj=j1,j2
-               zcor = - rdt * r1_e1e2t(i2+1,jj) * e2u(i2,jj) * (ub2_b(i2,jj)-tabres(i2,jj))
+               zcor = - rn_Dt * r1_e1e2t(i2+1,jj) * e2u(i2,jj) * (ub2_b(i2,jj)-tabres(i2,jj))
                ssh(i2+1,jj,Kmm_a) = ssh(i2+1,jj,Kmm_a) + zcor
-               IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) ssh(i2+1,jj,Kbb_a) = ssh(i2+1,jj,Kbb_a) + atfp * zcor
+               IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(i2+1,jj,Kbb_a) = ssh(i2+1,jj,Kbb_a) + rn_atfp * zcor
             END DO
          ENDIF
@@ -1205,14 +1205,14 @@
          IF (southern_side) THEN
             DO ji=i1,i2
-               zcor = rdt * r1_e1e2t(ji,j1  ) * e1v(ji,j1  ) * (vb2_b(ji,j1)-tabres(ji,j1))
+               zcor = rn_Dt * r1_e1e2t(ji,j1  ) * e1v(ji,j1  ) * (vb2_b(ji,j1)-tabres(ji,j1))
                ssh(ji,j1  ,Kmm_a) = ssh(ji,j1  ,Kmm_a) + zcor
-               IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) ssh(ji,j1  ,Kbb_a) = ssh(ji,j1,Kbb_a) + atfp * zcor
+               IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j1  ,Kbb_a) = ssh(ji,j1,Kbb_a) + rn_atfp * zcor
             END DO
          ENDIF
          IF (northern_side) THEN               
             DO ji=i1,i2
-               zcor = - rdt * r1_e1e2t(ji,j2+1) * e1v(ji,j2  ) * (vb2_b(ji,j2)-tabres(ji,j2))
+               zcor = - rn_Dt * r1_e1e2t(ji,j2+1) * e1v(ji,j2  ) * (vb2_b(ji,j2)-tabres(ji,j2))
                ssh(ji,j2+1,Kmm_a) = ssh(ji,j2+1,Kmm_a) + zcor
-               IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) ssh(ji,j2+1,Kbb_a) = ssh(ji,j2+1,Kbb_a) + atfp * zcor
+               IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) ssh(ji,j2+1,Kbb_a) = ssh(ji,j2+1,Kbb_a) + rn_atfp * zcor
             END DO
          ENDIF
@@ -1359,10 +1359,10 @@
 !         hdiv(i1:i2,j1:j2,1:jpkm1)   = e3t(i1:i2,j1:j2,1:jpkm1,Kbb_a)
 
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0) )) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler) )) THEN
             DO jk = 1, jpkm1
                DO jj=j1,j2
                   DO ji=i1,i2
                      e3t(ji,jj,jk,Kbb_a) =  e3t(ji,jj,jk,Kbb_a) &
-                           & + atfp * ( ptab(ji,jj,jk) - e3t(ji,jj,jk,Kmm_a) )
+                           & + rn_atfp * ( ptab(ji,jj,jk) - e3t(ji,jj,jk,Kmm_a) )
                   END DO
                END DO
@@ -1422,5 +1422,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             e3t (i1:i2,j1:j2,1:jpk,Kbb_a)  = e3t (i1:i2,j1:j2,1:jpk,Kmm_a)
             e3w (i1:i2,j1:j2,1:jpk,Kbb_a)  = e3w (i1:i2,j1:j2,1:jpk,Kmm_a)
Index: NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_sponge.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_sponge.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_sponge.F90	(revision 12511)
@@ -137,6 +137,6 @@
 
          !* set relaxation time scale
-         IF( neuler == 0 .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rdt )
-         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rdt )
+         IF( l_1st_euler .AND. lk_agrif_fstep ) THEN   ;   ztrelax =   rn_trelax_tra  / (        rn_Dt )
+         ELSE                                          ;   ztrelax =   rn_trelax_tra  / (2._wp * rn_Dt )
          ENDIF
 
Index: NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_update.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_update.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_top_update.F90	(revision 12511)
@@ -125,5 +125,5 @@
          ENDDO
          !
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN
             ! Add asselin part
             DO jn = 1,jptra
@@ -135,5 +135,5 @@
                            ztnu = tabres_child(ji,jj,jk,jn) * e3t(ji,jj,jk,Kmm_a)
                            ztno = tr(ji,jj,jk,jn,Kmm_a) * e3t(ji,jj,jk,Krhs_a)
-                           tr(ji,jj,jk,jn,Kbb_a) = ( ztb + atfp * ( ztnu - ztno) )  & 
+                           tr(ji,jj,jk,jn,Kbb_a) = ( ztb + rn_atfp * ( ztnu - ztno) )  & 
                                      &        * tmask(ji,jj,jk) / e3t(ji,jj,jk,Kbb_a)
                         ENDIF
@@ -155,5 +155,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             tr(i1:i2,j1:j2,1:jpkm1,1:jptra,Kbb_a)  = tr(i1:i2,j1:j2,1:jpkm1,1:jptra,Kmm_a)
          ENDIF
@@ -199,5 +199,5 @@
          ENDDO
 !< jc tmp
-         IF (.NOT.(lk_agrif_fstep.AND.(neuler==0))) THEN
+         IF (.NOT.(lk_agrif_fstep.AND.(l_1st_euler))) THEN
             ! Add asselin part
             DO jn = n1,n2
@@ -209,5 +209,5 @@
                            ztnu = tabres(ji,jj,jk,jn)
                            ztno = tr(ji,jj,jk,jn,Kmm_a) * e3t(ji,jj,jk,Krhs_a)
-                           tr(ji,jj,jk,jn,Kbb_a) = ( ztb + atfp * ( ztnu - ztno) )  & 
+                           tr(ji,jj,jk,jn,Kbb_a) = ( ztb + rn_atfp * ( ztnu - ztno) )  & 
                                      &        * tmask(ji,jj,jk) / e3t(ji,jj,jk,Kbb_a)
                         ENDIF
@@ -229,5 +229,5 @@
          END DO
          !
-         IF  ((neuler==0).AND.(Agrif_Nb_Step()==0) ) THEN
+         IF  ((l_1st_euler).AND.(Agrif_Nb_Step()==0) ) THEN
             tr(i1:i2,j1:j2,k1:k2,n1:n2,Kbb_a)  = tr(i1:i2,j1:j2,k1:k2,n1:n2,Kmm_a)
          ENDIF
Index: NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_user.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_user.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/NST/agrif_user.F90	(revision 12511)
@@ -202,8 +202,8 @@
 
          ! Check time steps           
-         IF( NINT(Agrif_Rhot()) * NINT(rdt) .NE. Agrif_Parent(rdt) ) THEN
-            WRITE(cl_check1,*)  NINT(Agrif_Parent(rdt))
-            WRITE(cl_check2,*)  NINT(rdt)
-            WRITE(cl_check3,*)  NINT(Agrif_Parent(rdt)/Agrif_Rhot())
+         IF( NINT(Agrif_Rhot()) * NINT(rn_Dt) .NE. Agrif_Parent(rn_Dt) ) THEN
+            WRITE(cl_check1,*)  NINT(Agrif_Parent(rn_Dt))
+            WRITE(cl_check2,*)  NINT(rn_Dt)
+            WRITE(cl_check3,*)  NINT(Agrif_Parent(rn_Dt)/Agrif_Rhot())
             CALL ctl_stop( 'Incompatible time step between ocean grids',   &
                   &               'parent grid value : '//cl_check1    ,   & 
@@ -613,8 +613,8 @@
       IF( check_namelist ) THEN
          ! Check time steps
-      IF( NINT(Agrif_Rhot()) * NINT(rdt) .NE. Agrif_Parent(rdt) ) THEN
-         WRITE(cl_check1,*)  Agrif_Parent(rdt)
-         WRITE(cl_check2,*)  rdt
-         WRITE(cl_check3,*)  rdt*Agrif_Rhot()
+      IF( NINT(Agrif_Rhot()) * NINT(rn_Dt) .NE. Agrif_Parent(rn_Dt) ) THEN
+         WRITE(cl_check1,*)  Agrif_Parent(rn_Dt)
+         WRITE(cl_check2,*)  rn_Dt
+         WRITE(cl_check3,*)  rn_Dt*Agrif_Rhot()
          CALL ctl_stop( 'incompatible time step between grids',   &
                &               'parent grid value : '//cl_check1    ,   & 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ASM/asminc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ASM/asminc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ASM/asminc.F90	(revision 12511)
@@ -487,5 +487,5 @@
       ENDIF
       !
-      IF(lwp) WRITE(numout,*) '   ==>>>   Euler time step switch is ', neuler
+      IF(lwp) WRITE(numout,*) '   ==>>>   Euler time step switch is ', l_1st_euler
       !
       IF( lk_asminc ) THEN                            !==  data assimilation  ==!
@@ -534,5 +534,5 @@
             !
             it = kt - nit000 + 1
-            zincwgt = wgtiau(it) / rdt   ! IAU weight for the current time step
+            zincwgt = wgtiau(it) / rn_Dt   ! IAU weight for the current time step
             !
             IF(lwp) THEN
@@ -577,5 +577,5 @@
          IF ( kt == nitdin_r ) THEN
             !
-            neuler = 0  ! Force Euler forward step
+            l_1st_euler = .TRUE.  ! Force Euler forward step
             !
             ! Initialize the now fields with the background + increment
@@ -651,5 +651,5 @@
             !
             it = kt - nit000 + 1
-            zincwgt = wgtiau(it) / rdt   ! IAU weight for the current time step
+            zincwgt = wgtiau(it) / rn_Dt   ! IAU weight for the current time step
             !
             IF(lwp) THEN
@@ -677,5 +677,5 @@
          IF ( kt == nitdin_r ) THEN
             !
-            neuler = 0                    ! Force Euler forward step
+            l_1st_euler = .TRUE.                    ! Force Euler forward step
             !
             ! Initialize the now fields with the background + increment
@@ -722,5 +722,5 @@
             !
             it = kt - nit000 + 1
-            zincwgt = wgtiau(it) / rdt   ! IAU weight for the current time step
+            zincwgt = wgtiau(it) / rn_Dt   ! IAU weight for the current time step
             !
             IF(lwp) THEN
@@ -753,5 +753,5 @@
          IF ( kt == nitdin_r ) THEN
             !
-            neuler = 0                                   ! Force Euler forward step
+            l_1st_euler = .TRUE.                            ! Force Euler forward step
             !
             ssh(:,:,Kmm) = ssh_bkg(:,:) + ssh_bkginc(:,:)   ! Initialize the now fields the background + increment
@@ -841,5 +841,5 @@
             it = kt - nit000 + 1
             zincwgt = wgtiau(it)      ! IAU weight for the current time step 
-            ! note this is not a tendency so should not be divided by rdt (as with the tracer and other increments)
+            ! note this is not a tendency so should not be divided by rn_Dt (as with the tracer and other increments)
             !
             IF(lwp) THEN
@@ -876,5 +876,5 @@
 #if defined key_cice && defined key_asminc
             ! Sea-ice : CICE case. Pass ice increment tendency into CICE
-            ndaice_da(:,:) = seaice_bkginc(:,:) * zincwgt / rdt
+            ndaice_da(:,:) = seaice_bkginc(:,:) * zincwgt / rn_Dt
 #endif
             !
@@ -896,5 +896,5 @@
          IF ( kt == nitdin_r ) THEN
             !
-            neuler = 0                    ! Force Euler forward step
+            l_1st_euler = 0              ! Force Euler forward step
             !
             ! Sea-ice : SI3 case
@@ -926,5 +926,5 @@
 #if defined key_cice && defined key_asminc
             ! Sea-ice : CICE case. Pass ice increment tendency into CICE
-           ndaice_da(:,:) = seaice_bkginc(:,:) / rdt
+           ndaice_da(:,:) = seaice_bkginc(:,:) / rn_Dt
 #endif
             IF ( .NOT. PRESENT(kindic) ) THEN
@@ -959,5 +959,5 @@
 !           ! fwf : ice formation and melting
 !
-!                 zfons = ( -nfresh_da(ji,jj)*soce + nfsalt_da(ji,jj) )*rdt
+!                 zfons = ( -nfresh_da(ji,jj)*soce + nfsalt_da(ji,jj) )*rn_Dt
 !
 !           ! change salinity down to mixed layer depth
@@ -1000,5 +1000,5 @@
 !
 !      !            !  salt exchanges at the ice/ocean interface
-!      !            zpmess         = zfons / rdt_ice    ! rdt_ice is ice timestep
+!      !            zpmess         = zfons / rDt_ice    ! rDt_ice is ice timestep
 !      !
 !      !! Adjust fsalt. A +ve fsalt means adding salt to ocean
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdydta.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdydta.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdydta.F90	(revision 12511)
@@ -292,13 +292,20 @@
                &                                                                         bf_alias(jp_bdya_i)%fnow(:,1,:)     !   ( a_ip = rice_apnd * a_i )
             IF( TRIM(bf_alias(jp_bdyhip)%clrootname) == 'NOT USED' )   bf_alias(jp_bdyhip)%fnow(:,1,:) = rice_hpnd(jbdy)
+            
+            ! if T_i is read and not T_su, set T_su = T_i
+            IF( TRIM(bf_alias(jp_bdyt_i)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdytsu)%clrootname) == 'NOT USED' ) &
+               &   bf_alias(jp_bdytsu)%fnow(:,1,:) = bf_alias(jp_bdyt_i)%fnow(:,1,:)
+            ! if T_s is read and not T_su, set T_su = T_s
+            IF( TRIM(bf_alias(jp_bdyt_s)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdytsu)%clrootname) == 'NOT USED' ) &
+               &   bf_alias(jp_bdytsu)%fnow(:,1,:) = bf_alias(jp_bdyt_s)%fnow(:,1,:)
+            ! if T_i is read and not T_s, set T_s = T_i
+            IF( TRIM(bf_alias(jp_bdyt_i)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdyt_s)%clrootname) == 'NOT USED' ) &
+               &   bf_alias(jp_bdyt_s)%fnow(:,1,:) = bf_alias(jp_bdyt_i)%fnow(:,1,:)
+            ! if T_su is read and not T_s, set T_s = T_su
+            IF( TRIM(bf_alias(jp_bdytsu)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdyt_s)%clrootname) == 'NOT USED' ) &
+               &   bf_alias(jp_bdyt_s)%fnow(:,1,:) = bf_alias(jp_bdytsu)%fnow(:,1,:)
             ! if T_su is read and not T_i, set T_i = (T_su + T_freeze)/2
             IF( TRIM(bf_alias(jp_bdytsu)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdyt_i)%clrootname) == 'NOT USED' ) &
                &   bf_alias(jp_bdyt_i)%fnow(:,1,:) = 0.5_wp * ( bf_alias(jp_bdytsu)%fnow(:,1,:) + 271.15 )
-            ! if T_su is read and not T_s, set T_s = T_su
-            IF( TRIM(bf_alias(jp_bdytsu)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdyt_s)%clrootname) == 'NOT USED' ) &
-               &   bf_alias(jp_bdyt_s)%fnow(:,1,:) = bf_alias(jp_bdytsu)%fnow(:,1,:)
-            ! if T_s is read and not T_su, set T_su = T_s
-            IF( TRIM(bf_alias(jp_bdyt_s)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdytsu)%clrootname) == 'NOT USED' ) &
-               &   bf_alias(jp_bdytsu)%fnow(:,1,:) = bf_alias(jp_bdyt_s)%fnow(:,1,:)
             ! if T_s is read and not T_i, set T_i = (T_s + T_freeze)/2
             IF( TRIM(bf_alias(jp_bdyt_s)%clrootname) /= 'NOT USED' .AND. TRIM(bf_alias(jp_bdyt_i)%clrootname) == 'NOT USED' ) &
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyice.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyice.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyice.F90	(revision 12511)
@@ -179,5 +179,5 @@
 
             ! Then, a) transfer the snow excess into the ice (different from icethd_dh)
-            zdh = MAX( 0._wp, ( rhos * h_s(ji,jj,jl) + ( rhoi - rau0 ) * h_i(ji,jj,jl) ) * r1_rau0 )
+            zdh = MAX( 0._wp, ( rhos * h_s(ji,jj,jl) + ( rhoi - rho0 ) * h_i(ji,jj,jl) ) * r1_rho0 )
             ! Or, b) transfer all the snow into ice (if incoming ice is likely to melt as it comes into a warmer environment)
             !zdh = MAX( 0._wp, h_s(ji,jj,jl) * rhos / rhoi )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdylib.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdylib.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdylib.F90	(revision 12511)
@@ -240,5 +240,5 @@
          ! Centred derivative is calculated as average of "left" and "right" derivatives for 
          ! this reason. 
-         ! Note no rdt factor in expression for zdt because it cancels in the expressions for 
+         ! Note no rn_Dt factor in expression for zdt because it cancels in the expressions for 
          ! zrx and zry.
          zdt   =     phia(iibm1   ,ijbm1   ) - phib(iibm1   ,ijbm1   )
@@ -259,5 +259,5 @@
          zout = sign( 1., zrx )
          zout = 0.5*( zout + abs(zout) )
-         zwgt = 2.*rdt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )
+         zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )
          ! only apply radiation on outflow points 
          if( ll_npo ) then     !! NPO version !!
@@ -425,5 +425,5 @@
             zout = sign( 1., zrx )
             zout = 0.5*( zout + abs(zout) )
-            zwgt = 2.*rdt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )
+            zwgt = 2.*rn_Dt*( (1.-zout) * idx%nbd(jb,igrd) + zout * idx%nbdout(jb,igrd) )
             ! only apply radiation on outflow points 
             if( ll_npo ) then     !! NPO version !!
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdytides.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdytides.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdytides.F90	(revision 12511)
@@ -297,12 +297,12 @@
       ! Absolute time from model initialization:   
       IF( PRESENT(kit) ) THEN  
-         z_arg = ( REAL(kt, wp) + ( REAL(kit, wp) + zt_offset - 1. ) / REAL(nn_baro, wp) ) * rdt
+         z_arg = ( REAL(kt, wp) + ( REAL(kit, wp) + zt_offset - 1. ) / REAL(nn_e, wp) ) * rn_Dt
       ELSE                              
-         z_arg = ( REAL(kt, wp) + zt_offset ) * rdt
+         z_arg = ( REAL(kt, wp) + zt_offset ) * rn_Dt
       ENDIF
 
       ! Linear ramp on tidal component at open boundaries 
       zramp = 1.
-      IF (ln_tide_ramp) zramp = MIN(MAX( (z_arg - REAL(nit000,wp)*rdt)/(rn_tide_ramp_dt*rday),0.),1.)
+      IF (ln_tide_ramp) zramp = MIN(MAX( (z_arg - REAL(nit000,wp)*rn_Dt)/(rn_tide_ramp_dt*rday),0.),1.)
 
       DO ib_bdy = 1,nb_bdy
@@ -319,7 +319,7 @@
             ! We refresh nodal factors every day below
             ! This should be done somewhere else
-            IF ( ( nsec_day == NINT(0.5_wp * rdt) .OR. kt==nit000 ) .AND. lk_first_btstp ) THEN
-               !
-               kt_tide = kt - NINT((REAL(nsec_day,wp) - 0.5_wp * rdt)/rdt)
+            IF ( ( nsec_day == NINT(0.5_wp * rn_Dt) .OR. kt==nit000 ) .AND. lk_first_btstp ) THEN
+               !
+               kt_tide = kt - NINT((REAL(nsec_day,wp) - 0.5_wp * rn_Dt)/rn_Dt)
                !
                IF(lwp) THEN
@@ -333,5 +333,5 @@
                !
             ENDIF
-            zoff = REAL(-kt_tide,wp) * rdt ! time offset relative to nodal factor computation time
+            zoff = REAL(-kt_tide,wp) * rn_Dt ! time offset relative to nodal factor computation time
             !
             ! If time splitting, initialize arrays from slow varying open boundary data:
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyvol.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyvol.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/BDY/bdyvol.F90	(revision 12511)
@@ -77,5 +77,5 @@
       ! Calculate the cumulate surface Flux z_cflxemp (m3/s) over all the domain
       ! -----------------------------------------------------------------------
-      IF ( kc == 1 ) z_cflxemp = glob_sum( 'bdyvol', ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) ) * bdytmask(:,:) * e1e2t(:,:)  ) / rau0
+      IF ( kc == 1 ) z_cflxemp = glob_sum( 'bdyvol', ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) ) * bdytmask(:,:) * e1e2t(:,:)  ) / rho0
 
       ! Compute bdy surface each cycle if non linear free surface
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dia25h.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dia25h.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dia25h.F90	(revision 12511)
@@ -140,8 +140,8 @@
       ! -----------------
       ! Define frequency of summing to create 25 h mean
-      IF( MOD( 3600,NINT(rdt) ) == 0 ) THEN
-         i_steps = 3600/NINT(rdt)
+      IF( MOD( 3600,NINT(rn_Dt) ) == 0 ) THEN
+         i_steps = 3600/NINT(rn_Dt)
       ELSE
-         CALL ctl_stop('STOP', 'dia_wri_tide: timestep must give MOD(3600,rdt) = 0 otherwise no hourly values are possible')
+         CALL ctl_stop('STOP', 'dia_wri_tide: timestep must give MOD(3600,rn_Dt) = 0 otherwise no hourly values are possible')
       ENDIF
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaar5.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaar5.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaar5.F90	(revision 12511)
@@ -103,5 +103,5 @@
          END DO
          CALL iom_put( 'volcello'  , zrhd(:,:,:)  )  ! WARNING not consistent with CMIP DR where volcello is at ca. 2000
-         CALL iom_put( 'masscello' , rau0 * e3t(:,:,:,Kmm) * tmask(:,:,:) )  ! ocean mass
+         CALL iom_put( 'masscello' , rho0 * e3t(:,:,:,Kmm) * tmask(:,:,:) )  ! ocean mass
       ENDIF 
       !
@@ -181,5 +181,5 @@
          CALL iom_put( 'sshsteric', zssh_steric )
          !                                         ! ocean bottom pressure
-         zztmp = rau0 * grav * 1.e-4_wp               ! recover pressure from pressure anomaly and cover to dbar = 1.e4 Pa
+         zztmp = rho0 * grav * 1.e-4_wp               ! recover pressure from pressure anomaly and cover to dbar = 1.e4 Pa
          zbotpres(:,:) = zztmp * ( zbotpres(:,:) + ssh(:,:,Kmm) + thick0(:,:) )
          CALL iom_put( 'botpres', zbotpres )
@@ -213,5 +213,5 @@
          ztemp = glob_sum( 'diaar5', ztsn(:,:,1,jp_tem) )
          zsal  = glob_sum( 'diaar5', ztsn(:,:,1,jp_sal) )
-         zmass = rau0 * ( zarho + zvol )      
+         zmass = rho0 * ( zarho + zvol )      
          !
          CALL iom_put( 'masstot', zmass )
@@ -251,5 +251,5 @@
                z2d(:,:) = 0._wp
                DO_3D_11_11( 1, jpkm1 )
-                  z2d(ji,jj) = z2d(ji,jj) + rau0 * e3t(ji,jj,jk,Kmm) *  ztpot(ji,jj,jk)
+                  z2d(ji,jj) = z2d(ji,jj) + rho0 * e3t(ji,jj,jk,Kmm) *  ztpot(ji,jj,jk)
                END_3D
                CALL iom_put( 'tosmint_pot', z2d ) 
@@ -285,5 +285,5 @@
           ELSE
             DO_3D_11_11( 1, jpk )
-               zpe(ji,jj) = zpe(ji,jj) + avt(ji,jj,jk) * MIN(0._wp,rn2(ji,jj,jk)) * rau0 * e3w(ji,jj,jk,Kmm)
+               zpe(ji,jj) = zpe(ji,jj) + avt(ji,jj,jk) * MIN(0._wp,rn2(ji,jj,jk)) * rho0 * e3w(ji,jj,jk,Kmm)
             END_3D
          ENDIF
@@ -325,10 +325,10 @@
        CALL lbc_lnk( 'diaar5', z2d, 'U', -1. )
        IF( cptr == 'adv' ) THEN
-          IF( ktra == jp_tem ) CALL iom_put( 'uadv_heattr' , rau0_rcp * z2d )  ! advective heat transport in i-direction
-          IF( ktra == jp_sal ) CALL iom_put( 'uadv_salttr' , rau0     * z2d )  ! advective salt transport in i-direction
+          IF( ktra == jp_tem ) CALL iom_put( 'uadv_heattr' , rho0_rcp * z2d )  ! advective heat transport in i-direction
+          IF( ktra == jp_sal ) CALL iom_put( 'uadv_salttr' , rho0     * z2d )  ! advective salt transport in i-direction
        ENDIF
        IF( cptr == 'ldf' ) THEN
-          IF( ktra == jp_tem ) CALL iom_put( 'udiff_heattr' , rau0_rcp * z2d ) ! diffusive heat transport in i-direction
-          IF( ktra == jp_sal ) CALL iom_put( 'udiff_salttr' , rau0     * z2d ) ! diffusive salt transport in i-direction
+          IF( ktra == jp_tem ) CALL iom_put( 'udiff_heattr' , rho0_rcp * z2d ) ! diffusive heat transport in i-direction
+          IF( ktra == jp_sal ) CALL iom_put( 'udiff_salttr' , rho0     * z2d ) ! diffusive salt transport in i-direction
        ENDIF
        !
@@ -339,10 +339,10 @@
        CALL lbc_lnk( 'diaar5', z2d, 'V', -1. )
        IF( cptr == 'adv' ) THEN
-          IF( ktra == jp_tem ) CALL iom_put( 'vadv_heattr' , rau0_rcp * z2d )  ! advective heat transport in j-direction
-          IF( ktra == jp_sal ) CALL iom_put( 'vadv_salttr' , rau0     * z2d )  ! advective salt transport in j-direction
+          IF( ktra == jp_tem ) CALL iom_put( 'vadv_heattr' , rho0_rcp * z2d )  ! advective heat transport in j-direction
+          IF( ktra == jp_sal ) CALL iom_put( 'vadv_salttr' , rho0     * z2d )  ! advective salt transport in j-direction
        ENDIF
        IF( cptr == 'ldf' ) THEN
-          IF( ktra == jp_tem ) CALL iom_put( 'vdiff_heattr' , rau0_rcp * z2d ) ! diffusive heat transport in j-direction
-          IF( ktra == jp_sal ) CALL iom_put( 'vdiff_salttr' , rau0     * z2d ) ! diffusive salt transport in j-direction
+          IF( ktra == jp_tem ) CALL iom_put( 'vdiff_heattr' , rho0_rcp * z2d ) ! diffusive heat transport in j-direction
+          IF( ktra == jp_sal ) CALL iom_put( 'vdiff_salttr' , rho0     * z2d ) ! diffusive salt transport in j-direction
        ENDIF
           
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diacfl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diacfl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diacfl.F90	(revision 12511)
@@ -52,5 +52,5 @@
       !
       INTEGER                          ::   ji, jj, jk                       ! dummy loop indices
-      REAL(wp)                         ::   z2dt, zCu_max, zCv_max, zCw_max  ! local scalars
+      REAL(wp)                         ::   zCu_max, zCv_max, zCw_max        ! local scalars
       INTEGER , DIMENSION(3)           ::   iloc_u , iloc_v , iloc_w , iloc  ! workspace
       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zCu_cfl, zCv_cfl, zCw_cfl        ! workspace
@@ -59,14 +59,8 @@
       IF( ln_timing )   CALL timing_start('dia_cfl')
       !
-      !                       ! setup timestep multiplier to account for initial Eulerian timestep
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;    z2dt = rdt
-      ELSE                                        ;    z2dt = rdt * 2._wp
-      ENDIF
-      !
-      !                
       DO_3D_11_11( 1, jpk )
-         zCu_cfl(ji,jj,jk) = ABS( uu(ji,jj,jk,Kmm) ) * z2dt / e1u  (ji,jj)      ! for i-direction
-         zCv_cfl(ji,jj,jk) = ABS( vv(ji,jj,jk,Kmm) ) * z2dt / e2v  (ji,jj)      ! for j-direction
-         zCw_cfl(ji,jj,jk) = ABS( ww(ji,jj,jk) ) * z2dt / e3w(ji,jj,jk,Kmm)   ! for k-direction
+         zCu_cfl(ji,jj,jk) = ABS( uu(ji,jj,jk,Kmm) ) * rDt / e1u  (ji,jj)      ! for i-direction
+         zCv_cfl(ji,jj,jk) = ABS( vv(ji,jj,jk,Kmm) ) * rDt / e2v  (ji,jj)      ! for j-direction
+         zCw_cfl(ji,jj,jk) = ABS( ww(ji,jj,jk) ) * rDt / e3w(ji,jj,jk,Kmm)   ! for k-direction
       END_3D
       !
@@ -118,11 +112,11 @@
          WRITE(numcfl,*) '******************************************'
          WRITE(numcfl,FMT='(3x,a12,6x,f7.4,1x,i4,1x,i4,1x,i4)') 'Run Max Cu', rCu_max, nCu_loc(1), nCu_loc(2), nCu_loc(3)
-         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', z2dt/rCu_max
+         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', rDt/rCu_max
          WRITE(numcfl,*) '******************************************'
          WRITE(numcfl,FMT='(3x,a12,6x,f7.4,1x,i4,1x,i4,1x,i4)') 'Run Max Cv', rCv_max, nCv_loc(1), nCv_loc(2), nCv_loc(3)
-         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', z2dt/rCv_max
+         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', rDt/rCv_max
          WRITE(numcfl,*) '******************************************'
          WRITE(numcfl,FMT='(3x,a12,6x,f7.4,1x,i4,1x,i4,1x,i4)') 'Run Max Cw', rCw_max, nCw_loc(1), nCw_loc(2), nCw_loc(3)
-         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', z2dt/rCw_max
+         WRITE(numcfl,FMT='(3x,a8,11x,f15.1)') ' => dt/C', rDt/rCw_max
          CLOSE( numcfl ) 
          !
@@ -131,7 +125,7 @@
          WRITE(numout,*) 'dia_cfl : Maximum Courant number information for the run '
          WRITE(numout,*) '~~~~~~~'
-         WRITE(numout,*) '   Max Cu = ', rCu_max, ' at (i,j,k) = (',nCu_loc(1),nCu_loc(2),nCu_loc(3),') => dt/C = ', z2dt/rCu_max
-         WRITE(numout,*) '   Max Cv = ', rCv_max, ' at (i,j,k) = (',nCv_loc(1),nCv_loc(2),nCv_loc(3),') => dt/C = ', z2dt/rCv_max
-         WRITE(numout,*) '   Max Cw = ', rCw_max, ' at (i,j,k) = (',nCw_loc(1),nCw_loc(2),nCw_loc(3),') => dt/C = ', z2dt/rCw_max
+         WRITE(numout,*) '   Max Cu = ', rCu_max, ' at (i,j,k) = (',nCu_loc(1),nCu_loc(2),nCu_loc(3),') => dt/C = ', rDt/rCu_max
+         WRITE(numout,*) '   Max Cv = ', rCv_max, ' at (i,j,k) = (',nCv_loc(1),nCv_loc(2),nCv_loc(3),') => dt/C = ', rDt/rCv_max
+         WRITE(numout,*) '   Max Cw = ', rCw_max, ' at (i,j,k) = (',nCw_loc(1),nCw_loc(2),nCw_loc(3),') => dt/C = ', rDt/rCw_max
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadct.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadct.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadct.F90	(revision 12511)
@@ -676,5 +676,5 @@
                   zsn   = interp(Kmm,k%I,k%J,jk,'V',ts(:,:,:,jp_sal,Kmm) ) 
                   zrhop = interp(Kmm,k%I,k%J,jk,'V',rhop) 
-                  zrhoi = interp(Kmm,k%I,k%J,jk,'V',rhd*rau0+rau0) 
+                  zrhoi = interp(Kmm,k%I,k%J,jk,'V',rhd*rho0+rho0) 
                   zsshn =  0.5*( ssh(k%I,k%J,Kmm) + ssh(k%I,k%J+1,Kmm)    ) * vmask(k%I,k%J,1) 
                CASE(2,3) 
@@ -682,5 +682,5 @@
                   zsn   = interp(Kmm,k%I,k%J,jk,'U',ts(:,:,:,jp_sal,Kmm) ) 
                   zrhop = interp(Kmm,k%I,k%J,jk,'U',rhop) 
-                  zrhoi = interp(Kmm,k%I,k%J,jk,'U',rhd*rau0+rau0) 
+                  zrhoi = interp(Kmm,k%I,k%J,jk,'U',rhd*rho0+rho0) 
                   zsshn =  0.5*( ssh(k%I,k%J,Kmm) + ssh(k%I+1,k%J,Kmm)    ) * umask(k%I,k%J,1)  
                END SELECT 
@@ -849,5 +849,5 @@
                  zsn   = interp(Kmm,k%I,k%J,jk,'V',ts(:,:,:,jp_sal,Kmm) ) 
                  zrhop = interp(Kmm,k%I,k%J,jk,'V',rhop) 
-                 zrhoi = interp(Kmm,k%I,k%J,jk,'V',rhd*rau0+rau0) 
+                 zrhoi = interp(Kmm,k%I,k%J,jk,'V',rhd*rho0+rho0) 
 
               CASE(2,3) 
@@ -855,5 +855,5 @@
                  zsn   = interp(Kmm,k%I,k%J,jk,'U',ts(:,:,:,jp_sal,Kmm) ) 
                  zrhop = interp(Kmm,k%I,k%J,jk,'U',rhop) 
-                 zrhoi = interp(Kmm,k%I,k%J,jk,'U',rhd*rau0+rau0) 
+                 zrhoi = interp(Kmm,k%I,k%J,jk,'U',rhd*rho0+rho0) 
                  zsshn =  0.5*( ssh(k%I,k%J,Kmm)    + ssh(k%I+1,k%J,Kmm)    ) * umask(k%I,k%J,1)  
               END SELECT 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadetide.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadetide.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diadetide.F90	(revision 12511)
@@ -9,5 +9,5 @@
    USE in_out_manager , ONLY :   lwp, numout
    USE iom            , ONLY :   iom_put
-   USE dom_oce        , ONLY :   rdt, nsec_day
+   USE dom_oce        , ONLY :   rn_Dt, nsec_day
    USE phycst         , ONLY :   rpi
    USE tide_mod
@@ -100,5 +100,5 @@
       zwght = 0.0_wp
       DO jn = 1, ndiadetide
-         ztmp = ( tdiadetide(jn) - REAL( nsec_day, KIND=wp ) ) / rdt
+         ztmp = ( tdiadetide(jn) - REAL( nsec_day, KIND=wp ) ) / rn_Dt
          IF ( ( ztmp < 0.5_wp ).AND.( ztmp >= -0.5_wp ) ) THEN
             zwght = zwght + 1.0_wp / REAL( ndiadetide, KIND=wp )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahsb.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahsb.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahsb.F90	(revision 12511)
@@ -91,5 +91,5 @@
       ! 1 - Trends due to forcing !
       ! ------------------------- !
-      z_frc_trd_v = r1_rau0 * glob_sum( 'diahsb', - ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) ) * surf(:,:) )   ! volume fluxes
+      z_frc_trd_v = r1_rho0 * glob_sum( 'diahsb', - ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) ) * surf(:,:) )   ! volume fluxes
       z_frc_trd_t =           glob_sum( 'diahsb', sbc_tsc(:,:,jp_tem) * surf(:,:) )                       ! heat fluxes
       z_frc_trd_s =           glob_sum( 'diahsb', sbc_tsc(:,:,jp_sal) * surf(:,:) )                       ! salt fluxes
@@ -101,5 +101,5 @@
          &                          + glob_sum( 'diahsb', ( risf_cav_tsc(:,:,jp_tem) + risf_par_tsc(:,:,jp_tem) ) * surf(:,:) )
       !                    ! Add penetrative solar radiation
-      IF( ln_traqsr )   z_frc_trd_t = z_frc_trd_t + r1_rau0_rcp * glob_sum( 'diahsb', qsr     (:,:) * surf(:,:) )
+      IF( ln_traqsr )   z_frc_trd_t = z_frc_trd_t + r1_rho0_rcp * glob_sum( 'diahsb', qsr     (:,:) * surf(:,:) )
       !                    ! Add geothermal heat flux
       IF( ln_trabbc )   z_frc_trd_t = z_frc_trd_t +               glob_sum( 'diahsb', qgh_trd0(:,:) * surf(:,:) )
@@ -121,11 +121,11 @@
       ENDIF
 
-      frc_v = frc_v + z_frc_trd_v * rdt
-      frc_t = frc_t + z_frc_trd_t * rdt
-      frc_s = frc_s + z_frc_trd_s * rdt
+      frc_v = frc_v + z_frc_trd_v * rn_Dt
+      frc_t = frc_t + z_frc_trd_t * rn_Dt
+      frc_s = frc_s + z_frc_trd_s * rn_Dt
       !                                          ! Advection flux through fixed surface (z=0)
       IF( ln_linssh ) THEN
-         frc_wn_t = frc_wn_t + z_wn_trd_t * rdt
-         frc_wn_s = frc_wn_s + z_wn_trd_s * rdt
+         frc_wn_t = frc_wn_t + z_wn_trd_t * rn_Dt
+         frc_wn_s = frc_wn_s + z_wn_trd_s * rn_Dt
       ENDIF
 
@@ -197,7 +197,7 @@
 
       CALL iom_put(   'bgfrcvol' , frc_v    * 1.e-9    )              ! vol - surface forcing (km3) 
-      CALL iom_put(   'bgfrctem' , frc_t    * rau0 * rcp * 1.e-20 )   ! hc  - surface forcing (1.e20 J) 
-      CALL iom_put(   'bgfrchfx' , frc_t    * rau0 * rcp /  &         ! hc  - surface forcing (W/m2) 
-         &                       ( surf_tot * kt * rdt )        )
+      CALL iom_put(   'bgfrctem' , frc_t    * rho0 * rcp * 1.e-20 )   ! hc  - surface forcing (1.e20 J) 
+      CALL iom_put(   'bgfrchfx' , frc_t    * rho0 * rcp /  &         ! hc  - surface forcing (W/m2) 
+         &                       ( surf_tot * kt * rn_Dt )        )
       CALL iom_put(   'bgfrcsal' , frc_s    * 1.e-9    )              ! sc  - surface forcing (psu*km3) 
 
@@ -205,7 +205,7 @@
          CALL iom_put( 'bgtemper' , zdiff_hc / zvol_tot )              ! Temperature drift     (C) 
          CALL iom_put( 'bgsaline' , zdiff_sc / zvol_tot )              ! Salinity    drift     (PSU)
-         CALL iom_put( 'bgheatco' , zdiff_hc * 1.e-20 * rau0 * rcp )   ! Heat content drift    (1.e20 J) 
-         CALL iom_put( 'bgheatfx' , zdiff_hc * rau0 * rcp /  &         ! Heat flux drift       (W/m2) 
-            &                       ( surf_tot * kt * rdt )        )
+         CALL iom_put( 'bgheatco' , zdiff_hc * 1.e-20 * rho0 * rcp )   ! Heat content drift    (1.e20 J) 
+         CALL iom_put( 'bgheatfx' , zdiff_hc * rho0 * rcp /  &         ! Heat flux drift       (W/m2) 
+            &                       ( surf_tot * kt * rn_Dt )        )
          CALL iom_put( 'bgsaltco' , zdiff_sc * 1.e-9    )              ! Salt content drift    (psu*km3)
          CALL iom_put( 'bgvolssh' , zdiff_v1 * 1.e-9    )              ! volume ssh drift      (km3)  
@@ -225,7 +225,7 @@
          CALL iom_put( 'bgtemper' , zdiff_hc1 / zvol_tot)              ! Heat content drift    (C) 
          CALL iom_put( 'bgsaline' , zdiff_sc1 / zvol_tot)              ! Salt content drift    (PSU)
-         CALL iom_put( 'bgheatco' , zdiff_hc1 * 1.e-20 * rau0 * rcp )  ! Heat content drift    (1.e20 J) 
-         CALL iom_put( 'bgheatfx' , zdiff_hc1 * rau0 * rcp /  &        ! Heat flux drift       (W/m2) 
-            &                       ( surf_tot * kt * rdt )         )
+         CALL iom_put( 'bgheatco' , zdiff_hc1 * 1.e-20 * rho0 * rcp )  ! Heat content drift    (1.e20 J) 
+         CALL iom_put( 'bgheatfx' , zdiff_hc1 * rho0 * rcp /  &        ! Heat flux drift       (W/m2) 
+            &                       ( surf_tot * kt * rn_Dt )         )
          CALL iom_put( 'bgsaltco' , zdiff_sc1 * 1.e-9    )             ! Salt content drift    (psu*km3)
          CALL iom_put( 'bgvolssh' , zdiff_v1 * 1.e-9    )              ! volume ssh drift      (km3)  
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahth.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahth.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diahth.F90	(revision 12511)
@@ -261,5 +261,5 @@
             zzdep = 300.
             CALL  dia_hth_htc( Kmm, zzdep, ts(:,:,:,jp_tem,Kmm), htc3 )
-            CALL iom_put( 'hc300', rau0_rcp * htc3 )  ! vertically integrated heat content (J/m2)
+            CALL iom_put( 'hc300', rho0_rcp * htc3 )  ! vertically integrated heat content (J/m2)
          ENDIF
          !
@@ -270,5 +270,5 @@
             zzdep = 700.
             CALL  dia_hth_htc( Kmm, zzdep, ts(:,:,:,jp_tem,Kmm), htc7 )
-            CALL iom_put( 'hc700', rau0_rcp * htc7 )  ! vertically integrated heat content (J/m2)
+            CALL iom_put( 'hc700', rho0_rcp * htc7 )  ! vertically integrated heat content (J/m2)
   
          ENDIF
@@ -280,5 +280,5 @@
             zzdep = 2000.
             CALL  dia_hth_htc( Kmm, zzdep, ts(:,:,:,jp_tem,Kmm), htc20 )
-            CALL iom_put( 'hc2000', rau0_rcp * htc20 )  ! vertically integrated heat content (J/m2)  
+            CALL iom_put( 'hc2000', rho0_rcp * htc20 )  ! vertically integrated heat content (J/m2)  
          ENDIF
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dianam.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dianam.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/dianam.F90	(revision 12511)
@@ -72,5 +72,5 @@
 
       IF( llfsec .OR. kfreq < 0 ) THEN   ;   inbsec = kfreq                       ! output frequency already in seconds
-      ELSE                               ;   inbsec = kfreq * NINT( rdt )   ! from time-step to seconds
+      ELSE                               ;   inbsec = kfreq * NINT( rn_Dt )   ! from time-step to seconds
       ENDIF
       iddss = NINT( rday          )                                         ! number of seconds in 1 day
@@ -116,6 +116,6 @@
       ! date of the beginning and the end of the run
 
-      zdrun = rdt / rday * REAL( nitend - nit000, wp )                ! length of the run in days
-      zjul  = fjulday - rdt / rday
+      zdrun = rn_Dt / rday * REAL( nitend - nit000, wp )                ! length of the run in days
+      zjul  = fjulday - rn_Dt / rday
       CALL ju2ymds( zjul        , iyear1, imonth1, iday1, zsec1 )           ! year/month/day of the beginning of run
       CALL ju2ymds( zjul + zdrun, iyear2, imonth2, iday2, zsec2 )           ! year/month/day of the end       of run
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaptr.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaptr.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diaptr.F90	(revision 12511)
@@ -50,6 +50,6 @@
 
    REAL(wp) ::   rc_sv    = 1.e-6_wp   ! conversion from m3/s to Sverdrup
-   REAL(wp) ::   rc_pwatt = 1.e-15_wp  ! conversion from W    to PW (further x rau0 x Cp)
-   REAL(wp) ::   rc_ggram = 1.e-9_wp   ! conversion from g    to Gg  (further x rau0)
+   REAL(wp) ::   rc_pwatt = 1.e-15_wp  ! conversion from W    to PW (further x rho0 x Cp)
+   REAL(wp) ::   rc_ggram = 1.e-9_wp   ! conversion from g    to Gg  (further x rho0)
 
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:,:) :: btmsk   ! T-point basin interior masks
@@ -346,6 +346,6 @@
          IF( dia_ptr_alloc() /= 0 )   CALL ctl_stop( 'STOP', 'dia_ptr_init : unable to allocate arrays' )
 
-         rc_pwatt = rc_pwatt * rau0_rcp          ! conversion from K.s-1 to PetaWatt
-         rc_ggram = rc_ggram * rau0              ! conversion from m3/s to Gg/s
+         rc_pwatt = rc_pwatt * rho0_rcp          ! conversion from K.s-1 to PetaWatt
+         rc_ggram = rc_ggram * rho0              ! conversion from m3/s to Gg/s
 
          IF( lk_mpp )   CALL mpp_ini_znl( numout )     ! Define MPI communicator for zonal sum
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diawri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diawri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIA/diawri.F90	(revision 12511)
@@ -173,5 +173,5 @@
 
       IF ( iom_use("taubot") ) THEN                ! bottom stress
-         zztmp = rau0 * 0.25
+         zztmp = rho0 * 0.25
          z2d(:,:) = 0._wp
          DO_2D_00_00
@@ -212,5 +212,5 @@
       IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value
          ! Caution: in the VVL case, it only correponds to the baroclinic mass transport.
-         z2d(:,:) = rau0 * e1e2t(:,:)
+         z2d(:,:) = rho0 * e1e2t(:,:)
          DO jk = 1, jpk
             z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:)
@@ -249,5 +249,5 @@
             z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_tem,Kmm) * tmask(ji,jj,jk)
          END_3D
-         CALL iom_put( "heatc", rau0_rcp * z2d )   ! vertically integrated heat content (J/m2)
+         CALL iom_put( "heatc", rho0_rcp * z2d )   ! vertically integrated heat content (J/m2)
       ENDIF
 
@@ -257,5 +257,5 @@
             z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_sal,Kmm) * tmask(ji,jj,jk)
          END_3D
-         CALL iom_put( "saltc", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
+         CALL iom_put( "saltc", rho0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
       ENDIF
       !
@@ -279,5 +279,5 @@
          z2d(:,:) = 0.e0
          DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)
+            z3d(:,:,jk) = rho0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)
             z2d(:,:) = z2d(:,:) + z3d(:,:,jk)
          END DO
@@ -308,5 +308,5 @@
          z3d(:,:,jpk) = 0.e0
          DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)
+            z3d(:,:,jk) = rho0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)
          END DO
          CALL iom_put( "v_masstr", z3d )              ! mass transport in j-direction
@@ -337,5 +337,5 @@
          END_3D
          CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature
+         CALL iom_put( "tosmint", rho0 * z2d )        ! Vertical integral of temperature
       ENDIF
       IF( iom_use("somint") ) THEN
@@ -345,5 +345,5 @@
          END_3D
          CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity
+         CALL iom_put( "somint", rho0 * z2d )         ! Vertical integral of salinity
       ENDIF
 
@@ -366,11 +366,16 @@
       INTEGER, DIMENSION(2) :: ierr
       !!----------------------------------------------------------------------
-      ierr = 0
-      ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     &
-         &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     &
-         &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) )
+      IF( nn_write == -1 ) THEN
+         dia_wri_alloc = 0
+      ELSE    
+         ierr = 0
+         ALLOCATE( ndex_hT(jpi*jpj) , ndex_T(jpi*jpj*jpk) ,     &
+            &      ndex_hU(jpi*jpj) , ndex_U(jpi*jpj*jpk) ,     &
+            &      ndex_hV(jpi*jpj) , ndex_V(jpi*jpj*jpk) , STAT=ierr(1) )
          !
-	  dia_wri_alloc = MAXVAL(ierr)
-      CALL mpp_sum( 'diawri', dia_wri_alloc )
+         dia_wri_alloc = MAXVAL(ierr)
+         CALL mpp_sum( 'diawri', dia_wri_alloc )
+         !
+      ENDIF
       !
    END FUNCTION dia_wri_alloc
@@ -432,12 +437,12 @@
       clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes)
 #if defined key_diainstant
-      zsto = nn_write * rdt
+      zsto = nn_write * rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #else
-      zsto=rdt
+      zsto=rn_Dt
       clop = "ave("//TRIM(clop)//")"
 #endif
-      zout = nn_write * rdt
-      zmax = ( nitend - nit000 + 1 ) * rdt
+      zout = nn_write * rn_Dt
+      zmax = ( nitend - nit000 + 1 ) * rn_Dt
 
       ! Define indices of the horizontal output zoom and vertical limit storage
@@ -460,5 +465,5 @@
 
          ! Compute julian date from starting date of the run
-         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+         CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
          zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
          IF(lwp)WRITE(numout,*)
@@ -482,5 +487,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_T, "down" )
@@ -518,5 +523,5 @@
          CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_U, "down" )
@@ -531,5 +536,5 @@
          CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept
             &          "m", ipk, gdept_1d, nz_V, "down" )
@@ -544,5 +549,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_W, "depthw", "Vertical W levels",      &  ! Vertical grid: gdepw
             &          "m", ipk, gdepw_1d, nz_W, "down" )
@@ -554,5 +559,5 @@
             CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
                &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-               &          nit000-1, zjulian, rdt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )
+               &          nit000-1, zjulian, rn_Dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )
             CALL histvert( nid_A, "ght_abl", "Vertical T levels",      &  ! Vertical grid: gdept
                &           "m", ipka, ght_abl(2:jpka), nz_A, "up" )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_coolskin.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_coolskin.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_coolskin.F90	(revision 12511)
@@ -67,5 +67,5 @@
 
 
-   SUBROUTINE diurnal_sst_coolskin_step(psqflux, pstauflux, psrho, rdt)
+   SUBROUTINE diurnal_sst_coolskin_step(psqflux, pstauflux, psrho, pDt)
       !!----------------------------------------------------------------------
       !! *** ROUTINE diurnal_sst_takaya_step ***
@@ -81,5 +81,5 @@
       REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: pstauflux   ! Wind stress (kg/ m s^2)
       REAL(wp), INTENT(IN), DIMENSION(jpi,jpj) :: psrho       ! Water density (kg/m^3)
-      REAL(wp), INTENT(IN) :: rdt                             ! Time-step
+      REAL(wp), INTENT(IN) :: pDt                             ! Time-step
      
       ! Local variables
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_layers.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_layers.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DIU/diu_layers.F90	(revision 12511)
@@ -39,5 +39,5 @@
       ! Cool skin
 
-      CALL diurnal_sst_coolskin_step( qns, taum, rhop(:,:,1), rdt)
+      CALL diurnal_sst_coolskin_step( qns, taum, rhop(:,:,1), rn_Dt)
 
       CALL iom_put( "sst_wl"   , x_dsst               )    ! warm layer (write out before update below).
@@ -45,5 +45,5 @@
 
       ! Diurnal warm layer model       
-      CALL diurnal_sst_takaya_step( kstp, qsr, qns, taum, rhop(:,:,1), rdt) 
+      CALL diurnal_sst_takaya_step( kstp, qsr, qns, taum, rhop(:,:,1), rn_Dt) 
 
    END SUBROUTINE diurnal_layers  
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/daymod.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/daymod.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/daymod.F90	(revision 12511)
@@ -20,5 +20,5 @@
    !!                    -------------------------------
    !!   sbcmod assume that the time step is dividing the number of second of 
-   !!   in a day, i.e. ===> MOD( rday, rdt ) == 0 
+   !!   in a day, i.e. ===> MOD( rday, rn_Dt ) == 0 
    !!   except when user defined forcing is used (see sbcmod.F90)
    !!----------------------------------------------------------------------
@@ -73,5 +73,5 @@
       !
       ! max number of seconds between each restart
-      IF( REAL( nitend - nit000 + 1 ) * rdt > REAL( HUGE( nsec1jan000 ) ) ) THEN
+      IF( REAL( nitend - nit000 + 1 ) * rn_Dt > REAL( HUGE( nsec1jan000 ) ) ) THEN
          CALL ctl_stop( 'The number of seconds between each restart exceeds the integer 4 max value: 2^31-1. ',   &
             &           'You must do a restart at higher frequency (or remove this stop and recompile the code in I8)' )
@@ -79,6 +79,6 @@
       nsecd   = NINT(       rday )
       nsecd05 = NINT( 0.5 * rday )
-      ndt     = NINT(       rdt  )
-      ndt05   = NINT( 0.5 * rdt  )
+      ndt     = NINT(       rn_Dt  )
+      ndt05   = NINT( 0.5 * rn_Dt  )
 
       IF( .NOT. l_offline )   CALL day_rst( nit000, 'READ' )
@@ -239,6 +239,6 @@
       nsec_monday  = nsec_monday  + ndt
       nsec_day   = nsec_day   + ndt
-      adatrj  = adatrj  + rdt / rday
-      fjulday = fjulday + rdt / rday
+      adatrj  = adatrj  + rn_Dt / rday
+      fjulday = fjulday + rn_Dt / rday
       IF( ABS(fjulday - REAL(NINT(fjulday),wp)) < zprec )   fjulday = REAL(NINT(fjulday),wp)   ! avoid truncation error
       IF( ABS(adatrj  - REAL(NINT(adatrj ),wp)) < zprec )   adatrj  = REAL(NINT(adatrj ),wp)   ! avoid truncation error
@@ -309,5 +309,5 @@
       !!       In both those options, the  exact duration of the experiment
       !!       since the beginning (cumulated duration of all previous restart runs)
-      !!       is not stored in the restart and is assumed to be (nit000-1)*rdt.
+      !!       is not stored in the restart and is assumed to be (nit000-1)*rn_Dt.
       !!       This is valid is the time step has remained constant.
       !!
@@ -379,5 +379,5 @@
                isecond = ( nhour * NINT(rhhmm) + nminute ) * NINT(rmmss)
                IF( isecond - ndt05 .lt. 0 )   ndastp = ndastp - 1      ! Start hour is specified in the namelist (default 0)
-               adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday
+               adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday
                ! note this is wrong if time step has changed during run
             ENDIF
@@ -389,5 +389,5 @@
             isecond = ( nhour * NINT(rhhmm) + nminute ) * NINT(rmmss)
             IF( isecond - ndt05 .LT. 0 )   ndastp = ndastp - 1         ! Start hour is specified in the namelist (default 0)
-            adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday
+            adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday
          ENDIF
          IF( ABS(adatrj  - REAL(NINT(adatrj),wp)) < 0.1 / rday )   adatrj = REAL(NINT(adatrj),wp)   ! avoid truncation error
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/dom_oce.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/dom_oce.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/dom_oce.F90	(revision 12511)
@@ -33,7 +33,7 @@
    LOGICAL , PUBLIC ::   ln_linssh      !: =T  linear free surface ==>> model level are fixed in time
    LOGICAL , PUBLIC ::   ln_meshmask    !: =T  create a mesh-mask file (mesh_mask.nc)
-   REAL(wp), PUBLIC ::   rn_rdt         !: time step for the dynamics and tracer
+   REAL(wp), PUBLIC ::   rn_Dt          !: time step for the dynamics and tracer
    REAL(wp), PUBLIC ::   rn_atfp        !: asselin time filter parameter
-   INTEGER , PUBLIC ::   nn_euler       !: =0 start with forward time step or not (=1)
+   LOGICAL , PUBLIC ::   ln_1st_euler   !: =T start with forward time step or not (=F)
    LOGICAL , PUBLIC ::   ln_crs         !: Apply grid coarsening to dynamical model output or online passive tracers
 
@@ -49,16 +49,15 @@
    LOGICAL,  PUBLIC :: ln_bt_auto       !: Set number of barotropic iterations automatically
    INTEGER,  PUBLIC :: nn_bt_flt        !: Filter choice
-   INTEGER,  PUBLIC :: nn_baro          !: Number of barotropic iterations during one baroclinic step (rdt)
+   INTEGER,  PUBLIC :: nn_e          !: Number of barotropic iterations during one baroclinic step (rn_Dt)
    REAL(wp), PUBLIC :: rn_bt_cmax       !: Maximum allowed courant number (used if ln_bt_auto=T)
    REAL(wp), PUBLIC :: rn_bt_alpha      !: Time stepping diffusion parameter
 
 
-   !                                   !! old non-DOCTOR names still used in the model
-   REAL(wp), PUBLIC ::   atfp           !: asselin time filter parameter
-   REAL(wp), PUBLIC ::   rdt            !: time step for the dynamics and tracer
-
    !                                   !!! associated variables
-   INTEGER , PUBLIC ::   neuler         !: restart euler forward option (0=Euler)
-   REAL(wp), PUBLIC ::   r2dt           !: = 2*rdt except at nit000 (=rdt) if neuler=0
+   LOGICAL , PUBLIC ::   l_1st_euler    !: Euler 1st time-step flag (=T if ln_restart=F or ln_1st_euler=T)
+   REAL(wp), PUBLIC ::   rDt, r1_Dt     !: Current model timestep and reciprocal
+                                        !: rDt = 2 * rn_Dt if leapfrog and l_1st_euler = F
+                                        !:     =     rn_Dt if leapfrog and l_1st_euler = T
+                                        !:     =     rn_Dt if RK3
 
    !!----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domain.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domain.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domain.F90	(revision 12511)
@@ -287,7 +287,7 @@
          &             nn_no   , cn_exp   , cn_ocerst_in, cn_ocerst_out, ln_rstart , nn_rstctl ,     &
          &             nn_it000, nn_itend , nn_date0    , nn_time0     , nn_leapy  , nn_istate ,     &
-         &             nn_stock, nn_write , ln_mskland  , ln_clobber   , nn_chunksz, nn_euler  ,     &
+         &             nn_stock, nn_write , ln_mskland  , ln_clobber   , nn_chunksz, ln_1st_euler  , &
          &             ln_cfmeta, ln_xios_read, nn_wxios
-      NAMELIST/namdom/ ln_linssh, rn_rdt, rn_atfp, ln_crs, ln_meshmask
+      NAMELIST/namdom/ ln_linssh, rn_Dt, rn_atfp, ln_crs, ln_meshmask
 #if defined key_netcdf4
       NAMELIST/namnc4/ nn_nchunks_i, nn_nchunks_j, nn_nchunks_k, ln_nc4zip
@@ -317,5 +317,5 @@
          WRITE(numout,*) '      restart output directory        cn_ocerst_outdir= ', TRIM( cn_ocerst_outdir )
          WRITE(numout,*) '      restart logical                 ln_rstart       = ', ln_rstart
-         WRITE(numout,*) '      start with forward time step    nn_euler        = ', nn_euler
+         WRITE(numout,*) '      start with forward time step    ln_1st_euler    = ', ln_1st_euler
          WRITE(numout,*) '      control of time step            nn_rstctl       = ', nn_rstctl
          WRITE(numout,*) '      number of the first time step   nn_it000        = ', nn_it000
@@ -353,10 +353,10 @@
       nleapy = nn_leapy
       ninist = nn_istate
-      neuler = nn_euler
-      IF( neuler == 1 .AND. .NOT. ln_rstart ) THEN
+      l_1st_euler = ln_1st_euler
+      IF( .NOT. l_1st_euler .AND. .NOT. ln_rstart ) THEN
          IF(lwp) WRITE(numout,*)  
          IF(lwp) WRITE(numout,*)'   ==>>>   Start from rest (ln_rstart=F)'
-         IF(lwp) WRITE(numout,*)'           an Euler initial time step is used : nn_euler is forced to 0 '   
-         neuler = 0
+         IF(lwp) WRITE(numout,*)'           an Euler initial time step is used : l_1st_euler is forced to .true. '   
+         l_1st_euler = .true.
       ENDIF
       !                             ! control of output frequency
@@ -408,12 +408,12 @@
          WRITE(numout,*) '      linear free surface (=T)                ln_linssh   = ', ln_linssh
          WRITE(numout,*) '      create mesh/mask file                   ln_meshmask = ', ln_meshmask
-         WRITE(numout,*) '      ocean time step                         rn_rdt      = ', rn_rdt
+         WRITE(numout,*) '      ocean time step                         rn_Dt       = ', rn_Dt
          WRITE(numout,*) '      asselin time filter parameter           rn_atfp     = ', rn_atfp
          WRITE(numout,*) '      online coarsening of dynamical fields   ln_crs      = ', ln_crs
       ENDIF
       !
-      !          ! conversion DOCTOR names into model names (this should disappear soon)
-      atfp = rn_atfp
-      rdt  = rn_rdt
+      !! Initialise current model timestep rDt = 2*rn_Dt if MLF or rDt = rn_Dt if RK3
+      rDt  = 2._wp * rn_Dt
+      r1_Dt = 1._wp / rDt
 
       IF( TRIM(Agrif_CFixed()) == '0' ) THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domvvl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domvvl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/domvvl.F90	(revision 12511)
@@ -235,5 +235,5 @@
          IF( ln_vvl_ztilde_as_zstar ) THEN   ! z-star emulation using z-tile
             frq_rst_e3t(:,:) = 0._wp               !Ignore namelist settings
-            frq_rst_hdv(:,:) = 1._wp / rdt
+            frq_rst_hdv(:,:) = 1._wp / rn_Dt
          ENDIF
          IF ( ln_vvl_zstar_at_eqtor ) THEN   ! use z-star in vicinity of the Equator
@@ -247,5 +247,5 @@
                   ! values inside the equatorial band (ztilde as zstar)
                   frq_rst_e3t(ji,jj) =  0.0_wp
-                  frq_rst_hdv(ji,jj) =  1.0_wp / rdt
+                  frq_rst_hdv(ji,jj) =  1.0_wp / rn_Dt
                ELSE                                      ! transition band (2.5 to 6 degrees N/S)
                   !                                      ! (linearly transition from z-tilde to z-star)
@@ -253,6 +253,6 @@
                      &            * (  1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                      &                                          * 180._wp / 3.5_wp ) )
-                  frq_rst_hdv(ji,jj) = (1.0_wp / rdt)                                &
-                     &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rdt) )*0.5_wp   &
+                  frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt)                                &
+                     &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp   &
                      &            * (  1._wp  - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                      &                                          * 180._wp / 3.5_wp ) )
@@ -264,5 +264,5 @@
                   ij0 = 128   ;   ij1 = 135   ;   
                   frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp
-                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt
+                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rn_Dt
                ENDIF
             ENDIF
@@ -319,5 +319,5 @@
       INTEGER                ::   ji, jj, jk            ! dummy loop indices
       INTEGER , DIMENSION(3) ::   ijk_max, ijk_min      ! temporary integers
-      REAL(wp)               ::   z2dt, z_tmin, z_tmax  ! local scalars
+      REAL(wp)               ::   z_tmin, z_tmax        ! local scalars
       LOGICAL                ::   ll_do_bclinic         ! local logical
       REAL(wp), DIMENSION(jpi,jpj)     ::   zht, z_scale, zwu, zwv, zhdiv
@@ -373,5 +373,5 @@
             IF( kt > nit000 ) THEN
                DO jk = 1, jpkm1
-                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rdt * frq_rst_hdv(:,:)   &
+                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:)   &
                      &          * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) )
                END DO
@@ -430,13 +430,6 @@
          ! 4 - Time stepping of baroclinic scale factors
          ! ---------------------------------------------
-         ! Leapfrog time stepping
-         ! ~~~~~~~~~~~~~~~~~~~~~~
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
-            z2dt =  rdt
-         ELSE
-            z2dt = 2.0_wp * rdt
-         ENDIF
          CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp )
-         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
+         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
 
          ! Maximum deformation control
@@ -624,9 +617,9 @@
       ! - ML - e3(t/u/v)_b are allready computed in dynnxt.
       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
+         IF( l_1st_euler ) THEN
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:)
          ELSE
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 
-            &         + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
+            &         + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
          ENDIF
          tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:)
@@ -821,5 +814,5 @@
                   e3t(:,:,:,Kbb) = e3t_0(:,:,:)
                END WHERE
-               IF( neuler == 0 ) THEN
+               IF( l_1st_euler ) THEN
                   e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
                ENDIF
@@ -827,19 +820,19 @@
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to true'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )
                e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE IF( id2 > 0 ) THEN
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to true'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file'
                IF(lwp) write(numout,*) 'Compute scale factor from sshn'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to true'
                DO jk = 1, jpk
                   e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) &
@@ -848,5 +841,5 @@
                END DO
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ENDIF
             !                             ! ----------- !
@@ -1008,5 +1001,5 @@
             WRITE(numout,*) '                         rn_rst_e3t     = 0.e0'
             WRITE(numout,*) '            hard-wired : z-tilde cutoff frequency of low-pass filter (days)'
-            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rdt'
+            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rn_Dt'
          ELSE
             WRITE(numout,*) '      z-tilde to zstar restoration timescale (days)        rn_rst_e3t   = ', rn_rst_e3t
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/istate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/istate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/istate.F90	(revision 12511)
@@ -92,5 +92,5 @@
          !                                    ! ---------------
          numror = 0                           ! define numror = 0 -> no restart file to read
-         neuler = 0                           ! Set time-step indicator at nit000 (euler forward)
+         l_1st_euler = .true.                 ! Set time-step indicator at nit000 (euler forward)
          CALL day_init                        ! model calendar (using both namelist and restart infos)
          !                                    ! Initialization of ocean to zero
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/phycst.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/phycst.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DOM/phycst.F90	(revision 12511)
@@ -39,10 +39,10 @@
    REAL(wp), PUBLIC ::   rt0      = 273.15_wp        !: freezing point of fresh water [Kelvin]
 
-   REAL(wp), PUBLIC ::   rau0                        !: volumic mass of reference     [kg/m3]
-   REAL(wp), PUBLIC ::   r1_rau0                     !: = 1. / rau0                   [m3/kg]
+   REAL(wp), PUBLIC ::   rho0                        !: volumic mass of reference     [kg/m3]
+   REAL(wp), PUBLIC ::   r1_rho0                     !: = 1. / rho0                   [m3/kg]
    REAL(wp), PUBLIC ::   rcp                         !: ocean specific heat           [J/Kelvin]
    REAL(wp), PUBLIC ::   r1_rcp                      !: = 1. / rcp                    [Kelvin/J]
-   REAL(wp), PUBLIC ::   rau0_rcp                    !: = rau0 * rcp 
-   REAL(wp), PUBLIC ::   r1_rau0_rcp                 !: = 1. / ( rau0 * rcp )
+   REAL(wp), PUBLIC ::   rho0_rcp                    !: = rho0 * rcp 
+   REAL(wp), PUBLIC ::   r1_rho0_rcp                 !: = 1. / ( rho0 * rcp )
 
    REAL(wp), PUBLIC ::   emic     =    0.97_wp       !: emissivity of snow or ice (not used?)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynatf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynatf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynatf.F90	(revision 12511)
@@ -87,5 +87,5 @@
       !!             arrays to start the next time step:
       !!                (puu(Kmm),pvv(Kmm)) = (puu(Kmm),pvv(Kmm)) 
-      !!                                    + atfp [ (puu(Kbb),pvv(Kbb)) + (puu(Kaa),pvv(Kaa)) - 2 (puu(Kmm),pvv(Kmm)) ]
+      !!                                    + rn_atfp [ (puu(Kbb),pvv(Kbb)) + (puu(Kaa),pvv(Kaa)) - 2 (puu(Kmm),pvv(Kmm)) ]
       !!             Note that with flux form advection and non linear free surface,
       !!             the time filter is applied on thickness weighted velocity.
@@ -157,6 +157,4 @@
       !
       IF( l_trddyn ) THEN             ! prepare the atf trend computation + some diagnostics
-         z1_2dt = 1._wp / (2. * rdt)        ! Euler or leap-frog time step 
-         IF( neuler == 0 .AND. kt == nit000 )   z1_2dt = 1._wp / rdt
          !
          !                                  ! Kinetic energy and Conversion
@@ -164,6 +162,6 @@
          !
          IF( ln_dyn_trd ) THEN              ! 3D output: total momentum trends
-            zua(:,:,:) = ( puu(:,:,:,Kaa) - puu(:,:,:,Kbb) ) * z1_2dt
-            zva(:,:,:) = ( pvv(:,:,:,Kaa) - pvv(:,:,:,Kbb) ) * z1_2dt
+            zua(:,:,:) = ( puu(:,:,:,Kaa) - puu(:,:,:,Kbb) ) * r1_Dt
+            zva(:,:,:) = ( pvv(:,:,:,Kaa) - pvv(:,:,:,Kbb) ) * r1_Dt
             CALL iom_put( "utrd_tot", zua )        ! total momentum trends, except the asselin time filter
             CALL iom_put( "vtrd_tot", zva )
@@ -178,11 +176,11 @@
       ! ------------------------------------------
          
-      IF( .NOT.( neuler == 0 .AND. kt == nit000 ) ) THEN    !* Leap-Frog : Asselin time filter 
+      IF( .NOT. l_1st_euler ) THEN    !* Leap-Frog : Asselin time filter 
          !                                ! =============!
          IF( ln_linssh ) THEN             ! Fixed volume !
             !                             ! =============!
             DO_3D_11_11( 1, jpkm1 )
-               puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) )
-               pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) )
+               puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) )
+               pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) )
             END_3D
             !                             ! ================!
@@ -193,9 +191,9 @@
             ALLOCATE( ze3t_f(jpi,jpj,jpk), zwfld(jpi,jpj) )
             DO jk = 1, jpkm1
-               ze3t_f(:,:,jk) = pe3t(:,:,jk,Kmm) + atfp * ( pe3t(:,:,jk,Kbb) - 2._wp * pe3t(:,:,jk,Kmm) + pe3t(:,:,jk,Kaa) )
+               ze3t_f(:,:,jk) = pe3t(:,:,jk,Kmm) + rn_atfp * ( pe3t(:,:,jk,Kbb) - 2._wp * pe3t(:,:,jk,Kmm) + pe3t(:,:,jk,Kaa) )
             END DO
             ! Add volume filter correction: compatibility with tracer advection scheme
             ! => time filter + conservation correction
-            zcoef = atfp * rdt * r1_rau0
+            zcoef = rn_atfp * rn_Dt * r1_rho0
             zwfld(:,:) = emp_b(:,:) - emp(:,:)
             IF ( ln_rnf ) zwfld(:,:) =  zwfld(:,:) - ( rnf_b(:,:) - rnf(:,:) )
@@ -209,5 +207,5 @@
             !     to manage rnf, isf and possibly in the futur icb, tide water glacier (...)
             !     ...(kt, coef, ktop, kbot, hz, fwf_b, fwf)
-            IF ( ln_isf ) CALL isf_dynatf( kt, Kmm, ze3t_f, atfp * rdt )
+            IF ( ln_isf ) CALL isf_dynatf( kt, Kmm, ze3t_f, rn_atfp * rn_Dt )
             !
             pe3t(:,:,1:jpkm1,Kmm) = ze3t_f(:,:,1:jpkm1)        ! filtered scale factor at T-points
@@ -218,6 +216,6 @@
                CALL dom_vvl_interpol( pe3t(:,:,:,Kmm), pe3v(:,:,:,Kmm), 'V' )
                DO_3D_11_11( 1, jpkm1 )
-                  puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) )
-                  pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) )
+                  puu(ji,jj,jk,Kmm) = puu(ji,jj,jk,Kmm) + rn_atfp * ( puu(ji,jj,jk,Kbb) - 2._wp * puu(ji,jj,jk,Kmm) + puu(ji,jj,jk,Kaa) )
+                  pvv(ji,jj,jk,Kmm) = pvv(ji,jj,jk,Kmm) + rn_atfp * ( pvv(ji,jj,jk,Kbb) - 2._wp * pvv(ji,jj,jk,Kmm) + pvv(ji,jj,jk,Kaa) )
                END_3D
                !
@@ -236,6 +234,6 @@
                   zve3b = pe3v(ji,jj,jk,Kbb) * pvv(ji,jj,jk,Kbb)
                   !
-                  puu(ji,jj,jk,Kmm) = ( zue3n + atfp * ( zue3b - 2._wp * zue3n  + zue3a ) ) / ze3u_f(ji,jj,jk)
-                  pvv(ji,jj,jk,Kmm) = ( zve3n + atfp * ( zve3b - 2._wp * zve3n  + zve3a ) ) / ze3v_f(ji,jj,jk)
+                  puu(ji,jj,jk,Kmm) = ( zue3n + rn_atfp * ( zue3b - 2._wp * zue3n  + zue3a ) ) / ze3u_f(ji,jj,jk)
+                  pvv(ji,jj,jk,Kmm) = ( zve3n + rn_atfp * ( zve3b - 2._wp * zve3n  + zve3a ) ) / ze3v_f(ji,jj,jk)
                END_3D
                pe3u(:,:,1:jpkm1,Kmm) = ze3u_f(:,:,1:jpkm1)  
@@ -263,5 +261,5 @@
          ENDIF
          !
-      ENDIF ! neuler /= 0
+      ENDIF ! .NOT. l_1st_euler
       !
       ! Set "now" and "before" barotropic velocities for next time step:
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg.F90	(revision 12511)
@@ -67,7 +67,7 @@
       !!              ln_apr_dyn=T : the atmospheric pressure forcing is applied 
       !!             as the gradient of the inverse barometer ssh:
-      !!                apgu = - 1/rau0 di[apr] = 0.5*grav di[ssh_ib+ssh_ibb]
-      !!                apgv = - 1/rau0 dj[apr] = 0.5*grav dj[ssh_ib+ssh_ibb]
-      !!             Note that as all external forcing a time averaging over a two rdt
+      !!                apgu = - 1/rho0 di[apr] = 0.5*grav di[ssh_ib+ssh_ibb]
+      !!                apgv = - 1/rho0 dj[apr] = 0.5*grav dj[ssh_ib+ssh_ibb]
+      !!             Note that as all external forcing a time averaging over a two rn_Dt
       !!             period is used to prevent the divergence of odd and even time step.
       !!----------------------------------------------------------------------
@@ -78,5 +78,5 @@
       !
       INTEGER  ::   ji, jj, jk                   ! dummy loop indices
-      REAL(wp) ::   z2dt, zg_2, zintp, zgrau0r, zld   ! local scalars
+      REAL(wp) ::   z2dt, zg_2, zintp, zgrho0r, zld   ! local scalars
       REAL(wp), ALLOCATABLE, DIMENSION(:,:)   ::   zpice
       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   ztrdu, ztrdv
@@ -114,5 +114,5 @@
             !
             ! Update tide potential at the beginning of current time step
-            zt0step = REAL(nsec_day, wp)-0.5_wp*rdt
+            zt0step = REAL(nsec_day, wp)-0.5_wp*rn_Dt
             CALL upd_tide(zt0step, Kmm)
             !
@@ -134,6 +134,6 @@
             ALLOCATE( zpice(jpi,jpj) )
             zintp = REAL( MOD( kt-1, nn_fsbc ) ) / REAL( nn_fsbc )
-            zgrau0r     = - grav * r1_rau0
-            zpice(:,:) = (  zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:)  ) * zgrau0r
+            zgrho0r     = - grav * r1_rho0
+            zpice(:,:) = (  zintp * snwice_mass(:,:) + ( 1.- zintp ) * snwice_mass_b(:,:)  ) * zgrho0r
             DO_2D_00_00
                spgu(ji,jj) = spgu(ji,jj) + ( zpice(ji+1,jj) - zpice(ji,jj) ) * r1_e1u(ji,jj)
@@ -183,5 +183,5 @@
       NAMELIST/namdyn_spg/ ln_dynspg_exp       , ln_dynspg_ts,   &
       &                    ln_bt_fw, ln_bt_av  , ln_bt_auto  ,   &
-      &                    nn_baro , rn_bt_cmax, nn_bt_flt, rn_bt_alpha
+      &                    nn_e , rn_bt_cmax, nn_bt_flt, rn_bt_alpha
       !!----------------------------------------------------------------------
       !
@@ -222,5 +222,5 @@
       !
       IF( nspg == np_TS ) THEN   ! split-explicit scheme initialisation
-         CALL dyn_spg_ts_init          ! do it first: set nn_baro used to allocate some arrays later on
+         CALL dyn_spg_ts_init          ! do it first: set nn_e used to allocate some arrays later on
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_exp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_exp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_exp.F90	(revision 12511)
@@ -49,6 +49,6 @@
       !!              momentum trend the surface pressure gradient :
       !!                      (uu(rhs),vv(rhs)) = (uu(rhs),vv(rhs)) + (spgu,spgv)
-      !!              where spgu = -1/rau0 d/dx(ps) = -g/e1u di( ssh(now) )
-      !!                    spgv = -1/rau0 d/dy(ps) = -g/e2v dj( ssh(now) )
+      !!              where spgu = -1/rho0 d/dx(ps) = -g/e1u di( ssh(now) )
+      !!                    spgv = -1/rho0 d/dy(ps) = -g/e2v dj( ssh(now) )
       !!
       !! ** Action :   (puu(:,:,:,Krhs),pvv(:,:,:,Krhs))   trend of horizontal velocity increased by 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_ts.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_ts.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynspg_ts.F90	(revision 12511)
@@ -72,6 +72,6 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:) ::   un_adv , vn_adv   !: Advection vel. at "now" barocl. step
    !
-   INTEGER, SAVE :: icycle      ! Number of barotropic sub-steps for each internal step nn_baro <= 2.5 nn_baro
-   REAL(wp),SAVE :: rdtbt       ! Barotropic time step
+   INTEGER, SAVE :: icycle      ! Number of barotropic sub-steps for each internal step nn_e <= 2.5 nn_e
+   REAL(wp),SAVE :: rDt_e       ! Barotropic time step
    !
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:)   ::   wgtbtp1, wgtbtp2   ! 1st & 2nd weights used in time filtering of barotropic fields
@@ -102,5 +102,5 @@
       ierr(:) = 0
       !
-      ALLOCATE( wgtbtp1(3*nn_baro), wgtbtp2(3*nn_baro), zwz(jpi,jpj), STAT=ierr(1) )
+      ALLOCATE( wgtbtp1(3*nn_e), wgtbtp2(3*nn_e), zwz(jpi,jpj), STAT=ierr(1) )
       IF( ln_dynvor_een .OR. ln_dynvor_eeT )   &
          &     ALLOCATE( ftnw(jpi,jpj) , ftne(jpi,jpj) , ftsw(jpi,jpj) , ftse(jpi,jpj), STAT=ierr(2)   )
@@ -150,5 +150,5 @@
       LOGICAL  ::   ll_init               ! =T : special startup of 2d equations
       INTEGER  ::   noffset               ! local integers  : time offset for bdy update
-      REAL(wp) ::   r1_2dt_b, z1_hu, z1_hv          ! local scalars
+      REAL(wp) ::   r1_Dt_b, z1_hu, z1_hv          ! local scalars
       REAL(wp) ::   za0, za1, za2, za3              !   -      -
       REAL(wp) ::   zztmp, zldg               !   -      -
@@ -180,12 +180,10 @@
 !     zwdramp = 1._wp / (rn_wdmin2 - rn_wdmin1) ! more general ramp
       !                                         ! inverse of baroclinic time step 
-      IF( kt == nit000 .AND. neuler == 0 ) THEN   ;   r1_2dt_b = 1._wp / (         rdt )
-      ELSE                                        ;   r1_2dt_b = 1._wp / ( 2._wp * rdt )
-      ENDIF
+      r1_Dt_b = 1._wp / rDt 
       !
       ll_init     = ln_bt_av                    ! if no time averaging, then no specific restart 
       ll_fw_start = .FALSE.
       !                                         ! time offset in steps for bdy data update
-      IF( .NOT.ln_bt_fw ) THEN   ;   noffset = - nn_baro
+      IF( .NOT.ln_bt_fw ) THEN   ;   noffset = - nn_e
       ELSE                       ;   noffset =   0 
       ENDIF
@@ -198,7 +196,7 @@
          IF(lwp) WRITE(numout,*)
          !
-         IF( neuler == 0 )   ll_init=.TRUE.
-         !
-         IF( ln_bt_fw .OR. neuler == 0 ) THEN
+         IF( l_1st_euler )   ll_init=.TRUE.
+         !
+         IF( ln_bt_fw .OR. l_1st_euler ) THEN
             ll_fw_start =.TRUE.
             noffset     = 0
@@ -209,14 +207,17 @@
          CALL ts_wgt( ln_bt_av, ll_fw_start, icycle, wgtbtp1, wgtbtp2 )
          !
-      ENDIF
-      !
-      ! If forward start at previous time step, and centered integration, 
-      ! then update averaging weights:
-      IF (.NOT.ln_bt_fw .AND.( neuler==0 .AND. kt==nit000+1 ) ) THEN
-         ll_fw_start=.FALSE.
-         CALL ts_wgt( ln_bt_av, ll_fw_start, icycle, wgtbtp1, wgtbtp2 )
-      ENDIF
-      !
-                          
+      ELSEIF( kt == nit000 + 1 ) THEN           !* initialisation 2nd time-step
+         !
+         IF( .NOT.ln_bt_fw ) THEN
+            ! If we did an Euler timestep on the first timestep we need to reset ll_fw_start
+            ! and the averaging weights. We don't have an easy way of telling whether we did
+            ! an Euler timestep on the first timestep (because l_1st_euler is reset to .false.
+            ! at the end of the first timestep) so just do this in all cases. 
+            ll_fw_start = .FALSE.
+            CALL ts_wgt( ln_bt_av, ll_fw_start, icycle, wgtbtp1, wgtbtp2 )
+         ENDIF
+         !
+      ENDIF
+      !
       ! -----------------------------------------------------------------------------
       !  Phase 1 : Coupling between general trend and barotropic estimates (1st step)
@@ -302,9 +303,9 @@
       IF( ln_bt_fw ) THEN                        ! Add wind forcing
          DO_2D_00_00
-            zu_frc(ji,jj) =  zu_frc(ji,jj) + r1_rau0 * utau(ji,jj) * r1_hu(ji,jj,Kmm)
-            zv_frc(ji,jj) =  zv_frc(ji,jj) + r1_rau0 * vtau(ji,jj) * r1_hv(ji,jj,Kmm)
+            zu_frc(ji,jj) =  zu_frc(ji,jj) + r1_rho0 * utau(ji,jj) * r1_hu(ji,jj,Kmm)
+            zv_frc(ji,jj) =  zv_frc(ji,jj) + r1_rho0 * vtau(ji,jj) * r1_hv(ji,jj,Kmm)
          END_2D
       ELSE
-         zztmp = r1_rau0 * r1_2
+         zztmp = r1_rho0 * r1_2
          DO_2D_00_00
             zu_frc(ji,jj) =  zu_frc(ji,jj) + zztmp * ( utau_b(ji,jj) + utau(ji,jj) ) * r1_hu(ji,jj,Kmm)
@@ -319,7 +320,7 @@
       !                                   ! ---------------------------------------------------  !
       IF (ln_bt_fw) THEN                          ! FORWARD integration: use kt+1/2 fluxes (NOW+1/2)
-         zssh_frc(:,:) = r1_rau0 * ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) )
+         zssh_frc(:,:) = r1_rho0 * ( emp(:,:) - rnf(:,:) + fwfisf_cav(:,:) + fwfisf_par(:,:) )
       ELSE                                        ! CENTRED integration: use kt-1/2 + kt+1/2 fluxes (NOW)
-         zztmp = r1_rau0 * r1_2
+         zztmp = r1_rho0 * r1_2
          zssh_frc(:,:) = zztmp * (  emp(:,:)        + emp_b(:,:)                    &
                 &                 - rnf(:,:)        - rnf_b(:,:)                    &
@@ -428,5 +429,5 @@
          ! Update tide potential at the beginning of current time substep
          IF( ln_tide_pot .AND. ln_tide ) THEN
-            zt0substep = REAL(nsec_day, wp) - 0.5_wp*rdt + (jn + noffset - 1) * rdt / REAL(nn_baro, wp)
+            zt0substep = REAL(nsec_day, wp) - 0.5_wp*rn_Dt + (jn + noffset - 1) * rn_Dt / REAL(nn_e, wp)
             CALL upd_tide(zt0substep, Kmm)
          END IF
@@ -494,5 +495,5 @@
          IF( .NOT.Agrif_Root() .AND. ln_bt_fw ) CALL agrif_dyn_ts_flux( jn, zhU, zhV )
 #endif
-         IF( ln_wd_il )   CALL wad_lmt_bt(zhU, zhV, sshn_e, zssh_frc, rdtbt)    !!gm wad_lmt_bt use of lbc_lnk on zhU, zhV
+         IF( ln_wd_il )   CALL wad_lmt_bt(zhU, zhV, sshn_e, zssh_frc, rDt_e)    !!gm wad_lmt_bt use of lbc_lnk on zhU, zhV
 
          IF( ln_wd_dl ) THEN           ! un_e and vn_e are set to zero at faces where 
@@ -509,5 +510,5 @@
          DO_2D_00_00
             zhdiv = (   zhU(ji,jj) - zhU(ji-1,jj) + zhV(ji,jj) - zhV(ji,jj-1)   ) * r1_e1e2t(ji,jj)
-            ssha_e(ji,jj) = (  sshn_e(ji,jj) - rdtbt * ( zssh_frc(ji,jj) + zhdiv )  ) * ssmask(ji,jj)
+            ssha_e(ji,jj) = (  sshn_e(ji,jj) - rDt_e * ( zssh_frc(ji,jj) + zhdiv )  ) * ssmask(ji,jj)
          END_2D
          !
@@ -599,5 +600,5 @@
             DO_2D_00_00
                ua_e(ji,jj) = (                                 un_e(ji,jj)   & 
-                         &     + rdtbt * (                   zu_spg(ji,jj)   &
+                         &     + rDt_e * (                   zu_spg(ji,jj)   &
                          &                                 + zu_trd(ji,jj)   &
                          &                                 + zu_frc(ji,jj) ) & 
@@ -605,5 +606,5 @@
 
                va_e(ji,jj) = (                                 vn_e(ji,jj)   &
-                         &     + rdtbt * (                   zv_spg(ji,jj)   &
+                         &     + rDt_e * (                   zv_spg(ji,jj)   &
                          &                                 + zv_trd(ji,jj)   &
                          &                                 + zv_frc(ji,jj) ) &
@@ -624,10 +625,10 @@
                !
                ua_e(ji,jj) = (               hu_e  (ji,jj) *   un_e (ji,jj)      & 
-                    &            + rdtbt * (  zhu_bck        * zu_spg (ji,jj)  &   !
+                    &            + rDt_e * (  zhu_bck        * zu_spg (ji,jj)  &   !
                     &                       + zhup2_e(ji,jj) * zu_trd (ji,jj)  &   !
                     &                       +  hu(ji,jj,Kmm) * zu_frc (ji,jj)  )   ) * z1_hu
                !
                va_e(ji,jj) = (               hv_e  (ji,jj) *   vn_e (ji,jj)      &
-                    &            + rdtbt * (  zhv_bck        * zv_spg (ji,jj)  &   !
+                    &            + rDt_e * (  zhv_bck        * zv_spg (ji,jj)  &   !
                     &                       + zhvp2_e(ji,jj) * zv_trd (ji,jj)  &   !
                     &                       +  hv(ji,jj,Kmm) * zv_frc (ji,jj)  )   ) * z1_hv
@@ -637,6 +638,6 @@
          IF ( ll_wd ) THEN ! revert to explicit for bit comparison tests in non wad runs
             DO_2D_00_00
-                  ua_e(ji,jj) =  ua_e(ji,jj) /(1.0 -   rdtbt * zCdU_u(ji,jj) * hur_e(ji,jj))
-                  va_e(ji,jj) =  va_e(ji,jj) /(1.0 -   rdtbt * zCdU_v(ji,jj) * hvr_e(ji,jj))
+                  ua_e(ji,jj) =  ua_e(ji,jj) /(1.0 -   rDt_e * zCdU_u(ji,jj) * hur_e(ji,jj))
+                  va_e(ji,jj) =  va_e(ji,jj) /(1.0 -   rDt_e * zCdU_v(ji,jj) * hvr_e(ji,jj))
             END_2D
          ENDIF
@@ -701,14 +702,14 @@
       ! Set advection velocity correction:
       IF (ln_bt_fw) THEN
-         IF( .NOT.( kt == nit000 .AND. neuler==0 ) ) THEN
+         IF( .NOT.( kt == nit000 .AND. l_1st_euler ) ) THEN
             DO_2D_11_11
                zun_save = un_adv(ji,jj)
                zvn_save = vn_adv(ji,jj)
                !                          ! apply the previously computed correction 
-               un_adv(ji,jj) = r1_2 * ( ub2_b(ji,jj) + zun_save - atfp * un_bf(ji,jj) )
-               vn_adv(ji,jj) = r1_2 * ( vb2_b(ji,jj) + zvn_save - atfp * vn_bf(ji,jj) )
+               un_adv(ji,jj) = r1_2 * ( ub2_b(ji,jj) + zun_save - rn_atfp * un_bf(ji,jj) )
+               vn_adv(ji,jj) = r1_2 * ( vb2_b(ji,jj) + zvn_save - rn_atfp * vn_bf(ji,jj) )
                !                          ! Update corrective fluxes for next time step
-               un_bf(ji,jj)  = atfp * un_bf(ji,jj) + ( zun_save - ub2_b(ji,jj) )
-               vn_bf(ji,jj)  = atfp * vn_bf(ji,jj) + ( zvn_save - vb2_b(ji,jj) )
+               un_bf(ji,jj)  = rn_atfp * un_bf(ji,jj) + ( zun_save - ub2_b(ji,jj) )
+               vn_bf(ji,jj)  = rn_atfp * vn_bf(ji,jj) + ( zvn_save - vb2_b(ji,jj) )
                !                          ! Save integrated transport for next computation
                ub2_b(ji,jj) = zun_save
@@ -728,6 +729,6 @@
       IF( ln_dynadv_vec .OR. ln_linssh ) THEN
          DO jk=1,jpkm1
-            puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) ) * r1_2dt_b
-            pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) ) * r1_2dt_b
+            puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) ) * r1_Dt_b
+            pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) ) * r1_Dt_b
          END DO
       ELSE
@@ -744,6 +745,6 @@
          !
          DO jk=1,jpkm1
-            puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + r1_hu(:,:,Kmm) * ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) * hu(:,:,Kbb) ) * r1_2dt_b
-            pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + r1_hv(:,:,Kmm) * ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) * hv(:,:,Kbb) ) * r1_2dt_b
+            puu(:,:,jk,Krhs) = puu(:,:,jk,Krhs) + r1_hu(:,:,Kmm) * ( puu_b(:,:,Kaa) - puu_b(:,:,Kbb) * hu(:,:,Kbb) ) * r1_Dt_b
+            pvv(:,:,jk,Krhs) = pvv(:,:,jk,Krhs) + r1_hv(:,:,Kmm) * ( pvv_b(:,:,Kaa) - pvv_b(:,:,Kbb) * hv(:,:,Kbb) ) * r1_Dt_b
          END DO
          ! Save barotropic velocities not transport:
@@ -808,5 +809,5 @@
       LOGICAL, INTENT(in) ::   ll_fw      ! forward time splitting =.true.
       INTEGER, INTENT(inout) :: jpit      ! cycle length    
-      REAL(wp), DIMENSION(3*nn_baro), INTENT(inout) ::   zwgt1, & ! Primary weights
+      REAL(wp), DIMENSION(3*nn_e), INTENT(inout) ::   zwgt1, & ! Primary weights
                                                          zwgt2    ! Secondary weights
       
@@ -820,7 +821,7 @@
       ! Set time index when averaged value is requested
       IF (ll_fw) THEN 
-         jic = nn_baro
+         jic = nn_e
       ELSE
-         jic = 2 * nn_baro
+         jic = 2 * nn_e
       ENDIF
 
@@ -828,5 +829,5 @@
       IF (ll_av) THEN
            ! Define simple boxcar window for primary weights 
-           ! (width = nn_baro, centered around jic)     
+           ! (width = nn_e, centered around jic)     
          SELECT CASE ( nn_bt_flt )
               CASE( 0 )  ! No averaging
@@ -834,7 +835,7 @@
                  jpit = jic
 
-              CASE( 1 )  ! Boxcar, width = nn_baro
-                 DO jn = 1, 3*nn_baro
-                    za1 = ABS(float(jn-jic))/float(nn_baro) 
+              CASE( 1 )  ! Boxcar, width = nn_e
+                 DO jn = 1, 3*nn_e
+                    za1 = ABS(float(jn-jic))/float(nn_e) 
                     IF (za1 < 0.5_wp) THEN
                       zwgt1(jn) = 1._wp
@@ -843,7 +844,7 @@
                  ENDDO
 
-              CASE( 2 )  ! Boxcar, width = 2 * nn_baro
-                 DO jn = 1, 3*nn_baro
-                    za1 = ABS(float(jn-jic))/float(nn_baro) 
+              CASE( 2 )  ! Boxcar, width = 2 * nn_e
+                 DO jn = 1, 3*nn_e
+                    za1 = ABS(float(jn-jic))/float(nn_e) 
                     IF (za1 < 1._wp) THEN
                       zwgt1(jn) = 1._wp
@@ -889,5 +890,5 @@
       IF( TRIM(cdrw) == 'READ' ) THEN        ! Read/initialise 
          !                                   ! ---------------
-         IF( ln_rstart .AND. ln_bt_fw .AND. (neuler/=0) ) THEN    !* Read the restart file
+         IF( ln_rstart .AND. ln_bt_fw .AND. (.NOT.l_1st_euler) ) THEN    !* Read the restart file
             CALL iom_get( numror, jpdom_autoglo, 'ub2_b'  , ub2_b  (:,:), ldxios = lrxios )   
             CALL iom_get( numror, jpdom_autoglo, 'vb2_b'  , vb2_b  (:,:), ldxios = lrxios ) 
@@ -975,8 +976,8 @@
 
       ! Estimate number of iterations to satisfy a max courant number= rn_bt_cmax
-      IF( ln_bt_auto )   nn_baro = CEILING( rdt / rn_bt_cmax * zcmax)
+      IF( ln_bt_auto )   nn_e = CEILING( rn_Dt / rn_bt_cmax * zcmax)
       
-      rdtbt = rdt / REAL( nn_baro , wp )
-      zcmax = zcmax * rdtbt
+      rDt_e = rn_Dt / REAL( nn_e , wp )
+      zcmax = zcmax * rDt_e
       ! Print results
       IF(lwp) WRITE(numout,*)
@@ -984,12 +985,12 @@
       IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~~~'
       IF( ln_bt_auto ) THEN
-         IF(lwp) WRITE(numout,*) '     ln_ts_auto =.true. Automatically set nn_baro '
+         IF(lwp) WRITE(numout,*) '     ln_ts_auto =.true. Automatically set nn_e '
          IF(lwp) WRITE(numout,*) '     Max. courant number allowed: ', rn_bt_cmax
       ELSE
-         IF(lwp) WRITE(numout,*) '     ln_ts_auto=.false.: Use nn_baro in namelist   nn_baro = ', nn_baro
+         IF(lwp) WRITE(numout,*) '     ln_ts_auto=.false.: Use nn_e in namelist   nn_e = ', nn_e
       ENDIF
 
       IF(ln_bt_av) THEN
-         IF(lwp) WRITE(numout,*) '     ln_bt_av =.true.  ==> Time averaging over nn_baro time steps is on '
+         IF(lwp) WRITE(numout,*) '     ln_bt_av =.true.  ==> Time averaging over nn_e time steps is on '
       ELSE
          IF(lwp) WRITE(numout,*) '     ln_bt_av =.false. => No time averaging of barotropic variables '
@@ -1011,12 +1012,12 @@
       SELECT CASE ( nn_bt_flt )
          CASE( 0 )      ;   IF(lwp) WRITE(numout,*) '           Dirac'
-         CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '           Boxcar: width = nn_baro'
-         CASE( 2 )      ;   IF(lwp) WRITE(numout,*) '           Boxcar: width = 2*nn_baro' 
+         CASE( 1 )      ;   IF(lwp) WRITE(numout,*) '           Boxcar: width = nn_e'
+         CASE( 2 )      ;   IF(lwp) WRITE(numout,*) '           Boxcar: width = 2*nn_e' 
          CASE DEFAULT   ;   CALL ctl_stop( 'unrecognised value for nn_bt_flt: should 0,1, or 2' )
       END SELECT
       !
       IF(lwp) WRITE(numout,*) ' '
-      IF(lwp) WRITE(numout,*) '     nn_baro = ', nn_baro
-      IF(lwp) WRITE(numout,*) '     Barotropic time step [s] is :', rdtbt
+      IF(lwp) WRITE(numout,*) '     nn_e = ', nn_e
+      IF(lwp) WRITE(numout,*) '     Barotropic time step [s] is :', rDt_e
       IF(lwp) WRITE(numout,*) '     Maximum Courant number is   :', zcmax
       !
@@ -1030,5 +1031,5 @@
       ENDIF
       IF( zcmax>0.9_wp ) THEN
-         CALL ctl_stop( 'dynspg_ts ERROR: Maximum Courant number is greater than 0.9: Inc. nn_baro !' )          
+         CALL ctl_stop( 'dynspg_ts ERROR: Maximum Courant number is greater than 0.9: Inc. nn_e !' )          
       ENDIF
       !
@@ -1429,5 +1430,5 @@
       !
       IF( ln_wd_il ) THEN      ! W/D : use the "clipped" bottom friction   !!gm   explain WHY, please !
-         zztmp = -1._wp / rdtbt
+         zztmp = -1._wp / rDt_e
          DO_2D_00_00
             pu_RHSi(ji,jj) = pu_RHSi(ji,jj) + zu_i(ji,jj) *  wdrampu(ji,jj) * MAX(                                 & 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynzdf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynzdf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/dynzdf.F90	(revision 12511)
@@ -92,9 +92,4 @@
          ENDIF
       ENDIF
-      !                             !* set time step
-      IF( neuler == 0 .AND. kt == nit000     ) THEN   ;   r2dt =      rdt   ! = rdt (restart with Euler time stepping)
-      ELSEIF(               kt <= nit000 + 1 ) THEN   ;   r2dt = 2. * rdt   ! = 2 rdt (leapfrog)
-      ENDIF
-      !
       !                             !* explicit top/bottom drag case
       IF( .NOT.ln_drgimp )   CALL zdf_drg_exp( kt, Kmm, puu(:,:,:,Kbb), pvv(:,:,:,Kbb), puu(:,:,:,Krhs), pvv(:,:,:,Krhs) )  ! add top/bottom friction trend to (puu(Kaa),pvv(Kaa))
@@ -112,13 +107,13 @@
       IF( ln_dynadv_vec .OR. ln_linssh ) THEN   ! applied on velocity
          DO jk = 1, jpkm1
-            puu(:,:,jk,Kaa) = ( puu(:,:,jk,Kbb) + r2dt * puu(:,:,jk,Krhs) ) * umask(:,:,jk)
-            pvv(:,:,jk,Kaa) = ( pvv(:,:,jk,Kbb) + r2dt * pvv(:,:,jk,Krhs) ) * vmask(:,:,jk)
+            puu(:,:,jk,Kaa) = ( puu(:,:,jk,Kbb) + rDt * puu(:,:,jk,Krhs) ) * umask(:,:,jk)
+            pvv(:,:,jk,Kaa) = ( pvv(:,:,jk,Kbb) + rDt * pvv(:,:,jk,Krhs) ) * vmask(:,:,jk)
          END DO
       ELSE                                      ! applied on thickness weighted velocity
          DO jk = 1, jpkm1
             puu(:,:,jk,Kaa) = (         e3u(:,:,jk,Kbb) * puu(:,:,jk,Kbb)  &
-               &          + r2dt * e3u(:,:,jk,Kmm) * puu(:,:,jk,Krhs)  ) / e3u(:,:,jk,Kaa) * umask(:,:,jk)
+               &          + rDt * e3u(:,:,jk,Kmm) * puu(:,:,jk,Krhs)  ) / e3u(:,:,jk,Kaa) * umask(:,:,jk)
             pvv(:,:,jk,Kaa) = (         e3v(:,:,jk,Kbb) * pvv(:,:,jk,Kbb)  &
-               &          + r2dt * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Krhs)  ) / e3v(:,:,jk,Kaa) * vmask(:,:,jk)
+               &          + rDt * e3v(:,:,jk,Kmm) * pvv(:,:,jk,Krhs)  ) / e3v(:,:,jk,Kaa) * vmask(:,:,jk)
          END DO
       ENDIF
@@ -138,6 +133,6 @@
             ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,iku,Kmm) + r_vvl * e3u(ji,jj,iku,Kaa)
             ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm) + r_vvl * e3v(ji,jj,ikv,Kaa)
-            puu(ji,jj,iku,Kaa) = puu(ji,jj,iku,Kaa) + r2dt * 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * uu_b(ji,jj,Kaa) / ze3ua
-            pvv(ji,jj,ikv,Kaa) = pvv(ji,jj,ikv,Kaa) + r2dt * 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * vv_b(ji,jj,Kaa) / ze3va
+            puu(ji,jj,iku,Kaa) = puu(ji,jj,iku,Kaa) + rDt * 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) * uu_b(ji,jj,Kaa) / ze3ua
+            pvv(ji,jj,ikv,Kaa) = pvv(ji,jj,ikv,Kaa) + rDt * 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) * vv_b(ji,jj,Kaa) / ze3va
          END_2D
          IF( ln_isfcav ) THEN    ! Ocean cavities (ISF)
@@ -147,6 +142,6 @@
                ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,iku,Kmm) + r_vvl * e3u(ji,jj,iku,Kaa)
                ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm) + r_vvl * e3v(ji,jj,ikv,Kaa)
-               puu(ji,jj,iku,Kaa) = puu(ji,jj,iku,Kaa) + r2dt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * uu_b(ji,jj,Kaa) / ze3ua
-               pvv(ji,jj,ikv,Kaa) = pvv(ji,jj,ikv,Kaa) + r2dt * 0.5*( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * vv_b(ji,jj,Kaa) / ze3va
+               puu(ji,jj,iku,Kaa) = puu(ji,jj,iku,Kaa) + rDt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) * uu_b(ji,jj,Kaa) / ze3ua
+               pvv(ji,jj,ikv,Kaa) = pvv(ji,jj,ikv,Kaa) + rDt * 0.5*( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) * vv_b(ji,jj,Kaa) / ze3va
             END_2D
          END IF
@@ -156,5 +151,5 @@
       !
       !                    !* Matrix construction
-      zdt = r2dt * 0.5
+      zdt = rDt * 0.5
       IF( ln_zad_Aimp ) THEN   !!
          SELECT CASE( nldf_dyn )
@@ -232,5 +227,5 @@
             iku = mbku(ji,jj)       ! ocean bottom level at u- and v-points
             ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,iku,Kmm) + r_vvl * e3u(ji,jj,iku,Kaa)   ! after scale factor at T-point
-            zwd(ji,jj,iku) = zwd(ji,jj,iku) - r2dt * 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) / ze3ua
+            zwd(ji,jj,iku) = zwd(ji,jj,iku) - rDt * 0.5*( rCdU_bot(ji+1,jj)+rCdU_bot(ji,jj) ) / ze3ua
          END_2D
          IF ( ln_isfcav ) THEN   ! top friction (always implicit)
@@ -239,5 +234,5 @@
                iku = miku(ji,jj)       ! ocean top level at u- and v-points 
                ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,iku,Kmm) + r_vvl * e3u(ji,jj,iku,Kaa)   ! after scale factor at T-point
-               zwd(ji,jj,iku) = zwd(ji,jj,iku) - r2dt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) / ze3ua
+               zwd(ji,jj,iku) = zwd(ji,jj,iku) - rDt * 0.5*( rCdU_top(ji+1,jj)+rCdU_top(ji,jj) ) / ze3ua
             END_2D
          END IF
@@ -265,6 +260,6 @@
       DO_2D_00_00
          ze3ua =  ( 1._wp - r_vvl ) * e3u(ji,jj,1,Kmm) + r_vvl * e3u(ji,jj,1,Kaa) 
-         puu(ji,jj,1,Kaa) = puu(ji,jj,1,Kaa) + r2dt * 0.5_wp * ( utau_b(ji,jj) + utau(ji,jj) )   &
-            &                                      / ( ze3ua * rau0 ) * umask(ji,jj,1) 
+         puu(ji,jj,1,Kaa) = puu(ji,jj,1,Kaa) + rDt * 0.5_wp * ( utau_b(ji,jj) + utau(ji,jj) )   &
+            &                                      / ( ze3ua * rho0 ) * umask(ji,jj,1) 
       END_2D
       DO_3D_00_00( 2, jpkm1 )
@@ -282,5 +277,5 @@
       !
       !                       !* Matrix construction
-      zdt = r2dt * 0.5
+      zdt = rDt * 0.5
       IF( ln_zad_Aimp ) THEN   !!
          SELECT CASE( nldf_dyn )
@@ -357,5 +352,5 @@
             ikv = mbkv(ji,jj)       ! (deepest ocean u- and v-points)
             ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm) + r_vvl * e3v(ji,jj,ikv,Kaa)   ! after scale factor at T-point
-            zwd(ji,jj,ikv) = zwd(ji,jj,ikv) - r2dt * 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) / ze3va           
+            zwd(ji,jj,ikv) = zwd(ji,jj,ikv) - rDt * 0.5*( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj) ) / ze3va           
          END_2D
          IF ( ln_isfcav ) THEN
@@ -363,5 +358,5 @@
                ikv = mikv(ji,jj)       ! (first wet ocean u- and v-points)
                ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,ikv,Kmm) + r_vvl * e3v(ji,jj,ikv,Kaa)   ! after scale factor at T-point
-               zwd(ji,jj,ikv) = zwd(ji,jj,ikv) - r2dt * 0.5*( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) / ze3va
+               zwd(ji,jj,ikv) = zwd(ji,jj,ikv) - rDt * 0.5*( rCdU_top(ji,jj+1)+rCdU_top(ji,jj) ) / ze3va
             END_2D
          ENDIF
@@ -389,6 +384,6 @@
       DO_2D_00_00
          ze3va =  ( 1._wp - r_vvl ) * e3v(ji,jj,1,Kmm) + r_vvl * e3v(ji,jj,1,Kaa) 
-         pvv(ji,jj,1,Kaa) = pvv(ji,jj,1,Kaa) + r2dt * 0.5_wp * ( vtau_b(ji,jj) + vtau(ji,jj) )   &
-            &                                      / ( ze3va * rau0 ) * vmask(ji,jj,1) 
+         pvv(ji,jj,1,Kaa) = pvv(ji,jj,1,Kaa) + rDt * 0.5_wp * ( vtau_b(ji,jj) + vtau(ji,jj) )   &
+            &                                      / ( ze3va * rho0 ) * vmask(ji,jj,1) 
       END_2D
       DO_3D_00_00( 2, jpkm1 )
@@ -404,6 +399,6 @@
       !
       IF( l_trddyn )   THEN                      ! save the vertical diffusive trends for further diagnostics
-         ztrdu(:,:,:) = ( puu(:,:,:,Kaa) - puu(:,:,:,Kbb) ) / r2dt - ztrdu(:,:,:)
-         ztrdv(:,:,:) = ( pvv(:,:,:,Kaa) - pvv(:,:,:,Kbb) ) / r2dt - ztrdv(:,:,:)
+         ztrdu(:,:,:) = ( puu(:,:,:,Kaa) - puu(:,:,:,Kbb) ) / rDt - ztrdu(:,:,:)
+         ztrdv(:,:,:) = ( pvv(:,:,:,Kaa) - pvv(:,:,:,Kbb) ) / rDt - ztrdv(:,:,:)
          CALL trd_dyn( ztrdu, ztrdv, jpdyn_zdf, kt, Kmm )
          DEALLOCATE( ztrdu, ztrdv ) 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/sshwzv.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/sshwzv.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/sshwzv.F90	(revision 12511)
@@ -75,6 +75,6 @@
       REAL(wp), DIMENSION(jpi,jpj,jpt), INTENT(inout) ::   pssh           ! sea-surface height
       ! 
-      INTEGER  ::   jk            ! dummy loop indice
-      REAL(wp) ::   z2dt, zcoef   ! local scalars
+      INTEGER  ::   jk      ! dummy loop index
+      REAL(wp) ::   zcoef   ! local scalar
       REAL(wp), DIMENSION(jpi,jpj) ::   zhdiv   ! 2D workspace
       !!----------------------------------------------------------------------
@@ -88,7 +88,5 @@
       ENDIF
       !
-      z2dt = 2._wp * rdt                          ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt == nit000 )   z2dt = rdt
-      zcoef = 0.5_wp * r1_rau0
+      zcoef = 0.5_wp * r1_rho0
 
       !                                           !------------------------------!
@@ -96,5 +94,5 @@
       !                                           !------------------------------!
       IF(ln_wd_il) THEN
-         CALL wad_lmt(pssh(:,:,Kbb), zcoef * (emp_b(:,:) + emp(:,:)), z2dt, Kmm, uu, vv )
+         CALL wad_lmt(pssh(:,:,Kbb), zcoef * (emp_b(:,:) + emp(:,:)), rDt, Kmm, uu, vv )
       ENDIF
 
@@ -109,5 +107,5 @@
       ! compute the vertical velocity which can be used to compute the non-linear terms of the momentum equations.
       ! 
-      pssh(:,:,Kaa) = (  pssh(:,:,Kbb) - z2dt * ( zcoef * ( emp_b(:,:) + emp(:,:) ) + zhdiv(:,:) )  ) * ssmask(:,:)
+      pssh(:,:,Kaa) = (  pssh(:,:,Kbb) - rDt * ( zcoef * ( emp_b(:,:) + emp(:,:) ) + zhdiv(:,:) )  ) * ssmask(:,:)
       !
 #if defined key_agrif
@@ -152,5 +150,4 @@
       !
       INTEGER  ::   ji, jj, jk   ! dummy loop indices
-      REAL(wp) ::   z1_2dt       ! local scalars
       REAL(wp), ALLOCATABLE, DIMENSION(:,:,:) ::   zhdiv
       !!----------------------------------------------------------------------
@@ -168,6 +165,4 @@
       !                                           !     Now Vertical Velocity    !
       !                                           !------------------------------!
-      z1_2dt = 1. / ( 2. * rdt )                         ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt == nit000 )   z1_2dt = 1. / rdt
       !
       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN      ! z_tilde and layer cases
@@ -187,5 +182,5 @@
             ! computation of w
             pww(:,:,jk) = pww(:,:,jk+1) - (  e3t(:,:,jk,Kmm) * hdiv(:,:,jk) + zhdiv(:,:,jk)    &
-               &                         + z1_2dt * ( e3t(:,:,jk,Kaa) - e3t(:,:,jk,Kbb) )     ) * tmask(:,:,jk)
+               &                         + r1_Dt * ( e3t(:,:,jk,Kaa) - e3t(:,:,jk,Kbb) )     ) * tmask(:,:,jk)
          END DO
          !          IF( ln_vvl_layer ) pww(:,:,:) = 0.e0
@@ -195,5 +190,5 @@
             ! computation of w
             pww(:,:,jk) = pww(:,:,jk+1) - (  e3t(:,:,jk,Kmm) * hdiv(:,:,jk)                 &
-               &                         + z1_2dt * ( e3t(:,:,jk,Kaa) - e3t(:,:,jk,Kbb) )  ) * tmask(:,:,jk)
+               &                         + r1_Dt * ( e3t(:,:,jk,Kaa) - e3t(:,:,jk,Kbb) )  ) * tmask(:,:,jk)
          END DO
       ENDIF
@@ -227,6 +222,6 @@
       !! ** Method  : - apply Asselin time fiter to now ssh (excluding the forcing
       !!              from the filter, see Leclair and Madec 2010) and swap :
-      !!                pssh(:,:,Kmm) = pssh(:,:,Kaa) + atfp * ( pssh(:,:,Kbb) -2 pssh(:,:,Kmm) + pssh(:,:,Kaa) )
-      !!                            - atfp * rdt * ( emp_b - emp ) / rau0
+      !!                pssh(:,:,Kmm) = pssh(:,:,Kaa) + rn_atfp * ( pssh(:,:,Kbb) -2 pssh(:,:,Kmm) + pssh(:,:,Kaa) )
+      !!                            - rn_atfp * rn_Dt * ( emp_b - emp ) / rho0
       !!
       !! ** action  : - pssh(:,:,Kmm) time filtered
@@ -249,9 +244,9 @@
       ENDIF
       !              !==  Euler time-stepping: no filter, just swap  ==!
-      IF ( .NOT.( neuler == 0 .AND. kt == nit000 ) ) THEN   ! Only do time filtering for leapfrog timesteps
+      IF ( .NOT.( l_1st_euler ) ) THEN   ! Only do time filtering for leapfrog timesteps
          !                                                  ! filtered "now" field
-         pssh(:,:,Kmm) = pssh(:,:,Kmm) + atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) )
+         pssh(:,:,Kmm) = pssh(:,:,Kmm) + rn_atfp * ( pssh(:,:,Kbb) - 2 * pssh(:,:,Kmm) + pssh(:,:,Kaa) )
          IF( .NOT.ln_linssh ) THEN                          ! "now" <-- with forcing removed
-            zcoef = atfp * rdt * r1_rau0
+            zcoef = rn_atfp * rn_Dt * r1_rho0
             pssh(:,:,Kmm) = pssh(:,:,Kmm) - zcoef * (     emp_b(:,:) - emp   (:,:)   &
                &                             - rnf_b(:,:)        + rnf   (:,:)       &
@@ -260,5 +255,5 @@
 
             ! ice sheet coupling
-            IF ( ln_isf .AND. ln_isfcpl .AND. kt == nit000+1) pssh(:,:,Kbb) = pssh(:,:,Kbb) - atfp * rdt * ( risfcpl_ssh(:,:) - 0.0 ) * ssmask(:,:)
+            IF ( ln_isf .AND. ln_isfcpl .AND. kt == nit000+1) pssh(:,:,Kbb) = pssh(:,:,Kbb) - rn_atfp * rn_Dt * ( risfcpl_ssh(:,:) - 0.0 ) * ssmask(:,:)
 
          ENDIF
@@ -311,6 +306,6 @@
          DO_3D_00_00( 1, jpkm1 )
             z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm)
-            ! 2*rdt and not r2dt (for restartability)
-            Cu_adv(ji,jj,jk) = 2._wp * rdt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) )                       &  
+            ! 2*rn_Dt and not rDt (for restartability)
+            Cu_adv(ji,jj,jk) = 2._wp * rn_Dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) )                       &  
                &                             + ( MAX( e2u(ji  ,jj)*e3u(ji  ,jj,jk,Kmm)*uu(ji  ,jj,jk,Kmm) + un_td(ji  ,jj,jk), 0._wp ) -   &
                &                                 MIN( e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kmm)*uu(ji-1,jj,jk,Kmm) + un_td(ji-1,jj,jk), 0._wp ) )   &
@@ -324,6 +319,6 @@
          DO_3D_00_00( 1, jpkm1 )
             z1_e3t = 1._wp / e3t(ji,jj,jk,Kmm)
-            ! 2*rdt and not r2dt (for restartability)
-            Cu_adv(ji,jj,jk) = 2._wp * rdt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) )   & 
+            ! 2*rn_Dt and not rDt (for restartability)
+            Cu_adv(ji,jj,jk) = 2._wp * rn_Dt * ( ( MAX( ww(ji,jj,jk) , 0._wp ) - MIN( ww(ji,jj,jk+1) , 0._wp ) )   & 
                &                             + ( MAX( e2u(ji  ,jj)*e3u(ji  ,jj,jk,Kmm)*uu(ji  ,jj,jk,Kmm), 0._wp ) -   &
                &                                 MIN( e2u(ji-1,jj)*e3u(ji-1,jj,jk,Kmm)*uu(ji-1,jj,jk,Kmm), 0._wp ) )   &
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/wet_dry.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/wet_dry.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/DYN/wet_dry.F90	(revision 12511)
@@ -270,5 +270,5 @@
 
 
-   SUBROUTINE wad_lmt_bt( zflxu, zflxv, sshn_e, zssh_frc, rdtbt )
+   SUBROUTINE wad_lmt_bt( zflxu, zflxv, sshn_e, zssh_frc, rDt_e )
       !!----------------------------------------------------------------------
       !!                  ***  ROUTINE wad_lmt  ***
@@ -280,5 +280,5 @@
       !! ** Action  : - calculate flux limiter and W/D flag
       !!----------------------------------------------------------------------
-      REAL(wp)                , INTENT(in   ) ::   rdtbt    ! ocean time-step index
+      REAL(wp)                , INTENT(in   ) ::   rDt_e    ! ocean time-step index
       REAL(wp), DIMENSION(:,:), INTENT(inout) ::   zflxu,  zflxv, sshn_e, zssh_frc  
       !
@@ -299,5 +299,5 @@
       zdepwd = 50._wp   ! maximum depth that ocean cells can have W/D processes
       !
-      z2dt = rdtbt   
+      z2dt = rDt_e   
       !
       zflxp(:,:)   = 0._wp
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flo4rk.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flo4rk.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flo4rk.F90	(revision 12511)
@@ -130,7 +130,7 @@
          ! computation of Runge-Kutta factor
          DO jfl = 1, jpnfl
-            zrkxfl(jfl,jind) = rdt*zufl(jfl)
-            zrkyfl(jfl,jind) = rdt*zvfl(jfl)
-            zrkzfl(jfl,jind) = rdt*zwfl(jfl)
+            zrkxfl(jfl,jind) = rn_Dt*zufl(jfl)
+            zrkyfl(jfl,jind) = rn_Dt*zvfl(jfl)
+            zrkzfl(jfl,jind) = rn_Dt*zwfl(jfl)
          END DO
          IF( jind /= 4 ) THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/floblk.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/floblk.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/floblk.F90	(revision 12511)
@@ -233,7 +233,7 @@
             ! test to know if the "age" of the float is not bigger than the 
             ! time step
-            IF( zagenewfl(jfl) > rdt ) THEN
-               zttfl(jfl) = (rdt-zagefl(jfl)) / zvol
-               zagenewfl(jfl) = rdt
+            IF( zagenewfl(jfl) > rn_Dt ) THEN
+               zttfl(jfl) = (rn_Dt-zagefl(jfl)) / zvol
+               zagenewfl(jfl) = rn_Dt
             ENDIF
             
@@ -340,5 +340,5 @@
          ifin = 1
          DO jfl = 1, jpnfl
-            IF( zagefl(jfl) < rdt )   ifin = 0
+            IF( zagefl(jfl) < rn_Dt )   ifin = 0
             tpifl(jfl) = zgifl(jfl) + 0.5
             tpjfl(jfl) = zgjfl(jfl) + 0.5
@@ -347,5 +347,5 @@
          ifin = 1
          DO jfl = 1, jpnfl
-            IF( zagefl(jfl) < rdt )   ifin = 0
+            IF( zagefl(jfl) < rn_Dt )   ifin = 0
             tpifl(jfl) = zgifl(jfl) + 0.5
             tpjfl(jfl) = zgjfl(jfl) + 0.5
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flowri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flowri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/FLO/flowri.F90	(revision 12511)
@@ -122,5 +122,5 @@
                ztem(jfl) = ts(iafloc,ibfloc,icfl,jp_tem,Kmm)
                zsal (jfl) = ts(iafloc,ibfloc,icfl,jp_sal,Kmm)
-               zrho (jfl) = (rhd(iafloc,ibfloc,icfl)+1)*rau0
+               zrho (jfl) = (rhd(iafloc,ibfloc,icfl)+1)*rho0
 
             ENDIF
@@ -142,5 +142,5 @@
             ztem(jfl) = ts(iafloc,ibfloc,icfl,jp_tem,Kmm)
             zsal(jfl) = ts(iafloc,ibfloc,icfl,jp_sal,Kmm)
-            zrho(jfl) = (rhd(iafloc,ibfloc,icfl)+1)*rau0
+            zrho(jfl) = (rhd(iafloc,ibfloc,icfl)+1)*rho0
           
          ENDIF
@@ -245,5 +245,5 @@
             !-------------------------------
             irec =  INT( (kt-nn_it000+1)/nn_writefl ) +1
-            ztime = ( kt-nn_it000 + 1 ) * rdt
+            ztime = ( kt-nn_it000 + 1 ) * rn_Dt
 
             CALL flioputv( numflo , 'time_counter', ztime , start=(/irec/) )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icb_oce.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icb_oce.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icb_oce.F90	(revision 12511)
@@ -124,4 +124,8 @@
    LOGICAL , PUBLIC ::   ln_time_average_weight          !: Time average the weight on the ocean    !!gm I don't understand that !
    REAL(wp), PUBLIC ::   rn_speed_limit                  !: CFL speed limit for a berg
+   !
+   ! restart
+   CHARACTER(len=256), PUBLIC :: cn_icbrst_indir , cn_icbrst_in  !:  in: restart directory, restart name
+   CHARACTER(len=256), PUBLIC :: cn_icbrst_outdir, cn_icbrst_out !: out: restart directory, restart name
    !
    !                                     ! Mass thresholds between iceberg classes [kg]
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbini.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbini.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbini.F90	(revision 12511)
@@ -60,5 +60,5 @@
       !!              - setup either test icebergs or calving file
       !!----------------------------------------------------------------------
-      REAL(wp), INTENT(in) ::   pdt   ! iceberg time-step (rdt*nn_fsbc)
+      REAL(wp), INTENT(in) ::   pdt   ! iceberg time-step (rn_Dt*nn_fsbc)
       INTEGER , INTENT(in) ::   kt    ! time step number
       !
@@ -383,5 +383,6 @@
          &              rn_bits_erosion_fraction        , rn_sicn_shift       , ln_passive_mode      ,   &
          &              ln_time_average_weight          , nn_test_icebergs    , rn_test_box          ,   &
-         &              ln_use_calving , rn_speed_limit , cn_dir, sn_icb
+         &              ln_use_calving , rn_speed_limit , cn_dir, sn_icb      ,                          &
+         &              cn_icbrst_indir, cn_icbrst_in   , cn_icbrst_outdir    , cn_icbrst_out
       !!----------------------------------------------------------------------
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbrst.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbrst.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbrst.F90	(revision 12511)
@@ -69,10 +69,9 @@
       TYPE(point)                  ::   localpt   ! NOT a pointer but an actual local variable
       !!----------------------------------------------------------------------
-
       ! Find a restart file. Assume iceberg restarts in same directory as ocean restarts
       ! and are called TRIM(cn_ocerst)//'_icebergs'
-      cl_path = TRIM(cn_ocerst_indir)
+      cl_path = TRIM(cn_icbrst_indir)
       IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/'
-      cl_filename = TRIM(cn_ocerst_in)//'_icebergs'
+      cl_filename = TRIM(cn_icbrst_in)
       CALL iom_open( TRIM(cl_path)//cl_filename, ncid )
 
@@ -192,4 +191,5 @@
       CHARACTER(len=256)     :: cl_path
       CHARACTER(len=256)     :: cl_filename
+      CHARACTER(len=256)     :: cl_kt
       TYPE(iceberg), POINTER :: this
       TYPE(point)  , POINTER :: pt
@@ -204,11 +204,18 @@
          ! Only operate on the restart timestep itself.
          ! Assume we write iceberg restarts to same directory as ocean restarts.
-         cl_path = TRIM(cn_ocerst_outdir)
+         !
+         ! directory name
+         cl_path = TRIM(cn_icbrst_outdir)
          IF( cl_path(LEN_TRIM(cl_path):) /= '/' ) cl_path = TRIM(cl_path) // '/'
+         !
+         ! file name
+         WRITE(cl_kt, '(i8.8)') kt
+         cl_filename = TRIM(cexper)//"_"//TRIM(ADJUSTL(cl_kt))//"_"//TRIM(cn_icbrst_out)
          IF( lk_mpp ) THEN
-            WRITE(cl_filename,'(A,"_icebergs_",I8.8,"_restart_",I4.4,".nc")') TRIM(cexper), kt, narea-1
+            WRITE(cl_filename,'(A,"_",I4.4,".nc")') TRIM(cl_filename), narea-1
          ELSE
-            WRITE(cl_filename,'(A,"_icebergs_",I8.8,"_restart.nc")') TRIM(cexper), kt
+            WRITE(cl_filename,'(A,".nc")') TRIM(cl_filename)
          ENDIF
+
          IF ( lwp .AND. nn_verbose_level >= 0) WRITE(numout,'(2a)') 'icebergs, write_restart: creating ',  &
            &                                                         TRIM(cl_path)//TRIM(cl_filename)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbtrj.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbtrj.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ICB/icbtrj.F90	(revision 12511)
@@ -74,5 +74,5 @@
 
       ! compute end time step date
-      zfjulday = fjulday + rdt / rday * REAL( nitend - nit000 + 1 , wp)
+      zfjulday = fjulday + rn_Dt / rday * REAL( nitend - nit000 + 1 , wp)
       IF( ABS(zfjulday - REAL(NINT(zfjulday),wp)) < 0.1 / rday )   zfjulday = REAL(NINT(zfjulday),wp)   ! avoid truncation error
       CALL ju2ymds( zfjulday, iyear, imonth, iday, zsec )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/iom.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/iom.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/iom.F90	(revision 12511)
@@ -274,5 +274,5 @@
       !
       ! set time step length
-      dtime%second = rdt
+      dtime%second = rn_Dt
       CALL xios_set_timestep( dtime )
       !
@@ -410,5 +410,5 @@
    IF(cdmdl == "OPA") THEN
 !from restart.F90
-   CALL iom_set_rstw_var_active("rdt")
+   CALL iom_set_rstw_var_active("rn_Dt")
    IF ( .NOT. ln_diurnal_only ) THEN
         CALL iom_set_rstw_var_active('ub'  )
@@ -448,5 +448,5 @@
 
         i = 0
-        i = i + 1; fields(i)%vname="rdt";            fields(i)%grid="grid_scalar"
+        i = i + 1; fields(i)%vname="rn_Dt";            fields(i)%grid="grid_scalar"
         i = i + 1; fields(i)%vname="un";             fields(i)%grid="grid_N_3D"
         i = i + 1; fields(i)%vname="ub";             fields(i)%grid="grid_N_3D"
@@ -2358,5 +2358,5 @@
             idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@')
             DO WHILE ( idx /= 0 ) 
-               cldate = iom_sdate( fjulday - rdt / rday )
+               cldate = iom_sdate( fjulday - rn_Dt / rday )
                clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+11:LEN_TRIM(clname))
                idx = INDEX(clname,'@startdate@') + INDEX(clname,'@STARTDATE@')
@@ -2365,5 +2365,5 @@
             idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@')
             DO WHILE ( idx /= 0 ) 
-               cldate = iom_sdate( fjulday - rdt / rday, ldfull = .TRUE. )
+               cldate = iom_sdate( fjulday - rn_Dt / rday, ldfull = .TRUE. )
                clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+15:LEN_TRIM(clname))
                idx = INDEX(clname,'@startdatefull@') + INDEX(clname,'@STARTDATEFULL@')
@@ -2372,5 +2372,5 @@
             idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@')
             DO WHILE ( idx /= 0 ) 
-               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. )
+               cldate = iom_sdate( fjulday + rn_Dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE. )
                clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+9:LEN_TRIM(clname))
                idx = INDEX(clname,'@enddate@') + INDEX(clname,'@ENDDATE@')
@@ -2379,5 +2379,5 @@
             idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@')
             DO WHILE ( idx /= 0 ) 
-               cldate = iom_sdate( fjulday + rdt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. )
+               cldate = iom_sdate( fjulday + rn_Dt / rday * REAL( nitend - nit000, wp ), ld24 = .TRUE., ldfull = .TRUE. )
                clname = clname(1:idx-1)//TRIM(cldate)//clname(idx+13:LEN_TRIM(clname))
                idx = INDEX(clname,'@enddatefull@') + INDEX(clname,'@ENDDATEFULL@')
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/restart.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/restart.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/IOM/restart.F90	(revision 12511)
@@ -144,5 +144,5 @@
       !!----------------------------------------------------------------------
                      IF(lwxios) CALL iom_swap(      cwxios_context          )
-                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rdt       , ldxios = lwxios)   ! dynamics time step
+                     CALL iom_rstput( kt, nitrst, numrow, 'rdt'    , rn_Dt       , ldxios = lwxios)   ! dynamics time step
                      CALL iom_delay_rst( 'WRITE', 'OCE', numrow )   ! save only ocean delayed global communication variables
 
@@ -247,5 +247,11 @@
       IF( iom_varid( numror, 'rdt', ldstop = .FALSE. ) > 0 )   THEN
          CALL iom_get( numror, 'rdt', zrdt, ldxios = lrxios )
-         IF( zrdt /= rdt )   neuler = 0
+         IF( zrdt /= rn_Dt ) THEN
+            IF(lwp) WRITE( numout,*)
+            IF(lwp) WRITE( numout,*) 'rst_read:  rdt not equal to the read one'
+            IF(lwp) WRITE( numout,*)
+            IF(lwp) WRITE( numout,*) '      ==>>>   forced euler first time-step'
+            l_1st_euler =  .TRUE.
+         ENDIF
       ENDIF
 
@@ -256,6 +262,6 @@
       IF ( ln_diurnal_only ) THEN 
          IF(lwp) WRITE( numout, * ) &
-         &   "rst_read:- ln_diurnal_only set, setting rhop=rau0" 
-         rhop = rau0
+         &   "rst_read:- ln_diurnal_only set, setting rhop=rho0" 
+         rhop = rho0
          CALL iom_get( numror, jpdom_autoglo, 'tn'     , w3d, ldxios = lrxios ) 
          ts(:,:,1,jp_tem,Kmm) = w3d(:,:,1)
@@ -270,5 +276,5 @@
          CALL iom_get( numror, jpdom_autoglo, 'sshb'   ,ssh(:,:         ,Kbb), ldxios = lrxios )
       ELSE
-         neuler = 0
+         l_1st_euler =  .TRUE.      ! before field not found, forced euler 1st time-step
       ENDIF
       !
@@ -284,5 +290,5 @@
       ENDIF
       !
-      IF( neuler == 0 ) THEN                                  ! Euler restart (neuler=0)
+      IF( l_1st_euler ) THEN                                  ! Euler restart 
          ts   (:,:,:,:,Kbb) = ts   (:,:,:,:,Kmm)              ! all before fields set to now values
          uu   (:,:,:  ,Kbb) = uu   (:,:,:  ,Kmm)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcav.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcav.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcav.F90	(revision 12511)
@@ -24,5 +24,5 @@
    USE oce      , ONLY: ts                              ! ocean tracers
    USE par_oce  , ONLY: jpi,jpj                         ! ocean space and time domain
-   USE phycst   , ONLY: grav,rau0,rau0_rcp,r1_rau0_rcp  ! physical constants
+   USE phycst   , ONLY: grav,rho0,rho0_rcp,r1_rho0_rcp  ! physical constants
    USE eosbn2   , ONLY: ln_teos10                       ! use ln_teos10 or not
    !
@@ -85,5 +85,5 @@
       !
       ! initialisation
-      IF (TRIM(cn_gammablk) == 'vel_stab' ) zqoce_b (:,:) = ptsc(:,:,jp_tem) * rau0_rcp ! last time step total heat fluxes (to speed up convergence)
+      IF (TRIM(cn_gammablk) == 'vel_stab' ) zqoce_b (:,:) = ptsc(:,:,jp_tem) * rho0_rcp ! last time step total heat fluxes (to speed up convergence)
       !
       ! compute ice shelf melting
@@ -142,5 +142,5 @@
       !
       ! set temperature content
-      ptsc(:,:,jp_tem) = - zqh(:,:) * r1_rau0_rcp
+      ptsc(:,:,jp_tem) = - zqh(:,:) * r1_rho0_rcp
       !
       ! write restart variables (qoceisf, qhcisf, fwfisf for now and before)
@@ -215,9 +215,9 @@
             risf_lamb1 =-0.0564_wp
             risf_lamb2 = 0.0773_wp
-            risf_lamb3 =-7.8633e-8 * grav * rau0
+            risf_lamb3 =-7.8633e-8 * grav * rho0
          ELSE                  ! linearisation from table 4 (Asay-Davis et al., 2015)
             risf_lamb1 =-0.0573_wp
             risf_lamb2 = 0.0832_wp
-            risf_lamb3 =-7.5300e-8 * grav * rau0
+            risf_lamb3 =-7.5300e-8 * grav * rho0
          ENDIF
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcavmlt.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcavmlt.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcavmlt.F90	(revision 12511)
@@ -17,5 +17,5 @@
 
    USE dom_oce                            ! ocean space and time domain
-   USE phycst , ONLY: rcp, rau0, rau0_rcp ! physical constants
+   USE phycst , ONLY: rcp, rho0, rho0_rcp ! physical constants
    USE eosbn2 , ONLY: eos_fzp             ! equation of state
 
@@ -161,5 +161,5 @@
       !
       ! compute ocean-ice heat flux and then derive fwf assuming that ocean heat flux equal latent heat
-      pqfwf(:,:) = - pgt(:,:) * rau0_rcp * zthd(:,:) / rLfusisf    ! fresh water flux  ( > 0 out )
+      pqfwf(:,:) = - pgt(:,:) * rho0_rcp * zthd(:,:) / rLfusisf    ! fresh water flux  ( > 0 out )
       pqoce(:,:) = - pqfwf(:,:) * rLfusisf                         ! ocea-ice flux     ( > 0 out )
       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp                 ! heat content flux ( > 0 out )
@@ -213,6 +213,6 @@
          !
          ! compute coeficient to solve the 2nd order equation
-         zeps1 = rau0_rcp * pgt(ji,jj)
-         zeps2 = rLfusisf * rau0 * pgs(ji,jj)
+         zeps1 = rho0_rcp * pgt(ji,jj)
+         zeps2 = rLfusisf * rho0 * pgs(ji,jj)
          zeps3 = rhoisf * rcpisf * rkappa / MAX(risfdep(ji,jj),zeps)
          zeps4 = risf_lamb2 + risf_lamb3 * risfdep(ji,jj)
@@ -238,6 +238,6 @@
          !
          ! compute the upward water and heat flux (eq. 24 and eq. 26)
-         pqfwf(ji,jj) = rau0     * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux    (> 0 out)
-         pqoce(ji,jj) = rau0_rcp * pgt(ji,jj) * zthd (ji,jj)                               ! ocean-ice heat flux (> 0 out)
+         pqfwf(ji,jj) = rho0     * pgs(ji,jj) * ( zsfrz - pstbl(ji,jj) ) / MAX(zsfrz,zeps) ! fresh water flux    (> 0 out)
+         pqoce(ji,jj) = rho0_rcp * pgt(ji,jj) * zthd (ji,jj)                               ! ocean-ice heat flux (> 0 out)
          pqhc (ji,jj) = rcp      * pqfwf(ji,jj) * ztfrz(ji,jj)                             ! heat content   flux (> 0 out)
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcpl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcpl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfcpl.F90	(revision 12511)
@@ -68,5 +68,5 @@
       !
       ! start on an euler time step
-      neuler = 0
+      l_1st_euler = .TRUE.
       ! 
       ! allocation and initialisation to 0
@@ -502,5 +502,5 @@
       ! compute run length
       nstp_iscpl  = nitend - nit000 + 1
-      rdt_iscpl   = nstp_iscpl * rn_rdt
+      rdt_iscpl   = nstp_iscpl * rn_Dt
       z1_rdtiscpl = 1._wp / rdt_iscpl 
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfdynatf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfdynatf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfdynatf.F90	(revision 12511)
@@ -13,5 +13,5 @@
    USE isf_oce
 
-   USE phycst , ONLY: r1_rau0         ! physical constant
+   USE phycst , ONLY: r1_rho0         ! physical constant
    USE dom_oce, ONLY: tmask, ssmask, ht, e3t, r1_e1e2t   ! time and space domain
 
@@ -39,5 +39,5 @@
       REAL(wp), DIMENSION(jpi,jpj,jpk), INTENT(inout) :: pe3t_f   ! time filtered scale factor to be corrected
       !
-      REAL(wp)                        , INTENT(in   ) :: pcoef    ! atfp * rdt * r1_rau0
+      REAL(wp)                        , INTENT(in   ) :: pcoef    ! rn_atfp * rn_Dt * r1_rho0
       !!--------------------------------------------------------------------
       INTEGER :: jk  ! loop index
@@ -70,5 +70,5 @@
       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: pfrac, phtbl    ! fraction of bottom cell included in tbl, tbl thickness
       REAL(wp), DIMENSION(jpi,jpj)    , INTENT(in   ) :: pfwf , pfwf_b   ! now/before fwf
-      REAL(wp),                         INTENT(in   ) :: pcoef           ! atfp * rdt * r1_rau0
+      REAL(wp),                         INTENT(in   ) :: pcoef           ! rn_atfp * rn_Dt * r1_rho0
       !!----------------------------------------------------------------------
       INTEGER :: ji,jj,jk
@@ -77,5 +77,5 @@
       !
       ! compute fwf conservation correction
-      zfwfinc(:,:) = pcoef * ( pfwf_b(:,:) - pfwf(:,:) ) / ( ht(:,:) + 1._wp - ssmask(:,:) ) * r1_rau0
+      zfwfinc(:,:) = pcoef * ( pfwf_b(:,:) - pfwf(:,:) ) / ( ht(:,:) + 1._wp - ssmask(:,:) ) * r1_rho0
       !
       ! add the increment
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfhdiv.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfhdiv.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfhdiv.F90	(revision 12511)
@@ -16,5 +16,5 @@
 
    USE dom_oce                ! time and space domain
-   USE phycst , ONLY: r1_rau0 ! physical constant
+   USE phycst , ONLY: r1_rho0 ! physical constant
    USE in_out_manager         !
 
@@ -96,5 +96,5 @@
       !
       ! compute integrated divergence correction
-      zhdiv(:,:) = 0.5_wp * ( pfwf(:,:) + pfwf_b(:,:) ) * r1_rau0 / phtbl(:,:)
+      zhdiv(:,:) = 0.5_wp * ( pfwf(:,:) + pfwf_b(:,:) ) * r1_rho0 / phtbl(:,:)
       !
       ! update divergence at each level affected by ice shelf top boundary layer
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfpar.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfpar.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfpar.F90	(revision 12511)
@@ -24,5 +24,5 @@
    USE dom_oce  , ONLY: bathy          ! ocean space and time domain
    USE par_oce  , ONLY: jpi,jpj        ! ocean space and time domain
-   USE phycst   , ONLY: r1_rau0_rcp    ! physical constants
+   USE phycst   , ONLY: r1_rho0_rcp    ! physical constants
    !
    USE in_out_manager ! I/O manager
@@ -88,5 +88,5 @@
       !
       ! set temperature content
-      ptsc(:,:,jp_tem) = zqh(:,:) * r1_rau0_rcp
+      ptsc(:,:,jp_tem) = zqh(:,:) * r1_rho0_rcp
       !
       ! write restart variables (qoceisf, qhcisf, fwfisf for now and before)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfparmlt.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfparmlt.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ISF/isfparmlt.F90	(revision 12511)
@@ -13,5 +13,5 @@
    USE dom_oce                  ! ocean space and time domain
    USE oce    , ONLY: ts        ! ocean dynamics and tracers
-   USE phycst , ONLY: rcp, rau0 ! physical constants
+   USE phycst , ONLY: rcp, rho0 ! physical constants
    USE eosbn2 , ONLY: eos_fzp   ! equation of state
 
@@ -148,5 +148,5 @@
       !
       ! 2. ------------Net heat flux and fresh water flux due to the ice shelf
-      pqoce(:,:) =   rau0 * rcp * rn_gammat0 * risfLeff(:,:) * e1t(:,:) * ( ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:)
+      pqoce(:,:) =   rho0 * rcp * rn_gammat0 * risfLeff(:,:) * e1t(:,:) * ( ztavg(:,:) - ztfrz(:,:) ) * r1_e1e2t(:,:)
       pqfwf(:,:) = - pqoce(:,:) / rLfusisf             ! derived from the latent heat flux
       pqhc (:,:) =   pqfwf(:,:) * ztfrz(:,:) * rcp     ! heat content flux 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldfdyn.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldfdyn.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldfdyn.F90	(revision 12511)
@@ -407,5 +407,5 @@
             zcmsmag   = (rn_csmc/rpi)**2                                            ! (C_smag/pi)^2
             zstabf_lo = rn_minfac * rn_minfac / ( 2._wp * 12._wp * 12._wp * zcmsmag ) ! lower limit stability factor scaling
-            zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rdt )               ! upper limit stability factor scaling
+            zstabf_up = rn_maxfac / ( 4._wp * zcmsmag * 2._wp * rn_Dt )               ! upper limit stability factor scaling
             IF( ln_dynldf_blp ) zstabf_lo = ( 16._wp / 9._wp ) * zstabf_lo          ! provide |U|L^3/12 lower limit instead 
             !                                                                       ! of |U|L^3/16 in blp case
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldftra.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldftra.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/LDF/ldftra.F90	(revision 12511)
@@ -820,5 +820,5 @@
       !
       IF( iom_use('weiv_masstr') ) THEN   ! vertical mass transport & its square value
-         zw2d(:,:) = rau0 * e1e2t(:,:)
+         zw2d(:,:) = rho0 * e1e2t(:,:)
          DO jk = 1, jpk
             zw3d(:,:,jk) = zw3d(:,:,jk) * zw2d(:,:)
@@ -830,10 +830,10 @@
          zw3d(:,:,:) = 0.e0
          DO jk = 1, jpkm1
-            zw3d(:,:,jk) = rau0 * ( psi_uw(:,:,jk+1) - psi_uw(:,:,jk) ) 
+            zw3d(:,:,jk) = rho0 * ( psi_uw(:,:,jk+1) - psi_uw(:,:,jk) ) 
          END DO
          CALL iom_put( "ueiv_masstr", zw3d )                  ! mass transport in i-direction
       ENDIF
       !
-      zztmp = 0.5_wp * rau0 * rcp 
+      zztmp = 0.5_wp * rho0 * rcp 
       IF( iom_use('ueiv_heattr') .OR. iom_use('ueiv_heattr3d') ) THEN
         zw2d(:,:)   = 0._wp 
@@ -853,5 +853,5 @@
          zw3d(:,:,:) = 0.e0
          DO jk = 1, jpkm1
-            zw3d(:,:,jk) = rau0 * ( psi_vw(:,:,jk+1) - psi_vw(:,:,jk) ) 
+            zw3d(:,:,jk) = rho0 * ( psi_vw(:,:,jk+1) - psi_vw(:,:,jk) ) 
          END DO
          CALL iom_put( "veiv_masstr", zw3d )                  ! mass transport in i-direction
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/diaobs.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/diaobs.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/diaobs.F90	(revision 12511)
@@ -539,5 +539,5 @@
       ENDIF
 
-      idaystp = NINT( rday / rdt )
+      idaystp = NINT( rday / rn_Dt )
 
       !-----------------------------------------------------------------------
@@ -774,5 +774,5 @@
          & rday
       USE dom_oce, ONLY : &           ! Ocean space and time domain variables
-         & rdt
+         & rn_Dt
 
       IMPLICIT NONE
@@ -805,5 +805,5 @@
       !! Compute number of days + number of hours + min since initial time
       !!----------------------------------------------------------------------
-      zdayfrc = kstp * rdt / rday
+      zdayfrc = kstp * rn_Dt / rday
       zdayfrc = zdayfrc - aint(zdayfrc)
       imin = imin + int( zdayfrc * 24 * 60 ) 
@@ -816,5 +816,5 @@
         iday=iday+1
       END DO 
-      iday = iday + kstp * rdt / rday 
+      iday = iday + kstp * rn_Dt / rday 
 
       !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/obs_prep.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/obs_prep.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/OBS/obs_prep.F90	(revision 12511)
@@ -613,5 +613,5 @@
       !! * Modules used
       USE dom_oce, ONLY : &  ! Geographical information
-         & rdt
+         & rn_Dt
       USE phycst, ONLY : &   ! Physical constants
          & rday,  &             
@@ -662,5 +662,5 @@
 
       ! Intialize the number of time steps per day
-      idaystp = NINT( rday / rdt )
+      idaystp = NINT( rday / rn_Dt )
 
       !---------------------------------------------------------------------
@@ -732,5 +732,5 @@
 
          ! Add in the number of time steps to the observation minute
-         zminstp = rmmss / rdt
+         zminstp = rmmss / rn_Dt
          zhoustp = rhhmm * zminstp
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/fldread.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/fldread.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/fldread.F90	(revision 12511)
@@ -172,8 +172,8 @@
       ! Note that all varibles starting by nsec_* are shifted time by +1/2 time step to be centrered
       IF( PRESENT(kit) ) THEN   ! ignore kn_fsbc in this case
-         isecsbc = nsec_year + nsec1jan000 + NINT( (     REAL(      kit,wp) + zt_offset ) * rdt / REAL(nn_baro,wp) )
+         isecsbc = nsec_year + nsec1jan000 + NINT( (     REAL(      kit,wp) + zt_offset ) * rn_Dt / REAL(nn_e,wp) )
       ELSE                      ! middle of sbc time step
          ! note: we use kn_fsbc-1 because nsec_year is defined at the middle of the current time step
-         isecsbc = nsec_year + nsec1jan000 + NINT( ( 0.5*REAL(kn_fsbc-1,wp) + zt_offset ) * rdt )
+         isecsbc = nsec_year + nsec1jan000 + NINT( ( 0.5*REAL(kn_fsbc-1,wp) + zt_offset ) * rn_Dt )
       ENDIF
       imf = SIZE( sd )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbc_ice.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbc_ice.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbc_ice.F90	(revision 12511)
@@ -70,5 +70,4 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   wndm_ice       !: wind speed module at T-point                 [m/s]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:)   ::   sstfrz         !: wind speed module at T-point                 [m/s]
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   tsfc_ice       !: sea ice surface skin temperature (on categories)
 #endif
 
@@ -132,5 +131,5 @@
          &      qemp_ice(jpi,jpj)     , qevap_ice(jpi,jpj,jpl) , qemp_oce   (jpi,jpj)     ,   &
          &      qns_oce (jpi,jpj)     , qsr_oce  (jpi,jpj)     , emp_oce    (jpi,jpj)     ,   &
-         &      emp_ice (jpi,jpj)     , tsfc_ice (jpi,jpj,jpl) , sstfrz     (jpi,jpj)     , STAT= ierr(2) )
+         &      emp_ice (jpi,jpj)     , sstfrz   (jpi,jpj)     , STAT= ierr(2) )
 #endif
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcapr.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcapr.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcapr.F90	(revision 12511)
@@ -36,5 +36,5 @@
    
    REAL(wp) ::   tarea                ! whole domain mean masked ocean surface
-   REAL(wp) ::   r1_grau              ! = 1.e0 / (grav * rau0)
+   REAL(wp) ::   r1_grau              ! = 1.e0 / (grav * rho0)
    
    TYPE(FLD), ALLOCATABLE, DIMENSION(:) ::   sf_apr   ! structure of input fields (file informations, fields read)
@@ -98,5 +98,5 @@
       ENDIF
       !
-      r1_grau = 1.e0 / (grav * rau0)               !* constant for optimization
+      r1_grau = 1.e0 / (grav * rho0)               !* constant for optimization
       !
       !                                            !* control check
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk.F90	(revision 12511)
@@ -259,4 +259,7 @@
       IF( ierror > 0 )   CALL ctl_stop( 'STOP', 'sbc_blk_init: unable to allocate sf structure' )
       !
+      !                                      !- fill the bulk structure with namelist informations
+      CALL fld_fill( sf, slf_i, cn_dir, 'sbc_blk_init', 'surface boundary condition -- bulk formulae', 'namsbc_blk' )
+      !
       DO jfpr= 1, jpfld
          !
@@ -269,17 +272,15 @@
                &      jfpr == jp_hpgi .OR. jfpr == jp_hpgj .OR. jfpr == jp_tair     )  ) THEN   ! ABL: some fields are 3D input
                ALLOCATE( sf(jfpr)%fnow(jpi,jpj,jpka) )
-               IF( slf_i(jfpr)%ln_tint )   ALLOCATE( sf(jfpr)%fdta(jpi,jpj,jpka,2) )
+               IF( sf(jfpr)%ln_tint )   ALLOCATE( sf(jfpr)%fdta(jpi,jpj,jpka,2) )
             ELSE                                                                                ! others or Bulk fields are 2D fiels
                ALLOCATE( sf(jfpr)%fnow(jpi,jpj,1) )
-               IF( slf_i(jfpr)%ln_tint )   ALLOCATE( sf(jfpr)%fdta(jpi,jpj,1,2) )
+               IF( sf(jfpr)%ln_tint )   ALLOCATE( sf(jfpr)%fdta(jpi,jpj,1,2) )
             ENDIF
             !
-            IF( slf_i(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * slf_i(jfpr)%freqh), nn_fsbc * NINT(rdt) ) /= 0 )   &
-               &  CALL ctl_warn( 'sbc_blk_init: sbcmod timestep rdt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.',   &
-               &                 '               This is not ideal. You should consider changing either rdt or nn_fsbc value...' )
+            IF( sf(jfpr)%freqh > 0. .AND. MOD( NINT(3600. * sf(jfpr)%freqh), nn_fsbc * NINT(rn_Dt) ) /= 0 )   &
+               &  CALL ctl_warn( 'sbc_blk_init: sbcmod timestep rn_Dt*nn_fsbc is NOT a submultiple of atmospheric forcing frequency.',   &
+               &                 '               This is not ideal. You should consider changing either rn_Dt or nn_fsbc value...' )
          ENDIF
       END DO
-      !                                      !- fill the bulk structure with namelist informations
-      CALL fld_fill( sf, slf_i, cn_dir, 'sbc_blk_init', 'surface boundary condition -- bulk formulae', 'namsbc_blk' )
       !
       IF( ln_wave ) THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_coare.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_coare.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_coare.F90	(revision 12511)
@@ -199,5 +199,5 @@
          ! Okay test on updated absorbed flux:
          !#LB: remove??? has a strong influence !!!
-         IF( (.NOT. l_exit).AND.(Qnt_ac(ji,jj) + zQabs*rdt <= 0._wp) ) THEN
+         IF( (.NOT. l_exit).AND.(Qnt_ac(ji,jj) + zQabs*rn_Dt <= 0._wp) ) THEN
             l_exit       = .TRUE.
             l_destroy_wl = .TRUE.
@@ -211,5 +211,5 @@
             ! 2/ Regardless of WL formed (dT==0 or dT>0), we are in the process to initiate one or warm further it !
 
-            ztac = Tau_ac(ji,jj) + MAX(.002_wp , pTau(ji,jj))*rdt      ! updated momentum integral
+            ztac = Tau_ac(ji,jj) + MAX(.002_wp , pTau(ji,jj))*rn_Dt      ! updated momentum integral
             !PRINT *, '#LBD: updated value for Tac=',  REAL(ztac,4)
 
@@ -218,5 +218,5 @@
             DO jl = 1, 5
                zQabs = frac_solar_abs(zHwl)*pQsw(ji,jj) + pQnsol(ji,jj)
-               zqac  = Qnt_ac(ji,jj) + zQabs*rdt ! updated heat absorbed
+               zqac  = Qnt_ac(ji,jj) + zQabs*rn_Dt ! updated heat absorbed
                IF( zqac <= 0._wp ) EXIT
                zHwl = MAX( MIN( Hwl_max , zcd1*ztac/SQRT(zqac)) , 0.1_wp ) ! Warm-layer depth
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_ecmwf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_ecmwf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcblk_skin_ecmwf.F90	(revision 12511)
@@ -214,5 +214,5 @@
          zcst2 = zcst1 / ( 5._wp*zHwl*zusw2 )  !OR: zcst2 = zcst1*rNuwl0 / ( 5._wp*zHwl*zusw2 ) ???
 
-         zcst0 = rdt * (rNuwl0 + 1._wp) / zHwl
+         zcst0 = rn_Dt * (rNuwl0 + 1._wp) / zHwl
 
          ZA = zcst0 * zQabs / ( rNuwl0 * zRhoCp_w )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbccpl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbccpl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbccpl.F90	(revision 12511)
@@ -193,5 +193,5 @@
 
    REAL(wp) ::   rpref = 101000._wp   ! reference atmospheric pressure[N/m2] 
-   REAL(wp) ::   r1_grau              ! = 1.e0 / (grav * rau0) 
+   REAL(wp) ::   r1_grau              ! = 1.e0 / (grav * rho0) 
 
    INTEGER , ALLOCATABLE, SAVE, DIMENSION(:) ::   nrcvinfo           ! OASIS info argument
@@ -1123,5 +1123,5 @@
       !                                                      ! Receive all the atmos. fields (including ice information)
       !                                                      ! ======================================================= !
-      isec = ( kt - nit000 ) * NINT( rdt )                      ! date of exchanges
+      isec = ( kt - nit000 ) * NINT( rn_Dt )                      ! date of exchanges
       DO jn = 1, jprcv                                          ! received fields sent by the atmosphere
          IF( srcv(jn)%laction )   CALL cpl_rcv( jn, isec, frcv(jn)%z3, xcplmask(:,:,1:nn_cplmodel), nrcvinfo(jn) )
@@ -1250,5 +1250,5 @@
           IF( kt /= nit000 )   ssh_ibb(:,:) = ssh_ib(:,:)    !* Swap of ssh_ib fields 
 
-          r1_grau = 1.e0 / (grav * rau0)               !* constant for optimization 
+          r1_grau = 1.e0 / (grav * rho0)               !* constant for optimization 
           ssh_ib(:,:) = - ( frcv(jpr_mslp)%z3(:,:,1) - rpref ) * r1_grau    ! equivalent ssh (inverse barometer) 
           apr   (:,:) =     frcv(jpr_mslp)%z3(:,:,1)                         !atmospheric pressure 
@@ -2100,5 +2100,5 @@
       !!----------------------------------------------------------------------
       !
-      isec = ( kt - nit000 ) * NINT( rdt )        ! date of exchanges
+      isec = ( kt - nit000 ) * NINT( rn_Dt )        ! date of exchanges
 
       zfr_l(:,:) = 1.- fr_i(:,:)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcdcy.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcdcy.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcdcy.F90	(revision 12511)
@@ -86,6 +86,6 @@
       ! --------------
       ! When are we during the day (from 0 to 1)
-      zlo = ( REAL(nsec_day, wp) - 0.5_wp * rdt ) / rday
-      zup = zlo + ( REAL(nn_fsbc, wp)     * rdt ) / rday
+      zlo = ( REAL(nsec_day, wp) - 0.5_wp * rn_Dt ) / rday
+      zup = zlo + ( REAL(nn_fsbc, wp)     * rn_Dt ) / rday
       !
       IF( nday_qsr == -1 ) THEN       ! first time step only
@@ -251,5 +251,5 @@
          END_2D
          !
-         ztmp = rday / ( rdt * REAL(nn_fsbc, wp) )
+         ztmp = rday / ( rn_Dt * REAL(nn_fsbc, wp) )
          rscal(:,:) = rscal(:,:) * ztmp
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcfwb.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcfwb.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcfwb.F90	(revision 12511)
@@ -126,9 +126,9 @@
          ENDIF   
          !                                         ! Update fwfold if new year start
-         ikty = 365 * 86400 / rdt                  !!bug  use of 365 days leap year or 360d year !!!!!!!
+         ikty = 365 * 86400 / rn_Dt                  !!bug  use of 365 days leap year or 360d year !!!!!!!
          IF( MOD( kt, ikty ) == 0 ) THEN
             a_fwb_b = a_fwb                           ! mean sea level taking into account the ice+snow
                                                       ! sum over the global domain
-            a_fwb   = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rau0 ) )
+            a_fwb   = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rho0 ) )
             a_fwb   = a_fwb * 1.e+3 / ( area * rday * 365. )     ! convert in Kg/m3/s = mm/s
 !!gm        !                                                      !!bug 365d year 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcice_cice.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcice_cice.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcice_cice.F90	(revision 12511)
@@ -13,5 +13,5 @@
    USE dom_oce         ! ocean space and time domain
    USE domvvl
-   USE phycst, only : rcp, rau0, r1_rau0, rhos, rhoi
+   USE phycst, only : rcp, rho0, r1_rho0, rhos, rhoi
    USE in_out_manager  ! I/O manager
    USE iom, ONLY : iom_put,iom_use              ! I/O manager library !!Joakim edit
@@ -228,6 +228,6 @@
       IF( .NOT.ln_rstart ) THEN
          IF( ln_ice_embd ) THEN            ! embedded sea-ice: deplete the initial ssh below sea-ice area
-            ssh(:,:,Kmm) = ssh(:,:,Kmm) - snwice_mass(:,:) * r1_rau0
-            ssh(:,:,Kbb) = ssh(:,:,Kbb) - snwice_mass(:,:) * r1_rau0
+            ssh(:,:,Kmm) = ssh(:,:,Kmm) - snwice_mass(:,:) * r1_rho0
+            ssh(:,:,Kbb) = ssh(:,:,Kbb) - snwice_mass(:,:) * r1_rho0
 
 !!gm This should be put elsewhere....   (same remark for limsbc)
@@ -417,5 +417,5 @@
 ! Freezing/melting potential
 ! Calculated over NEMO leapfrog timestep (hence 2*dt)
-      nfrzmlt(:,:) = rau0 * rcp * e3t_m(:,:) * ( Tocnfrz-sst_m(:,:) ) / ( 2.0*dt )
+      nfrzmlt(:,:) = rho0 * rcp * e3t_m(:,:) * ( Tocnfrz-sst_m(:,:) ) / ( 2.0*dt )
 
       ztmp(:,:) = nfrzmlt(:,:)
@@ -450,5 +450,5 @@
          zintb = REAL( nn_fsbc + 1 ) / REAL( nn_fsbc ) * 0.5_wp
           !
-         zpice(:,:) = ssh_m(:,:) + (  zintn * snwice_mass(:,:) +  zintb * snwice_mass_b(:,:)  ) * r1_rau0
+         zpice(:,:) = ssh_m(:,:) + (  zintn * snwice_mass(:,:) +  zintb * snwice_mass_b(:,:)  ) * r1_rho0
           !
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcmod.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcmod.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcmod.F90	(revision 12511)
@@ -187,7 +187,7 @@
       !
       IF( .NOT.ln_usr ) THEN     ! the model calendar needs some specificities (except in user defined case)
-         IF( MOD( rday , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' )
+         IF( MOD( rday , rn_Dt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' )
          IF( MOD( rday , 2.  ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    )
-         IF( MOD( rdt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           )
+         IF( MOD( rn_Dt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           )
       ENDIF
       !                       !**  check option consistency
@@ -309,6 +309,6 @@
       !     SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly
       IF( nn_components /= jp_iam_nemo ) THEN
-         IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rdt)
-         IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rdt)
+         IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rn_Dt)
+         IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rn_Dt)
          !
          IF(lwp)THEN
@@ -331,8 +331,8 @@
       ENDIF
       !
-      IF( MOD( rday, REAL(nn_fsbc, wp) * rdt ) /= 0 )   &
+      IF( MOD( rday, REAL(nn_fsbc, wp) * rn_Dt ) /= 0 )   &
          &  CALL ctl_warn( 'sbc_init : nn_fsbc is NOT a multiple of the number of time steps in a day' )
       !
-      IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rdt) ) < 8  )   &
+      IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rn_Dt) ) < 8  )   &
          &   CALL ctl_warn( 'sbc_init : diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' )
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcrnf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcrnf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/SBC/sbcrnf.F90	(revision 12511)
@@ -137,18 +137,18 @@
          !                                                           ! set temperature & salinity content of runoffs
          IF( ln_rnf_tem ) THEN                                       ! use runoffs temperature data
-            rnf_tsc(:,:,jp_tem) = ( sf_t_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rau0
+            rnf_tsc(:,:,jp_tem) = ( sf_t_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rho0
             CALL eos_fzp( sss_m(:,:), ztfrz(:,:) )
             WHERE( sf_t_rnf(1)%fnow(:,:,1) == -999._wp )             ! if missing data value use SST as runoffs temperature
-               rnf_tsc(:,:,jp_tem) = sst_m(:,:) * rnf(:,:) * r1_rau0
+               rnf_tsc(:,:,jp_tem) = sst_m(:,:) * rnf(:,:) * r1_rho0
             END WHERE
          ELSE                                                        ! use SST as runoffs temperature
             !CEOD River is fresh water so must at least be 0 unless we consider ice
-            rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rau0
+            rnf_tsc(:,:,jp_tem) = MAX( sst_m(:,:), 0.0_wp ) * rnf(:,:) * r1_rho0
          ENDIF
          !                                                           ! use runoffs salinity data
-         IF( ln_rnf_sal )   rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rau0
+         IF( ln_rnf_sal )   rnf_tsc(:,:,jp_sal) = ( sf_s_rnf(1)%fnow(:,:,1) ) * rnf(:,:) * r1_rho0
          !                                                           ! else use S=0 for runoffs (done one for all in the init)
                                          CALL iom_put( 'runoffs'     , rnf(:,:)                         )   ! output runoff mass flux
-         IF( iom_use('hflx_rnf_cea') )   CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rau0 * rcp )   ! output runoff sensible heat (W/m2)
+         IF( iom_use('hflx_rnf_cea') )   CALL iom_put( 'hflx_rnf_cea', rnf_tsc(:,:,jp_tem) * rho0 * rcp )   ! output runoff sensible heat (W/m2)
       ENDIF
       !
@@ -210,5 +210,5 @@
             DO_2D_11_11
                DO jk = 1, nk_rnf(ji,jj)
-                  phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * r1_rau0 / h_rnf(ji,jj)
+                  phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * r1_rho0 / h_rnf(ji,jj)
                END DO
             END_2D
@@ -221,5 +221,5 @@
                !                          ! apply the runoff input flow
                DO jk = 1, nk_rnf(ji,jj)
-                  phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * r1_rau0 / h_rnf(ji,jj)
+                  phdivn(ji,jj,jk) = phdivn(ji,jj,jk) - ( rnf(ji,jj) + rnf_b(ji,jj) ) * zfact * r1_rho0 / h_rnf(ji,jj)
                END DO
             END_2D
@@ -227,5 +227,5 @@
       ELSE                       !==   runoff put only at the surface   ==!
          h_rnf (:,:)   = e3t (:,:,1,Kmm)        ! update h_rnf to be depth of top box
-         phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact * r1_rau0 / e3t(:,:,1,Kmm)
+         phdivn(:,:,1) = phdivn(:,:,1) - ( rnf(:,:) + rnf_b(:,:) ) * zfact * r1_rho0 / e3t(:,:,1,Kmm)
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TDE/tide_mod.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TDE/tide_mod.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TDE/tide_mod.F90	(revision 12511)
@@ -171,5 +171,5 @@
       IF( ln_scal_load.AND.ln_read_load ) &
           &   CALL ctl_stop('Choose between ln_scal_load and ln_read_load')
-      IF( ln_tide_ramp.AND.((nitend-nit000+1)*rdt/rday < rn_tide_ramp_dt) )   &
+      IF( ln_tide_ramp.AND.((nitend-nit000+1)*rn_Dt/rday < rn_tide_ramp_dt) )   &
          &   CALL ctl_stop('rn_tide_ramp_dt must be lower than run duration')
       IF( ln_tide_ramp.AND.(rn_tide_ramp_dt<0.) ) &
@@ -424,5 +424,5 @@
       !!----------------------------------------------------------------------
       
-      IF( nsec_day == NINT(0.5_wp * rdt) .OR. kt == nit000 ) THEN      ! start a new day
+      IF( nsec_day == NINT(0.5_wp * rn_Dt) .OR. kt == nit000 ) THEN      ! start a new day
          !
          CALL tide_harmo(tide_components, tide_harmonics, ndt05) ! Update oscillation parameters of tidal components for start of current day
@@ -441,5 +441,5 @@
          IF( ln_tide_pot )   CALL tide_init_potential
          !
-         rn_tide_ramp_t = (kt - nit000)*rdt !   Elapsed time in seconds
+         rn_tide_ramp_t = (kt - nit000)*rn_Dt !   Elapsed time in seconds
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/eosbn2.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/eosbn2.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/eosbn2.F90	(revision 12511)
@@ -191,9 +191,9 @@
       !!                   ***  ROUTINE eos_insitu  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) from
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) from
       !!       potential temperature and salinity using an equation of state
       !!       selected in the nameos namelist
       !!
-      !! ** Method  :   prd(t,s,z) = ( rho(t,s,z) - rau0 ) / rau0
+      !! ** Method  :   prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0
       !!         with   prd    in situ density anomaly      no units
       !!                t      TEOS10: CT or EOS80: PT      Celsius
@@ -201,5 +201,5 @@
       !!                z      depth                        meters
       !!                rho    in situ density              kg/m^3
-      !!                rau0   reference density            kg/m^3
+      !!                rho0   reference density            kg/m^3
       !!
       !!     ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z).
@@ -210,5 +210,5 @@
       !!
       !!     ln_seos : simplified equation of state
-      !!              prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rau0
+      !!              prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0
       !!              linear case function of T only: rn_alpha<>0, other coefficients = 0
       !!              linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0
@@ -267,5 +267,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            prd(ji,jj,jk) = (  zn * r1_rau0 - 1._wp  ) * ztm  ! density anomaly (masked)
+            prd(ji,jj,jk) = (  zn * r1_rho0 - 1._wp  ) * ztm  ! density anomaly (masked)
             !
          END_3D
@@ -283,5 +283,5 @@
                &  - rn_nu * zt * zs
                !                                 
-            prd(ji,jj,jk) = zn * r1_rau0 * ztm                ! density anomaly (masked)
+            prd(ji,jj,jk) = zn * r1_rho0 * ztm                ! density anomaly (masked)
          END_3D
          !
@@ -299,5 +299,5 @@
       !!                  ***  ROUTINE eos_insitu_pot  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) and the
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) and the
       !!      potential volumic mass (Kg/m3) from potential temperature and
       !!      salinity fields using an equation of state selected in the
@@ -379,5 +379,5 @@
                   prhop(ji,jj,jk) = prhop(ji,jj,jk) + zn0_sto(jsmp)                      ! potential density referenced at the surface
                   !
-                  prd(ji,jj,jk) = prd(ji,jj,jk) + (  zn_sto(jsmp) * r1_rau0 - 1._wp  )   ! density anomaly (masked)
+                  prd(ji,jj,jk) = prd(ji,jj,jk) + (  zn_sto(jsmp) * r1_rho0 - 1._wp  )   ! density anomaly (masked)
                END DO
                prhop(ji,jj,jk) = 0.5_wp * prhop(ji,jj,jk) * ztm / nn_sto_eos
@@ -419,5 +419,5 @@
                prhop(ji,jj,jk) = zn0 * ztm                           ! potential density referenced at the surface
                !
-               prd(ji,jj,jk) = (  zn * r1_rau0 - 1._wp  ) * ztm      ! density anomaly (masked)
+               prd(ji,jj,jk) = (  zn * r1_rho0 - 1._wp  ) * ztm      ! density anomaly (masked)
             END_3D
          ENDIF
@@ -434,8 +434,8 @@
                &  + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs   &
                &  - rn_nu * zt * zs
-            prhop(ji,jj,jk) = ( rau0 + zn ) * ztm
+            prhop(ji,jj,jk) = ( rho0 + zn ) * ztm
             !                                                     ! density anomaly (masked)
             zn = zn - ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zh
-            prd(ji,jj,jk) = zn * r1_rau0 * ztm
+            prd(ji,jj,jk) = zn * r1_rho0 * ztm
             !
          END_3D
@@ -454,5 +454,5 @@
       !!                  ***  ROUTINE eos_insitu_2d  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) from
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) from
       !!      potential temperature and salinity using an equation of state
       !!      selected in the nameos namelist. * 2D field case
@@ -508,5 +508,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            prd(ji,jj) = zn * r1_rau0 - 1._wp               ! unmasked in situ density anomaly
+            prd(ji,jj) = zn * r1_rho0 - 1._wp               ! unmasked in situ density anomaly
             !
          END_2D
@@ -524,5 +524,5 @@
                &  - rn_nu * zt * zs
                !
-            prd(ji,jj) = zn * r1_rau0               ! unmasked in situ density anomaly
+            prd(ji,jj) = zn * r1_rho0               ! unmasked in situ density anomaly
             !
          END_2D
@@ -588,5 +588,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm
+            pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm
             !
             ! beta
@@ -609,5 +609,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            pab(ji,jj,jk,jp_sal) = zn / zs * r1_rau0 * ztm
+            pab(ji,jj,jk,jp_sal) = zn / zs * r1_rho0 * ztm
             !
          END_3D
@@ -622,8 +622,8 @@
             !
             zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-            pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm   ! alpha
+            pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm   ! alpha
             !
             zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-            pab(ji,jj,jk,jp_sal) = zn * r1_rau0 * ztm   ! beta
+            pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm   ! beta
             !
          END_3D
@@ -694,5 +694,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            pab(ji,jj,jp_tem) = zn * r1_rau0
+            pab(ji,jj,jp_tem) = zn * r1_rho0
             !
             ! beta
@@ -715,5 +715,5 @@
             zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
             !
-            pab(ji,jj,jp_sal) = zn / zs * r1_rau0
+            pab(ji,jj,jp_sal) = zn / zs * r1_rho0
             !
             !
@@ -729,8 +729,8 @@
             !
             zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-            pab(ji,jj,jp_tem) = zn * r1_rau0   ! alpha
+            pab(ji,jj,jp_tem) = zn * r1_rho0   ! alpha
             !
             zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-            pab(ji,jj,jp_sal) = zn * r1_rau0   ! beta
+            pab(ji,jj,jp_sal) = zn * r1_rho0   ! beta
             !
          END_2D
@@ -799,5 +799,5 @@
          zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
          !
-         pab(jp_tem) = zn * r1_rau0
+         pab(jp_tem) = zn * r1_rho0
          !
          ! beta
@@ -820,5 +820,5 @@
          zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
          !
-         pab(jp_sal) = zn / zs * r1_rau0
+         pab(jp_sal) = zn / zs * r1_rho0
          !
          !
@@ -831,8 +831,8 @@
          !
          zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-         pab(jp_tem) = zn * r1_rau0   ! alpha
+         pab(jp_tem) = zn * r1_rho0   ! alpha
          !
          zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-         pab(jp_sal) = zn * r1_rau0   ! beta
+         pab(jp_sal) = zn * r1_rho0   ! beta
          !
       CASE DEFAULT
@@ -1052,10 +1052,10 @@
       !! ** Method  :   PE is defined analytically as the vertical 
       !!                   primitive of EOS times -g integrated between 0 and z>0.
-      !!                pen is the nonlinear bsq-PE anomaly: pen = ( PE - rau0 gz ) / rau0 gz - rd
+      !!                pen is the nonlinear bsq-PE anomaly: pen = ( PE - rho0 gz ) / rho0 gz - rd
       !!                                                      = 1/z * /int_0^z rd dz - rd 
       !!                                where rd is the density anomaly (see eos_rhd function)
       !!                ab_pe are partial derivatives of PE anomaly with respect to T and S:
-      !!                    ab_pe(1) = - 1/(rau0 gz) * dPE/dT + drd/dT = - d(pen)/dT
-      !!                    ab_pe(2) =   1/(rau0 gz) * dPE/dS + drd/dS =   d(pen)/dS
+      !!                    ab_pe(1) = - 1/(rho0 gz) * dPE/dT + drd/dT = - d(pen)/dT
+      !!                    ab_pe(2) =   1/(rho0 gz) * dPE/dS + drd/dS =   d(pen)/dS
       !!
       !! ** Action  : - pen         : PE anomaly given at T-points
@@ -1103,5 +1103,5 @@
             zn  = ( zn2 * zh + zn1 ) * zh + zn0
             !
-            ppen(ji,jj,jk)  = zn * zh * r1_rau0 * ztm
+            ppen(ji,jj,jk)  = zn * zh * r1_rho0 * ztm
             !
             ! alphaPE non-linear anomaly
@@ -1118,5 +1118,5 @@
             zn  = ( zn2 * zh + zn1 ) * zh + zn0
             !                              
-            pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rau0 * ztm
+            pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rho0 * ztm
             !
             ! betaPE non-linear anomaly
@@ -1133,5 +1133,5 @@
             zn  = ( zn2 * zh + zn1 ) * zh + zn0
             !                              
-            pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rau0 * ztm
+            pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rho0 * ztm
             !
          END_3D
@@ -1144,5 +1144,5 @@
             zh  = gdept(ji,jj,jk,Kmm)              ! depth in meters  at t-point
             ztm = tmask(ji,jj,jk)                ! tmask
-            zn  = 0.5_wp * zh * r1_rau0 * ztm
+            zn  = 0.5_wp * zh * r1_rho0 * ztm
             !                                    ! Potential Energy
             ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn
@@ -1186,5 +1186,5 @@
       IF(lwm) WRITE( numond, nameos )
       !
-      rau0        = 1026._wp                 !: volumic mass of reference     [kg/m3]
+      rho0        = 1026._wp                 !: volumic mass of reference     [kg/m3]
       rcp         = 3991.86795711963_wp      !: heat capacity     [J/K]
       !
@@ -1598,5 +1598,5 @@
             WRITE(numout,*) '   ==>>>   use of simplified eos:    '
             WRITE(numout,*) '              rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT '
-            WRITE(numout,*) '                                       + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rau0'
+            WRITE(numout,*) '                                       + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0'
             WRITE(numout,*) '              with the following coefficients :'
             WRITE(numout,*) '                 thermal exp. coef.    rn_a0      = ', rn_a0
@@ -1617,8 +1617,8 @@
       END SELECT
       !
-      rau0_rcp    = rau0 * rcp 
-      r1_rau0     = 1._wp / rau0
+      rho0_rcp    = rho0 * rcp 
+      r1_rho0     = 1._wp / rho0
       r1_rcp      = 1._wp / rcp
-      r1_rau0_rcp = 1._wp / rau0_rcp 
+      r1_rho0_rcp = 1._wp / rho0_rcp 
       !
       IF(lwp) THEN
@@ -1635,9 +1635,9 @@
       IF(lwp) WRITE(numout,*)
       IF(lwp) WRITE(numout,*) '   Associated physical constant'
-      IF(lwp) WRITE(numout,*) '      volumic mass of reference           rau0  = ', rau0   , ' kg/m^3'
-      IF(lwp) WRITE(numout,*) '      1. / rau0                        r1_rau0  = ', r1_rau0, ' m^3/kg'
+      IF(lwp) WRITE(numout,*) '      volumic mass of reference           rho0  = ', rho0   , ' kg/m^3'
+      IF(lwp) WRITE(numout,*) '      1. / rho0                        r1_rho0  = ', r1_rho0, ' m^3/kg'
       IF(lwp) WRITE(numout,*) '      ocean specific heat                 rcp   = ', rcp    , ' J/Kelvin'
-      IF(lwp) WRITE(numout,*) '      rau0 * rcp                       rau0_rcp = ', rau0_rcp
-      IF(lwp) WRITE(numout,*) '      1. / ( rau0 * rcp )           r1_rau0_rcp = ', r1_rau0_rcp
+      IF(lwp) WRITE(numout,*) '      rho0 * rcp                       rho0_rcp = ', rho0_rcp
+      IF(lwp) WRITE(numout,*) '      1. / ( rho0 * rcp )           r1_rho0_rcp = ', r1_rho0_rcp
       !
    END SUBROUTINE eos_init
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv.F90	(revision 12511)
@@ -92,9 +92,4 @@
       IF( ln_timing )   CALL timing_start('tra_adv')
       !
-      !                                          ! set time step
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =         rdt   ! at nit000             (Euler)
-      ELSEIF( kt <= nit000 + 1 )           THEN   ;   r2dt = 2._wp * rdt   ! at nit000 or nit000+1 (Leapfrog)
-      ENDIF
-      !
       !                                         !==  effective transport  ==!
       zuu(:,:,jpk) = 0._wp
@@ -149,11 +144,11 @@
          CALL tra_adv_cen    ( kt, nit000, 'TRA',         zuu, zvv, zww, Kmm, pts, jpts, Krhs, nn_cen_h, nn_cen_v )
       CASE ( np_FCT )                                 ! FCT scheme      : 2nd / 4th order
-         CALL tra_adv_fct    ( kt, nit000, 'TRA', r2dt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_fct_h, nn_fct_v )
+         CALL tra_adv_fct    ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_fct_h, nn_fct_v )
       CASE ( np_MUS )                                 ! MUSCL
-         CALL tra_adv_mus    ( kt, nit000, 'TRA', r2dt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, ln_mus_ups ) 
+         CALL tra_adv_mus    ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, ln_mus_ups ) 
       CASE ( np_UBS )                                 ! UBS
-         CALL tra_adv_ubs    ( kt, nit000, 'TRA', r2dt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_ubs_v   )
+         CALL tra_adv_ubs    ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs, nn_ubs_v   )
       CASE ( np_QCK )                                 ! QUICKEST
-         CALL tra_adv_qck    ( kt, nit000, 'TRA', r2dt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs )
+         CALL tra_adv_qck    ( kt, nit000, 'TRA', rDt, zuu, zvv, zww, Kbb, Kmm, pts, jpts, Krhs )
       !
       END SELECT
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv_fct.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv_fct.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traadv_fct.F90	(revision 12511)
@@ -20,5 +20,5 @@
    USE diaptr         ! poleward transport diagnostics
    USE diaar5         ! AR5 diagnostics
-   USE phycst  , ONLY : rau0_rcp
+   USE phycst  , ONLY : rho0_rcp
    USE zdf_oce , ONLY : ln_zad_Aimp
    !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traatf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traatf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traatf.F90	(revision 12511)
@@ -113,9 +113,4 @@
       IF( ln_bdy )   CALL bdy_tra( kt, Kbb, pts, Kaa )  ! BDY open boundaries
  
-      ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =        rdt   ! at nit000             (Euler)
-      ELSEIF( kt <= nit000 + 1 )           THEN   ;   r2dt = 2._wp* rdt   ! at nit000 or nit000+1 (Leapfrog)
-      ENDIF
-
       ! trends computation initialisation
       IF( l_trdtra )   THEN                    
@@ -128,5 +123,5 @@
          ENDIF
          ! total trend for the non-time-filtered variables. 
-         zfact = 1.0 / rdt
+         zfact = 1.0 / rn_Dt
          ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn cancel from pts(Kmm) terms
          DO jk = 1, jpkm1
@@ -144,5 +139,5 @@
       ENDIF
 
-      IF( neuler == 0 .AND. kt == nit000 ) THEN       ! Euler time-stepping 
+      IF( l_1st_euler ) THEN       ! Euler time-stepping 
          !
          IF (l_trdtra .AND. .NOT. ln_linssh ) THEN   ! Zero Asselin filter contribution must be explicitly written out since for vvl
@@ -156,6 +151,6 @@
       ELSE                                            ! Leap-Frog + Asselin filter time stepping
          !
-         IF( ln_linssh ) THEN   ;   CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nit000,      'TRA', pts, jpts )  ! linear free surface 
-         ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nit000, rdt, 'TRA', pts, sbc_tsc, sbc_tsc_b, jpts )  ! non-linear free surface
+         IF( ln_linssh ) THEN   ;   CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nit000,        'TRA', pts, jpts )  ! linear free surface 
+         ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nit000, rn_Dt, 'TRA', pts, sbc_tsc, sbc_tsc_b, jpts )  ! non-linear free surface
          ENDIF
          !
@@ -167,5 +162,5 @@
       !
       IF( l_trdtra .AND. ln_linssh ) THEN      ! trend of the Asselin filter (tb filtered - tb)/dt     
-         zfact = 1._wp / r2dt             
+         zfact = 1._wp / rDt             
          DO jk = 1, jpkm1
             ztrdt(:,:,jk) = ( pts(:,:,jk,jp_tem,Kmm) - ztrdt(:,:,jk) ) * zfact
@@ -219,5 +214,5 @@
             ztd = pt(ji,jj,jk,jn,Kaa) - 2._wp * ztn + pt(ji,jj,jk,jn,Kbb)  ! time laplacian on tracers
             !
-            pt(ji,jj,jk,jn,Kmm) = ztn + atfp * ztd                      ! pt <-- filtered pt
+            pt(ji,jj,jk,jn,Kmm) = ztn + rn_atfp * ztd                      ! pt <-- filtered pt
          END_3D
          !
@@ -234,6 +229,6 @@
       !! 
       !! ** Method  : - Apply a thickness weighted Asselin time filter on now fields.
-      !!             pt(Kmm)  = ( e3t(Kmm)*pt(Kmm) + atfp*[ e3t(Kbb)*pt(Kbb) - 2 e3t(Kmm)*pt(Kmm) + e3t_a*pt(Kaa) ] )
-      !!                       /( e3t(Kmm)         + atfp*[ e3t(Kbb)         - 2 e3t(Kmm)         + e3t(Kaa)    ] )
+      !!             pt(Kmm)  = ( e3t(Kmm)*pt(Kmm) + rn_atfp*[ e3t(Kbb)*pt(Kbb) - 2 e3t(Kmm)*pt(Kmm) + e3t_a*pt(Kaa) ] )
+      !!                       /( e3t(Kmm)         + rn_atfp*[ e3t(Kbb)         - 2 e3t(Kmm)         + e3t(Kaa)    ] )
       !!
       !! ** Action  : - pt(Kmm) ready for the next time step
@@ -277,6 +272,6 @@
       ENDIF
       zfact = 1._wp / p2dt
-      zfact1 = atfp * p2dt
-      zfact2 = zfact1 * r1_rau0
+      zfact1 = rn_atfp * p2dt
+      zfact2 = zfact1 * r1_rho0
       DO jn = 1, kjpt      
          DO_3D_00_00( 1, jpkm1 )
@@ -292,6 +287,6 @@
             ztc_d  = ztc_a  - 2. * ztc_n  + ztc_b
             !
-            ze3t_f = ze3t_n + atfp * ze3t_d
-            ztc_f  = ztc_n  + atfp * ztc_d
+            ze3t_f = ze3t_n + rn_atfp * ze3t_d
+            ztc_f  = ztc_n  + rn_atfp * ztc_d
             !
             ! Add asselin correction on scale factors:
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trabbc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trabbc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trabbc.F90	(revision 12511)
@@ -66,5 +66,5 @@
       !!       ocean bottom can be computed once and is added to the temperature
       !!       trend juste above the bottom at each time step:
-      !!            ta = ta + Qsf / (rau0 rcp e3T) for k= mbkt
+      !!            ta = ta + Qsf / (rho0 rcp e3T) for k= mbkt
       !!       Where Qsf is the geothermal heat flux.
       !!
@@ -102,5 +102,5 @@
       ENDIF
       !
-      CALL iom_put ( "hfgeou" , rau0_rcp * qgh_trd0(:,:) )
+      CALL iom_put ( "hfgeou" , rho0_rcp * qgh_trd0(:,:) )
       IF(sn_cfctl%l_prtctl)   CALL prt_ctl( tab3d_1=pts(:,:,:,jp_tem,Krhs), clinfo1=' bbc  - Ta: ', mask1=tmask, clinfo3='tra-ta' )
       !
@@ -162,5 +162,5 @@
          CASE ( 1 )                          !* constant flux
             IF(lwp) WRITE(numout,*) '   ==>>>   constant heat flux  =   ', rn_geoflx_cst
-            qgh_trd0(:,:) = r1_rau0_rcp * rn_geoflx_cst
+            qgh_trd0(:,:) = r1_rho0_rcp * rn_geoflx_cst
             !
          CASE ( 2 )                          !* variable geothermal heat flux : read the geothermal fluxes in mW/m2
@@ -179,5 +179,5 @@
 
             CALL fld_read( nit000, 1, sf_qgh )                         ! Read qgh data
-            qgh_trd0(:,:) = r1_rau0_rcp * sf_qgh(1)%fnow(:,:,1) * 1.e-3 ! conversion in W/m2
+            qgh_trd0(:,:) = r1_rho0_rcp * sf_qgh(1)%fnow(:,:,1) * 1.e-3 ! conversion in W/m2
             !
          CASE DEFAULT
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_iso.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_iso.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_iso.F90	(revision 12511)
@@ -109,5 +109,5 @@
       REAL(wp) ::  zmsku, zahu_w, zabe1, zcof1, zcoef3   ! local scalars
       REAL(wp) ::  zmskv, zahv_w, zabe2, zcof2, zcoef4   !   -      -
-      REAL(wp) ::  zcoef0, ze3w_2, zsign, z2dt, z1_2dt   !   -      -
+      REAL(wp) ::  zcoef0, ze3w_2, zsign                 !   -      -
       REAL(wp), DIMENSION(jpi,jpj)     ::   zdkt, zdk1t, z2d
       REAL(wp), DIMENSION(jpi,jpj,jpk) ::   zdit, zdjt, zftu, zftv, ztfw 
@@ -129,9 +129,4 @@
          &                        iom_use("uadv_salttr") .OR. iom_use("vadv_salttr")  ) )   l_hst = .TRUE.
       !
-      !                                            ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   z2dt =     rdt      ! at nit000   (Euler)
-      ELSE                                        ;   z2dt = 2.* rdt      !             (Leapfrog)
-      ENDIF
-      z1_2dt = 1._wp / z2dt
       !
       IF( kpass == 1 ) THEN   ;   zsign =  1._wp      ! bilaplacian operator require a minus sign (eddy diffusivity >0)
@@ -178,6 +173,6 @@
                DO_3D_10_10( 2, jpkm1 )
                   ze3w_2 = e3w(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm)
-                  zcoef0 = z2dt * (  akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ze3w_2  )
-                  akz(ji,jj,jk) = MAX( zcoef0 - 0.5_wp , 0._wp ) * ze3w_2 * z1_2dt
+                  zcoef0 = rDt * (  akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ze3w_2  )
+                  akz(ji,jj,jk) = MAX( zcoef0 - 0.5_wp , 0._wp ) * ze3w_2 * r1_Dt
                END_3D
            ENDIF
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_triad.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_triad.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traldf_triad.F90	(revision 12511)
@@ -86,7 +86,7 @@
       INTEGER  ::  ip,jp,kp         ! dummy loop indices
       INTEGER  ::  ierr            ! local integer
-      REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3          ! local scalars
-      REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4          !   -      -
-      REAL(wp) ::  zcoef0, ze3w_2, zsign, z2dt, z1_2dt  !   -      -
+      REAL(wp) ::  zmsku, zabe1, zcof1, zcoef3    ! local scalars
+      REAL(wp) ::  zmskv, zabe2, zcof2, zcoef4    !   -      -
+      REAL(wp) ::  zcoef0, ze3w_2, zsign          !   -      -
       !
       REAL(wp) ::   zslope_skew, zslope_iso, zslope2, zbu, zbv
@@ -111,13 +111,9 @@
       l_hst = .FALSE.
       l_ptr = .FALSE.
-      IF( cdtype == 'TRA' .AND. ( iom_use( 'sophtldf' ) .OR. iom_use( 'sopstldf' ) ) )      l_ptr = .TRUE. 
-      IF( cdtype == 'TRA' .AND. ( iom_use("uadv_heattr") .OR. iom_use("vadv_heattr") .OR. &
-         &                        iom_use("uadv_salttr") .OR. iom_use("vadv_salttr")  ) )   l_hst = .TRUE.
-      !
-      !                                                        ! set time step size (Euler/Leapfrog)
-      IF( neuler == 0 .AND. kt == kit000 ) THEN   ;   z2dt =     rdt      ! at nit000   (Euler)
-      ELSE                                        ;   z2dt = 2.* rdt      !             (Leapfrog)
+      IF( cdtype == 'TRA' ) THEN
+         IF( iom_use( 'sophtldf' ) .OR. iom_use( 'sopstldf') )      l_ptr = .TRUE. 
+         IF( iom_use("uadv_heattr") .OR. iom_use("vadv_heattr") .OR.                   &
+         &   iom_use("uadv_salttr") .OR. iom_use("vadv_salttr")  )   l_hst = .TRUE.
       ENDIF
-      z1_2dt = 1._wp / z2dt
       !
       IF( kpass == 1 ) THEN   ;   zsign =  1._wp      ! bilaplacian operator require a minus sign (eddy diffusivity >0)
@@ -189,6 +185,6 @@
                DO_3D_10_10( 2, jpkm1 )
                   ze3w_2 = e3w(ji,jj,jk,Kmm) * e3w(ji,jj,jk,Kmm)
-                  zcoef0 = z2dt * (  akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ze3w_2  )
-                  akz(ji,jj,jk) = MAX( zcoef0 - 0.5_wp , 0._wp ) * ze3w_2 * z1_2dt
+                  zcoef0 = rDt * (  akz(ji,jj,jk) + ah_wslp2(ji,jj,jk) / ze3w_2  )
+                  akz(ji,jj,jk) = MAX( zcoef0 - 0.5_wp , 0._wp ) * ze3w_2 * r1_Dt
                END_3D
            ENDIF
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tramle.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tramle.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tramle.F90	(revision 12511)
@@ -41,5 +41,5 @@
 
    REAL(wp) ::   r5_21 = 5.e0 / 21.e0   ! factor used in mle streamfunction computation
-   REAL(wp) ::   rb_c                   ! ML buoyancy criteria = g rho_c /rau0 where rho_c is defined in zdfmld
+   REAL(wp) ::   rb_c                   ! ML buoyancy criteria = g rho_c /rho0 where rho_c is defined in zdfmld
    REAL(wp) ::   rc_f                   ! MLE coefficient (= rn_ce / (5 km * fo) ) in nn_mle=1 case
 
@@ -112,5 +112,5 @@
          zc = e3t(ji,jj,jk,Kmm) * REAL( MIN( MAX( 0, inml_mle(ji,jj)-jk ) , 1  )  )    ! zc being 0 outside the ML t-points
          zmld(ji,jj) = zmld(ji,jj) + zc
-         zbm (ji,jj) = zbm (ji,jj) + zc * (rau0 - rhop(ji,jj,jk) ) * r1_rau0
+         zbm (ji,jj) = zbm (ji,jj) + zc * (rho0 - rhop(ji,jj,jk) ) * r1_rho0
          zn2 (ji,jj) = zn2 (ji,jj) + zc * (rn2(ji,jj,jk)+rn2(ji,jj,jk+1))*0.5_wp
       END_3D
@@ -273,5 +273,5 @@
       IF( ln_mle ) THEN                ! MLE initialisation
          !
-         rb_c = grav * rn_rho_c_mle /rau0        ! Mixed Layer buoyancy criteria
+         rb_c = grav * rn_rho_c_mle /rho0        ! Mixed Layer buoyancy criteria
          IF(lwp) WRITE(numout,*)
          IF(lwp) WRITE(numout,*) '      ML buoyancy criteria = ', rb_c, ' m/s2 '
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tranpc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tranpc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/tranpc.F90	(revision 12511)
@@ -67,5 +67,5 @@
       LOGICAL  ::   l_bottom_reached, l_column_treated
       REAL(wp) ::   zta, zalfa, zsum_temp, zsum_alfa, zaw, zdz, zsum_z
-      REAL(wp) ::   zsa, zbeta, zsum_sali, zsum_beta, zbw, zrw, z1_r2dt
+      REAL(wp) ::   zsa, zbeta, zsum_sali, zsum_beta, zbw, zrw, z1_rDt
       REAL(wp), PARAMETER ::   zn2_zero = 1.e-14_wp             ! acceptance criteria for neutrality (N2==0)
       REAL(wp), DIMENSION(        jpk     )   ::   zvn2         ! vertical profile of N2 at 1 given point...
@@ -301,7 +301,7 @@
          !
          IF( l_trdtra ) THEN         ! send the Non penetrative mixing trends for diagnostic
-            z1_r2dt = 1._wp / (2._wp * rdt)
-            ztrdt(:,:,:) = ( pts(:,:,:,jp_tem,Kaa) - ztrdt(:,:,:) ) * z1_r2dt
-            ztrds(:,:,:) = ( pts(:,:,:,jp_sal,Kaa) - ztrds(:,:,:) ) * z1_r2dt
+            z1_rDt = 1._wp / (2._wp * rn_Dt)
+            ztrdt(:,:,:) = ( pts(:,:,:,jp_tem,Kaa) - ztrdt(:,:,:) ) * z1_rDt
+            ztrds(:,:,:) = ( pts(:,:,:,jp_sal,Kaa) - ztrds(:,:,:) ) * z1_rDt
             CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_tem, jptra_npc, ztrdt )
             CALL trd_tra( kt, Kmm, Krhs, 'TRA', jp_sal, jptra_npc, ztrds )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traqsr.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traqsr.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/traqsr.F90	(revision 12511)
@@ -87,5 +87,5 @@
       !!         I(k) = Qsr*( rn_abs*EXP(z(k)/rn_si0) + (1.-rn_abs)*EXP(z(k)/rn_si1) )
       !!         The temperature trend associated with the solar radiation penetration 
-      !!         is given by : zta = 1/e3t dk[ I ] / (rau0*Cp)
+      !!         is given by : zta = 1/e3t dk[ I ] / (rho0*Cp)
       !!         At the bottom, boudary condition for the radiation is no flux :
       !!      all heat which has not been absorbed in the above levels is put
@@ -135,6 +135,5 @@
       !                         !-----------------------------------!
       IF( kt == nit000 ) THEN          !==  1st time step  ==!
-!!gm case neuler  not taken into account....
-         IF( ln_rstart .AND. iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0 ) THEN    ! read in restart
+         IF( ln_rstart .AND. iom_varid( numror, 'qsr_hc_b', ldstop = .FALSE. ) > 0  .AND. .NOT.l_1st_euler ) THEN    ! read in restart
             IF(lwp) WRITE(numout,*) '          nit000-1 qsr tracer content forcing field read in the restart file'
             z1_2 = 0.5_wp
@@ -156,5 +155,5 @@
          !
          DO jk = 1, nksr
-            qsr_hc(:,:,jk) = r1_rau0_rcp * ( etot3(:,:,jk) - etot3(:,:,jk+1) )
+            qsr_hc(:,:,jk) = r1_rho0_rcp * ( etot3(:,:,jk) - etot3(:,:,jk+1) )
          END DO
          !
@@ -228,5 +227,5 @@
          !
          DO_3D_00_00( 1, nksr )
-            qsr_hc(ji,jj,jk) = r1_rau0_rcp * ( zea(ji,jj,jk) - zea(ji,jj,jk+1) )
+            qsr_hc(ji,jj,jk) = r1_rho0_rcp * ( zea(ji,jj,jk) - zea(ji,jj,jk+1) )
          END_3D
          !
@@ -235,6 +234,6 @@
       CASE( np_2BD  )            !==  2-bands fluxes  ==!
          !
-         zz0 =        rn_abs   * r1_rau0_rcp      ! surface equi-partition in 2-bands
-         zz1 = ( 1. - rn_abs ) * r1_rau0_rcp
+         zz0 =        rn_abs   * r1_rho0_rcp      ! surface equi-partition in 2-bands
+         zz1 = ( 1. - rn_abs ) * r1_rho0_rcp
          DO_3D_00_00( 1, nksr )
             zc0 = zz0 * EXP( -gdepw(ji,jj,jk  ,Kmm)*xsi0r ) + zz1 * EXP( -gdepw(ji,jj,jk  ,Kmm)*xsi1r )
@@ -253,5 +252,5 @@
       ! sea-ice: store the 1st ocean level attenuation coefficient
       DO_2D_00_00
-         IF( qsr(ji,jj) /= 0._wp ) THEN   ;   fraqsr_1lev(ji,jj) = qsr_hc(ji,jj,1) / ( r1_rau0_rcp * qsr(ji,jj) )
+         IF( qsr(ji,jj) /= 0._wp ) THEN   ;   fraqsr_1lev(ji,jj) = qsr_hc(ji,jj,1) / ( r1_rho0_rcp * qsr(ji,jj) )
          ELSE                             ;   fraqsr_1lev(ji,jj) = 1._wp
          ENDIF
@@ -263,5 +262,5 @@
          zetot(:,:,nksr+1:jpk) = 0._wp     ! below ~400m set to zero
          DO jk = nksr, 1, -1
-            zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) * rau0_rcp
+            zetot(:,:,jk) = zetot(:,:,jk+1) + qsr_hc(:,:,jk) * rho0_rcp
          END DO         
          CALL iom_put( 'qsr3d', zetot )   ! 3D distribution of shortwave Radiation
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trasbc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trasbc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trasbc.F90	(revision 12511)
@@ -124,11 +124,11 @@
       !                             !==  Now sbc tracer content fields  ==!
       DO_2D_01_00
-         sbc_tsc(ji,jj,jp_tem) = r1_rau0_rcp * qns(ji,jj)   ! non solar heat flux
-         sbc_tsc(ji,jj,jp_sal) = r1_rau0     * sfx(ji,jj)   ! salt flux due to freezing/melting
+         sbc_tsc(ji,jj,jp_tem) = r1_rho0_rcp * qns(ji,jj)   ! non solar heat flux
+         sbc_tsc(ji,jj,jp_sal) = r1_rho0     * sfx(ji,jj)   ! salt flux due to freezing/melting
       END_2D
       IF( ln_linssh ) THEN                !* linear free surface  
          DO_2D_01_00
-            sbc_tsc(ji,jj,jp_tem) = sbc_tsc(ji,jj,jp_tem) + r1_rau0 * emp(ji,jj) * pts(ji,jj,1,jp_tem,Kmm)
-            sbc_tsc(ji,jj,jp_sal) = sbc_tsc(ji,jj,jp_sal) + r1_rau0 * emp(ji,jj) * pts(ji,jj,1,jp_sal,Kmm)
+            sbc_tsc(ji,jj,jp_tem) = sbc_tsc(ji,jj,jp_tem) + r1_rho0 * emp(ji,jj) * pts(ji,jj,1,jp_tem,Kmm)
+            sbc_tsc(ji,jj,jp_sal) = sbc_tsc(ji,jj,jp_sal) + r1_rho0 * emp(ji,jj) * pts(ji,jj,1,jp_sal,Kmm)
          END_2D
          IF( iom_use('emp_x_sst') )   CALL iom_put( "emp_x_sst", emp (:,:) * pts(:,:,1,jp_tem,Kmm) )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trazdf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trazdf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRA/trazdf.F90	(revision 12511)
@@ -66,8 +66,4 @@
       ENDIF
       !
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =      rdt   ! at nit000, =   rdt (restarting with Euler time stepping)
-      ELSEIF( kt <= nit000 + 1           ) THEN   ;   r2dt = 2. * rdt   ! otherwise, = 2 rdt (leapfrog)
-      ENDIF
-      !
       IF( l_trdtra )   THEN                  !* Save ta and sa trends
          ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) )
@@ -77,5 +73,5 @@
       !
       !                                      !* compute lateral mixing trend and add it to the general trend
-      CALL tra_zdf_imp( kt, nit000, 'TRA', r2dt, Kbb, Kmm, Krhs, pts, Kaa, jpts ) 
+      CALL tra_zdf_imp( kt, nit000, 'TRA', rDt, Kbb, Kmm, Krhs, pts, Kaa, jpts ) 
 
 !!gm WHY here !   and I don't like that !
@@ -89,7 +85,7 @@
          DO jk = 1, jpkm1
             ztrdt(:,:,jk) = ( ( pts(:,:,jk,jp_tem,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_tem,Kbb)*e3t(:,:,jk,Kbb) ) &
-               &          / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrdt(:,:,jk)
+               &          / (e3t(:,:,jk,Kmm)*rDt) ) - ztrdt(:,:,jk)
             ztrds(:,:,jk) = ( ( pts(:,:,jk,jp_sal,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_sal,Kbb)*e3t(:,:,jk,Kbb) ) &
-              &           / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrds(:,:,jk)
+              &           / (e3t(:,:,jk,Kmm)*rDt) ) - ztrds(:,:,jk)
          END DO
 !!gm this should be moved in trdtra.F90 and done on all trends
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trddyn.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trddyn.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trddyn.F90	(revision 12511)
@@ -140,6 +140,6 @@
                               !                                    ! wind stress trends
                               ALLOCATE( z2dx(jpi,jpj) , z2dy(jpi,jpj) )
-                              z2dx(:,:) = ( utau_b(:,:) + utau(:,:) ) / ( e3u(:,:,1,Kmm) * rau0 )
-                              z2dy(:,:) = ( vtau_b(:,:) + vtau(:,:) ) / ( e3v(:,:,1,Kmm) * rau0 )
+                              z2dx(:,:) = ( utau_b(:,:) + utau(:,:) ) / ( e3u(:,:,1,Kmm) * rho0 )
+                              z2dy(:,:) = ( vtau_b(:,:) + vtau(:,:) ) / ( e3v(:,:,1,Kmm) * rho0 )
                               CALL iom_put( "utrd_tau", z2dx )
                               CALL iom_put( "vtrd_tau", z2dy )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdglo.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdglo.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdglo.F90	(revision 12511)
@@ -76,5 +76,5 @@
       INTEGER ::   ji, jj, jk      ! dummy loop indices
       INTEGER ::   ikbu, ikbv      ! local integers
-      REAL(wp)::   zvm, zvt, zvs, z1_2rau0   ! local scalars
+      REAL(wp)::   zvm, zvt, zvs, z1_2rho0   ! local scalars
       REAL(wp), DIMENSION(jpi,jpj)  :: ztswu, ztswv, z2dx, z2dy   ! 2D workspace 
       !!----------------------------------------------------------------------
@@ -125,10 +125,10 @@
             !                 
             IF( ktrd == jpdyn_zdf ) THEN      ! zdf trend: compute separately the surface forcing trend
-               z1_2rau0 = 0.5_wp / rau0
+               z1_2rho0 = 0.5_wp / rho0
                DO_2D_10_10
                   zvt = ( utau_b(ji,jj) + utau(ji,jj) ) * tmask_i(ji+1,jj) * tmask_i(ji,jj) * umask(ji,jj,jk)   &
-                     &                                                     * z1_2rau0       * e1e2u(ji,jj)
+                     &                                                     * z1_2rho0       * e1e2u(ji,jj)
                   zvs = ( vtau_b(ji,jj) + vtau(ji,jj) ) * tmask_i(ji,jj+1) * tmask_i(ji,jj) * vmask(ji,jj,jk)   &
-                     &                                                     * z1_2rau0       * e1e2v(ji,jj)
+                     &                                                     * z1_2rho0       * e1e2v(ji,jj)
                   umo(jpdyn_tau) = umo(jpdyn_tau) + zvt
                   vmo(jpdyn_tau) = vmo(jpdyn_tau) + zvs
@@ -141,5 +141,5 @@
 !               !
 !               IF( ln_drgimp ) THEN                   ! implicit drag case: compute separately the bottom friction 
-!                  z1_2rau0 = 0.5_wp / rau0
+!                  z1_2rho0 = 0.5_wp / rho0
 !                  DO jj = 1, jpjm1
 !                     DO ji = 1, jpim1
@@ -203,5 +203,5 @@
          CALL eos( ts(:,:,:,:,Kmm), rhd, rhop )       ! now potential density
 
-         zcof = 0.5_wp / rau0             ! Density flux at w-point
+         zcof = 0.5_wp / rho0             ! Density flux at w-point
          zkz(:,:,1) = 0._wp
          DO jk = 2, jpk
@@ -209,5 +209,5 @@
          END DO
          
-         zcof   = 0.5_wp / rau0           ! Density flux at u and v-points
+         zcof   = 0.5_wp / rho0           ! Density flux at u and v-points
          DO_3D_10_10( 1, jpkm1 )
             zkx(ji,jj,jk) = zcof * e2u(ji,jj) * e3u(ji,jj,jk,Kmm) * uu(ji,jj,jk,Kmm) * ( rhop(ji,jj,jk) + rhop(ji+1,jj,jk) )
@@ -347,5 +347,5 @@
  9546    FORMAT(' 0 < horizontal diffusion                                  : ', e20.13)
  9547    FORMAT(' 0 < vertical diffusion                                    : ', e20.13)
- 9548    FORMAT(' pressure gradient u2 = - 1/rau0 u.dz(rhop)                : ', e20.13, '  u.dz(rhop) =', e20.13)
+ 9548    FORMAT(' pressure gradient u2 = - 1/rho0 u.dz(rhop)                : ', e20.13, '  u.dz(rhop) =', e20.13)
          !
          ! Save potential to kinetic energy conversion for next time step
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdken.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdken.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdken.F90	(revision 12511)
@@ -102,5 +102,5 @@
       zke(:,1, : ) = 0._wp
       DO_3D_01_01( 1, jpkm1 )
-         zke(ji,jj,jk) = 0.5_wp * rau0 *( uu(ji  ,jj,jk,Kmm) * putrd(ji  ,jj,jk) * bu(ji  ,jj,jk)  &
+         zke(ji,jj,jk) = 0.5_wp * rho0 *( uu(ji  ,jj,jk,Kmm) * putrd(ji  ,jj,jk) * bu(ji  ,jj,jk)  &
             &                           + uu(ji-1,jj,jk,Kmm) * putrd(ji-1,jj,jk) * bu(ji-1,jj,jk)  &
             &                           + vv(ji,jj  ,jk,Kmm) * pvtrd(ji,jj  ,jk) * bv(ji,jj  ,jk)  &
@@ -123,5 +123,5 @@
                            zke2d(1,:) = 0._wp   ;   zke2d(:,1) = 0._wp
                            DO_2D_01_01
-                              zke2d(ji,jj) = r1_rau0 * 0.5_wp * (   z2dx(ji,jj) + z2dx(ji-1,jj)   &
+                              zke2d(ji,jj) = r1_rho0 * 0.5_wp * (   z2dx(ji,jj) + z2dx(ji-1,jj)   &
                               &                                   + z2dy(ji,jj) + z2dy(ji,jj-1)   ) * r1_bt(ji,jj,1)
                            END_2D
@@ -207,5 +207,5 @@
       !
       ! Local constant initialization 
-      zcoef = - rau0 * grav * 0.5_wp      
+      zcoef = - rho0 * grav * 0.5_wp      
       
       !  Surface value (also valid in partial step case)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdtra.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdtra.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdtra.F90	(revision 12511)
@@ -237,8 +237,4 @@
       !!----------------------------------------------------------------------
 
-      IF( neuler == 0 .AND. kt == nit000    ) THEN   ;   r2dt =      rdt      ! = rdt (restart with Euler time stepping)
-      ELSEIF(               kt <= nit000 + 1) THEN   ;   r2dt = 2. * rdt      ! = 2 rdt (leapfrog)
-      ENDIF
-
       !                   ! 3D output of tracers trends using IOM interface
       IF( ln_tra_trd )   CALL trd_tra_iom ( ptrdx, ptrdy, ktrd, kt, Kmm )
@@ -248,5 +244,5 @@
 
       !                   ! Potential ENergy trends
-      IF( ln_PE_trd  )   CALL trd_pen( ptrdx, ptrdy, ktrd, kt, r2dt, Kmm )
+      IF( ln_PE_trd  )   CALL trd_pen( ptrdx, ptrdy, ktrd, kt, rDt, Kmm )
 
       !                   ! Mixed layer trends for active tracers
@@ -281,5 +277,5 @@
          CASE ( jptra_atf )        ;   CALL trd_mxl_zint( ptrdx, ptrdy, jpmxl_atf, '3D' )   ! asselin time filter (last trend)
                                    !
-                                       CALL trd_mxl( kt, r2dt )                             ! trends: Mixed-layer (output)
+                                       CALL trd_mxl( kt, rDt )                             ! trends: Mixed-layer (output)
          END SELECT
          !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdvor.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdvor.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/TRD/trdvor.F90	(revision 12511)
@@ -105,6 +105,6 @@
          ztswu(:,:) = 0.e0   ;   ztswv(:,:) = 0.e0
          DO_2D_00_00
-            ztswu(ji,jj) = 0.5 * ( utau_b(ji,jj) + utau(ji,jj) ) / ( e3u(ji,jj,1,Kmm) * rau0 )
-            ztswv(ji,jj) = 0.5 * ( vtau_b(ji,jj) + vtau(ji,jj) ) / ( e3v(ji,jj,1,Kmm) * rau0 )
+            ztswu(ji,jj) = 0.5 * ( utau_b(ji,jj) + utau(ji,jj) ) / ( e3u(ji,jj,1,Kmm) * rho0 )
+            ztswv(ji,jj) = 0.5 * ( vtau_b(ji,jj) + vtau(ji,jj) ) / ( e3v(ji,jj,1,Kmm) * rho0 )
          END_2D
          !
@@ -385,5 +385,5 @@
          ! III.1 compute total trend
          ! ------------------------
-         zmean = 1._wp / (  REAL( nmoydpvor, wp ) * 2._wp * rdt  )
+         zmean = 1._wp / (  REAL( nmoydpvor, wp ) * 2._wp * rn_Dt  )
          vor_avrtot(:,:) = (  vor_avr(:,:) - vor_avrbn(:,:) + vor_avrb(:,:) - vor_avrbb(:,:) ) * zmean
 
@@ -504,11 +504,11 @@
       ENDIF
 #if defined key_diainstant
-      zsto = nn_write*rdt
+      zsto = nn_write*rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #else
-      zsto = rdt
+      zsto = rn_Dt
       clop = "ave("//TRIM(clop)//")"
 #endif
-      zout = nn_trd*rdt
+      zout = nn_trd*rn_Dt
 
       IF(lwp) WRITE(numout,*) '               netCDF initialization'
@@ -516,5 +516,5 @@
       ! II.2 Compute julian date from starting date of the run
       ! ------------------------
-      CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+      CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
       zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
       IF(lwp) WRITE(numout,*)' '  
@@ -528,5 +528,5 @@
       IF(lwp) WRITE(numout,*) ' Name of NETCDF file ', clhstnam
       CALL histbeg( clhstnam, jpi, glamf, jpj, gphif,1, jpi,   &  ! Horizontal grid : glamt and gphit
-         &          1, jpj, nit000-1, zjulian, rdt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set )
+         &          1, jpj, nit000-1, zjulian, rn_Dt, nh_t, nidvor, domain_id=nidom, snc4chunks=snc4set )
       CALL wheneq( jpi*jpj, fmask, 1, 1., ndexvor1, ndimvor1 )    ! surface
 
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_hgr.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_hgr.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_hgr.F90	(revision 12511)
@@ -107,5 +107,5 @@
       IF( ln_bench ) THEN     ! benchmark: forced the resolution to be 106 km 
          ze1 = 106000._wp     ! but keep (lat,lon) at the right nn_GYRE resolution
-         CALL ctl_warn( ' GYRE used as Benchmark: e1=e2=106km, no need to adjust rdt, ahm,aht ' )
+         CALL ctl_warn( ' GYRE used as Benchmark: e1=e2=106km, no need to adjust rn_Dt, ahm,aht ' )
       ENDIF
       IF( nprint==1 .AND. lwp )   THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_sbc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_sbc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/USR/usrdef_sbc.F90	(revision 12511)
@@ -89,5 +89,5 @@
 
       ! current day (in hours) since january the 1st of the current year
-      ztime = REAL( kt ) * rdt / (rmmss * rhhmm)   &       !  total incrementation (in hours)
+      ztime = REAL( kt ) * rn_Dt / (rmmss * rhhmm)   &       !  total incrementation (in hours)
          &      - (nyear  - 1) * rjjhh * zyydd             !  minus years since beginning of experiment (in hours)
 
@@ -154,5 +154,5 @@
       !accumulates days of previous months of this year
       ! day (in hours) since january the 1st
-      ztime = FLOAT( kt ) * rdt / (rmmss * rhhmm)  &  ! incrementation in hour
+      ztime = FLOAT( kt ) * rn_Dt / (rmmss * rhhmm)  &  ! incrementation in hour
          &     - (nyear - 1) * rjjhh * zyydd          !  - nber of hours the precedent years
       ztimemax = ((5.*30.)+21.)* 24.               ! 21th june     in hours
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfdrg.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfdrg.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfdrg.F90	(revision 12511)
@@ -165,6 +165,6 @@
       !!---------------------------------------------------------------------
       !
-!!gm bug : time step is only rdt (not 2 rdt if euler start !)
-      zm1_2dt = - 1._wp / ( 2._wp * rdt )
+!!gm bug : time step is only rn_Dt (not 2 rn_Dt if euler start !)
+      zm1_2dt = - 1._wp / ( 2._wp * rn_Dt )
 
       IF( l_trddyn ) THEN      ! trends: store the input trends
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfgls.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfgls.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfgls.F90	(revision 12511)
@@ -170,5 +170,5 @@
          !
          ! surface friction
-         ustar2_surf(ji,jj) = r1_rau0 * taum(ji,jj) * tmask(ji,jj,1)
+         ustar2_surf(ji,jj) = r1_rho0 * taum(ji,jj) * tmask(ji,jj,1)
          !   
 !!gm Rq we may add here r_ke0(_top/_bot) ?  ==>> think about that...
@@ -267,7 +267,7 @@
          zd_up(ji,jj,jk) = zcof * ( p_avm(ji,jj,jk+1) + p_avm(ji,jj,jk  ) ) / ( e3t(ji,jj,jk  ,Kmm) * e3w(ji,jj,jk,Kmm) )
          !                                        ! diagonal
-         zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk)  + rdt * zdiss * wmask(ji,jj,jk) 
+         zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk)  + rn_Dt * zdiss * wmask(ji,jj,jk) 
          !                                        ! right hand side in en
-         en(ji,jj,jk) = en(ji,jj,jk) + rdt * zesh2 * wmask(ji,jj,jk)
+         en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk)
       END_3D
       !
@@ -477,7 +477,7 @@
          zd_up(ji,jj,jk) = zcof * ( p_avm(ji,jj,jk+1) + p_avm(ji,jj,jk  ) ) / ( e3t(ji,jj,jk  ,Kmm) * e3w(ji,jj,jk,Kmm) )
          !                                               ! diagonal
-         zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + rdt * zdiss * wmask(ji,jj,jk)
+         zdiag(ji,jj,jk) = 1._wp - zd_lw(ji,jj,jk) - zd_up(ji,jj,jk) + rn_Dt * zdiss * wmask(ji,jj,jk)
          !                                               ! right hand side in psi
-         psi(ji,jj,jk) = psi(ji,jj,jk) + rdt * zesh2 * wmask(ji,jj,jk)
+         psi(ji,jj,jk) = psi(ji,jj,jk) + rn_Dt * zesh2 * wmask(ji,jj,jk)
       END_3D
       !
@@ -1007,14 +1007,14 @@
       rc04  = rc03 * rc0
       rsbc_tke1 = -3._wp/2._wp*rn_crban*ra_sf*rl_sf                      ! Dirichlet + Wave breaking
-      rsbc_tke2 = rdt * rn_crban / rl_sf                                 ! Neumann + Wave breaking 
+      rsbc_tke2 = rn_Dt * rn_crban / rl_sf                                 ! Neumann + Wave breaking 
       zcr = MAX(rsmall, rsbc_tke1**(1./(-ra_sf*3._wp/2._wp))-1._wp )
       rtrans = 0.2_wp / zcr                                              ! Ad. inverse transition length between log and wave layer 
       rsbc_zs1  = rn_charn/grav                                          ! Charnock formula for surface roughness
       rsbc_zs2  = rn_frac_hs / 0.85_wp / grav * 665._wp                  ! Rascle formula for surface roughness 
-      rsbc_psi1 = -0.5_wp * rdt * rc0**(rpp-2._wp*rmm) / rsc_psi
-      rsbc_psi2 = -0.5_wp * rdt * rc0**rpp * rnn * vkarmn**rnn / rsc_psi ! Neumann + NO Wave breaking 
-      !
-      rfact_tke = -0.5_wp / rsc_tke * rdt                                ! Cst used for the Diffusion term of tke
-      rfact_psi = -0.5_wp / rsc_psi * rdt                                ! Cst used for the Diffusion term of tke
+      rsbc_psi1 = -0.5_wp * rn_Dt * rc0**(rpp-2._wp*rmm) / rsc_psi
+      rsbc_psi2 = -0.5_wp * rn_Dt * rc0**rpp * rnn * vkarmn**rnn / rsc_psi ! Neumann + NO Wave breaking 
+      !
+      rfact_tke = -0.5_wp / rsc_tke * rn_Dt                                ! Cst used for the Diffusion term of tke
+      rfact_psi = -0.5_wp / rsc_psi * rn_Dt                                ! Cst used for the Diffusion term of tke
       !
       !                                !* Wall proximity function
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfiwm.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfiwm.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfiwm.F90	(revision 12511)
@@ -87,10 +87,10 @@
       !!              This is divided into three components:
       !!                 1. Bottom-intensified low-mode dissipation at critical slopes
-      !!                     zemx_iwm(z) = ( ecri_iwm / rau0 ) * EXP( -(H-z)/hcri_iwm )
+      !!                     zemx_iwm(z) = ( ecri_iwm / rho0 ) * EXP( -(H-z)/hcri_iwm )
       !!                                   / ( 1. - EXP( - H/hcri_iwm ) ) * hcri_iwm
       !!              where hcri_iwm is the characteristic length scale of the bottom 
       !!              intensification, ecri_iwm a map of available power, and H the ocean depth.
       !!                 2. Pycnocline-intensified low-mode dissipation
-      !!                     zemx_iwm(z) = ( epyc_iwm / rau0 ) * ( sqrt(rn2(z))^nn_zpyc )
+      !!                     zemx_iwm(z) = ( epyc_iwm / rho0 ) * ( sqrt(rn2(z))^nn_zpyc )
       !!                                   / SUM( sqrt(rn2(z))^nn_zpyc * e3w(z) )
       !!              where epyc_iwm is a map of available power, and nn_zpyc
@@ -98,5 +98,5 @@
       !!              energy dissipation.
       !!                 3. WKB-height dependent high mode dissipation
-      !!                     zemx_iwm(z) = ( ebot_iwm / rau0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm)
+      !!                     zemx_iwm(z) = ( ebot_iwm / rho0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm)
       !!                                   / SUM( rn2(z) * EXP(-z_wkb(z)/hbot_iwm) * e3w(z) )
       !!              where hbot_iwm is the characteristic length scale of the WKB bottom 
@@ -151,5 +151,5 @@
       DO_2D_11_11
          zhdep(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1)       ! depth of the ocean
-         zfact(ji,jj) = rau0 * (  1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) )  )
+         zfact(ji,jj) = rho0 * (  1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) )  )
          IF( zfact(ji,jj) /= 0._wp )   zfact(ji,jj) = ecri_iwm(ji,jj) / zfact(ji,jj)
       END_2D
@@ -181,5 +181,5 @@
          !
          DO_2D_11_11
-            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
+            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
          END_2D
          !
@@ -196,5 +196,5 @@
          !
          DO_2D_11_11
-            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
+            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
          END_2D
          !
@@ -243,5 +243,5 @@
       !
       DO_2D_11_11
-         IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = ebot_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
+         IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = ebot_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
       END_2D
       !
@@ -255,5 +255,5 @@
       ! Calculate molecular kinematic viscosity
       znu_t(:,:,:) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm)  &
-         &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rau0
+         &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rho0
       DO jk = 2, jpkm1
          znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk)
@@ -293,5 +293,5 @@
          END_3D
          CALL mpp_sum( 'zdfiwm', zztmp )
-         zztmp = rau0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing 
+         zztmp = rho0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing 
          !
          IF(lwp) THEN
@@ -337,5 +337,5 @@
                                     !* output useful diagnostics: Kz*N^2 , 
 !!gm Kz*N2 should take into account the ratio avs/avt if it is used.... (see diaar5)
-                                    !  vertical integral of rau0 * Kz * N^2 , energy density (zemx_iwm)
+                                    !  vertical integral of rho0 * Kz * N^2 , energy density (zemx_iwm)
       IF( iom_use("bflx_iwm") .OR. iom_use("pcmap_iwm") ) THEN
          ALLOCATE( z2d(jpi,jpj) , z3d(jpi,jpj,jpk) )
@@ -345,5 +345,5 @@
             z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk)
          END DO
-         z2d(:,:) = rau0 * z2d(:,:)
+         z2d(:,:) = rho0 * z2d(:,:)
          CALL iom_put( "bflx_iwm", z3d )
          CALL iom_put( "pcmap_iwm", z2d )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfmxl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfmxl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfmxl.F90	(revision 12511)
@@ -97,5 +97,5 @@
       nmln(:,:)  = nlb10               ! Initialization to the number of w ocean point
       hmlp(:,:)  = 0._wp               ! here hmlp used as a dummy variable, integrating vertically N^2
-      zN2_c = grav * rho_c * r1_rau0   ! convert density criteria into N^2 criteria
+      zN2_c = grav * rho_c * r1_rho0   ! convert density criteria into N^2 criteria
       DO_3D_11_11( nlb10, jpkm1 )
          ikt = mbkt(ji,jj)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfosm.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfosm.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfosm.F90	(revision 12511)
@@ -300,5 +300,5 @@
      DO_2D_00_00
         ! Surface downward irradiance (so always +ve)
-        zrad0(ji,jj) = qsr(ji,jj) * r1_rau0_rcp
+        zrad0(ji,jj) = qsr(ji,jj) * r1_rho0_rcp
         ! Downwards irradiance at base of boundary layer
         zradh(ji,jj) = zrad0(ji,jj) * ( zz0 * EXP( -hbl(ji,jj)/rn_si0 ) + zz1 * EXP( -hbl(ji,jj)/rn_si1) )
@@ -312,7 +312,7 @@
         zbeta    = rab_n(ji,jj,1,jp_sal)
         ! Upwards surface Temperature flux for non-local term
-        zwth0(ji,jj) = - qns(ji,jj) * r1_rau0_rcp * tmask(ji,jj,1)
+        zwth0(ji,jj) = - qns(ji,jj) * r1_rho0_rcp * tmask(ji,jj,1)
         ! Upwards surface salinity flux for non-local term
-        zws0(ji,jj) = - ( ( emp(ji,jj)-rnf(ji,jj) ) * ts(ji,jj,1,jp_sal,Kmm)  + sfx(ji,jj) ) * r1_rau0 * tmask(ji,jj,1)
+        zws0(ji,jj) = - ( ( emp(ji,jj)-rnf(ji,jj) ) * ts(ji,jj,1,jp_sal,Kmm)  + sfx(ji,jj) ) * r1_rho0 * tmask(ji,jj,1)
         ! Non radiative upwards surface buoyancy flux
         zwb0(ji,jj) = grav * zthermal * zwth0(ji,jj) -  grav * zbeta * zws0(ji,jj)
@@ -324,6 +324,6 @@
         zwbav(ji,jj) = grav  * zthermal * zwthav(ji,jj) - grav  * zbeta * zwsav(ji,jj)
         ! Surface upward velocity fluxes
-        zuw0(ji,jj) = -utau(ji,jj) * r1_rau0 * tmask(ji,jj,1)
-        zvw0(ji,jj) = -vtau(ji,jj) * r1_rau0 * tmask(ji,jj,1)
+        zuw0(ji,jj) = -utau(ji,jj) * r1_rho0 * tmask(ji,jj,1)
+        zvw0(ji,jj) = -vtau(ji,jj) * r1_rho0 * tmask(ji,jj,1)
         ! Friction velocity (zustar), at T-point : LMD94 eq. 2
         zustar(ji,jj) = MAX( SQRT( SQRT( zuw0(ji,jj) * zuw0(ji,jj) + zvw0(ji,jj) * zvw0(ji,jj) ) ), 1.0e-8 )
@@ -441,5 +441,5 @@
                         &            + 0.135 * zla(ji,jj) * zwstrl(ji,jj)**3/hbl(ji,jj) )
 
-                   zvel_max =  - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) &
+                   zvel_max =  - ( 1.0 + 1.0 * ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / hbl(ji,jj) ) &
                         &   * zwb_ent(ji,jj) / ( zwstrl(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird
 ! Entrainment including component due to shear turbulence. Modified Langmuir component, but gives same result for La=0.3 For testing uncomment.
@@ -447,5 +447,5 @@
 !                           &            + ( 0.15 * ( 1.0 - EXP( -0.5 * zla(ji,jj) ) ) + 0.03 / zla(ji,jj)**2 ) * zustar(ji,jj)**3/hbl(ji,jj) )
 
-!                      zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / zhbl(ji,jj) ) * zwb_ent(ji,jj) / &
+!                      zvel_max = - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / zhbl(ji,jj) ) * zwb_ent(ji,jj) / &
 !                           &       ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird
                    zzdhdt = - zwb_ent(ji,jj) / ( zvel_max + MAX(zdb_bl(ji,jj),0.0) )
@@ -458,7 +458,7 @@
                    IF ( zzdhdt < 0._wp ) THEN
                    ! For long timsteps factor in brackets slows the rapid collapse of the OSBL
-                      zpert   = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj)
+                      zpert   = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_Dt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj)
                    ELSE
-                      zpert   = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_rdt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) &
+                      zpert   = 2.0 * ( 1.0 + 2.0 * zwstrl(ji,jj) * rn_Dt / hbl(ji,jj) ) * zwstrl(ji,jj)**2 / hbl(ji,jj) &
                            &  + MAX( zdb_bl(ji,jj), 0.0 )
                    ENDIF
@@ -472,7 +472,7 @@
       ibld(:,:) = 3
 
-      zhbl_t(:,:) = hbl(:,:) + (zdhdt(:,:) - ww(ji,jj,ibld(ji,jj)))* rn_rdt ! certainly need wb here, so subtract it
+      zhbl_t(:,:) = hbl(:,:) + (zdhdt(:,:) - ww(ji,jj,ibld(ji,jj)))* rn_Dt ! certainly need wb here, so subtract it
       zhbl_t(:,:) = MIN(zhbl_t(:,:), ht(:,:))
-      zdhdt(:,:) = MIN(zdhdt(:,:), (zhbl_t(:,:) - hbl(:,:))/rn_rdt + ww(ji,jj,ibld(ji,jj))) ! adjustment to represent limiting by ocean bottom
+      zdhdt(:,:) = MIN(zdhdt(:,:), (zhbl_t(:,:) - hbl(:,:))/rn_Dt + ww(ji,jj,ibld(ji,jj))) ! adjustment to represent limiting by ocean bottom
 
       DO_3D_00_00( 4, jpkm1 )
@@ -496,5 +496,5 @@
             IF ( lconv(ji,jj) ) THEN
 !unstable
-               zvel_max =  - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_rdt / hbl(ji,jj) ) &
+               zvel_max =  - ( 1.0 + 1.0 * ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird * rn_Dt / hbl(ji,jj) ) &
                     &   * zwb_ent(ji,jj) / ( zvstr(ji,jj)**3 + 0.5 * zwstrc(ji,jj)**3 )**pthird
 
@@ -503,5 +503,5 @@
                        & - zbeta * ( zs_bl(ji,jj) - ts(ji,jj,jm,jp_sal,Kmm) ) ), 0.0 ) + zvel_max
 
-                  zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_rdt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w(ji,jj,jk,Kmm) )
+                  zhbl_s = zhbl_s + MIN( - zwb_ent(ji,jj) / zdb * rn_Dt / FLOAT(ibld(ji,jj)-imld(ji,jj) ), e3w(ji,jj,jk,Kmm) )
                   zhbl_s = MIN(zhbl_s, ht(ji,jj))
 
@@ -1250,10 +1250,10 @@
             IF ( iom_use("us_x") ) CALL iom_put( "us_x", tmask(:,:,1)*zustke*zcos_wind )   ! x surface Stokes drift
             IF ( iom_use("us_y") ) CALL iom_put( "us_y", tmask(:,:,1)*zustke*zsin_wind )  ! y surface Stokes drift
-            IF ( iom_use("wind_wave_abs_power") ) CALL iom_put( "wind_wave_abs_power", 1000.*rau0*tmask(:,:,1)*zustar**2*zustke )
+            IF ( iom_use("wind_wave_abs_power") ) CALL iom_put( "wind_wave_abs_power", 1000.*rho0*tmask(:,:,1)*zustar**2*zustke )
          ! Stokes drift read in from sbcwave  (=2).
          CASE(2)
             IF ( iom_use("us_x") ) CALL iom_put( "us_x", ut0sd )               ! x surface Stokes drift
             IF ( iom_use("us_y") ) CALL iom_put( "us_y", vt0sd )               ! y surface Stokes drift
-            IF ( iom_use("wind_wave_abs_power") ) CALL iom_put( "wind_wave_abs_power", 1000.*rau0*tmask(:,:,1)*zustar**2* &
+            IF ( iom_use("wind_wave_abs_power") ) CALL iom_put( "wind_wave_abs_power", 1000.*rho0*tmask(:,:,1)*zustar**2* &
                  & SQRT(ut0sd**2 + vt0sd**2 ) )
          END SELECT
@@ -1271,6 +1271,6 @@
          IF ( iom_use("zwstrl") ) CALL iom_put( "zwstrl", tmask(:,:,1)*zwstrl )         ! Langmuir velocity scale
          IF ( iom_use("zustar") ) CALL iom_put( "zustar", tmask(:,:,1)*zustar )         ! friction velocity scale
-         IF ( iom_use("wind_power") ) CALL iom_put( "wind_power", 1000.*rau0*tmask(:,:,1)*zustar**3 ) ! BL depth internal to zdf_osm routine
-         IF ( iom_use("wind_wave_power") ) CALL iom_put( "wind_wave_power", 1000.*rau0*tmask(:,:,1)*zustar**2*zustke )
+         IF ( iom_use("wind_power") ) CALL iom_put( "wind_power", 1000.*rho0*tmask(:,:,1)*zustar**3 ) ! BL depth internal to zdf_osm routine
+         IF ( iom_use("wind_wave_power") ) CALL iom_put( "wind_wave_power", 1000.*rho0*tmask(:,:,1)*zustar**2*zustke )
          IF ( iom_use("zhbl") ) CALL iom_put( "zhbl", tmask(:,:,1)*zhbl )               ! BL depth internal to zdf_osm routine
          IF ( iom_use("zhml") ) CALL iom_put( "zhml", tmask(:,:,1)*zhml )               ! ML depth internal to zdf_osm routine
@@ -1500,5 +1500,5 @@
      imld_rst(:,:)  = nlb10         ! Initialization to the number of w ocean point
      hbl(:,:)  = 0._wp              ! here hbl used as a dummy variable, integrating vertically N^2
-     zN2_c = grav * rho_c * r1_rau0 ! convert density criteria into N^2 criteria
+     zN2_c = grav * rho_c * r1_rho0 ! convert density criteria into N^2 criteria
      !
      hbl(:,:)  = 0._wp              ! here hbl used as a dummy variable, integrating vertically N^2
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfric.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfric.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdfric.F90	(revision 12511)
@@ -174,5 +174,5 @@
          !
          DO_2D_00_00
-            zustar = SQRT( taum(ji,jj) * r1_rau0 )
+            zustar = SQRT( taum(ji,jj) * r1_rho0 )
             zhek   = rn_ekmfc * zustar / ( ABS( ff_t(ji,jj) ) + rsmall )   ! Ekman depth
             zh_ekm(ji,jj) = MAX(  rn_mldmin , MIN( zhek , rn_mldmax )  )   ! set allowed range
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdftke.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdftke.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/ZDF/zdftke.F90	(revision 12511)
@@ -206,7 +206,7 @@
       !!--------------------------------------------------------------------
       !
-      zbbrau = rn_ebb / rau0       ! Local constant initialisation
-      zfact1 = -.5_wp * rdt 
-      zfact2 = 1.5_wp * rdt * rn_ediss
+      zbbrau = rn_ebb / rho0       ! Local constant initialisation
+      zfact1 = -.5_wp * rn_Dt 
+      zfact2 = 1.5_wp * rn_Dt * rn_ediss
       zfact3 = 0.5_wp       * rn_ediss
       !
@@ -228,5 +228,5 @@
       !                     !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
       !
-      !   en(bot)   = (ebb0/rau0)*0.5*sqrt(u_botfr^2+v_botfr^2) (min value rn_emin)
+      !   en(bot)   = (ebb0/rho0)*0.5*sqrt(u_botfr^2+v_botfr^2) (min value rn_emin)
       ! where ebb0 does not includes surface wave enhancement (i.e. ebb0=3.75)
       ! Note that stress averaged is done using an wet-only calculation of u and v at t-point like in zdfsh2
@@ -237,5 +237,5 @@
             zmsku = ( 2. - umask(ji-1,jj,mbkt(ji,jj)) * umask(ji,jj,mbkt(ji,jj)) )
             zmskv = ( 2. - vmask(ji,jj-1,mbkt(ji,jj)) * vmask(ji,jj,mbkt(ji,jj)) )
-            !                       ! where 0.001875 = (rn_ebb0/rau0) * 0.5 = 3.75*0.5/1000. (CAUTION CdU<0)
+            !                       ! where 0.001875 = (rn_ebb0/rho0) * 0.5 = 3.75*0.5/1000. (CAUTION CdU<0)
             zebot = - 0.001875_wp * rCdU_bot(ji,jj) * SQRT(  ( zmsku*( uu(ji,jj,mbkt(ji,jj),Kbb)+uu(ji-1,jj,mbkt(ji,jj),Kbb) ) )**2  &
                &                                           + ( zmskv*( vv(ji,jj,mbkt(ji,jj),Kbb)+vv(ji,jj-1,mbkt(ji,jj),Kbb) ) )**2  )
@@ -246,5 +246,5 @@
                zmsku = ( 2. - umask(ji-1,jj,mikt(ji,jj)) * umask(ji,jj,mikt(ji,jj)) )
                zmskv = ( 2. - vmask(ji,jj-1,mikt(ji,jj)) * vmask(ji,jj,mikt(ji,jj)) )
-               !                             ! where 0.001875 = (rn_ebb0/rau0) * 0.5 = 3.75*0.5/1000.  (CAUTION CdU<0)
+               !                             ! where 0.001875 = (rn_ebb0/rho0) * 0.5 = 3.75*0.5/1000.  (CAUTION CdU<0)
                zetop = - 0.001875_wp * rCdU_top(ji,jj) * SQRT(  ( zmsku*( uu(ji,jj,mikt(ji,jj),Kbb)+uu(ji-1,jj,mikt(ji,jj),Kbb) ) )**2  &
                   &                                           + ( zmskv*( vv(ji,jj,mikt(ji,jj),Kbb)+vv(ji,jj-1,mikt(ji,jj),Kbb) ) )**2  )
@@ -288,5 +288,5 @@
                   zwlc = rn_lc * SIN( rpi * gdepw(ji,jj,jk,Kmm) / zhlc(ji,jj) )   ! warning: optimization: zus^3 is in zfr_i
                   !                                           ! TKE Langmuir circulation source term
-                  en(ji,jj,jk) = en(ji,jj,jk) + rdt * zfr_i(ji,jj) * ( zwlc * zwlc * zwlc ) / zhlc(ji,jj)
+                  en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * zfr_i(ji,jj) * ( zwlc * zwlc * zwlc ) / zhlc(ji,jj)
                ENDIF
             ENDIF
@@ -325,5 +325,5 @@
          !
          !                                   ! right hand side in en
-         en(ji,jj,jk) = en(ji,jj,jk) + rdt * (  p_sh2(ji,jj,jk)                          &   ! shear
+         en(ji,jj,jk) = en(ji,jj,jk) + rn_Dt * (  p_sh2(ji,jj,jk)                        &   ! shear
             &                                 - p_avt(ji,jj,jk) * rn2(ji,jj,jk)          &   ! stratification
             &                                 + zfact3 * dissl(ji,jj,jk) * en(ji,jj,jk)  &   ! dissipation
@@ -439,6 +439,6 @@
       zmxld(:,:,:)  = rmxl_min
       !
-      IF( ln_mxl0 ) THEN            ! surface mixing length = F(stress) : l=vkarmn*2.e5*taum/(rau0*g)
-         zraug = vkarmn * 2.e5_wp / ( rau0 * grav )
+      IF( ln_mxl0 ) THEN            ! surface mixing length = F(stress) : l=vkarmn*2.e5*taum/(rho0*g)
+         zraug = vkarmn * 2.e5_wp / ( rho0 * grav )
          DO_2D_00_00
             zmxlm(ji,jj,1) = MAX( rn_mxl0, zraug * taum(ji,jj) * tmask(ji,jj,1) )
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/nemogcm.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/nemogcm.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/nemogcm.F90	(revision 12511)
@@ -160,4 +160,7 @@
       !                            !==   time stepping   ==!
       !                            !-----------------------!
+      !
+      !                                               !== set the model time-step  ==!
+      !
       istp = nit000
       !
@@ -479,5 +482,5 @@
 
       !                                      ! Icebergs
-                           CALL icb_init( rdt, nit000)   ! initialise icebergs instance
+                           CALL icb_init( rn_Dt, nit000)   ! initialise icebergs instance
 
                                                 ! ice shelf
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/oce.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/oce.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/oce.F90	(revision 12511)
@@ -28,5 +28,5 @@
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:)     ::   rn2b ,  rn2    !: brunt-vaisala frequency**2     [s-2]
    !
-   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   rhd    !: in situ density anomalie rhd=(rho-rau0)/rau0  [no units]
+   REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   rhd    !: in situ density anomalie rhd=(rho-rho0)/rho0  [no units]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   rhop   !: potential volumic mass                           [kg/m3]
    REAL(wp), PUBLIC, ALLOCATABLE, SAVE, DIMENSION(:,:,:) ::   Cu_adv                   !: vertical Courant number (adaptive-implicit)
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/step.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/step.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/step.F90	(revision 12511)
@@ -102,4 +102,14 @@
       !
       !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
+      ! model timestep
+      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
+      !
+      IF( l_1st_euler ) THEN  
+         ! start or restart with Euler 1st time-step
+         rDt =  rn_Dt   
+         r1_Dt = 1._wp / rDt
+      ENDIF
+      !
+      !>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
       ! update I/O and calendar 
       !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
@@ -335,4 +345,10 @@
 #endif
       !
+      IF( l_1st_euler ) THEN         ! recover Leap-frog timestep
+         rDt = 2._wp * rn_Dt   
+         r1_Dt = 1._wp / rDt
+         l_1st_euler = .FALSE.      
+      ENDIF
+      !
       IF( ln_timing )   CALL timing_stop('stp')
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/OCE/timing.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OCE/timing.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OCE/timing.F90	(revision 12511)
@@ -390,5 +390,5 @@
             WRITE(numtime,'(A28,F11.6,A2, F4.1,A3,A25,I8)') 'Waiting  global time : ',timing_glob(4*ji-1)   &
                &                                                         , ' (',      zperc,' %)',   ' on MPI rank : ', ji
-            zsypd = rn_rdt * REAL(nitend-nit000-1, wp) / (timing_glob(4*ji) * 365.)
+            zsypd = rn_Dt * REAL(nitend-nit000-1, wp) / (timing_glob(4*ji) * 365.)
             WRITE(numtime,'(A28,F11.6,A7,F10.3,A2,A15,I8)') 'Total           time : ',timing_glob(4*ji  )   &
                &                                                         , ' (SYPD: ', zsypd, ')',   ' on MPI rank : ', ji
Index: NEMO/branches/2020/r12377_ticket2386/src/OFF/dtadyn.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/OFF/dtadyn.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/OFF/dtadyn.F90	(revision 12511)
@@ -546,5 +546,5 @@
       ENDIF
 
-      ssh(:,:,Kmm) = ssh(:,:,Kmm) + atfp * ( ssh(:,:,Kbb) - 2 * ssh(:,:,Kmm) + ssh(:,:,Kaa))  
+      ssh(:,:,Kmm) = ssh(:,:,Kmm) + rn_atfp * ( ssh(:,:,Kbb) - 2 * ssh(:,:,Kmm) + ssh(:,:,Kaa))  
 
       !! Do we also need to time filter e3t??
@@ -622,5 +622,5 @@
       !!----------------------------------------------------------------------
       !
-      z2dt = 2._wp * rdt
+      z2dt = 2._wp * rn_Dt
       !
       zhdiv(:,:) = 0._wp
@@ -629,5 +629,5 @@
       END DO
       !                                                ! Sea surface  elevation time-stepping
-      pssha(:,:) = ( psshb(:,:) - z2dt * ( r1_rau0 * pemp(:,:)  + zhdiv(:,:) ) ) * ssmask(:,:)
+      pssha(:,:) = ( psshb(:,:) - z2dt * ( r1_rho0 * pemp(:,:)  + zhdiv(:,:) ) ) * ssmask(:,:)
       !                                                 ! 
       !                                                 ! After acale factors at t-points ( z_star coordinate )
Index: NEMO/branches/2020/r12377_ticket2386/src/SAS/diawri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/SAS/diawri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/SAS/diawri.F90	(revision 12511)
@@ -174,12 +174,12 @@
       ENDIF
 #if defined key_diainstant
-      zsto = nn_write * rdt
+      zsto = nn_write * rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #else
-      zsto=rdt
+      zsto=rn_Dt
       clop = "ave("//TRIM(clop)//")"
 #endif
-      zout = nn_write * rdt
-      zmax = ( nitend - nit000 + 1 ) * rdt
+      zout = nn_write * rn_Dt
+      zmax = ( nitend - nit000 + 1 ) * rn_Dt
 
       ! Define indices of the horizontal output zoom and vertical limit storage
@@ -202,5 +202,5 @@
 
          ! Compute julian date from starting date of the run
-         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+         CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
          zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
          IF(lwp)WRITE(numout,*)
@@ -224,5 +224,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_T, "down" )
@@ -236,5 +236,5 @@
          CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_U, "down" )
@@ -248,5 +248,5 @@
          CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept
             &          "m", ipk, gdept_1d, nz_V, "down" )
@@ -261,5 +261,5 @@
             CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
                &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-               &          nit000-1, zjulian, rdt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )
+               &          nit000-1, zjulian, rn_Dt, nh_A, nid_A, domain_id=nidom, snc4chunks=snc4set )
             CALL histvert( nid_A, "ght_abl", "Vertical T levels",      &  ! Vertical grid: gdept
                &           "m", ipka, ght_abl(2:jpka), nz_A, "up" )
Index: NEMO/branches/2020/r12377_ticket2386/src/SAS/nemogcm.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/SAS/nemogcm.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/SAS/nemogcm.F90	(revision 12511)
@@ -378,5 +378,5 @@
                            CALL bdy_init
       ! ==>
-                           CALL icb_init( rdt, nit000)   ! initialise icebergs instance
+                           CALL icb_init( rn_Dt, nit000)   ! initialise icebergs instance
       !
       IF(lwp) WRITE(numout,cform_aaa)           ! Flag AAAAAAA
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcatm_c14.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcatm_c14.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcatm_c14.F90	(revision 12511)
@@ -223,5 +223,5 @@
       IF(kc14typ >= 1) THEN  ! Transient C14 & CO2
       !
-         tyrc14_now = tyrc14_now + ( rdt / ( rday * nyear_len(1)) )    !  current time step in yr relative to tyrc14_beg
+         tyrc14_now = tyrc14_now + ( rn_Dt / ( rday * nyear_len(1)) )    !  current time step in yr relative to tyrc14_beg
       !
       ! CO2 --------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcsms_c14.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcsms_c14.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/C14/trcsms_c14.F90	(revision 12511)
@@ -124,5 +124,5 @@
             
       ! cumulation of air-to-sea flux at each time step
-      qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rdttrc
+      qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rn_Dt
       !
       ! Add the surface flux to the trend of jp_c14
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/CFC/trcsms_cfc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/CFC/trcsms_cfc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/CFC/trcsms_cfc.F90	(revision 12511)
@@ -166,5 +166,5 @@
 
             ! cumulation of surface flux at each time step
-            qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rdt
+            qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rn_Dt
             !                                               !----------------!
          END_2D
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P2Z/p2zexp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P2Z/p2zexp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P2Z/p2zexp.F90	(revision 12511)
@@ -98,5 +98,5 @@
          zwork = vsed * tr(ji,jj,ikt,jpdet,Kmm)
          zsedpoca(ji,jj) = ( zwork + dminl(ji,jj) * xksi(ji,jj)   &
-            &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rdt
+            &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rn_Dt
          zgeolpoc = zgeolpoc + sedlostpoc * sedpocn(ji,jj) * e1e2t(ji,jj)
       END_2D
@@ -114,6 +114,6 @@
       ! Time filter and swap of arrays
       ! ------------------------------
-      IF( neuler == 0 .AND. kt == nittrc000 ) THEN        ! Euler time-stepping at first time-step
-        !                                             ! (only swap)
+      IF( l_1st_euler ) THEN        ! Euler time-stepping at first time-step
+        !                           ! (only swap)
         sedpocn(:,:) = zsedpoca(:,:)
         !                                              
@@ -122,5 +122,5 @@
         DO_2D_11_11
            zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers
-           sedpocb(ji,jj) = sedpocn(ji,jj) + atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn
+           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn
            sedpocn(ji,jj) = zsedpoca(ji,jj)                                       ! sedpocn <-- sedpoca
         END_2D
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsms.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsms.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/P4Z/p4zsms.F90	(revision 12511)
@@ -90,5 +90,5 @@
       IF( ln_pisdmp .AND. MOD( kt - 1, nn_pisdmp ) == 0 )   CALL p4z_dmp( kt, Kbb, Kmm )      ! Relaxation of some tracers
       !
-      rfact = r2dttrc
+      rfact = rDt_trc
       !
       ! trends computation initialisation
@@ -106,10 +106,10 @@
          xfact = 1.e+3 * rfact2r
          IF(lwp) WRITE(numout,*) 
-         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt
+         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rn_Dt = ', rn_Dt
          IF(lwp) write(numout,*) '    PISCES  Biology time step    rfact2 = ', rfact2
          IF(lwp) WRITE(numout,*)
       ENDIF
 
-      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN
+      IF( l_1st_euler .OR. ln_top_euler ) THEN
          DO jn = jp_pcs0, jp_pcs1              !   SMS on tracer without Asselin time-filter
             tr(:,:,:,jn,Kbb) = tr(:,:,:,jn,Kmm)
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/oce_sed.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/oce_sed.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/oce_sed.F90	(revision 12511)
@@ -18,5 +18,5 @@
    USE dom_oce , ONLY :   mbkt      =>   mbkt           !: vertical index of the bottom last T- ocean level
    USE dom_oce , ONLY :   tmask     =>   tmask          !: land/ocean mask at t-points
-   USE dom_oce , ONLY :   rdt       =>   rdt            !: time step for the dynamics
+   USE dom_oce , ONLY :   rn_Dt     =>   rn_Dt          !: time step for the dynamics
    USE dom_oce , ONLY :   nyear     =>   nyear          !: Current year
    USE dom_oce , ONLY :   ndastp    =>   ndastp         !: time step date in year/month/day aammjj
@@ -50,5 +50,5 @@
    USE p4zche, ONLY     : sio3eq    =>   sio3eq          !: Chemical constants  
    USE p4zbc, ONLY     : dust      =>   dust
-   USE trc  , ONLY : r2dttrc   =>   r2dttrc
+   USE trc  , ONLY : rDt_trc   =>   rDt_trc
 
 END MODULE oce_sed
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/seddta.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/seddta.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/seddta.F90	(revision 12511)
@@ -75,5 +75,5 @@
       IF( kt == nitsed000 ) THEN
          IF (lwp) WRITE(numsed,*) ' sed_dta : Sediment fields'
-         dtsed = r2dttrc
+         dtsed = rDt_trc
          rsecday = 60.* 60. * 24.
 !         conv2   = 1.0e+3 / ( 1.0e+4 * rsecday * 30. )
@@ -103,5 +103,5 @@
          DO_2D_11_11
             ikt = mbkt(ji,jj)
-            zdep = e3t(ji,jj,ikt,Kmm) / r2dttrc
+            zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc
             zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) / rday )
             zwsbio3(ji,jj) = MIN( 0.99 * zdep, wsbio3(ji,jj,ikt) / rday )
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedini.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedini.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedini.F90	(revision 12511)
@@ -488,5 +488,5 @@
 
       jpksedm1  = jpksed - 1
-      dtsed = r2dttrc
+      dtsed = rDt_trc
 
       READ  ( numnamsed_ref, nam_trased, IOSTAT = ios, ERR = 905)
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedrst.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedrst.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedrst.F90	(revision 12511)
@@ -330,5 +330,5 @@
       !!       In both those options, the  exact duration of the experiment
       !!       since the beginning (cumulated duration of all previous restart runs)
-      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rdt.
+      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt.
       !!       This is valid is the time step has remained constant.
       !!
@@ -381,5 +381,5 @@
              ELSE
                ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam
-               adatrj = ( REAL( nittrc000-1, wp ) * rdt ) / rday
+               adatrj = ( REAL( nittrc000-1, wp ) * rn_Dt ) / rday
                ! note this is wrong if time step has changed during run
             ENDIF
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedstp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedstp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedstp.F90	(revision 12511)
@@ -55,5 +55,5 @@
       IF(ln_sediment_offline)   CALL trc_dmp_sed  ( kt, Kbb, Kmm, Krhs )
 
-      dtsed  = r2dttrc
+      dtsed  = rDt_trc
 !      dtsed2 = dtsed
       IF (kt /= nitsed000) THEN
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedwri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedwri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/PISCES/SED/sedwri.F90	(revision 12511)
@@ -94,5 +94,5 @@
          DO ji = 1, jpoce
             zflx(ji,jw) = ( pwcp(ji,1,jw) - pwcp_dta(ji,jw) ) &
-               &         * 1.e3 / 1.e2 * dzkbot(ji) / r2dttrc
+               &         * 1.e3 / 1.e2 * dzkbot(ji) / rDt_trc
          ENDDO
       ENDDO
@@ -100,5 +100,5 @@
       ! Calculation of accumulation rate per dt
       DO js = 1, jpsol
-         zrate =  1.0 / ( denssol * por1(jpksed) ) / r2dttrc
+         zrate =  1.0 / ( denssol * por1(jpksed) ) / rDt_trc
          DO ji = 1, jpoce
             zflx(ji,jpwatp1) = zflx(ji,jpwatp1) + ( tosed(ji,js) - fromsed(ji,js) ) * zrate
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcadv.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcadv.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcadv.F90	(revision 12511)
@@ -125,11 +125,11 @@
          CALL tra_adv_cen( kt, nittrc000,'TRC',          zuu, zvv, zww,      Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v )
       CASE ( np_FCT )                                 ! FCT      : 2nd / 4th order
-         CALL tra_adv_fct( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v )
+         CALL tra_adv_fct( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v )
       CASE ( np_MUS )                                 ! MUSCL
-         CALL tra_adv_mus( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups         ) 
+         CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups         ) 
       CASE ( np_UBS )                                 ! UBS
-         CALL tra_adv_ubs( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v           )
+         CALL tra_adv_ubs( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v           )
       CASE ( np_QCK )                                 ! QUICKEST
-         CALL tra_adv_qck( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs                     )
+         CALL tra_adv_qck( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs                     )
       !
       END SELECT
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcatf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcatf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcatf.F90	(revision 12511)
@@ -71,5 +71,5 @@
       !!      the divergence of two consecutive time-steps and tr arrays
       !!      to prepare the next time_step:
-      !!         (tr(Kmm)) = (tr(Kmm)) + atfp [ (tr(Kbb)) + (tr(Kaa)) - 2 (tr(Kmm)) ]
+      !!         (tr(Kmm)) = (tr(Kmm)) + rn_atfp [ (tr(Kbb)) + (tr(Kaa)) - 2 (tr(Kmm)) ]
       !!
       !!
@@ -111,5 +111,5 @@
 
          ! total trend for the non-time-filtered variables. 
-         zfact = 1.0 / rdttrc
+         zfact = 1.0 / rn_Dt
          ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn cancel from ts(Kmm) terms
          IF( ln_linssh ) THEN       ! linear sea surface height only
@@ -139,5 +139,5 @@
       ENDIF
       !                                ! Leap-Frog + Asselin filter time stepping
-      IF( (neuler == 0 .AND. kt == nittrc000) .OR. ln_top_euler ) THEN    ! Euler time-stepping 
+      IF( l_1st_euler .OR. ln_top_euler ) THEN    ! Euler time-stepping 
          !
          IF (l_trdtrc .AND. .NOT. ln_linssh ) THEN   ! Zero Asselin filter contribution must be explicitly written out since for vvl
@@ -152,5 +152,5 @@
          IF( .NOT. l_offline ) THEN ! Leap-Frog + Asselin filter time stepping
             IF( ln_linssh ) THEN   ;   CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nittrc000,         'TRC', ptr, jptra )                     !     linear ssh
-            ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nittrc000, rdttrc, 'TRC', ptr, sbc_trc, sbc_trc_b, jptra ) ! non-linear ssh
+            ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nittrc000, rn_Dt, 'TRC', ptr, sbc_trc, sbc_trc_b, jptra ) ! non-linear ssh
             ENDIF
          ELSE
@@ -164,5 +164,5 @@
          DO jn = 1, jptra
             DO jk = 1, jpkm1
-               zfact = 1._wp / r2dttrc  
+               zfact = 1._wp / rDt_trc  
                ztrdt(:,:,jk,jn) = ( ptr(:,:,jk,jn,Kbb) - ztrdt(:,:,jk,jn) ) * zfact 
             END DO
@@ -200,6 +200,6 @@
       !!                  /( e3t(:,:,:,Kmm)    + rbcp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] )   
       !!             ztm = 0                                                       otherwise
-      !!             tb  = ( e3t_n*tn + atfp*[ e3t_b*tb - 2 e3t_n*tn + e3t_a*ta ] )
-      !!                  /( e3t(:,:,:,Kmm)    + atfp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] )
+      !!             tb  = ( e3t_n*tn + rn_atfp*[ e3t_b*tb - 2 e3t_n*tn + e3t_a*ta ] )
+      !!                  /( e3t(:,:,:,Kmm)    + rn_atfp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] )
       !!             tn  = ta 
       !!             ta  = zt        (NB: reset to 0 after eos_bn2 call)
@@ -222,6 +222,6 @@
          IF(lwp) WRITE(numout,*) '~~~~~~~~~~~'
          IF( .NOT. ln_linssh ) THEN
-            rfact1 = atfp * rdttrc
-            rfact2 = rfact1 / rau0
+            rfact1 = rn_atfp * rn_Dt
+            rfact2 = rfact1 / rho0
          ENDIF
         !  
@@ -241,6 +241,6 @@
             ztc_d  = ztc_a  - 2. * ztc_n  + ztc_b
             !
-            ze3t_f = ze3t_n + atfp * ze3t_d
-            ztc_f  = ztc_n  + atfp * ztc_d
+            ze3t_f = ze3t_n + rn_atfp * ze3t_d
+            ztc_f  = ztc_n  + rn_atfp * ztc_d
             !
             IF( .NOT. ln_linssh .AND. jk == mikt(ji,jj) ) THEN           ! first level 
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcrad.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcrad.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcrad.F90	(revision 12511)
@@ -147,5 +147,5 @@
      !
      IF( l_trdtrc )   ALLOCATE( ztrtrd(jpi,jpj,jpk) )
-     zs2rdt = 1. / ( 2. * rdt )
+     zs2rdt = 1. / ( 2. * rn_Dt )
      !
      DO jt = 1,2  ! Loop over time indices since exactly the same fix is applied to "now" and "after" fields
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcsbc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcsbc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trcsbc.F90	(revision 12511)
@@ -121,5 +121,5 @@
          DO jn = 1, jptra
             DO_2D_01_00
-               sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rau0 * ptr(ji,jj,1,jn,Kmm)
+               sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rho0 * ptr(ji,jj,1,jn,Kmm)
             END_2D
          END DO
@@ -129,5 +129,5 @@
          DO jn = 1, jptra
             DO_2D_01_00
-               sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rau0 * ptr(ji,jj,1,jn,Kmm)
+               sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rho0 * ptr(ji,jj,1,jn,Kmm)
             END_2D
          END DO
@@ -145,7 +145,7 @@
                ztfx  = zftra                        ! net tracer flux
                !
-               zdtra = r1_rau0 * ( ztfx + ( zsfx(ji,jj) + fmmflx(ji,jj) ) * ptr(ji,jj,1,jn,Kmm) ) 
+               zdtra = r1_rho0 * ( ztfx + ( zsfx(ji,jj) + fmmflx(ji,jj) ) * ptr(ji,jj,1,jn,Kmm) ) 
                IF ( zdtra < 0. ) THEN
-                  zdtra  = MAX(zdtra, -ptr(ji,jj,1,jn,Kmm) * e3t(ji,jj,1,Kmm) / r2dttrc )   ! avoid negative concentrations to arise
+                  zdtra  = MAX(zdtra, -ptr(ji,jj,1,jn,Kmm) * e3t(ji,jj,1,Kmm) / rDt_trc )   ! avoid negative concentrations to arise
                ENDIF
                sbc_trc(ji,jj,jn) =  zdtra 
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trczdf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trczdf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trczdf.F90	(revision 12511)
@@ -56,10 +56,10 @@
       IF( l_trdtrc )   ztrtrd(:,:,:,:)  = ptr(:,:,:,:,Krhs)
       !
-      CALL tra_zdf_imp( kt, nittrc000, 'TRC', r2dttrc, Kbb, Kmm, Krhs, ptr, Kaa, jptra )    !   implicit scheme          
+      CALL tra_zdf_imp( kt, nittrc000, 'TRC', rDt_trc, Kbb, Kmm, Krhs, ptr, Kaa, jptra )    !   implicit scheme          
       !
       IF( l_trdtrc )   THEN                      ! save the vertical diffusive trends for further diagnostics
          DO jn = 1, jptra
             DO jk = 1, jpkm1
-               ztrtrd(:,:,jk,jn) = ( ( ptr(:,:,jk,jn,Kaa) - ptr(:,:,jk,jn,Kbb) ) / r2dttrc ) - ztrtrd(:,:,jk,jn)
+               ztrtrd(:,:,jk,jn) = ( ( ptr(:,:,jk,jn,Kaa) - ptr(:,:,jk,jn,Kbb) ) / rDt_trc ) - ztrtrd(:,:,jk,jn)
             END DO
             CALL trd_tra( kt, Kmm, Krhs, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) )
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trdmxl_trc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trdmxl_trc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/TRP/trdmxl_trc.F90	(revision 12511)
@@ -401,9 +401,9 @@
          DO jn = 1, jptra
             IF( ln_trdtrc(jn) ) THEN
-               !-- Compute total trends    (use rdttrc instead of rdt ???)
+               !-- Compute total trends 
                IF ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) THEN  ! EULER-FORWARD schemes
-                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rdt
+                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rn_Dt
                ELSE                                                                     ! LEAP-FROG schemes
-                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*rdt)
+                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*rn_Dt)
                ENDIF
                
@@ -439,5 +439,5 @@
             IF( ln_trdtrc(jn) ) THEN
                tml_sum_trc(:,:,jn) = tmlbn_trc(:,:,jn) + 2 * ( tml_sum_trc(:,:,jn) - tml_trc(:,:,jn) ) + tml_trc(:,:,jn)
-               ztmltot2   (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) /  ( 2.*rdt )    ! now tracer unit is /sec
+               ztmltot2   (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) /  ( 2.*rn_Dt )    ! now tracer unit is /sec
             ENDIF
          END DO
@@ -852,15 +852,15 @@
          CALL ctl_stop( 'STOP', 'trd_mxl_trc : this was never checked. Comment this line to proceed...' )
       ENDIF
-      zsto = nn_trd_trc * rdt
+      zsto = nn_trd_trc * rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #  else
       IF( ln_trdmxl_trc_instant ) THEN
-         zsto = rdt                                               ! inst. diags : we use IOIPSL time averaging
+         zsto = rn_Dt                                               ! inst. diags : we use IOIPSL time averaging
       ELSE
-         zsto = nn_trd_trc * rdt                                    ! mean  diags : we DO NOT use any IOIPSL time averaging
+         zsto = nn_trd_trc * rn_Dt                                    ! mean  diags : we DO NOT use any IOIPSL time averaging
       ENDIF
       clop = "ave("//TRIM(clop)//")"
 #  endif
-      zout = nn_trd_trc * rdt
+      zout = nn_trd_trc * rn_Dt
       iiter = nittrc000 - 1
 
@@ -869,5 +869,5 @@
       ! II.2 Compute julian date from starting date of the run
       ! ------------------------------------------------------
-      CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+      CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
       zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
       IF(lwp) WRITE(numout,*)' '  
@@ -901,5 +901,5 @@
             CALL dia_nam( clhstnam, nn_trd_trc, csuff )
             CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,                                            &
-               &        1, jpi, 1, jpj, iiter, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set )
+               &        1, jpi, 1, jpj, iiter, zjulian, rn_Dt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set )
       
             !-- Define the ML depth variable
@@ -938,5 +938,5 @@
                CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jl,2)), clmxl//" "//clvar//ctrd_trc(jl,1),                      & 
                  &    cltrcu, jpi, jpj, nh_t(jn), 1  , 1, 1  , -99 , 32, clop, zsto, zout ) ! IOIPSL: time mean
-            END DO                                                                         ! if zsto=rdt above
+            END DO                                                                         ! if zsto=rn_Dt above
          
             CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jpmxl_trc_radb,2)), clmxl//" "//clvar//ctrd_trc(jpmxl_trc_radb,1), & 
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/oce_trc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/oce_trc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/oce_trc.F90	(revision 12511)
@@ -39,5 +39,5 @@
    USE oce , ONLY :   ts     =>    ts     !: 4D array contaning ( tn, sn )
    USE oce , ONLY :   rhop   =>    rhop   !: potential volumic mass (kg m-3) 
-   USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units)
+   USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rho0)/rho0 (no units)
    USE oce , ONLY :   hdiv   =>    hdiv   !: horizontal divergence (1/s)
    USE oce , ONLY :   ssh    =>    ssh    !: sea surface height at t-point [m]   
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/trc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/trc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/trc.F90	(revision 12511)
@@ -61,6 +61,5 @@
    CHARACTER(len = 80) , PUBLIC ::   cn_trcrst_out      !: suffix of pass. tracer restart name (output)
    CHARACTER(len = 256), PUBLIC ::   cn_trcrst_outdir   !: restart output directory
-   REAL(wp)            , PUBLIC ::   rdttrc             !: passive tracer time step
-   REAL(wp)            , PUBLIC ::   r2dttrc            !: = 2*rdttrc except at nit000 (=rdttrc) if neuler=0
+   REAL(wp)            , PUBLIC ::   rDt_trc            !: = 2*rn_Dt except at nit000 (=rn_Dt) if l_1st_euler=.true.
    LOGICAL             , PUBLIC ::   ln_top_euler       !: boolean term for euler integration 
    LOGICAL             , PUBLIC ::   ln_trcdta          !: Read inputs data from files
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/trcbc.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/trcbc.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/trcbc.F90	(revision 12511)
@@ -416,5 +416,5 @@
             DO_2D_01_00
                DO jk = 1, nk_rnf(ji,jj)
-                  zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rau0 / h_rnf(ji,jj)
+                  zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rho0 / h_rnf(ji,jj)
                   ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs)  + (ptr(ji,jj,jk,jn,Kmm) * zrnf)
                END DO
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/trcnam.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/trcnam.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/trcnam.F90	(revision 12511)
@@ -76,9 +76,7 @@
       ENDIF
       !
-      rdttrc = rdt                              ! passive tracer time-step      
-      ! 
       IF(lwp) THEN                              ! control print
         WRITE(numout,*) 
-        WRITE(numout,*) '   ==>>>   Passive Tracer  time step    rdttrc = rdt = ', rdttrc
+        WRITE(numout,*) '   ==>>>   Passive Tracer time step = rn_Dt = ', rn_Dt
       ENDIF
       !
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/trcrst.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/trcrst.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/trcrst.F90	(revision 12511)
@@ -136,5 +136,5 @@
       !!----------------------------------------------------------------------
       !
-      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc )   ! passive tracer time step
+      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rn_Dt )   ! passive tracer time step (= ocean time step)
       ! prognostic variables 
       ! -------------------- 
@@ -183,5 +183,5 @@
       !!       In both those options, the  exact duration of the experiment
       !!       since the beginning (cumulated duration of all previous restart runs)
-      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rdt.
+      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt.
       !!       This is valid is the time step has remained constant.
       !!
@@ -263,5 +263,5 @@
                nminute = ( nn_time0 - nhour * 100 )
                IF( nhour*3600+nminute*60-ndt05 .lt. 0 )  ndastp=ndastp-1      ! Start hour is specified in the namelist (default 0)
-               adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday
+               adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday
                ! note this is wrong if time step has changed during run
             ENDIF
@@ -276,6 +276,6 @@
             ENDIF
             !
-            IF( ln_rsttr )  THEN   ;    neuler = 1
-            ELSE                   ;    neuler = 0
+            IF( ln_rsttr )  THEN   ;    l_1st_euler = .false.
+            ELSE                   ;    l_1st_euler = .true.
             ENDIF
             !
Index: NEMO/branches/2020/r12377_ticket2386/src/TOP/trcstp.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/src/TOP/trcstp.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/src/TOP/trcstp.F90	(revision 12511)
@@ -64,8 +64,8 @@
       IF( ln_timing )   CALL timing_start('trc_stp')
       !
-      IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN     ! at nittrc000
-         r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping)
+      IF( l_1st_euler .OR. ln_top_euler ) THEN     ! at nittrc000
+         rDt_trc =  rn_Dt           ! = rn_Dt (use or restarting with Euler time stepping)
       ELSEIF( kt <= nittrc000 + 1 ) THEN                                     ! at nittrc000 or nittrc000+1 
-         r2dttrc = 2. * rdttrc       ! = 2 rdttrc (leapfrog) 
+         rDt_trc = 2. * rn_Dt       ! = 2 rn_Dt (leapfrog) 
       ENDIF
       !
@@ -177,5 +177,5 @@
             nb_rec_per_day = ncpl_qsr_freq
          ELSE  
-            rdt_sampl = MAX( 3600., rdttrc )
+            rdt_sampl = MAX( 3600., rn_Dt )
             nb_rec_per_day = INT( rday / rdt_sampl )
          ENDIF
@@ -196,5 +196,5 @@
 
             CALL iom_get( numrtr, 'ktdcy', zkt )  
-            rsecfst = INT( zkt ) * rdttrc
+            rsecfst = INT( zkt ) * rn_Dt
             IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file at time-step rsecfst =', rsecfst, ' s '
             CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean )   !  A mean of qsr
@@ -217,5 +217,5 @@
          ELSE                                         !* no restart: set from nit000 values
             IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean set to nit000 values'
-            rsecfst  = kt * rdttrc
+            rsecfst  = kt * rn_Dt
             !
             qsr_mean(:,:) = qsr(:,:)
@@ -227,5 +227,5 @@
       ENDIF
       !
-      rseclast = kt * rdttrc
+      rseclast = kt * rn_Dt
       !
       llnew   = ( rseclast - rsecfst ) .ge.  rdt_sampl    !   new shortwave to store
Index: NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca025_like
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca025_like	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca025_like	(revision 12511)
@@ -36,5 +36,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =    900.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    900.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -189,5 +189,5 @@
    ln_dynspg_ts   = .true.   ! split-explicit free surface
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  30         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  30         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca12_like
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca12_like	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca12_like	(revision 12511)
@@ -36,5 +36,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =    300.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    300.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -188,5 +188,5 @@
    ln_dynspg_ts   = .true.   ! split-explicit free surface
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  30         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  30         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca1_like
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca1_like	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/BENCH/EXPREF/namelist_cfg_orca1_like	(revision 12511)
@@ -36,5 +36,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =   3600.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   3600.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -188,5 +188,5 @@
    ln_dynspg_ts   = .true.   ! split-explicit free surface
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  30         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  30         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/BENCH/MY_SRC/diawri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/BENCH/MY_SRC/diawri.F90	(revision 12499)
+++ 	(revision )
@@ -1,504 +1,0 @@
-MODULE diawri
-   !!======================================================================
-   !!                     ***  MODULE  diawri  ***
-   !! Ocean diagnostics :  write ocean output files
-   !!=====================================================================
-   !! History :  OPA  ! 1991-03  (M.-A. Foujols)  Original code
-   !!            4.0  ! 1991-11  (G. Madec)
-   !!                 ! 1992-06  (M. Imbard)  correction restart file
-   !!                 ! 1992-07  (M. Imbard)  split into diawri and rstwri
-   !!                 ! 1993-03  (M. Imbard)  suppress writibm
-   !!                 ! 1998-01  (C. Levy)  NETCDF format using ioipsl INTERFACE
-   !!                 ! 1999-02  (E. Guilyardi)  name of netCDF files + variables
-   !!            8.2  ! 2000-06  (M. Imbard)  Original code (diabort.F)
-   !!   NEMO     1.0  ! 2002-06  (A.Bozec, E. Durand)  Original code (diainit.F)
-   !!             -   ! 2002-09  (G. Madec)  F90: Free form and module
-   !!             -   ! 2002-12  (G. Madec)  merge of diabort and diainit, F90
-   !!                 ! 2005-11  (V. Garnier) Surface pressure gradient organization
-   !!            3.2  ! 2008-11  (B. Lemaire) creation from old diawri
-   !!            3.7  ! 2014-01  (G. Madec) remove eddy induced velocity from no-IOM output
-   !!                 !                     change name of output variables in dia_wri_state
-   !!----------------------------------------------------------------------
-
-   !!----------------------------------------------------------------------
-   !!   dia_wri       : create the standart output files
-   !!   dia_wri_state : create an output NetCDF file for a single instantaeous ocean state and forcing fields
-   !!----------------------------------------------------------------------
-   USE oce            ! ocean dynamics and tracers 
-   USE dom_oce        ! ocean space and time domain
-   USE phycst         ! physical constants
-   USE dianam         ! build name of file (routine)
-   USE diahth         ! thermocline diagnostics
-   USE dynadv   , ONLY: ln_dynadv_vec
-   USE icb_oce        ! Icebergs
-   USE icbdia         ! Iceberg budgets
-   USE ldftra         ! lateral physics: eddy diffusivity coef.
-   USE ldfdyn         ! lateral physics: eddy viscosity   coef.
-   USE sbc_oce        ! Surface boundary condition: ocean fields
-   USE sbc_ice        ! Surface boundary condition: ice fields
-   USE sbcssr         ! restoring term toward SST/SSS climatology
-   USE sbcwave        ! wave parameters
-   USE wet_dry        ! wetting and drying
-   USE zdf_oce        ! ocean vertical physics
-   USE zdfdrg         ! ocean vertical physics: top/bottom friction
-   USE zdfmxl         ! mixed layer
-   !
-   USE lbclnk         ! ocean lateral boundary conditions (or mpp link)
-   USE in_out_manager ! I/O manager
-   USE diatmb         ! Top,middle,bottom output
-   USE dia25h         ! 25h Mean output
-   USE iom            ! 
-   USE ioipsl         ! 
-
-#if defined key_si3
-   USE ice 
-   USE icewri 
-#endif
-   USE lib_mpp         ! MPP library
-   USE timing          ! preformance summary
-   USE diu_bulk        ! diurnal warm layer
-   USE diu_coolskin    ! Cool skin
-
-   IMPLICIT NONE
-   PRIVATE
-
-   PUBLIC   dia_wri                 ! routines called by step.F90
-   PUBLIC   dia_wri_state
-   PUBLIC   dia_wri_alloc           ! Called by nemogcm module
-
-   INTEGER ::   nid_T, nz_T, nh_T, ndim_T, ndim_hT   ! grid_T file
-   INTEGER ::          nb_T              , ndim_bT   ! grid_T file
-   INTEGER ::   nid_U, nz_U, nh_U, ndim_U, ndim_hU   ! grid_U file
-   INTEGER ::   nid_V, nz_V, nh_V, ndim_V, ndim_hV   ! grid_V file
-   INTEGER ::   nid_W, nz_W, nh_W                    ! grid_W file
-   INTEGER ::   ndex(1)                              ! ???
-   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_hT, ndex_hU, ndex_hV
-   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_T, ndex_U, ndex_V
-   INTEGER, SAVE, ALLOCATABLE, DIMENSION(:) :: ndex_bT
-
-   !!----------------------------------------------------------------------
-   !! NEMO/OCE 4.0 , NEMO Consortium (2018)
-   !! $Id: diawri.F90 9598 2018-05-15 22:47:16Z nicolasmartin $
-   !! Software governed by the CeCILL licence     (./LICENSE)
-   !!----------------------------------------------------------------------
-CONTAINS
-
-#if defined key_iomput
-   !!----------------------------------------------------------------------
-   !!   'key_iomput'                                        use IOM library
-   !!----------------------------------------------------------------------
-   INTEGER FUNCTION dia_wri_alloc()
-      !
-      dia_wri_alloc = 0
-      !
-   END FUNCTION dia_wri_alloc
-
-   
-   SUBROUTINE dia_wri( kt, Kmm )
-      !!---------------------------------------------------------------------
-      !!                  ***  ROUTINE dia_wri  ***
-      !!                   
-      !! ** Purpose :   Standard output of opa: dynamics and tracer fields 
-      !!      NETCDF format is used by default 
-      !!
-      !! ** Method  :  use iom_put
-      !!----------------------------------------------------------------------
-      INTEGER, INTENT( in ) ::   kt      ! ocean time-step index
-      INTEGER, INTENT( in ) ::   Kmm     ! ocean time level index
-      !!
-      INTEGER ::   ji, jj, jk       ! dummy loop indices
-      INTEGER ::   ikbot            ! local integer
-      REAL(wp)::   zztmp , zztmpx   ! local scalar
-      REAL(wp)::   zztmp2, zztmpy   !   -      -
-      REAL(wp), DIMENSION(jpi,jpj)     ::   z2d   ! 2D workspace
-      REAL(wp), DIMENSION(jpi,jpj,jpk) ::   z3d   ! 3D workspace
-      !!----------------------------------------------------------------------
-      ! 
-      IF( ln_timing )   CALL timing_start('dia_wri')
-      ! 
-      ! Output the initial state and forcings
-      IF( ninist == 1 ) THEN                       
-         CALL dia_wri_state( Kmm, 'output.init' )
-         ninist = 0
-      ENDIF
-
-      ! Output of initial vertical scale factor
-      CALL iom_put("e3t_0", e3t_0(:,:,:) )
-      CALL iom_put("e3u_0", e3u_0(:,:,:) )
-      CALL iom_put("e3v_0", e3v_0(:,:,:) )
-      !
-      CALL iom_put( "e3t" , e3t(:,:,:,Kmm) )
-      CALL iom_put( "e3u" , e3u(:,:,:,Kmm) )
-      CALL iom_put( "e3v" , e3v(:,:,:,Kmm) )
-      CALL iom_put( "e3w" , e3w(:,:,:,Kmm) )
-      IF( iom_use("e3tdef") )   &
-         CALL iom_put( "e3tdef"  , ( ( e3t(:,:,:,Kmm) - e3t_0(:,:,:) ) / e3t_0(:,:,:) * 100 * tmask(:,:,:) ) ** 2 )
-
-      IF( ll_wd ) THEN
-         CALL iom_put( "ssh" , (ssh(:,:,Kmm)+ssh_ref)*tmask(:,:,1) )   ! sea surface height (brought back to the reference used for wetting and drying)
-      ELSE
-         CALL iom_put( "ssh" , ssh(:,:,Kmm) )              ! sea surface height
-      ENDIF
-
-      IF( iom_use("wetdep") )   &                  ! wet depth
-         CALL iom_put( "wetdep" , ht_0(:,:) + ssh(:,:,Kmm) )
-      
-      CALL iom_put( "toce", ts(:,:,:,jp_tem,Kmm) )    ! 3D temperature
-      CALL iom_put(  "sst", ts(:,:,1,jp_tem,Kmm) )    ! surface temperature
-      IF ( iom_use("sbt") ) THEN
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               ikbot = mbkt(ji,jj)
-               z2d(ji,jj) = ts(ji,jj,ikbot,jp_tem,Kmm)
-            END DO
-         END DO
-         CALL iom_put( "sbt", z2d )                ! bottom temperature
-      ENDIF
-      
-      CALL iom_put( "soce", ts(:,:,:,jp_sal,Kmm) )    ! 3D salinity
-      CALL iom_put(  "sss", ts(:,:,1,jp_sal,Kmm) )    ! surface salinity
-      IF ( iom_use("sbs") ) THEN
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               ikbot = mbkt(ji,jj)
-               z2d(ji,jj) = ts(ji,jj,ikbot,jp_sal,Kmm)
-            END DO
-         END DO
-         CALL iom_put( "sbs", z2d )                ! bottom salinity
-      ENDIF
-
-      IF ( iom_use("taubot") ) THEN                ! bottom stress
-         zztmp = rau0 * 0.25
-         z2d(:,:) = 0._wp
-         DO jj = 2, jpjm1
-            DO ji = fs_2, fs_jpim1   ! vector opt.
-               zztmp2 = (  ( rCdU_bot(ji+1,jj)+rCdU_bot(ji  ,jj) ) * uu(ji  ,jj,mbku(ji  ,jj),Kmm)  )**2   &
-                  &   + (  ( rCdU_bot(ji  ,jj)+rCdU_bot(ji-1,jj) ) * uu(ji-1,jj,mbku(ji-1,jj),Kmm)  )**2   &
-                  &   + (  ( rCdU_bot(ji,jj+1)+rCdU_bot(ji,jj  ) ) * vv(ji,jj  ,mbkv(ji,jj  ),Kmm)  )**2   &
-                  &   + (  ( rCdU_bot(ji,jj  )+rCdU_bot(ji,jj-1) ) * vv(ji,jj-1,mbkv(ji,jj-1),Kmm)  )**2
-               z2d(ji,jj) = zztmp * SQRT( zztmp2 ) * tmask(ji,jj,1) 
-               !
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'T', 1. )
-         CALL iom_put( "taubot", z2d )           
-      ENDIF
-         
-      CALL iom_put( "uoce", uu(:,:,:,Kmm) )            ! 3D i-current
-      CALL iom_put(  "ssu", uu(:,:,1,Kmm) )            ! surface i-current
-      IF ( iom_use("sbu") ) THEN
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               ikbot = mbku(ji,jj)
-               z2d(ji,jj) = uu(ji,jj,ikbot,Kmm)
-            END DO
-         END DO
-         CALL iom_put( "sbu", z2d )                ! bottom i-current
-      ENDIF
-      
-      CALL iom_put( "voce", vv(:,:,:,Kmm) )            ! 3D j-current
-      CALL iom_put(  "ssv", vv(:,:,1,Kmm) )            ! surface j-current
-      IF ( iom_use("sbv") ) THEN
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               ikbot = mbkv(ji,jj)
-               z2d(ji,jj) = vv(ji,jj,ikbot,Kmm)
-            END DO
-         END DO
-         CALL iom_put( "sbv", z2d )                ! bottom j-current
-      ENDIF
-
-      IF( ln_zad_Aimp ) ww = ww + wi               ! Recombine explicit and implicit parts of vertical velocity for diagnostic output
-      !
-      CALL iom_put( "woce", ww )                   ! vertical velocity
-      IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value
-         ! Caution: in the VVL case, it only correponds to the baroclinic mass transport.
-         z2d(:,:) = rau0 * e1e2t(:,:)
-         DO jk = 1, jpk
-            z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:)
-         END DO
-         CALL iom_put( "w_masstr" , z3d )  
-         IF( iom_use('w_masstr2') )   CALL iom_put( "w_masstr2", z3d(:,:,:) * z3d(:,:,:) )
-      ENDIF
-      !
-      IF( ln_zad_Aimp ) ww = ww - wi               ! Remove implicit part of vertical velocity that was added for diagnostic output
-
-      CALL iom_put( "avt" , avt )                  ! T vert. eddy diff. coef.
-      CALL iom_put( "avs" , avs )                  ! S vert. eddy diff. coef.
-      CALL iom_put( "avm" , avm )                  ! T vert. eddy visc. coef.
-
-      IF( iom_use('logavt') )   CALL iom_put( "logavt", LOG( MAX( 1.e-20_wp, avt(:,:,:) ) ) )
-      IF( iom_use('logavs') )   CALL iom_put( "logavs", LOG( MAX( 1.e-20_wp, avs(:,:,:) ) ) )
-
-      IF ( iom_use("sstgrad") .OR. iom_use("sstgrad2") ) THEN
-         DO jj = 2, jpjm1                                    ! sst gradient
-            DO ji = fs_2, fs_jpim1   ! vector opt.
-               zztmp  = ts(ji,jj,1,jp_tem,Kmm)
-               zztmpx = ( ts(ji+1,jj,1,jp_tem,Kmm) - zztmp ) * r1_e1u(ji,jj) + ( zztmp - ts(ji-1,jj  ,1,jp_tem,Kmm) ) * r1_e1u(ji-1,jj)
-               zztmpy = ( ts(ji,jj+1,1,jp_tem,Kmm) - zztmp ) * r1_e2v(ji,jj) + ( zztmp - ts(ji  ,jj-1,1,jp_tem,Kmm) ) * r1_e2v(ji,jj-1)
-               z2d(ji,jj) = 0.25 * ( zztmpx * zztmpx + zztmpy * zztmpy )   &
-                  &              * umask(ji,jj,1) * umask(ji-1,jj,1) * vmask(ji,jj,1) * umask(ji,jj-1,1)
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'T', 1. )
-         CALL iom_put( "sstgrad2",  z2d )          ! square of module of sst gradient
-         z2d(:,:) = SQRT( z2d(:,:) )
-         CALL iom_put( "sstgrad" ,  z2d )          ! module of sst gradient
-      ENDIF
-         
-      ! heat and salt contents
-      IF( iom_use("heatc") ) THEN
-         z2d(:,:)  = 0._wp 
-         DO jk = 1, jpkm1
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_tem,Kmm) * tmask(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         CALL iom_put( "heatc", rau0_rcp * z2d )   ! vertically integrated heat content (J/m2)
-      ENDIF
-
-      IF( iom_use("saltc") ) THEN
-         z2d(:,:)  = 0._wp 
-         DO jk = 1, jpkm1
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_sal,Kmm) * tmask(ji,jj,jk)
-               END DO
-            END DO
-         END DO
-         CALL iom_put( "saltc", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
-      ENDIF
-      !
-      IF ( iom_use("eken") ) THEN
-         z3d(:,:,jpk) = 0._wp 
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  zztmp  = 0.25_wp * r1_e1e2t(ji,jj) / e3t(ji,jj,jk,Kmm)
-                  z3d(ji,jj,jk) = zztmp * (  uu(ji-1,jj,jk,Kmm)**2 * e2u(ji-1,jj) * e3u(ji-1,jj,jk,Kmm)   &
-                     &                     + uu(ji  ,jj,jk,Kmm)**2 * e2u(ji  ,jj) * e3u(ji  ,jj,jk,Kmm)   &
-                     &                     + vv(ji,jj-1,jk,Kmm)**2 * e1v(ji,jj-1) * e3v(ji,jj-1,jk,Kmm)   &
-                     &                     + vv(ji,jj  ,jk,Kmm)**2 * e1v(ji,jj  ) * e3v(ji,jj  ,jk,Kmm)   )
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z3d, 'T', 1. )
-         CALL iom_put( "eken", z3d )                 ! kinetic energy
-      ENDIF
-      !
-      CALL iom_put( "hdiv", hdiv )                  ! Horizontal divergence
-      !
-      IF( iom_use("u_masstr") .OR. iom_use("u_masstr_vint") .OR. iom_use("u_heattr") .OR. iom_use("u_salttr") ) THEN
-         z3d(:,:,jpk) = 0.e0
-         z2d(:,:) = 0.e0
-         DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)
-            z2d(:,:) = z2d(:,:) + z3d(:,:,jk)
-         END DO
-         CALL iom_put( "u_masstr"     , z3d )         ! mass transport in i-direction
-         CALL iom_put( "u_masstr_vint", z2d )         ! mass transport in i-direction vertical sum
-      ENDIF
-      
-      IF( iom_use("u_heattr") ) THEN
-         z2d(:,:) = 0._wp 
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji+1,jj,jk,jp_tem,Kmm) )
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'U', -1. )
-         CALL iom_put( "u_heattr", 0.5*rcp * z2d )    ! heat transport in i-direction
-      ENDIF
-
-      IF( iom_use("u_salttr") ) THEN
-         z2d(:,:) = 0.e0 
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji+1,jj,jk,jp_sal,Kmm) )
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'U', -1. )
-         CALL iom_put( "u_salttr", 0.5 * z2d )        ! heat transport in i-direction
-      ENDIF
-
-      
-      IF( iom_use("v_masstr") .OR. iom_use("v_heattr") .OR. iom_use("v_salttr") ) THEN
-         z3d(:,:,jpk) = 0.e0
-         DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)
-         END DO
-         CALL iom_put( "v_masstr", z3d )              ! mass transport in j-direction
-      ENDIF
-      
-      IF( iom_use("v_heattr") ) THEN
-         z2d(:,:) = 0.e0 
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_tem,Kmm) + ts(ji,jj+1,jk,jp_tem,Kmm) )
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'V', -1. )
-         CALL iom_put( "v_heattr", 0.5*rcp * z2d )    !  heat transport in j-direction
-      ENDIF
-
-      IF( iom_use("v_salttr") ) THEN
-         z2d(:,:) = 0._wp 
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + z3d(ji,jj,jk) * ( ts(ji,jj,jk,jp_sal,Kmm) + ts(ji,jj+1,jk,jp_sal,Kmm) )
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'V', -1. )
-         CALL iom_put( "v_salttr", 0.5 * z2d )        !  heat transport in j-direction
-      ENDIF
-
-      IF( iom_use("tosmint") ) THEN
-         z2d(:,:) = 0._wp
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) *  ts(ji,jj,jk,jp_tem,Kmm)
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature
-      ENDIF
-      IF( iom_use("somint") ) THEN
-         z2d(:,:)=0._wp
-         DO jk = 1, jpkm1
-            DO jj = 2, jpjm1
-               DO ji = fs_2, fs_jpim1   ! vector opt.
-                  z2d(ji,jj) = z2d(ji,jj) + e3t(ji,jj,jk,Kmm) * ts(ji,jj,jk,jp_sal,Kmm)
-               END DO
-            END DO
-         END DO
-         CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity
-      ENDIF
-
-      CALL iom_put( "bn2", rn2 )                      ! Brunt-Vaisala buoyancy frequency (N^2)
-      !
-
-      IF (ln_diatmb)   CALL dia_tmb( Kmm )            ! tmb values 
-          
-      IF (ln_dia25h)   CALL dia_25h( kt, Kmm )        ! 25h averaging
-
-      IF( ln_timing )   CALL timing_stop('dia_wri')
-      !
-   END SUBROUTINE dia_wri
-
-#else
-   !!----------------------------------------------------------------------
-   !!   Default option                                  use IOIPSL  library
-   !!----------------------------------------------------------------------
-
-   INTEGER FUNCTION dia_wri_alloc()
-      !
-      dia_wri_alloc = 0
-      !
-   END FUNCTION dia_wri_alloc
-
-   
-   SUBROUTINE dia_wri( kt, Kmm )
-
-      INTEGER, INTENT( in ) ::   kt   ! ocean time-step index
-      INTEGER, INTENT( in ) ::   Kmm  ! ocean time level index
-      IF( ninist == 1 ) THEN     !==  Output the initial state and forcings  ==!
-         CALL dia_wri_state( Kmm, 'output.init' )
-         ninist = 0
-      ENDIF
-      !
-      ! 0. Initialisation
-      ! -----------------
-
-   END SUBROUTINE dia_wri
-
-#endif
-
-   SUBROUTINE dia_wri_state( Kmm, cdfile_name )
-      !!---------------------------------------------------------------------
-      !!                 ***  ROUTINE dia_wri_state  ***
-      !!        
-      !! ** Purpose :   create a NetCDF file named cdfile_name which contains 
-      !!      the instantaneous ocean state and forcing fields.
-      !!        Used to find errors in the initial state or save the last
-      !!      ocean state in case of abnormal end of a simulation
-      !!
-      !! ** Method  :   NetCDF files using ioipsl
-      !!      File 'output.init.nc'  is created if ninist = 1 (namelist)
-      !!      File 'output.abort.nc' is created in case of abnormal job end
-      !!----------------------------------------------------------------------
-      INTEGER           , INTENT( in ) ::   Kmm              ! time level index
-      CHARACTER (len=* ), INTENT( in ) ::   cdfile_name      ! name of the file created
-      !!
-      INTEGER :: inum
-      !!----------------------------------------------------------------------
-      ! 
-      IF(lwp) WRITE(numout,*)
-      IF(lwp) WRITE(numout,*) 'dia_wri_state : single instantaneous ocean state'
-      IF(lwp) WRITE(numout,*) '~~~~~~~~~~~~~   and forcing fields file created '
-      IF(lwp) WRITE(numout,*) '                and named :', cdfile_name, '...nc'
-
-#if defined key_si3
-     CALL iom_open( TRIM(cdfile_name), inum, ldwrt = .TRUE., kdlev = jpl )
-#else
-     CALL iom_open( TRIM(cdfile_name), inum, ldwrt = .TRUE. )
-#endif
-
-      CALL iom_rstput( 0, 0, inum, 'votemper', ts(:,:,:,jp_tem,Kmm) )    ! now temperature
-      CALL iom_rstput( 0, 0, inum, 'vosaline', ts(:,:,:,jp_sal,Kmm) )    ! now salinity
-      CALL iom_rstput( 0, 0, inum, 'sossheig', ssh(:,:,Kmm)              )    ! sea surface height
-      CALL iom_rstput( 0, 0, inum, 'vozocrtx', uu(:,:,:,Kmm)                )    ! now i-velocity
-      CALL iom_rstput( 0, 0, inum, 'vomecrty', vv(:,:,:,Kmm)                )    ! now j-velocity
-      IF( ln_zad_Aimp ) THEN
-         CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww + wi        )    ! now k-velocity
-      ELSE
-         CALL iom_rstput( 0, 0, inum, 'vovecrtz', ww             )    ! now k-velocity
-      ENDIF
-      IF( ALLOCATED(ahtu) ) THEN
-         CALL iom_rstput( 0, 0, inum,  'ahtu', ahtu              )    ! aht at u-point
-         CALL iom_rstput( 0, 0, inum,  'ahtv', ahtv              )    ! aht at v-point
-      ENDIF
-      IF( ALLOCATED(ahmt) ) THEN
-         CALL iom_rstput( 0, 0, inum,  'ahmt', ahmt              )    ! ahmt at u-point
-         CALL iom_rstput( 0, 0, inum,  'ahmf', ahmf              )    ! ahmf at v-point
-      ENDIF
-      CALL iom_rstput( 0, 0, inum, 'sowaflup', emp - rnf         )    ! freshwater budget
-      CALL iom_rstput( 0, 0, inum, 'sohefldo', qsr + qns         )    ! total heat flux
-      CALL iom_rstput( 0, 0, inum, 'soshfldo', qsr               )    ! solar heat flux
-      CALL iom_rstput( 0, 0, inum, 'soicecov', fr_i              )    ! ice fraction
-      CALL iom_rstput( 0, 0, inum, 'sozotaux', utau              )    ! i-wind stress
-      CALL iom_rstput( 0, 0, inum, 'sometauy', vtau              )    ! j-wind stress
-      IF(  .NOT.ln_linssh  ) THEN             
-         CALL iom_rstput( 0, 0, inum, 'vovvldep', gdept(:,:,:,Kmm)        )    !  T-cell depth 
-         CALL iom_rstput( 0, 0, inum, 'vovvle3t', e3t(:,:,:,Kmm)          )    !  T-cell thickness  
-      END IF
-      IF( ln_wave .AND. ln_sdw ) THEN
-         CALL iom_rstput( 0, 0, inum, 'sdzocrtx', usd            )    ! now StokesDrift i-velocity
-         CALL iom_rstput( 0, 0, inum, 'sdmecrty', vsd            )    ! now StokesDrift j-velocity
-         CALL iom_rstput( 0, 0, inum, 'sdvecrtz', wsd            )    ! now StokesDrift k-velocity
-      ENDIF
- 
-#if defined key_si3
-      IF( nn_ice == 2 ) THEN   ! condition needed in case agrif + ice-model but no-ice in child grid
-         CALL ice_wri_state( inum )
-      ENDIF
-#endif
-      !
-      CALL iom_close( inum )
-      ! 
-   END SUBROUTINE dia_wri_state
-
-   !!======================================================================
-END MODULE diawri
Index: NEMO/branches/2020/r12377_ticket2386/tests/BENCH/MY_SRC/zdfiwm.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/BENCH/MY_SRC/zdfiwm.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/BENCH/MY_SRC/zdfiwm.F90	(revision 12511)
@@ -48,8 +48,10 @@
    REAL(wp), ALLOCATABLE, SAVE, DIMENSION(:,:) ::   hcri_iwm   ! decay scale for low-mode critical slope dissipation (m)
 
+   !! * Substitutions
+#  include "do_loop_substitute.h90"
    !!----------------------------------------------------------------------
    !! NEMO/OCE 4.0 , NEMO Consortium (2018)
-   !! $Id: zdfiwm.F90 8093 2017-05-30 08:13:14Z gm $
-   !! Software governed by the CeCILL licence     (./LICENSE)
+   !! $Id: zdfiwm.F90 12377 2020-02-12 14:39:06Z acc $
+   !! Software governed by the CeCILL license (see ./LICENSE)
    !!----------------------------------------------------------------------
 CONTAINS
@@ -85,10 +87,10 @@
       !!              This is divided into three components:
       !!                 1. Bottom-intensified low-mode dissipation at critical slopes
-      !!                     zemx_iwm(z) = ( ecri_iwm / rau0 ) * EXP( -(H-z)/hcri_iwm )
+      !!                     zemx_iwm(z) = ( ecri_iwm / rho0 ) * EXP( -(H-z)/hcri_iwm )
       !!                                   / ( 1. - EXP( - H/hcri_iwm ) ) * hcri_iwm
       !!              where hcri_iwm is the characteristic length scale of the bottom 
       !!              intensification, ecri_iwm a map of available power, and H the ocean depth.
       !!                 2. Pycnocline-intensified low-mode dissipation
-      !!                     zemx_iwm(z) = ( epyc_iwm / rau0 ) * ( sqrt(rn2(z))^nn_zpyc )
+      !!                     zemx_iwm(z) = ( epyc_iwm / rho0 ) * ( sqrt(rn2(z))^nn_zpyc )
       !!                                   / SUM( sqrt(rn2(z))^nn_zpyc * e3w(z) )
       !!              where epyc_iwm is a map of available power, and nn_zpyc
@@ -96,5 +98,5 @@
       !!              energy dissipation.
       !!                 3. WKB-height dependent high mode dissipation
-      !!                     zemx_iwm(z) = ( ebot_iwm / rau0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm)
+      !!                     zemx_iwm(z) = ( ebot_iwm / rho0 ) * rn2(z) * EXP(-z_wkb(z)/hbot_iwm)
       !!                                   / SUM( rn2(z) * EXP(-z_wkb(z)/hbot_iwm) * e3w(z) )
       !!              where hbot_iwm is the characteristic length scale of the WKB bottom 
@@ -121,5 +123,5 @@
       !
       INTEGER  ::   ji, jj, jk   ! dummy loop indices
-      REAL(wp) ::   zztmp        ! scalar workspace
+      REAL(wp) ::   zztmp, ztmp1, ztmp2        ! scalar workspace
       REAL(wp), DIMENSION(jpi,jpj)     ::   zfact       ! Used for vertical structure
       REAL(wp), DIMENSION(jpi,jpj)     ::   zhdep       ! Ocean depth
@@ -147,21 +149,22 @@
       !                       !* Critical slope mixing: distribute energy over the time-varying ocean depth,
       !                                                 using an exponential decay from the seafloor.
-      DO jj = 1, jpj                ! part independent of the level
-         DO ji = 1, jpi
-            zhdep(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1)       ! depth of the ocean
-            zfact(ji,jj) = rau0 * (  1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) )  )
-            IF( zfact(ji,jj) /= 0._wp )   zfact(ji,jj) = ecri_iwm(ji,jj) / zfact(ji,jj)
-         END DO
-      END DO
-!!gm gde3w ==>>>  check for ssh taken into account.... seem OK gde3w_n=gdept(Kmm) - ssh(Kmm)
-      DO jk = 2, jpkm1              ! complete with the level-dependent part
-         zemx_iwm(:,:,jk) = zfact(:,:) * (  EXP( ( gde3w(:,:,jk  ) - zhdep(:,:) ) / hcri_iwm(:,:) )                      &
-            &                             - EXP( ( gde3w(:,:,jk-1) - zhdep(:,:) ) / hcri_iwm(:,:) )  ) * wmask(:,:,jk)   &
-            &                          / ( gde3w(:,:,jk) - gde3w(:,:,jk-1) )
-
-!!gm delta(gde3w) = e3t(Kmm)  !!  Please verify the grid-point position w versus t-point
+      DO_2D_11_11
+         zhdep(ji,jj) = gdepw_0(ji,jj,mbkt(ji,jj)+1)       ! depth of the ocean
+         zfact(ji,jj) = rho0 * (  1._wp - EXP( -zhdep(ji,jj) / hcri_iwm(ji,jj) )  )
+         IF( zfact(ji,jj) /= 0._wp )   zfact(ji,jj) = ecri_iwm(ji,jj) / zfact(ji,jj)
+      END_2D
+!!gm gde3w ==>>>  check for ssh taken into account.... seem OK gde3w_n=gdept(:,:,:,Kmm) - ssh(:,:,Kmm)
+      DO_3D_11_11( 2, jpkm1 )
+         IF ( zfact(ji,jj) == 0._wp .OR. wmask(ji,jj,jk) == 0._wp ) THEN   ! optimization
+            zemx_iwm(ji,jj,jk) = 0._wp
+         ELSE
+            zemx_iwm(ji,jj,jk) = zfact(ji,jj) * (  EXP( ( gde3w(ji,jj,jk  ) - zhdep(ji,jj) ) / hcri_iwm(ji,jj) )     &
+                 &                               - EXP( ( gde3w(ji,jj,jk-1) - zhdep(ji,jj) ) / hcri_iwm(ji,jj) ) )   &
+                 &                            / ( gde3w(ji,jj,jk) - gde3w(ji,jj,jk-1) )
+         ENDIF
+      END_3D
+!!gm delta(gde3w) = e3t(:,:,:,Kmm)  !!  Please verify the grid-point position w versus t-point
 !!gm it seems to me that only 1/hcri_iwm  is used ==>  compute it one for all
 
-      END DO
 
       !                        !* Pycnocline-intensified mixing: distribute energy over the time-varying 
@@ -177,9 +180,7 @@
          END DO
          !
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
-            END DO
-         END DO
+         DO_2D_11_11
+            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
+         END_2D
          !
          DO jk = 2, jpkm1              ! complete with the level-dependent part
@@ -194,9 +195,7 @@
          END DO
          !
-         DO jj= 1, jpj
-            DO ji = 1, jpi
-               IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
-            END DO
-         END DO
+         DO_2D_11_11
+            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = epyc_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
+         END_2D
          !
          DO jk = 2, jpkm1              ! complete with the level-dependent part
@@ -223,19 +222,18 @@
 !!gm
       !
-      DO jk = 2, jpkm1
-         DO jj = 1, jpj
-            DO ji = 1, jpi
-               IF( zfact(ji,jj) /= 0 )   zwkb(ji,jj,jk) = zhdep(ji,jj) * ( zfact(ji,jj) - zwkb(ji,jj,jk) )   &
-                  &                                     * wmask(ji,jj,jk) / zfact(ji,jj)
-            END DO
-         END DO
-      END DO
+      DO_3D_11_11( 2, jpkm1 )
+         IF( zfact(ji,jj) /= 0 )   zwkb(ji,jj,jk) = zhdep(ji,jj) * ( zfact(ji,jj) - zwkb(ji,jj,jk) )   &
+            &                                     * wmask(ji,jj,jk) / zfact(ji,jj)
+      END_3D
       zwkb(:,:,1) = zhdep(:,:) * wmask(:,:,1)
       !
-      zweight(:,:,:) = 0._wp
-      DO jk = 2, jpkm1
-         zweight(:,:,jk) = MAX( 0._wp, rn2(:,:,jk) ) * hbot_iwm(:,:) * wmask(:,:,jk)                    &
-            &   * (  EXP( -zwkb(:,:,jk) / hbot_iwm(:,:) ) - EXP( -zwkb(:,:,jk-1) / hbot_iwm(:,:) )  )
-      END DO
+      DO_3D_11_11( 2, jpkm1 )
+         IF ( rn2(ji,jj,jk) <= 0._wp .OR. wmask(ji,jj,jk) == 0._wp ) THEN   ! optimization
+            zweight(ji,jj,jk) = 0._wp
+         ELSE
+            zweight(ji,jj,jk) = rn2(ji,jj,jk) * hbot_iwm(ji,jj)    &
+               &   * (  EXP( -zwkb(ji,jj,jk) / hbot_iwm(ji,jj) ) - EXP( -zwkb(ji,jj,jk-1) / hbot_iwm(ji,jj) )  )
+         ENDIF
+      END_3D
       !
       zfact(:,:) = 0._wp
@@ -244,9 +242,7 @@
       END DO
       !
-      DO jj = 1, jpj
-         DO ji = 1, jpi
-            IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = ebot_iwm(ji,jj) / ( rau0 * zfact(ji,jj) )
-         END DO
-      END DO
+      DO_2D_11_11
+         IF( zfact(ji,jj) /= 0 )   zfact(ji,jj) = ebot_iwm(ji,jj) / ( rho0 * zfact(ji,jj) )
+      END_2D
       !
       DO jk = 2, jpkm1              ! complete with the level-dependent part
@@ -259,5 +255,5 @@
       ! Calculate molecular kinematic viscosity
       znu_t(:,:,:) = 1.e-4_wp * (  17.91_wp - 0.53810_wp * ts(:,:,:,jp_tem,Kmm) + 0.00694_wp * ts(:,:,:,jp_tem,Kmm) * ts(:,:,:,jp_tem,Kmm)  &
-         &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rau0
+         &                                  + 0.02305_wp * ts(:,:,:,jp_sal,Kmm)  ) * tmask(:,:,:) * r1_rho0
       DO jk = 2, jpkm1
          znu_w(:,:,jk) = 0.5_wp * ( znu_t(:,:,jk-1) + znu_t(:,:,jk) ) * wmask(:,:,jk)
@@ -276,15 +272,11 @@
       !
       IF( ln_mevar ) THEN              ! Variable mixing efficiency case : modify zav_wave in the
-         DO jk = 2, jpkm1              ! energetic (Reb > 480) and buoyancy-controlled (Reb <10.224 ) regimes
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  IF( zReb(ji,jj,jk) > 480.00_wp ) THEN
-                     zav_wave(ji,jj,jk) = 3.6515_wp * znu_w(ji,jj,jk) * SQRT( zReb(ji,jj,jk) )
-                  ELSEIF( zReb(ji,jj,jk) < 10.224_wp ) THEN
-                     zav_wave(ji,jj,jk) = 0.052125_wp * znu_w(ji,jj,jk) * zReb(ji,jj,jk) * SQRT( zReb(ji,jj,jk) )
-                  ENDIF
-               END DO
-            END DO
-         END DO
+         DO_3D_11_11( 2, jpkm1 )
+            IF( zReb(ji,jj,jk) > 480.00_wp ) THEN
+               zav_wave(ji,jj,jk) = 3.6515_wp * znu_w(ji,jj,jk) * SQRT( zReb(ji,jj,jk) )
+            ELSEIF( zReb(ji,jj,jk) < 10.224_wp ) THEN
+               zav_wave(ji,jj,jk) = 0.052125_wp * znu_w(ji,jj,jk) * zReb(ji,jj,jk) * SQRT( zReb(ji,jj,jk) )
+            ENDIF
+         END_3D
       ENDIF
       !
@@ -296,14 +288,10 @@
          zztmp = 0._wp
 !!gm used of glosum 3D....
-         DO jk = 2, jpkm1
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj)   &
-                     &          * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj)
-               END DO
-            END DO
-         END DO
+         DO_3D_11_11( 2, jpkm1 )
+            zztmp = zztmp + e3w(ji,jj,jk,Kmm) * e1e2t(ji,jj)   &
+               &          * MAX( 0._wp, rn2(ji,jj,jk) ) * zav_wave(ji,jj,jk) * wmask(ji,jj,jk) * tmask_i(ji,jj)
+         END_3D
          CALL mpp_sum( 'zdfiwm', zztmp )
-         zztmp = rau0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing 
+         zztmp = rho0 * zztmp ! Global integral of rauo * Kz * N^2 = power contributing to mixing 
          !
          IF(lwp) THEN
@@ -321,13 +309,13 @@
       !      
       IF( ln_tsdiff ) THEN          !* Option for differential mixing of salinity and temperature
-         DO jk = 2, jpkm1              ! Calculate S/T diffusivity ratio as a function of Reb
-            DO jj = 1, jpj
-               DO ji = 1, jpi
-                  zav_ratio(ji,jj,jk) = ( 0.505_wp + 0.495_wp *                                                                  &
-                      &   TANH(    0.92_wp * (   LOG10(  MAX( 1.e-20_wp, zReb(ji,jj,jk) * 5._wp * r1_6 )  ) - 0.60_wp   )    )   &
-                      &                 ) * wmask(ji,jj,jk)
-               END DO
-            END DO
-         END DO
+         ztmp1 = 0.505_wp + 0.495_wp * TANH( 0.92_wp * ( LOG10( 1.e-20_wp ) - 0.60_wp ) )
+         DO_3D_11_11( 2, jpkm1 )
+            ztmp2 = zReb(ji,jj,jk) * 5._wp * r1_6
+            IF ( ztmp2 > 1.e-20_wp .AND. wmask(ji,jj,jk) == 1._wp ) THEN
+               zav_ratio(ji,jj,jk) = 0.505_wp + 0.495_wp * TANH( 0.92_wp * ( LOG10(ztmp2) - 0.60_wp ) )
+            ELSE
+               zav_ratio(ji,jj,jk) = ztmp1 * wmask(ji,jj,jk)
+            ENDIF
+         END_3D
          CALL iom_put( "av_ratio", zav_ratio )
          DO jk = 2, jpkm1           !* update momentum & tracer diffusivity with wave-driven mixing
@@ -349,5 +337,5 @@
                                     !* output useful diagnostics: Kz*N^2 , 
 !!gm Kz*N2 should take into account the ratio avs/avt if it is used.... (see diaar5)
-                                    !  vertical integral of rau0 * Kz * N^2 , energy density (zemx_iwm)
+                                    !  vertical integral of rho0 * Kz * N^2 , energy density (zemx_iwm)
       IF( iom_use("bflx_iwm") .OR. iom_use("pcmap_iwm") ) THEN
          ALLOCATE( z2d(jpi,jpj) , z3d(jpi,jpj,jpk) )
@@ -357,5 +345,5 @@
             z2d(:,:) = z2d(:,:) + e3w(:,:,jk,Kmm) * z3d(:,:,jk) * wmask(:,:,jk)
          END DO
-         z2d(:,:) = rau0 * z2d(:,:)
+         z2d(:,:) = rho0 * z2d(:,:)
          CALL iom_put( "bflx_iwm", z3d )
          CALL iom_put( "pcmap_iwm", z2d )
@@ -364,5 +352,5 @@
       CALL iom_put( "emix_iwm", zemx_iwm )
       
-      IF(ln_ctl)   CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk)
+      IF(sn_cfctl%l_prtctl)   CALL prt_ctl(tab3d_1=zav_wave , clinfo1=' iwm - av_wave: ', tab3d_2=avt, clinfo2=' avt: ', kdim=jpk)
       !
    END SUBROUTINE zdf_iwm
@@ -395,5 +383,4 @@
       !!              de Lavergne et al. in prep., 2017
       !!----------------------------------------------------------------------
-      INTEGER  ::   ji, jj, jk   ! dummy loop indices
       INTEGER  ::   inum         ! local integer
       INTEGER  ::   ios
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/EXPREF/namelist_cfg	(revision 12511)
@@ -59,5 +59,5 @@
 !-----------------------------------------------------------------------
    ln_linssh   =  .false.  !  =T  linear free surface  ==>>  model level are fixed in time
-   rn_rdt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -208,8 +208,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  24         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  24         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/diawri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/diawri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/diawri.F90	(revision 12511)
@@ -169,5 +169,5 @@
 
       IF ( iom_use("taubot") ) THEN                ! bottom stress
-         zztmp = rau0 * 0.25
+         zztmp = rho0 * 0.25
          z2d(:,:) = 0._wp
          DO jj = 2, jpjm1
@@ -212,5 +212,5 @@
       IF( iom_use('w_masstr') .OR. iom_use('w_masstr2') ) THEN   ! vertical mass transport & its square value
          ! Caution: in the VVL case, it only correponds to the baroclinic mass transport.
-         z2d(:,:) = rau0 * e1e2t(:,:)
+         z2d(:,:) = rho0 * e1e2t(:,:)
          DO jk = 1, jpk
             z3d(:,:,jk) = ww(:,:,jk) * z2d(:,:)
@@ -272,5 +272,5 @@
             END DO
          END DO
-         CALL iom_put( "heatc", rau0_rcp * z2d )   ! vertically integrated heat content (J/m2)
+         CALL iom_put( "heatc", rho0_rcp * z2d )   ! vertically integrated heat content (J/m2)
       ENDIF
 
@@ -284,5 +284,5 @@
             END DO
          END DO
-         CALL iom_put( "saltc", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
+         CALL iom_put( "saltc", rho0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
       ENDIF
       !
@@ -296,5 +296,5 @@
             END DO
          END DO
-         CALL iom_put( "salt2c", rau0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
+         CALL iom_put( "salt2c", rho0 * z2d )          ! vertically integrated salt content (PSU*kg/m2)
       ENDIF
       !
@@ -395,5 +395,5 @@
          z2d(:,:) = 0.e0
          DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)
+            z3d(:,:,jk) = rho0 * uu(:,:,jk,Kmm) * e2u(:,:) * e3u(:,:,jk,Kmm) * umask(:,:,jk)
             z2d(:,:) = z2d(:,:) + z3d(:,:,jk)
          END DO
@@ -432,5 +432,5 @@
          z3d(:,:,jpk) = 0.e0
          DO jk = 1, jpkm1
-            z3d(:,:,jk) = rau0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)
+            z3d(:,:,jk) = rho0 * vv(:,:,jk,Kmm) * e1v(:,:) * e3v(:,:,jk,Kmm) * vmask(:,:,jk)
          END DO
          CALL iom_put( "v_masstr", z3d )              ! mass transport in j-direction
@@ -473,5 +473,5 @@
          END DO
          CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "tosmint", rau0 * z2d )        ! Vertical integral of temperature
+         CALL iom_put( "tosmint", rho0 * z2d )        ! Vertical integral of temperature
       ENDIF
       IF( iom_use("somint") ) THEN
@@ -485,5 +485,5 @@
          END DO
          CALL lbc_lnk( 'diawri', z2d, 'T', -1. )
-         CALL iom_put( "somint", rau0 * z2d )         ! Vertical integral of salinity
+         CALL iom_put( "somint", rho0 * z2d )         ! Vertical integral of salinity
       ENDIF
 
@@ -563,12 +563,12 @@
       clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes)
 #if defined key_diainstant
-      zsto = nn_write * rdt
+      zsto = nn_write * rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #else
-      zsto=rdt
+      zsto=rn_Dt
       clop = "ave("//TRIM(clop)//")"
 #endif
-      zout = nn_write * rdt
-      zmax = ( nitend - nit000 + 1 ) * rdt
+      zout = nn_write * rn_Dt
+      zmax = ( nitend - nit000 + 1 ) * rn_Dt
 
       ! Define indices of the horizontal output zoom and vertical limit storage
@@ -590,5 +590,5 @@
 
          ! Compute julian date from starting date of the run
-         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+         CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
          zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
          IF(lwp)WRITE(numout,*)
@@ -612,5 +612,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_T, "down" )
@@ -648,5 +648,5 @@
          CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_U, "down" )
@@ -661,5 +661,5 @@
          CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept
             &          "m", ipk, gdept_1d, nz_V, "down" )
@@ -674,5 +674,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_W, nid_W, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_W, "depthw", "Vertical W levels",      &  ! Vertical grid: gdepw
             &          "m", ipk, gdepw_1d, nz_W, "down" )
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/domvvl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/domvvl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/domvvl.F90	(revision 12511)
@@ -209,5 +209,5 @@
          IF( ln_vvl_ztilde_as_zstar ) THEN   ! z-star emulation using z-tile
             frq_rst_e3t(:,:) = 0._wp               !Ignore namelist settings
-            frq_rst_hdv(:,:) = 1._wp / rdt
+            frq_rst_hdv(:,:) = 1._wp / rn_Dt
          ENDIF
          IF ( ln_vvl_zstar_at_eqtor ) THEN   ! use z-star in vicinity of the Equator
@@ -222,5 +222,5 @@
                      ! values inside the equatorial band (ztilde as zstar)
                      frq_rst_e3t(ji,jj) =  0.0_wp
-                     frq_rst_hdv(ji,jj) =  1.0_wp / rdt
+                     frq_rst_hdv(ji,jj) =  1.0_wp / rn_Dt
                   ELSE                                      ! transition band (2.5 to 6 degrees N/S)
                      !                                      ! (linearly transition from z-tilde to z-star)
@@ -228,6 +228,6 @@
                         &            * (  1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                         &                                          * 180._wp / 3.5_wp ) )
-                     frq_rst_hdv(ji,jj) = (1.0_wp / rdt)                                &
-                        &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rdt) )*0.5_wp   &
+                     frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt)                                &
+                        &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp   &
                         &            * (  1._wp  - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                         &                                          * 180._wp / 3.5_wp ) )
@@ -240,5 +240,5 @@
                   ij0 = 128   ;   ij1 = 135   ;   
                   frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp
-                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt
+                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rn_Dt
                ENDIF
             ENDIF
@@ -295,5 +295,5 @@
       INTEGER                ::   ji, jj, jk            ! dummy loop indices
       INTEGER , DIMENSION(3) ::   ijk_max, ijk_min      ! temporary integers
-      REAL(wp)               ::   z2dt, z_tmin, z_tmax  ! local scalars
+      REAL(wp)               ::   z_tmin, z_tmax        ! local scalars
       LOGICAL                ::   ll_do_bclinic         ! local logical
       REAL(wp), DIMENSION(jpi,jpj)     ::   zht, z_scale, zwu, zwv, zhdiv
@@ -349,5 +349,5 @@
             IF( kt > nit000 ) THEN
                DO jk = 1, jpkm1
-                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rdt * frq_rst_hdv(:,:)   &
+                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:)   &
                      &          * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) )
                END DO
@@ -418,11 +418,6 @@
          ! Leapfrog time stepping
          ! ~~~~~~~~~~~~~~~~~~~~~~
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
-            z2dt =  rdt
-         ELSE
-            z2dt = 2.0_wp * rdt
-         ENDIF
          CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp )
-         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
+         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
 
          ! Maximum deformation control
@@ -610,9 +605,9 @@
       ! - ML - e3(t/u/v)_b are allready computed in dynnxt.
       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
+         IF( l_1st_euler ) THEN
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:)
          ELSE
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 
-            &         + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
+            &         + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
          ENDIF
          tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:)
@@ -827,5 +822,5 @@
                   e3t(:,:,:,Kbb) = e3t_0(:,:,:)
                END WHERE
-               IF( neuler == 0 ) THEN
+               IF( l_1st_euler ) THEN
                   e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
                ENDIF
@@ -833,19 +828,19 @@
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )
                e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE IF( id2 > 0 ) THEN
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file'
                IF(lwp) write(numout,*) 'Compute scale factor from sshn'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                DO jk = 1, jpk
                   e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) &
@@ -854,5 +849,5 @@
                END DO
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ENDIF
             !                             ! ----------- !
@@ -1015,5 +1010,5 @@
             WRITE(numout,*) '                         rn_rst_e3t     = 0.e0'
             WRITE(numout,*) '            hard-wired : z-tilde cutoff frequency of low-pass filter (days)'
-            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rdt'
+            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rn_Dt'
          ELSE
             WRITE(numout,*) '      z-tilde to zstar restoration timescale (days)        rn_rst_e3t   = ', rn_rst_e3t
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/sbcmod.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/sbcmod.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/sbcmod.F90	(revision 12511)
@@ -186,7 +186,7 @@
       !
       IF( .NOT.ln_usr ) THEN     ! the model calendar needs some specificities (except in user defined case)
-         IF( MOD( rday , rdt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' )
-         IF( MOD( rday , 2.  ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    )
-         IF( MOD( rdt  , 2.  ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           )
+         IF( MOD( rday , rn_Dt ) /= 0. )   CALL ctl_stop( 'the time step must devide the number of second of in a day' )
+         IF( MOD( rday , 2.    ) /= 0. )   CALL ctl_stop( 'the number of second of in a day must be an even number'    )
+         IF( MOD( rn_Dt, 2.    ) /= 0. )   CALL ctl_stop( 'the time step (in second) must be an even number'           )
       ENDIF
       !                       !**  check option consistency
@@ -298,6 +298,6 @@
       !     SAS time-step has to be declared in OASIS (mandatory) -> nn_fsbc has to be modified accordingly
       IF( nn_components /= jp_iam_nemo ) THEN
-         IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rdt)
-         IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rdt)
+         IF( nn_components == jp_iam_opa )   nn_fsbc = cpl_freq('O_SFLX') / NINT(rn_Dt)
+         IF( nn_components == jp_iam_sas )   nn_fsbc = cpl_freq('I_SFLX') / NINT(rn_Dt)
          !
          IF(lwp)THEN
@@ -316,8 +316,8 @@
       ENDIF
       !
-      IF( MOD( rday, REAL(nn_fsbc, wp) * rdt ) /= 0 )   &
+      IF( MOD( rday, REAL(nn_fsbc, wp) * rn_Dt ) /= 0 )   &
          &  CALL ctl_warn( 'sbc_init : nn_fsbc is NOT a multiple of the number of time steps in a day' )
       !
-      IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rdt) ) < 8  )   &
+      IF( ln_dm2dc .AND. NINT(rday) / ( nn_fsbc * NINT(rn_Dt) ) < 8  )   &
          &   CALL ctl_warn( 'sbc_init : diurnal cycle for qsr: the sampling of the diurnal cycle is too small...' )
       !
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/trazdf.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/trazdf.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/trazdf.F90	(revision 12511)
@@ -64,8 +64,4 @@
       ENDIF
       !
-      IF( neuler == 0 .AND. kt == nit000 ) THEN   ;   r2dt =      rdt   ! at nit000, =   rdt (restarting with Euler time stepping)
-      ELSEIF( kt <= nit000 + 1           ) THEN   ;   r2dt = 2. * rdt   ! otherwise, = 2 rdt (leapfrog)
-      ENDIF
-      !
       IF( l_trdtra )   THEN                  !* Save ta and sa trends
          ALLOCATE( ztrdt(jpi,jpj,jpk) , ztrds(jpi,jpj,jpk) )
@@ -75,5 +71,5 @@
       !
       !                                      !* compute lateral mixing trend and add it to the general trend
-      CALL tra_zdf_imp( kt, nit000, 'TRA', r2dt, Kbb, Kmm, Krhs, pts, Kaa, jpts ) 
+      CALL tra_zdf_imp( kt, nit000, 'TRA', rDt, Kbb, Kmm, Krhs, pts, Kaa, jpts ) 
 
 !!gm WHY here !   and I don't like that !
@@ -87,7 +83,7 @@
          DO jk = 1, jpkm1
             ztrdt(:,:,jk) = ( ( pts(:,:,jk,jp_tem,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_tem,Kbb)*e3t(:,:,jk,Kbb) ) &
-               &          / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrdt(:,:,jk)
+               &          / (e3t(:,:,jk,Kmm)*rDt) ) - ztrdt(:,:,jk)
             ztrds(:,:,jk) = ( ( pts(:,:,jk,jp_sal,Kaa)*e3t(:,:,jk,Kaa) - pts(:,:,jk,jp_sal,Kbb)*e3t(:,:,jk,Kbb) ) &
-              &           / (e3t(:,:,jk,Kmm)*r2dt) ) - ztrds(:,:,jk)
+              &           / (e3t(:,:,jk,Kmm)*rDt) ) - ztrds(:,:,jk)
          END DO
 !!gm this should be moved in trdtra.F90 and done on all trends
Index: NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/usrdef_istate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/usrdef_istate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/CANAL/MY_SRC/usrdef_istate.F90	(revision 12511)
@@ -218,5 +218,5 @@
          !
          zr_lambda2 = 1._wp / zlambda**2
-         zP0 = rau0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)
+         zP0 = rho0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)
          !
          DO jj=1, jpj
@@ -225,5 +225,5 @@
                zy = gphit(ji,jj) * 1.e3
                ! Surface pressure: P(x,y,z) = F(z) * Psurf(x,y)
-               zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - rau0 * ff_t(ji,jj) * rn_uzonal * zy
+               zpsurf = zP0 * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal * zy
                ! Sea level:
                pssh(ji,jj) = 0.
@@ -231,5 +231,5 @@
                   zdt = pssh(ji,jj)
                   zdzF = (1._wp - EXP(zdt-zH)) / (zH - 1._wp + EXP(-zH))   ! F'(z)
-                  zrho1 = rau0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y)
+                  zrho1 = rho0 * (1._wp + zn2*zdt/grav) - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y)
                   pssh(ji,jj) = zpsurf / (zrho1*grav) * ptmask(ji,jj,1)   ! ssh = Psurf / (Rho*g)
                END DO
@@ -237,11 +237,11 @@
                DO jk=1,jpk
                   zdt =  pdept(ji,jj,jk) 
-                  zrho1 = rau0 * (1._wp + zn2*zdt/grav)
+                  zrho1 = rho0 * (1._wp + zn2*zdt/grav)
                   IF (zdt < zH) THEN
                      zdzF = (1._wp-EXP(zdt-zH)) / (zH-1._wp + EXP(-zH))   ! F'(z)
                      zrho1 = zrho1 - zdzF * zpsurf / grav    ! -1/g Dz(P) = -1/g * F'(z) * Psurf(x,y)
                   ENDIF
-                  !               pts(ji,jj,jk,jp_tem) = (20._wp + (rau0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
-                  pts(ji,jj,jk,jp_tem) = (10._wp + (rau0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
+                  !               pts(ji,jj,jk,jp_tem) = (20._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
+                  pts(ji,jj,jk,jp_tem) = (10._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
                END DO
             END DO
@@ -261,6 +261,6 @@
                   IF (zdu < zH) THEN
                      zf = (zH-1._wp-zdu+EXP(zdu-zH)) / (zH-1._wp+EXP(-zH))
-                     zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - rau0 * ff_t(ji,jj) * rn_uzonal
-                     pu(ji,jj,jk) = - zf / ( rau0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk)
+                     zdyPs = - za * zy * EXP(-(zx**2+zy**2)*zr_lambda2) - rho0 * ff_t(ji,jj) * rn_uzonal
+                     pu(ji,jj,jk) = - zf / ( rho0 * ff_t(ji,jj) ) * zdyPs * ptmask(ji,jj,jk) * ptmask(ji+1,jj,jk)
                   ELSE
                      pu(ji,jj,jk) = 0._wp
@@ -279,5 +279,5 @@
                      zf = (zH-1._wp-zdv+EXP(zdv-zH)) / (zH-1._wp+EXP(-zH))
                      zdxPs = - za * zx * EXP(-(zx**2+zy**2)*zr_lambda2)
-                     pv(ji,jj,jk) = zf / ( rau0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk)
+                     pv(ji,jj,jk) = zf / ( rho0 * ff_f(ji,jj) ) * zdxPs * ptmask(ji,jj,jk) * ptmask(ji,jj+1,jk)
                   ELSE
                      pv(ji,jj,jk) = 0._wp
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_120pts	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_240pts	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV1D/EXPREF/namelist_cfg_60pts	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   2.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV2D/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV2D/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_ADV2D/EXPREF/namelist_cfg	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 1200.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 1200.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/1_namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/1_namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/1_namelist_cfg	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 400.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 400.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ICE_AGRIF/EXPREF/namelist_cfg	(revision 12511)
@@ -39,5 +39,5 @@
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      = 1200.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 1200.     !  time step for the dynamics (and tracer if nn_acc=0)
    !
    ln_meshmask = .true.   !  =T  create a mesh file
Index: NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/EXPREF/namelist_cfg	(revision 12511)
@@ -44,5 +44,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-rn_rdt = 720.
+rn_Dt = 720.
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/eosbn2.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/eosbn2.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/eosbn2.F90	(revision 12511)
@@ -191,9 +191,9 @@
       !!                   ***  ROUTINE eos_insitu  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) from
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) from
       !!       potential temperature and salinity using an equation of state
       !!       selected in the nameos namelist
       !!
-      !! ** Method  :   prd(t,s,z) = ( rho(t,s,z) - rau0 ) / rau0
+      !! ** Method  :   prd(t,s,z) = ( rho(t,s,z) - rho0 ) / rho0
       !!         with   prd    in situ density anomaly      no units
       !!                t      TEOS10: CT or EOS80: PT      Celsius
@@ -201,5 +201,5 @@
       !!                z      depth                        meters
       !!                rho    in situ density              kg/m^3
-      !!                rau0   reference density            kg/m^3
+      !!                rho0   reference density            kg/m^3
       !!
       !!     ln_teos10 : polynomial TEOS-10 equation of state is used for rho(t,s,z).
@@ -210,5 +210,5 @@
       !!
       !!     ln_seos : simplified equation of state
-      !!              prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rau0
+      !!              prd(t,s,z) = ( -a0*(1+lambda/2*(T-T0)+mu*z+nu*(S-S0))*(T-T0) + b0*(S-S0) ) / rho0
       !!              linear case function of T only: rn_alpha<>0, other coefficients = 0
       !!              linear eos function of T and S: rn_alpha and rn_beta<>0, other coefficients=0
@@ -216,5 +216,5 @@
       !!
       !!     ln_leos : linear ISOMIP equation of state
-      !!              prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rau0
+      !!              prd(t,s,z) = ( -a0*(T-T0) + b0*(S-S0) ) / rho0
       !!              setup for ISOMIP linear eos
       !!
@@ -273,5 +273,5 @@
                   zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                   !
-                  prd(ji,jj,jk) = (  zn * r1_rau0 - 1._wp  ) * ztm  ! density anomaly (masked)
+                  prd(ji,jj,jk) = (  zn * r1_rho0 - 1._wp  ) * ztm  ! density anomaly (masked)
                   !
                END DO
@@ -293,5 +293,5 @@
                      &  - rn_nu * zt * zs
                      !                                 
-                  prd(ji,jj,jk) = zn * r1_rau0 * ztm                ! density anomaly (masked)
+                  prd(ji,jj,jk) = zn * r1_rho0 * ztm                ! density anomaly (masked)
                END DO
             END DO
@@ -308,7 +308,7 @@
                   ztm = tmask(ji,jj,jk)
                   !
-                  zn =  rau0 * ( - rn_a0 * zt + rn_b0 * zs )
+                  zn =  rho0 * ( - rn_a0 * zt + rn_b0 * zs )
                   !                                 
-                  prd(ji,jj,jk) = zn * r1_rau0 * ztm                ! density anomaly (masked)
+                  prd(ji,jj,jk) = zn * r1_rho0 * ztm                ! density anomaly (masked)
                END DO
             END DO
@@ -328,5 +328,5 @@
       !!                  ***  ROUTINE eos_insitu_pot  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) and the
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) and the
       !!      potential volumic mass (Kg/m3) from potential temperature and
       !!      salinity fields using an equation of state selected in the
@@ -410,5 +410,5 @@
                         prhop(ji,jj,jk) = prhop(ji,jj,jk) + zn0_sto(jsmp)                      ! potential density referenced at the surface
                         !
-                        prd(ji,jj,jk) = prd(ji,jj,jk) + (  zn_sto(jsmp) * r1_rau0 - 1._wp  )   ! density anomaly (masked)
+                        prd(ji,jj,jk) = prd(ji,jj,jk) + (  zn_sto(jsmp) * r1_rho0 - 1._wp  )   ! density anomaly (masked)
                      END DO
                      prhop(ji,jj,jk) = 0.5_wp * prhop(ji,jj,jk) * ztm / nn_sto_eos
@@ -454,5 +454,5 @@
                      prhop(ji,jj,jk) = zn0 * ztm                           ! potential density referenced at the surface
                      !
-                     prd(ji,jj,jk) = (  zn * r1_rau0 - 1._wp  ) * ztm      ! density anomaly (masked)
+                     prd(ji,jj,jk) = (  zn * r1_rho0 - 1._wp  ) * ztm      ! density anomaly (masked)
                   END DO
                END DO
@@ -473,8 +473,8 @@
                      &  + rn_b0 * ( 1._wp - 0.5_wp*rn_lambda2*zs ) * zs   &
                      &  - rn_nu * zt * zs
-                  prhop(ji,jj,jk) = ( rau0 + zn ) * ztm
+                  prhop(ji,jj,jk) = ( rho0 + zn ) * ztm
                   !                                                     ! density anomaly (masked)
                   zn = zn - ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zh
-                  prd(ji,jj,jk) = zn * r1_rau0 * ztm
+                  prd(ji,jj,jk) = zn * r1_rho0 * ztm
                   !
                END DO
@@ -492,8 +492,8 @@
                   ztm = tmask(ji,jj,jk)
                   !                                                     ! potential density referenced at the surface
-                  zn =  rau0 * ( - rn_a0 * zt + rn_b0 * zs )
-                  prhop(ji,jj,jk) = ( rau0 + zn ) * ztm
+                  zn =  rho0 * ( - rn_a0 * zt + rn_b0 * zs )
+                  prhop(ji,jj,jk) = ( rho0 + zn ) * ztm
                   !                                                     ! density anomaly (masked)
-                  prd(ji,jj,jk) = zn * r1_rau0 * ztm
+                  prd(ji,jj,jk) = zn * r1_rho0 * ztm
                   !
                END DO
@@ -514,5 +514,5 @@
       !!                  ***  ROUTINE eos_insitu_2d  ***
       !!
-      !! ** Purpose :   Compute the in situ density (ratio rho/rau0) from
+      !! ** Purpose :   Compute the in situ density (ratio rho/rho0) from
       !!      potential temperature and salinity using an equation of state
       !!      selected in the nameos namelist. * 2D field case
@@ -569,5 +569,5 @@
                zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                !
-               prd(ji,jj) = zn * r1_rau0 - 1._wp               ! unmasked in situ density anomaly
+               prd(ji,jj) = zn * r1_rho0 - 1._wp               ! unmasked in situ density anomaly
                !
             END DO
@@ -589,5 +589,5 @@
                   &  - rn_nu * zt * zs
                   !
-               prd(ji,jj) = zn * r1_rau0               ! unmasked in situ density anomaly
+               prd(ji,jj) = zn * r1_rho0               ! unmasked in situ density anomaly
                !
             END DO
@@ -605,7 +605,7 @@
                zh    = pdep (ji,jj)                         ! depth at the partial step level
                !
-               zn =  rau0 * ( - rn_a0 * zt + rn_b0 * zs )
-                  !
-               prd(ji,jj) = zn * r1_rau0               ! unmasked in situ density anomaly
+               zn =  rho0 * ( - rn_a0 * zt + rn_b0 * zs )
+                  !
+               prd(ji,jj) = zn * r1_rho0               ! unmasked in situ density anomaly
                !
             END DO
@@ -676,5 +676,5 @@
                   zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                   !
-                  pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm
+                  pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm
                   !
                   ! beta
@@ -697,5 +697,5 @@
                   zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                   !
-                  pab(ji,jj,jk,jp_sal) = zn / zs * r1_rau0 * ztm
+                  pab(ji,jj,jk,jp_sal) = zn / zs * r1_rho0 * ztm
                   !
                END DO
@@ -714,8 +714,8 @@
                   !
                   zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-                  pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm   ! alpha
+                  pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm   ! alpha
                   !
                   zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-                  pab(ji,jj,jk,jp_sal) = zn * r1_rau0 * ztm   ! beta
+                  pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm   ! beta
                   !
                END DO
@@ -733,9 +733,9 @@
                   ztm = tmask(ji,jj,jk)                   ! land/sea bottom mask = surf. mask
                   !
-                  zn  = rn_a0 * rau0
-                  pab(ji,jj,jk,jp_tem) = zn * r1_rau0 * ztm   ! alpha
-                  !
-                  zn  = rn_b0 * rau0
-                  pab(ji,jj,jk,jp_sal) = zn * r1_rau0 * ztm   ! beta
+                  zn  = rn_a0 * rho0
+                  pab(ji,jj,jk,jp_tem) = zn * r1_rho0 * ztm   ! alpha
+                  !
+                  zn  = rn_b0 * rho0
+                  pab(ji,jj,jk,jp_sal) = zn * r1_rho0 * ztm   ! beta
                   !
                END DO
@@ -809,5 +809,5 @@
                zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                !
-               pab(ji,jj,jp_tem) = zn * r1_rau0
+               pab(ji,jj,jp_tem) = zn * r1_rho0
                !
                ! beta
@@ -830,5 +830,5 @@
                zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
                !
-               pab(ji,jj,jp_sal) = zn / zs * r1_rau0
+               pab(ji,jj,jp_sal) = zn / zs * r1_rho0
                !
                !
@@ -848,8 +848,8 @@
                !
                zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-               pab(ji,jj,jp_tem) = zn * r1_rau0   ! alpha
+               pab(ji,jj,jp_tem) = zn * r1_rho0   ! alpha
                !
                zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-               pab(ji,jj,jp_sal) = zn * r1_rau0   ! beta
+               pab(ji,jj,jp_sal) = zn * r1_rho0   ! beta
                !
             END DO
@@ -867,9 +867,9 @@
                zh    = pdep (ji,jj)                   ! depth at the partial step level
                !
-               zn  = rn_a0 * rau0
-               pab(ji,jj,jp_tem) = zn * r1_rau0   ! alpha
-               !
-               zn  = rn_b0 * rau0
-               pab(ji,jj,jp_sal) = zn * r1_rau0   ! beta
+               zn  = rn_a0 * rho0
+               pab(ji,jj,jp_tem) = zn * r1_rho0   ! alpha
+               !
+               zn  = rn_b0 * rho0
+               pab(ji,jj,jp_sal) = zn * r1_rho0   ! beta
                !
             END DO
@@ -941,5 +941,5 @@
          zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
          !
-         pab(jp_tem) = zn * r1_rau0
+         pab(jp_tem) = zn * r1_rho0
          !
          ! beta
@@ -962,5 +962,5 @@
          zn  = ( ( zn3 * zh + zn2 ) * zh + zn1 ) * zh + zn0
          !
-         pab(jp_sal) = zn / zs * r1_rau0
+         pab(jp_sal) = zn / zs * r1_rho0
          !
          !
@@ -973,8 +973,8 @@
          !
          zn  = rn_a0 * ( 1._wp + rn_lambda1*zt + rn_mu1*zh ) + rn_nu*zs
-         pab(jp_tem) = zn * r1_rau0   ! alpha
+         pab(jp_tem) = zn * r1_rho0   ! alpha
          !
          zn  = rn_b0 * ( 1._wp - rn_lambda2*zs - rn_mu2*zh ) - rn_nu*zt
-         pab(jp_sal) = zn * r1_rau0   ! beta
+         pab(jp_sal) = zn * r1_rho0   ! beta
          !
       CASE( np_leos )                  !==  linear ISOMIP EOS  ==!
@@ -984,9 +984,9 @@
          zh    = pdep                    ! depth at the partial step level
          !
-         zn  = rn_a0 * rau0
-         pab(jp_tem) = zn * r1_rau0   ! alpha
-         !
-         zn  = rn_b0 * rau0
-         pab(jp_sal) = zn * r1_rau0   ! beta
+         zn  = rn_a0 * rho0
+         pab(jp_tem) = zn * r1_rho0   ! alpha
+         !
+         zn  = rn_b0 * rho0
+         pab(jp_sal) = zn * r1_rho0   ! beta
          !
       CASE DEFAULT
@@ -1214,10 +1214,10 @@
       !! ** Method  :   PE is defined analytically as the vertical 
       !!                   primitive of EOS times -g integrated between 0 and z>0.
-      !!                pen is the nonlinear bsq-PE anomaly: pen = ( PE - rau0 gz ) / rau0 gz - rd
+      !!                pen is the nonlinear bsq-PE anomaly: pen = ( PE - rho0 gz ) / rho0 gz - rd
       !!                                                      = 1/z * /int_0^z rd dz - rd 
       !!                                where rd is the density anomaly (see eos_rhd function)
       !!                ab_pe are partial derivatives of PE anomaly with respect to T and S:
-      !!                    ab_pe(1) = - 1/(rau0 gz) * dPE/dT + drd/dT = - d(pen)/dT
-      !!                    ab_pe(2) =   1/(rau0 gz) * dPE/dS + drd/dS =   d(pen)/dS
+      !!                    ab_pe(1) = - 1/(rho0 gz) * dPE/dT + drd/dT = - d(pen)/dT
+      !!                    ab_pe(2) =   1/(rho0 gz) * dPE/dS + drd/dS =   d(pen)/dS
       !!
       !! ** Action  : - pen         : PE anomaly given at T-points
@@ -1267,5 +1267,5 @@
                   zn  = ( zn2 * zh + zn1 ) * zh + zn0
                   !
-                  ppen(ji,jj,jk)  = zn * zh * r1_rau0 * ztm
+                  ppen(ji,jj,jk)  = zn * zh * r1_rho0 * ztm
                   !
                   ! alphaPE non-linear anomaly
@@ -1282,5 +1282,5 @@
                   zn  = ( zn2 * zh + zn1 ) * zh + zn0
                   !                              
-                  pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rau0 * ztm
+                  pab_pe(ji,jj,jk,jp_tem) = zn * zh * r1_rho0 * ztm
                   !
                   ! betaPE non-linear anomaly
@@ -1297,5 +1297,5 @@
                   zn  = ( zn2 * zh + zn1 ) * zh + zn0
                   !                              
-                  pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rau0 * ztm
+                  pab_pe(ji,jj,jk,jp_sal) = zn / zs * zh * r1_rho0 * ztm
                   !
                END DO
@@ -1312,5 +1312,5 @@
                   zh  = gdept(ji,jj,jk,Kmm)              ! depth in meters  at t-point
                   ztm = tmask(ji,jj,jk)                ! tmask
-                  zn  = 0.5_wp * zh * r1_rau0 * ztm
+                  zn  = 0.5_wp * zh * r1_rho0 * ztm
                   !                                    ! Potential Energy
                   ppen(ji,jj,jk) = ( rn_a0 * rn_mu1 * zt + rn_b0 * rn_mu2 * zs ) * zn
@@ -1332,5 +1332,5 @@
                   zh  = gdept(ji,jj,jk,Kmm)                ! depth in meters  at t-point
                   ztm = tmask(ji,jj,jk)                  ! tmask
-                  zn  = 0.5_wp * zh * r1_rau0 * ztm
+                  zn  = 0.5_wp * zh * r1_rho0 * ztm
                   !                                    ! Potential Energy
                   ppen(ji,jj,jk) = 0.
@@ -1379,5 +1379,5 @@
       IF(lwm) WRITE( numond, nameos )
       !
-      rau0        = 1027.51_wp     !: volumic mass of reference     [kg/m3]
+      rho0        = 1027.51_wp     !: volumic mass of reference     [kg/m3]
       rcp         = 3974.00_wp     !: heat capacity     [J/K]
       !
@@ -1793,5 +1793,5 @@
             WRITE(numout,*) '   ==>>>   use of simplified eos:    '
             WRITE(numout,*) '              rhd(dT=T-10,dS=S-35,Z) = [-a0*(1+lambda1/2*dT+mu1*Z)*dT '
-            WRITE(numout,*) '                                       + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rau0'
+            WRITE(numout,*) '                                       + b0*(1+lambda2/2*dT+mu2*Z)*dS - nu*dT*dS] / rho0'
             WRITE(numout,*) '              with the following coefficients :'
             WRITE(numout,*) '                 thermal exp. coef.    rn_a0      = ', rn_a0
@@ -1810,5 +1810,5 @@
             WRITE(numout,*)
             WRITE(numout,*) '          use of linear ISOMIP eos:    rhd(dT=T-(-1),dS=S-(34.2),Z) = '
-            WRITE(numout,*) '             [ -a0*dT + b0*dS ]/rau0'
+            WRITE(numout,*) '             [ -a0*dT + b0*dS ]/rho0'
             WRITE(numout,*)
             WRITE(numout,*) '             thermal exp. coef.    rn_a0      = ', rn_a0
@@ -1822,8 +1822,8 @@
       END SELECT
       !
-      rau0_rcp    = rau0 * rcp 
-      r1_rau0     = 1._wp / rau0
+      rho0_rcp    = rho0 * rcp 
+      r1_rho0     = 1._wp / rho0
       r1_rcp      = 1._wp / rcp
-      r1_rau0_rcp = 1._wp / rau0_rcp 
+      r1_rho0_rcp = 1._wp / rho0_rcp 
       !
       IF(lwp) THEN
@@ -1840,9 +1840,9 @@
       IF(lwp) WRITE(numout,*)
       IF(lwp) WRITE(numout,*) '   Associated physical constant'
-      IF(lwp) WRITE(numout,*) '      volumic mass of reference           rau0  = ', rau0   , ' kg/m^3'
-      IF(lwp) WRITE(numout,*) '      1. / rau0                        r1_rau0  = ', r1_rau0, ' m^3/kg'
+      IF(lwp) WRITE(numout,*) '      volumic mass of reference           rho0  = ', rho0   , ' kg/m^3'
+      IF(lwp) WRITE(numout,*) '      1. / rho0                        r1_rho0  = ', r1_rho0, ' m^3/kg'
       IF(lwp) WRITE(numout,*) '      ocean specific heat                 rcp   = ', rcp    , ' J/Kelvin'
-      IF(lwp) WRITE(numout,*) '      rau0 * rcp                       rau0_rcp = ', rau0_rcp
-      IF(lwp) WRITE(numout,*) '      1. / ( rau0 * rcp )           r1_rau0_rcp = ', r1_rau0_rcp
+      IF(lwp) WRITE(numout,*) '      rho0 * rcp                       rho0_rcp = ', rho0_rcp
+      IF(lwp) WRITE(numout,*) '      1. / ( rho0 * rcp )           r1_rho0_rcp = ', r1_rho0_rcp
       !
    END SUBROUTINE eos_init
Index: NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/sbcfwb.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/sbcfwb.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP+/MY_SRC/sbcfwb.F90	(revision 12511)
@@ -122,5 +122,5 @@
             ! avoid the model to blow up for large ssh drop (isomip OCEAN3 with melt switch off and uniform T/S)
             IF (ln_isfcpl .AND. ln_isfcpl_cons) THEN
-               z_fwf = z_fwf + glob_sum( 'sbcfwb',  e1e2t(:,:) * risfcpl_cons_ssh(:,:) * rau0 )
+               z_fwf = z_fwf + glob_sum( 'sbcfwb',  e1e2t(:,:) * risfcpl_cons_ssh(:,:) * rho0 )
             END IF
             !
@@ -151,9 +151,9 @@
          ENDIF   
          !                                         ! Update fwfold if new year start
-         ikty = 365 * 86400 / rdt                  !!bug  use of 365 days leap year or 360d year !!!!!!!
+         ikty = 365 * 86400 / rn_Dt               !!bug  use of 365 days leap year or 360d year !!!!!!!
          IF( MOD( kt, ikty ) == 0 ) THEN
             a_fwb_b = a_fwb                           ! mean sea level taking into account the ice+snow
                                                       ! sum over the global domain
-            a_fwb   = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rau0 ) )
+            a_fwb   = glob_sum( 'sbcfwb', e1e2t(:,:) * ( ssh(:,:,Kmm) + snwice_mass(:,:) * r1_rho0 ) )
             a_fwb   = a_fwb * 1.e+3 / ( area * rday * 365. )     ! convert in Kg/m3/s = mm/s
 !!gm        !                                                      !!bug 365d year 
Index: NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/ISOMIP/EXPREF/namelist_cfg	(revision 12511)
@@ -44,5 +44,5 @@
 !-----------------------------------------------------------------------
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
-   rn_rdt      = 1800.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      = 1800.     !  time step for the dynamics (and tracer if nn_acc=0)
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_cen2_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_cen2_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_cen2_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_flux_ubs_cfg	(revision 12511)
@@ -47,5 +47,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -216,8 +216,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_eenH_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_eenH_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_eenH_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_een_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_een_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_een_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ene_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ene_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ene_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ens_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ens_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT2_vect_ens_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_cen2_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_cen2_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_cen2_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_flux_ubs_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_eenH_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_eenH_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_eenH_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_een_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_een_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_een_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ene_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ene_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ene_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ens_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ens_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/EXPREF/namelist_FCT4_vect_ens_cfg	(revision 12511)
@@ -33,5 +33,5 @@
    ln_linssh   = .false.   !  =T  linear free surface  ==>>  model level are fixed in time
    !
-   rn_rdt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    1.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
    !
@@ -144,8 +144,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/MY_SRC/usrdef_istate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/MY_SRC/usrdef_istate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/LOCK_EXCHANGE/MY_SRC/usrdef_istate.F90	(revision 12511)
@@ -60,5 +60,5 @@
       !
       !  rn_a0 =  0.2   !  thermal expension coefficient (nn_eos= 1)
-      !  rho = rau0 - rn_a0 * (T-10) 
+      !  rho = rho0 - rn_a0 * (T-10) 
       !  delta_T = 25 degrees  ==>>  delta_rho = 25 * rn_a0 = 5 kg/m3
       !
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_cen-ahm1000_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_cen-ahm1000_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_cen-ahm1000_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT2_flux_ubs_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_cen-ahm1000_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_cen-ahm1000_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_cen-ahm1000_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_sco_FCT4_flux_ubs_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT2_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT2_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT2_flux_ubs_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_flux_ubs_cfg	(revision 12511)
@@ -46,5 +46,5 @@
 &namdom        !   time and space domain
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -216,8 +216,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_vect_een_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_vect_een_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/EXPREF/namelist_zps_FCT4_vect_een_cfg	(revision 12511)
@@ -33,5 +33,5 @@
 &namdom        !   space and time domain (bathymetry, mesh, timestep)
 !-----------------------------------------------------------------------
-   rn_rdt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   10.     !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =    0.1    !  asselin time filter parameter
 /
@@ -155,8 +155,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .true.     ! Number of sub-step defined from:
-         nn_baro      =  1         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  1         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/MY_SRC/usrdef_istate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/MY_SRC/usrdef_istate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/OVERFLOW/MY_SRC/usrdef_istate.F90	(revision 12511)
@@ -60,5 +60,5 @@
       !
       !  rn_a0 =  0.2   !  thermal expension coefficient (nn_eos= 1)
-      !  rho = rau0 - rn_a0 * (T-10) 
+      !  rho = rho0 - rn_a0 * (T-10) 
       !  delta_T = 10 degrees  ==>>  delta_rho = 10 * rn_a0 = 2 kg/m3
       !
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6-noskin_cfg	(revision 12511)
@@ -57,5 +57,5 @@
 &namdom        !   time and space domain / STATION_ASF
 !-----------------------------------------------------------------------
-   rn_rdt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
+   rn_Dt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
    ln_meshmask = .false.
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_coare3p6_cfg	(revision 12511)
@@ -57,5 +57,5 @@
 &namdom        !   time and space domain / STATION_ASF
 !-----------------------------------------------------------------------
-   rn_rdt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
+   rn_Dt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
    ln_meshmask = .false.
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf-noskin_cfg	(revision 12511)
@@ -57,5 +57,5 @@
 &namdom        !   time and space domain / STATION_ASF
 !-----------------------------------------------------------------------
-   rn_rdt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
+   rn_Dt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
    ln_meshmask = .false.
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ecmwf_cfg	(revision 12511)
@@ -57,5 +57,5 @@
 &namdom        !   time and space domain / STATION_ASF
 !-----------------------------------------------------------------------
-   rn_rdt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
+   rn_Dt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
    ln_meshmask = .false.
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ncar_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ncar_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/EXPREF/namelist_ncar_cfg	(revision 12511)
@@ -57,5 +57,5 @@
 &namdom        !   time and space domain / STATION_ASF
 !-----------------------------------------------------------------------
-   rn_rdt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
+   rn_Dt      =  3600.    !  time step for the dynamics and tracer => frequency of atmospheric forcing
    ln_meshmask = .false.
    ln_linssh   = .true.    !  =T  linear free surface  ==>>  model level are fixed in time
Index: NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/MY_SRC/diawri.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/MY_SRC/diawri.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/STATION_ASF/MY_SRC/diawri.F90	(revision 12511)
@@ -168,12 +168,12 @@
       clop = "x"         ! no use of the mask value (require less cpu time and otherwise the model crashes)
 #if defined key_diainstant
-      zsto = nn_write * rdt
+      zsto = nn_write * rn_Dt
       clop = "inst("//TRIM(clop)//")"
 #else
-      zsto=rdt
+      zsto=rn_Dt
       clop = "ave("//TRIM(clop)//")"
 #endif
-      zout = nn_write * rdt
-      zmax = ( nitend - nit000 + 1 ) * rdt
+      zout = nn_write * rn_Dt
+      zmax = ( nitend - nit000 + 1 ) * rn_Dt
 
       ! Define indices of the horizontal output zoom and vertical limit storage
@@ -195,5 +195,5 @@
 
          ! Compute julian date from starting date of the run
-         CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian )
+         CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian )
          zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment
          IF(lwp)WRITE(numout,*)
@@ -217,5 +217,5 @@
          CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,           &  ! Horizontal grid: glamt and gphit
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_T, nid_T, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_T, "deptht", "Vertical T levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_T, "down" )
@@ -229,5 +229,5 @@
          CALL histbeg( clhstnam, jpi, glamu, jpj, gphiu,           &  ! Horizontal grid: glamu and gphiu
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_U, nid_U, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_U, "depthu", "Vertical U levels",      &  ! Vertical grid: gdept
             &           "m", ipk, gdept_1d, nz_U, "down" )
@@ -241,5 +241,5 @@
          CALL histbeg( clhstnam, jpi, glamv, jpj, gphiv,           &  ! Horizontal grid: glamv and gphiv
             &          iimi, iima-iimi+1, ijmi, ijma-ijmi+1,       &
-            &          nit000-1, zjulian, rdt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
+            &          nit000-1, zjulian, rn_Dt, nh_V, nid_V, domain_id=nidom, snc4chunks=snc4set )
          CALL histvert( nid_V, "depthv", "Vertical V levels",      &  ! Vertical grid : gdept
             &          "m", ipk, gdept_1d, nz_V, "down" )
Index: NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/1_namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/1_namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/1_namelist_cfg	(revision 12511)
@@ -40,5 +40,5 @@
 !-----------------------------------------------------------------------
    ln_linssh   =  .false.  !  =T  linear free surface  ==>>  model level are fixed in time
-   rn_rdt      =    480.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =    480.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -213,8 +213,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  24         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  24         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/EXPREF/namelist_cfg	(revision 12511)
@@ -40,5 +40,5 @@
 !-----------------------------------------------------------------------
    ln_linssh   =  .false.  !  =T  linear free surface  ==>>  model level are fixed in time
-   rn_rdt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0)
+   rn_Dt      =   1440.   !  time step for the dynamics (and tracer if nn_acc=0)
    rn_atfp     =   0.05    !  asselin time filter parameter
 /
@@ -204,8 +204,8 @@
       ln_bt_av      = .true.     ! Time filtering of barotropic variables
          nn_bt_flt     = 1          ! Time filter choice  = 0 None
-         !                          !                     = 1 Boxcar over   nn_baro sub-steps
-         !                          !                     = 2 Boxcar over 2*nn_baro  "    "
+         !                          !                     = 1 Boxcar over   nn_e sub-steps
+         !                          !                     = 2 Boxcar over 2*nn_e  "    "
       ln_bt_auto    = .false.    ! Number of sub-step defined from:
-         nn_baro      =  24         ! =F : the number of sub-step in rn_rdt seconds
+         nn_e      =  24         ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
Index: NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/domvvl.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/domvvl.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/domvvl.F90	(revision 12511)
@@ -237,5 +237,5 @@
          IF( ln_vvl_ztilde_as_zstar ) THEN   ! z-star emulation using z-tile
             frq_rst_e3t(:,:) = 0._wp               !Ignore namelist settings
-            frq_rst_hdv(:,:) = 1._wp / rdt
+            frq_rst_hdv(:,:) = 1._wp / rn_Dt
          ENDIF
          IF ( ln_vvl_zstar_at_eqtor ) THEN   ! use z-star in vicinity of the Equator
@@ -250,5 +250,5 @@
                      ! values inside the equatorial band (ztilde as zstar)
                      frq_rst_e3t(ji,jj) =  0.0_wp
-                     frq_rst_hdv(ji,jj) =  1.0_wp / rdt
+                     frq_rst_hdv(ji,jj) =  1.0_wp / rn_Dt
                   ELSE                                      ! transition band (2.5 to 6 degrees N/S)
                      !                                      ! (linearly transition from z-tilde to z-star)
@@ -256,6 +256,6 @@
                         &            * (  1.0_wp - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                         &                                          * 180._wp / 3.5_wp ) )
-                     frq_rst_hdv(ji,jj) = (1.0_wp / rdt)                                &
-                        &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rdt) )*0.5_wp   &
+                     frq_rst_hdv(ji,jj) = (1.0_wp / rn_Dt)                                &
+                        &            + (  frq_rst_hdv(ji,jj)-(1.e0_wp / rn_Dt) )*0.5_wp   &
                         &            * (  1._wp  - COS( rad*(ABS(gphit(ji,jj))-2.5_wp)  &
                         &                                          * 180._wp / 3.5_wp ) )
@@ -268,5 +268,5 @@
                   ij0 = 128   ;   ij1 = 135   ;   
                   frq_rst_e3t( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  0.0_wp
-                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rdt
+                  frq_rst_hdv( mi0(ii0):mi1(ii1) , mj0(ij0):mj1(ij1) ) =  1.e0_wp / rn_Dt
                ENDIF
             ENDIF
@@ -323,5 +323,5 @@
       INTEGER                ::   ji, jj, jk            ! dummy loop indices
       INTEGER , DIMENSION(3) ::   ijk_max, ijk_min      ! temporary integers
-      REAL(wp)               ::   z2dt, z_tmin, z_tmax  ! local scalars
+      REAL(wp)               ::   z_tmin, z_tmax        ! local scalars
       LOGICAL                ::   ll_do_bclinic         ! local logical
       REAL(wp), DIMENSION(jpi,jpj)     ::   zht, z_scale, zwu, zwv, zhdiv
@@ -377,5 +377,5 @@
             IF( kt > nit000 ) THEN
                DO jk = 1, jpkm1
-                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rdt * frq_rst_hdv(:,:)   &
+                  hdiv_lf(:,:,jk) = hdiv_lf(:,:,jk) - rn_Dt * frq_rst_hdv(:,:)   &
                      &          * ( hdiv_lf(:,:,jk) - e3t(:,:,jk,Kmm) * ( hdiv(:,:,jk) - zhdiv(:,:) ) )
                END DO
@@ -446,11 +446,6 @@
          ! Leapfrog time stepping
          ! ~~~~~~~~~~~~~~~~~~~~~~
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
-            z2dt =  rdt
-         ELSE
-            z2dt = 2.0_wp * rdt
-         ENDIF
          CALL lbc_lnk( 'domvvl', tilde_e3t_a(:,:,:), 'T', 1._wp )
-         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + z2dt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
+         tilde_e3t_a(:,:,:) = tilde_e3t_b(:,:,:) + rDt * tmask(:,:,:) * tilde_e3t_a(:,:,:)
 
          ! Maximum deformation control
@@ -638,9 +633,9 @@
       ! - ML - e3(t/u/v)_b are allready computed in dynnxt.
       IF( ln_vvl_ztilde .OR. ln_vvl_layer ) THEN
-         IF( neuler == 0 .AND. kt == nit000 ) THEN
+         IF( l_1st_euler ) THEN
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:)
          ELSE
             tilde_e3t_b(:,:,:) = tilde_e3t_n(:,:,:) & 
-            &         + atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
+            &         + rn_atfp * ( tilde_e3t_b(:,:,:) - 2.0_wp * tilde_e3t_n(:,:,:) + tilde_e3t_a(:,:,:) )
          ENDIF
          tilde_e3t_n(:,:,:) = tilde_e3t_a(:,:,:)
@@ -849,5 +844,5 @@
                   e3t(:,:,:,Kbb) = e3t_0(:,:,:)
                END WHERE
-               IF( neuler == 0 ) THEN
+               IF( l_1st_euler ) THEN
                   e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
                ENDIF
@@ -855,19 +850,19 @@
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_n set equal to e3t_b.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_b', e3t(:,:,:,Kbb), ldxios = lrxios )
                e3t(:,:,:,Kmm) = e3t(:,:,:,Kbb)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE IF( id2 > 0 ) THEN
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kbb) not found in restart files'
                IF(lwp) write(numout,*) 'e3t_b set equal to e3t_n.'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                CALL iom_get( numror, jpdom_autoglo, 'e3t_n', e3t(:,:,:,Kmm), ldxios = lrxios )
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ELSE
                IF(lwp) write(numout,*) 'dom_vvl_rst WARNING : e3t(:,:,:,Kmm) not found in restart file'
                IF(lwp) write(numout,*) 'Compute scale factor from sshn'
-               IF(lwp) write(numout,*) 'neuler is forced to 0'
+               IF(lwp) write(numout,*) 'l_1st_euler is forced to .true.'
                DO jk = 1, jpk
                   e3t(:,:,jk,Kmm) =  e3t_0(:,:,jk) * ( ht_0(:,:) + ssh(:,:,Kmm) ) &
@@ -876,5 +871,5 @@
                END DO
                e3t(:,:,:,Kbb) = e3t(:,:,:,Kmm)
-               neuler = 0
+               l_1st_euler = .true.
             ENDIF
             !                             ! ----------- !
@@ -1039,5 +1034,5 @@
             WRITE(numout,*) '                         rn_rst_e3t     = 0.e0'
             WRITE(numout,*) '            hard-wired : z-tilde cutoff frequency of low-pass filter (days)'
-            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rdt'
+            WRITE(numout,*) '                         rn_lf_cutoff   = 1.0/rn_Dt'
          ELSE
             WRITE(numout,*) '      z-tilde to zstar restoration timescale (days)        rn_rst_e3t   = ', rn_rst_e3t
Index: NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/usrdef_istate.F90
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/usrdef_istate.F90	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/VORTEX/MY_SRC/usrdef_istate.F90	(revision 12511)
@@ -69,5 +69,5 @@
       zH = 0.5_wp * 5000._wp
       !
-      zP0 = rau0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)
+      zP0 = rho0 * zf0 * zumax * zlambda * SQRT(EXP(1._wp)/2._wp)
       !
       ! Sea level:
@@ -77,5 +77,5 @@
             zx = glamt(ji,jj) * 1.e3
             zy = gphit(ji,jj) * 1.e3
-            zrho1 = rau0 + za * EXP(-(zx**2+zy**2)/zlambda**2)
+            zrho1 = rho0 + za * EXP(-(zx**2+zy**2)/zlambda**2)
             pssh(ji,jj) = zP0 * EXP(-(zx**2+zy**2)/zlambda**2)/(zrho1*grav) * ptmask(ji,jj,1)
          END DO
@@ -89,10 +89,10 @@
             DO jk=1,jpk
                zdt =  pdept(ji,jj,jk) 
-               zrho1 = rau0 * (1._wp + zn2*zdt/grav)
+               zrho1 = rho0 * (1._wp + zn2*zdt/grav)
                IF (zdt < zH) THEN
                   zrho1 = zrho1 - zP0 * (1._wp-EXP(zdt-zH)) &
                           & * EXP(-(zx**2+zy**2)/zlambda**2) / (grav*(zH -1._wp + exp(-zH)));
                ENDIF
-               pts(ji,jj,jk,jp_tem) = (20._wp + (rau0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
+               pts(ji,jj,jk,jp_tem) = (20._wp + (rho0-zrho1) / 0.28_wp) * ptmask(ji,jj,jk)
             END DO
          END DO
@@ -103,5 +103,5 @@
       !
       ! velocities:
-      za = 2._wp * zP0 / (zf0 * rau0 * zlambda**2)
+      za = 2._wp * zP0 / (zf0 * rho0 * zlambda**2)
       DO ji=1, jpim1
          DO jj=1, jpj
Index: NEMO/branches/2020/r12377_ticket2386/tests/WAD/EXPREF/namelist_cfg
===================================================================
--- NEMO/branches/2020/r12377_ticket2386/tests/WAD/EXPREF/namelist_cfg	(revision 12499)
+++ NEMO/branches/2020/r12377_ticket2386/tests/WAD/EXPREF/namelist_cfg	(revision 12511)
@@ -43,5 +43,5 @@
    !
    ln_meshmask = .true.    !  create (>0) a mesh file or not (=0)
-   rn_rdt      =    18.    !  time step for the dynamics 
+   rn_Dt      =    18.    !  time step for the dynamics 
 /
 !-----------------------------------------------------------------------
@@ -344,5 +344,5 @@
    ln_dynspg_ts  = .true.  !  split-explicit free surface
    ln_bt_auto    = .false. ! Number of sub-step defined from:
-   nn_baro       =  12     ! =F : the number of sub-step in rn_rdt seconds
+   nn_e       =  12     ! =F : the number of sub-step in rn_Dt seconds
 /
 !-----------------------------------------------------------------------
