Changeset 12489 for NEMO/trunk/src/TOP


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

Preparation for new timestepping scheme #2390.
Main changes:

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

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

Location:
NEMO/trunk/src/TOP
Files:
23 edited

Legend:

Unmodified
Added
Removed
  • NEMO/trunk/src/TOP/C14/trcatm_c14.F90

    r12377 r12489  
    223223      IF(kc14typ >= 1) THEN  ! Transient C14 & CO2 
    224224      ! 
    225          tyrc14_now = tyrc14_now + ( rdt / ( rday * nyear_len(1)) )    !  current time step in yr relative to tyrc14_beg 
     225         tyrc14_now = tyrc14_now + ( rn_Dt / ( rday * nyear_len(1)) )    !  current time step in yr relative to tyrc14_beg 
    226226      ! 
    227227      ! CO2 -------------------------------------------------------- 
  • NEMO/trunk/src/TOP/C14/trcsms_c14.F90

    r12377 r12489  
    124124             
    125125      ! cumulation of air-to-sea flux at each time step 
    126       qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rdttrc 
     126      qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rn_Dt 
    127127      ! 
    128128      ! Add the surface flux to the trend of jp_c14 
  • NEMO/trunk/src/TOP/CFC/trcsms_cfc.F90

    r12377 r12489  
    166166 
    167167            ! cumulation of surface flux at each time step 
    168             qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rdt 
     168            qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rn_Dt 
    169169            !                                               !----------------! 
    170170         END_2D 
  • NEMO/trunk/src/TOP/PISCES/P2Z/p2zexp.F90

    r12377 r12489  
    9898         zwork = vsed * tr(ji,jj,ikt,jpdet,Kmm) 
    9999         zsedpoca(ji,jj) = ( zwork + dminl(ji,jj) * xksi(ji,jj)   & 
    100             &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rdt 
     100            &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rn_Dt 
    101101         zgeolpoc = zgeolpoc + sedlostpoc * sedpocn(ji,jj) * e1e2t(ji,jj) 
    102102      END_2D 
     
    114114      ! Time filter and swap of arrays 
    115115      ! ------------------------------ 
    116       IF( neuler == 0 .AND. kt == nittrc000 ) THEN        ! Euler time-stepping at first time-step 
    117         !                                             ! (only swap) 
     116      IF( l_1st_euler ) THEN        ! Euler time-stepping at first time-step 
     117        !                           ! (only swap) 
    118118        sedpocn(:,:) = zsedpoca(:,:) 
    119119        !                                               
     
    122122        DO_2D_11_11 
    123123           zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers 
    124            sedpocb(ji,jj) = sedpocn(ji,jj) + atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
     124           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
    125125           sedpocn(ji,jj) = zsedpoca(ji,jj)                                       ! sedpocn <-- sedpoca 
    126126        END_2D 
  • NEMO/trunk/src/TOP/PISCES/P4Z/p4zsms.F90

    r12377 r12489  
    9090      IF( ln_pisdmp .AND. MOD( kt - 1, nn_pisdmp ) == 0 )   CALL p4z_dmp( kt, Kbb, Kmm )      ! Relaxation of some tracers 
    9191      ! 
    92       rfact = r2dttrc 
     92      rfact = rDt_trc 
    9393      ! 
    9494      ! trends computation initialisation 
     
    106106         xfact = 1.e+3 * rfact2r 
    107107         IF(lwp) WRITE(numout,*)  
    108          IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt 
     108         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rn_Dt = ', rn_Dt 
    109109         IF(lwp) write(numout,*) '    PISCES  Biology time step    rfact2 = ', rfact2 
    110110         IF(lwp) WRITE(numout,*) 
    111111      ENDIF 
    112112 
    113       IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN 
     113      IF( l_1st_euler .OR. ln_top_euler ) THEN 
    114114         DO jn = jp_pcs0, jp_pcs1              !   SMS on tracer without Asselin time-filter 
    115115            tr(:,:,:,jn,Kbb) = tr(:,:,:,jn,Kmm) 
  • NEMO/trunk/src/TOP/PISCES/SED/oce_sed.F90

    r12377 r12489  
    1818   USE dom_oce , ONLY :   mbkt      =>   mbkt           !: vertical index of the bottom last T- ocean level 
    1919   USE dom_oce , ONLY :   tmask     =>   tmask          !: land/ocean mask at t-points 
    20    USE dom_oce , ONLY :   rdt       =>   rdt            !: time step for the dynamics 
     20   USE dom_oce , ONLY :   rn_Dt     =>   rn_Dt          !: time step for the dynamics 
    2121   USE dom_oce , ONLY :   nyear     =>   nyear          !: Current year 
    2222   USE dom_oce , ONLY :   ndastp    =>   ndastp         !: time step date in year/month/day aammjj 
     
    5050   USE p4zche, ONLY     : sio3eq    =>   sio3eq          !: Chemical constants   
    5151   USE p4zbc, ONLY     : dust      =>   dust 
    52    USE trc  , ONLY : r2dttrc   =>   r2dttrc 
     52   USE trc  , ONLY : rDt_trc   =>   rDt_trc 
    5353 
    5454END MODULE oce_sed 
  • NEMO/trunk/src/TOP/PISCES/SED/seddta.F90

    r12377 r12489  
    7575      IF( kt == nitsed000 ) THEN 
    7676         IF (lwp) WRITE(numsed,*) ' sed_dta : Sediment fields' 
    77          dtsed = r2dttrc 
     77         dtsed = rDt_trc 
    7878         rsecday = 60.* 60. * 24. 
    7979!         conv2   = 1.0e+3 / ( 1.0e+4 * rsecday * 30. ) 
     
    103103         DO_2D_11_11 
    104104            ikt = mbkt(ji,jj) 
    105             zdep = e3t(ji,jj,ikt,Kmm) / r2dttrc 
     105            zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc 
    106106            zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) / rday ) 
    107107            zwsbio3(ji,jj) = MIN( 0.99 * zdep, wsbio3(ji,jj,ikt) / rday ) 
  • NEMO/trunk/src/TOP/PISCES/SED/sedini.F90

    r12377 r12489  
    488488 
    489489      jpksedm1  = jpksed - 1 
    490       dtsed = r2dttrc 
     490      dtsed = rDt_trc 
    491491 
    492492      READ  ( numnamsed_ref, nam_trased, IOSTAT = ios, ERR = 905) 
  • NEMO/trunk/src/TOP/PISCES/SED/sedrst.F90

    r12377 r12489  
    330330      !!       In both those options, the  exact duration of the experiment 
    331331      !!       since the beginning (cumulated duration of all previous restart runs) 
    332       !!       is not stored in the restart and is assumed to be (nittrc000-1)*rdt. 
     332      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt. 
    333333      !!       This is valid is the time step has remained constant. 
    334334      !! 
     
    381381             ELSE 
    382382               ndastp = ndate0 - 1     ! ndate0 read in the namelist in dom_nam 
    383                adatrj = ( REAL( nittrc000-1, wp ) * rdt ) / rday 
     383               adatrj = ( REAL( nittrc000-1, wp ) * rn_Dt ) / rday 
    384384               ! note this is wrong if time step has changed during run 
    385385            ENDIF 
  • NEMO/trunk/src/TOP/PISCES/SED/sedstp.F90

    r12377 r12489  
    5555      IF(ln_sediment_offline)   CALL trc_dmp_sed  ( kt, Kbb, Kmm, Krhs ) 
    5656 
    57       dtsed  = r2dttrc 
     57      dtsed  = rDt_trc 
    5858!      dtsed2 = dtsed 
    5959      IF (kt /= nitsed000) THEN 
  • NEMO/trunk/src/TOP/PISCES/SED/sedwri.F90

    r10222 r12489  
    9494         DO ji = 1, jpoce 
    9595            zflx(ji,jw) = ( pwcp(ji,1,jw) - pwcp_dta(ji,jw) ) & 
    96                &         * 1.e3 / 1.e2 * dzkbot(ji) / r2dttrc 
     96               &         * 1.e3 / 1.e2 * dzkbot(ji) / rDt_trc 
    9797         ENDDO 
    9898      ENDDO 
     
    100100      ! Calculation of accumulation rate per dt 
    101101      DO js = 1, jpsol 
    102          zrate =  1.0 / ( denssol * por1(jpksed) ) / r2dttrc 
     102         zrate =  1.0 / ( denssol * por1(jpksed) ) / rDt_trc 
    103103         DO ji = 1, jpoce 
    104104            zflx(ji,jpwatp1) = zflx(ji,jpwatp1) + ( tosed(ji,js) - fromsed(ji,js) ) * zrate 
  • NEMO/trunk/src/TOP/TRP/trcadv.F90

    r12377 r12489  
    125125         CALL tra_adv_cen( kt, nittrc000,'TRC',          zuu, zvv, zww,      Kmm, ptr, jptra, Krhs, nn_cen_h, nn_cen_v ) 
    126126      CASE ( np_FCT )                                 ! FCT      : 2nd / 4th order 
    127          CALL tra_adv_fct( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 
     127         CALL tra_adv_fct( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_fct_h, nn_fct_v ) 
    128128      CASE ( np_MUS )                                 ! MUSCL 
    129          CALL tra_adv_mus( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups         )  
     129         CALL tra_adv_mus( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, ln_mus_ups         )  
    130130      CASE ( np_UBS )                                 ! UBS 
    131          CALL tra_adv_ubs( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v           ) 
     131         CALL tra_adv_ubs( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs, nn_ubs_v           ) 
    132132      CASE ( np_QCK )                                 ! QUICKEST 
    133          CALL tra_adv_qck( kt, nittrc000,'TRC', r2dttrc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs                     ) 
     133         CALL tra_adv_qck( kt, nittrc000,'TRC', rDt_trc, zuu, zvv, zww, Kbb, Kmm, ptr, jptra, Krhs                     ) 
    134134      ! 
    135135      END SELECT 
  • NEMO/trunk/src/TOP/TRP/trcatf.F90

    r12377 r12489  
    7171      !!      the divergence of two consecutive time-steps and tr arrays 
    7272      !!      to prepare the next time_step: 
    73       !!         (tr(Kmm)) = (tr(Kmm)) + atfp [ (tr(Kbb)) + (tr(Kaa)) - 2 (tr(Kmm)) ] 
     73      !!         (tr(Kmm)) = (tr(Kmm)) + rn_atfp [ (tr(Kbb)) + (tr(Kaa)) - 2 (tr(Kmm)) ] 
    7474      !! 
    7575      !! 
     
    111111 
    112112         ! total trend for the non-time-filtered variables.  
    113          zfact = 1.0 / rdttrc 
     113         zfact = 1.0 / rn_Dt 
    114114         ! G Nurser 23 Mar 2017. Recalculate trend as Delta(e3t*T)/e3tn; e3tn cancel from ts(Kmm) terms 
    115115         IF( ln_linssh ) THEN       ! linear sea surface height only 
     
    139139      ENDIF 
    140140      !                                ! Leap-Frog + Asselin filter time stepping 
    141       IF( (neuler == 0 .AND. kt == nittrc000) .OR. ln_top_euler ) THEN    ! Euler time-stepping  
     141      IF( l_1st_euler .OR. ln_top_euler ) THEN    ! Euler time-stepping  
    142142         ! 
    143143         IF (l_trdtrc .AND. .NOT. ln_linssh ) THEN   ! Zero Asselin filter contribution must be explicitly written out since for vvl 
     
    152152         IF( .NOT. l_offline ) THEN ! Leap-Frog + Asselin filter time stepping 
    153153            IF( ln_linssh ) THEN   ;   CALL tra_atf_fix( kt, Kbb, Kmm, Kaa, nittrc000,         'TRC', ptr, jptra )                     !     linear ssh 
    154             ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nittrc000, rdttrc, 'TRC', ptr, sbc_trc, sbc_trc_b, jptra ) ! non-linear ssh 
     154            ELSE                   ;   CALL tra_atf_vvl( kt, Kbb, Kmm, Kaa, nittrc000, rn_Dt, 'TRC', ptr, sbc_trc, sbc_trc_b, jptra ) ! non-linear ssh 
    155155            ENDIF 
    156156         ELSE 
     
    164164         DO jn = 1, jptra 
    165165            DO jk = 1, jpkm1 
    166                zfact = 1._wp / r2dttrc   
     166               zfact = 1._wp / rDt_trc   
    167167               ztrdt(:,:,jk,jn) = ( ptr(:,:,jk,jn,Kbb) - ztrdt(:,:,jk,jn) ) * zfact  
    168168            END DO 
     
    200200      !!                  /( e3t(:,:,:,Kmm)    + rbcp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] )    
    201201      !!             ztm = 0                                                       otherwise 
    202       !!             tb  = ( e3t_n*tn + atfp*[ e3t_b*tb - 2 e3t_n*tn + e3t_a*ta ] ) 
    203       !!                  /( e3t(:,:,:,Kmm)    + atfp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] ) 
     202      !!             tb  = ( e3t_n*tn + rn_atfp*[ e3t_b*tb - 2 e3t_n*tn + e3t_a*ta ] ) 
     203      !!                  /( e3t(:,:,:,Kmm)    + rn_atfp*[ e3t(:,:,:,Kbb)    - 2 e3t(:,:,:,Kmm)    + e3t(:,:,:,Kaa)    ] ) 
    204204      !!             tn  = ta  
    205205      !!             ta  = zt        (NB: reset to 0 after eos_bn2 call) 
     
    222222         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    223223         IF( .NOT. ln_linssh ) THEN 
    224             rfact1 = atfp * rdttrc 
    225             rfact2 = rfact1 / rau0 
     224            rfact1 = rn_atfp * rn_Dt 
     225            rfact2 = rfact1 / rho0 
    226226         ENDIF 
    227227        !   
     
    241241            ztc_d  = ztc_a  - 2. * ztc_n  + ztc_b 
    242242            ! 
    243             ze3t_f = ze3t_n + atfp * ze3t_d 
    244             ztc_f  = ztc_n  + atfp * ztc_d 
     243            ze3t_f = ze3t_n + rn_atfp * ze3t_d 
     244            ztc_f  = ztc_n  + rn_atfp * ztc_d 
    245245            ! 
    246246            IF( .NOT. ln_linssh .AND. jk == mikt(ji,jj) ) THEN           ! first level  
  • NEMO/trunk/src/TOP/TRP/trcrad.F90

    r12377 r12489  
    147147     ! 
    148148     IF( l_trdtrc )   ALLOCATE( ztrtrd(jpi,jpj,jpk) ) 
    149      zs2rdt = 1. / ( 2. * rdt ) 
     149     zs2rdt = 1. / ( 2. * rn_Dt ) 
    150150     ! 
    151151     DO jt = 1,2  ! Loop over time indices since exactly the same fix is applied to "now" and "after" fields 
  • NEMO/trunk/src/TOP/TRP/trcsbc.F90

    r12377 r12489  
    121121         DO jn = 1, jptra 
    122122            DO_2D_01_00 
    123                sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rau0 * ptr(ji,jj,1,jn,Kmm) 
     123               sbc_trc(ji,jj,jn) = zsfx(ji,jj) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 
    124124            END_2D 
    125125         END DO 
     
    129129         DO jn = 1, jptra 
    130130            DO_2D_01_00 
    131                sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rau0 * ptr(ji,jj,1,jn,Kmm) 
     131               sbc_trc(ji,jj,jn) = ( zsfx(ji,jj) + fmmflx(ji,jj) ) * r1_rho0 * ptr(ji,jj,1,jn,Kmm) 
    132132            END_2D 
    133133         END DO 
     
    145145               ztfx  = zftra                        ! net tracer flux 
    146146               ! 
    147                zdtra = r1_rau0 * ( ztfx + ( zsfx(ji,jj) + fmmflx(ji,jj) ) * ptr(ji,jj,1,jn,Kmm) )  
     147               zdtra = r1_rho0 * ( ztfx + ( zsfx(ji,jj) + fmmflx(ji,jj) ) * ptr(ji,jj,1,jn,Kmm) )  
    148148               IF ( zdtra < 0. ) THEN 
    149                   zdtra  = MAX(zdtra, -ptr(ji,jj,1,jn,Kmm) * e3t(ji,jj,1,Kmm) / r2dttrc )   ! avoid negative concentrations to arise 
     149                  zdtra  = MAX(zdtra, -ptr(ji,jj,1,jn,Kmm) * e3t(ji,jj,1,Kmm) / rDt_trc )   ! avoid negative concentrations to arise 
    150150               ENDIF 
    151151               sbc_trc(ji,jj,jn) =  zdtra  
  • NEMO/trunk/src/TOP/TRP/trczdf.F90

    r12377 r12489  
    5656      IF( l_trdtrc )   ztrtrd(:,:,:,:)  = ptr(:,:,:,:,Krhs) 
    5757      ! 
    58       CALL tra_zdf_imp( kt, nittrc000, 'TRC', r2dttrc, Kbb, Kmm, Krhs, ptr, Kaa, jptra )    !   implicit scheme           
     58      CALL tra_zdf_imp( kt, nittrc000, 'TRC', rDt_trc, Kbb, Kmm, Krhs, ptr, Kaa, jptra )    !   implicit scheme           
    5959      ! 
    6060      IF( l_trdtrc )   THEN                      ! save the vertical diffusive trends for further diagnostics 
    6161         DO jn = 1, jptra 
    6262            DO jk = 1, jpkm1 
    63                ztrtrd(:,:,jk,jn) = ( ( ptr(:,:,jk,jn,Kaa) - ptr(:,:,jk,jn,Kbb) ) / r2dttrc ) - ztrtrd(:,:,jk,jn) 
     63               ztrtrd(:,:,jk,jn) = ( ( ptr(:,:,jk,jn,Kaa) - ptr(:,:,jk,jn,Kbb) ) / rDt_trc ) - ztrtrd(:,:,jk,jn) 
    6464            END DO 
    6565            CALL trd_tra( kt, Kmm, Krhs, 'TRC', jn, jptra_zdf, ztrtrd(:,:,:,jn) ) 
  • NEMO/trunk/src/TOP/TRP/trdmxl_trc.F90

    r12377 r12489  
    401401         DO jn = 1, jptra 
    402402            IF( ln_trdtrc(jn) ) THEN 
    403                !-- Compute total trends    (use rdttrc instead of rdt ???) 
     403               !-- Compute total trends  
    404404               IF ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) THEN  ! EULER-FORWARD schemes 
    405                   ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rdt 
     405                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rn_Dt 
    406406               ELSE                                                                     ! LEAP-FROG schemes 
    407                   ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*rdt) 
     407                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) + tmlb_trc(:,:,jn) - tmlbb_trc(:,:,jn))/(2.*rn_Dt) 
    408408               ENDIF 
    409409                
     
    439439            IF( ln_trdtrc(jn) ) THEN 
    440440               tml_sum_trc(:,:,jn) = tmlbn_trc(:,:,jn) + 2 * ( tml_sum_trc(:,:,jn) - tml_trc(:,:,jn) ) + tml_trc(:,:,jn) 
    441                ztmltot2   (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) /  ( 2.*rdt )    ! now tracer unit is /sec 
     441               ztmltot2   (:,:,jn) = ( tml_sum_trc(:,:,jn) - tml_sumb_trc(:,:,jn) ) /  ( 2.*rn_Dt )    ! now tracer unit is /sec 
    442442            ENDIF 
    443443         END DO 
     
    852852         CALL ctl_stop( 'STOP', 'trd_mxl_trc : this was never checked. Comment this line to proceed...' ) 
    853853      ENDIF 
    854       zsto = nn_trd_trc * rdt 
     854      zsto = nn_trd_trc * rn_Dt 
    855855      clop = "inst("//TRIM(clop)//")" 
    856856#  else 
    857857      IF( ln_trdmxl_trc_instant ) THEN 
    858          zsto = rdt                                               ! inst. diags : we use IOIPSL time averaging 
     858         zsto = rn_Dt                                               ! inst. diags : we use IOIPSL time averaging 
    859859      ELSE 
    860          zsto = nn_trd_trc * rdt                                    ! mean  diags : we DO NOT use any IOIPSL time averaging 
     860         zsto = nn_trd_trc * rn_Dt                                    ! mean  diags : we DO NOT use any IOIPSL time averaging 
    861861      ENDIF 
    862862      clop = "ave("//TRIM(clop)//")" 
    863863#  endif 
    864       zout = nn_trd_trc * rdt 
     864      zout = nn_trd_trc * rn_Dt 
    865865      iiter = nittrc000 - 1 
    866866 
     
    869869      ! II.2 Compute julian date from starting date of the run 
    870870      ! ------------------------------------------------------ 
    871       CALL ymds2ju( nyear, nmonth, nday, rdt, zjulian ) 
     871      CALL ymds2ju( nyear, nmonth, nday, rn_Dt, zjulian ) 
    872872      zjulian = zjulian - adatrj   !   set calendar origin to the beginning of the experiment 
    873873      IF(lwp) WRITE(numout,*)' '   
     
    901901            CALL dia_nam( clhstnam, nn_trd_trc, csuff ) 
    902902            CALL histbeg( clhstnam, jpi, glamt, jpj, gphit,                                            & 
    903                &        1, jpi, 1, jpj, iiter, zjulian, rdt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 
     903               &        1, jpi, 1, jpj, iiter, zjulian, rn_Dt, nh_t(jn), nidtrd(jn), domain_id=nidom, snc4chunks=snc4set ) 
    904904       
    905905            !-- Define the ML depth variable 
     
    938938               CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jl,2)), clmxl//" "//clvar//ctrd_trc(jl,1),                      &  
    939939                 &    cltrcu, jpi, jpj, nh_t(jn), 1  , 1, 1  , -99 , 32, clop, zsto, zout ) ! IOIPSL: time mean 
    940             END DO                                                                         ! if zsto=rdt above 
     940            END DO                                                                         ! if zsto=rn_Dt above 
    941941          
    942942            CALL histdef(nidtrd(jn), trim(clvar)//trim(ctrd_trc(jpmxl_trc_radb,2)), clmxl//" "//clvar//ctrd_trc(jpmxl_trc_radb,1), &  
  • NEMO/trunk/src/TOP/oce_trc.F90

    r12377 r12489  
    3939   USE oce , ONLY :   ts     =>    ts     !: 4D array contaning ( tn, sn ) 
    4040   USE oce , ONLY :   rhop   =>    rhop   !: potential volumic mass (kg m-3)  
    41    USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rau0)/rau0 (no units) 
     41   USE oce , ONLY :   rhd    =>    rhd    !: in situ density anomalie rhd=(rho-rho0)/rho0 (no units) 
    4242   USE oce , ONLY :   hdiv   =>    hdiv   !: horizontal divergence (1/s) 
    4343   USE oce , ONLY :   ssh    =>    ssh    !: sea surface height at t-point [m]    
  • NEMO/trunk/src/TOP/trc.F90

    r12377 r12489  
    6161   CHARACTER(len = 80) , PUBLIC ::   cn_trcrst_out      !: suffix of pass. tracer restart name (output) 
    6262   CHARACTER(len = 256), PUBLIC ::   cn_trcrst_outdir   !: restart output directory 
    63    REAL(wp)            , PUBLIC ::   rdttrc             !: passive tracer time step 
    64    REAL(wp)            , PUBLIC ::   r2dttrc            !: = 2*rdttrc except at nit000 (=rdttrc) if neuler=0 
     63   REAL(wp)            , PUBLIC ::   rDt_trc            !: = 2*rn_Dt except at nit000 (=rn_Dt) if l_1st_euler=.true. 
    6564   LOGICAL             , PUBLIC ::   ln_top_euler       !: boolean term for euler integration  
    6665   LOGICAL             , PUBLIC ::   ln_trcdta          !: Read inputs data from files 
  • NEMO/trunk/src/TOP/trcbc.F90

    r12377 r12489  
    416416            DO_2D_01_00 
    417417               DO jk = 1, nk_rnf(ji,jj) 
    418                   zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rau0 / h_rnf(ji,jj) 
     418                  zrnf = (rnf(ji,jj) + rnf_b(ji,jj)) * 0.5_wp * r1_rho0 / h_rnf(ji,jj) 
    419419                  ptr(ji,jj,jk,jn,Krhs) = ptr(ji,jj,jk,jn,Krhs)  + (ptr(ji,jj,jk,jn,Kmm) * zrnf) 
    420420               END DO 
  • NEMO/trunk/src/TOP/trcnam.F90

    r12377 r12489  
    7676      ENDIF 
    7777      ! 
    78       rdttrc = rdt                              ! passive tracer time-step       
    79       !  
    8078      IF(lwp) THEN                              ! control print 
    8179        WRITE(numout,*)  
    82         WRITE(numout,*) '   ==>>>   Passive Tracer  time step    rdttrc = rdt = ', rdttrc 
     80        WRITE(numout,*) '   ==>>>   Passive Tracer time step = rn_Dt = ', rn_Dt 
    8381      ENDIF 
    8482      ! 
  • NEMO/trunk/src/TOP/trcrst.F90

    r12377 r12489  
    136136      !!---------------------------------------------------------------------- 
    137137      ! 
    138       CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rdttrc )   ! passive tracer time step 
     138      CALL iom_rstput( kt, nitrst, numrtw, 'rdttrc1', rn_Dt )   ! passive tracer time step (= ocean time step) 
    139139      ! prognostic variables  
    140140      ! --------------------  
     
    183183      !!       In both those options, the  exact duration of the experiment 
    184184      !!       since the beginning (cumulated duration of all previous restart runs) 
    185       !!       is not stored in the restart and is assumed to be (nittrc000-1)*rdt. 
     185      !!       is not stored in the restart and is assumed to be (nittrc000-1)*rn_Dt. 
    186186      !!       This is valid is the time step has remained constant. 
    187187      !! 
     
    263263               nminute = ( nn_time0 - nhour * 100 ) 
    264264               IF( nhour*3600+nminute*60-ndt05 .lt. 0 )  ndastp=ndastp-1      ! Start hour is specified in the namelist (default 0) 
    265                adatrj = ( REAL( nit000-1, wp ) * rdt ) / rday 
     265               adatrj = ( REAL( nit000-1, wp ) * rn_Dt ) / rday 
    266266               ! note this is wrong if time step has changed during run 
    267267            ENDIF 
     
    276276            ENDIF 
    277277            ! 
    278             IF( ln_rsttr )  THEN   ;    neuler = 1 
    279             ELSE                   ;    neuler = 0 
     278            IF( ln_rsttr )  THEN   ;    l_1st_euler = .false. 
     279            ELSE                   ;    l_1st_euler = .true. 
    280280            ENDIF 
    281281            ! 
  • NEMO/trunk/src/TOP/trcstp.F90

    r12377 r12489  
    6464      IF( ln_timing )   CALL timing_start('trc_stp') 
    6565      ! 
    66       IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN     ! at nittrc000 
    67          r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping) 
     66      IF( l_1st_euler .OR. ln_top_euler ) THEN     ! at nittrc000 
     67         rDt_trc =  rn_Dt           ! = rn_Dt (use or restarting with Euler time stepping) 
    6868      ELSEIF( kt <= nittrc000 + 1 ) THEN                                     ! at nittrc000 or nittrc000+1  
    69          r2dttrc = 2. * rdttrc       ! = 2 rdttrc (leapfrog)  
     69         rDt_trc = 2. * rn_Dt       ! = 2 rn_Dt (leapfrog)  
    7070      ENDIF 
    7171      ! 
     
    177177            nb_rec_per_day = ncpl_qsr_freq 
    178178         ELSE   
    179             rdt_sampl = MAX( 3600., rdttrc ) 
     179            rdt_sampl = MAX( 3600., rn_Dt ) 
    180180            nb_rec_per_day = INT( rday / rdt_sampl ) 
    181181         ENDIF 
     
    196196 
    197197            CALL iom_get( numrtr, 'ktdcy', zkt )   
    198             rsecfst = INT( zkt ) * rdttrc 
     198            rsecfst = INT( zkt ) * rn_Dt 
    199199            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file at time-step rsecfst =', rsecfst, ' s ' 
    200200            CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean )   !  A mean of qsr 
     
    217217         ELSE                                         !* no restart: set from nit000 values 
    218218            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean set to nit000 values' 
    219             rsecfst  = kt * rdttrc 
     219            rsecfst  = kt * rn_Dt 
    220220            ! 
    221221            qsr_mean(:,:) = qsr(:,:) 
     
    227227      ENDIF 
    228228      ! 
    229       rseclast = kt * rdttrc 
     229      rseclast = kt * rn_Dt 
    230230      ! 
    231231      llnew   = ( rseclast - rsecfst ) .ge.  rdt_sampl    !   new shortwave to store 
Note: See TracChangeset for help on using the changeset viewer.