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

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
Changeset 12724 for NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP – NEMO

Ignore:
Timestamp:
2020-04-08T21:37:59+02:00 (4 years ago)
Author:
techene
Message:

branch KERNEL-06 : merge with trunk@12698 #2385 - in duplcated files : changes to comply to the new trunk variables and some loop bug fixes

Location:
NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3
Files:
24 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3

    • Property svn:externals
      •  

        old new  
        33^/utils/build/mk@HEAD         mk 
        44^/utils/tools@HEAD            tools 
        5 ^/vendors/AGRIF/dev_r11615_ENHANCE-04_namelists_as_internalfiles_agrif@HEAD      ext/AGRIF 
         5^/vendors/AGRIF/dev@HEAD      ext/AGRIF 
        66^/vendors/FCM@HEAD            ext/FCM 
        77^/vendors/IOIPSL@HEAD         ext/IOIPSL 
         8 
         9# SETTE 
         10^/utils/CI/sette@HEAD         sette 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/C14/trcatm_c14.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/C14/trcsms_c14.F90

    r12680 r12724  
    125125             
    126126      ! cumulation of air-to-sea flux at each time step 
    127       qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rdttrc 
     127      qint_c14(:,:) = qint_c14(:,:) + qtr_c14(:,:) * rn_Dt 
    128128      ! 
    129129      ! Add the surface flux to the trend of jp_c14 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/CFC/trcsms_cfc.F90

    r12680 r12724  
    167167 
    168168            ! cumulation of surface flux at each time step 
    169             qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rdt 
     169            qint_cfc(ji,jj,jl) = qint_cfc(ji,jj,jl) + qtr_cfc(ji,jj,jl) * rn_Dt 
    170170            !                                               !----------------! 
    171171         END_2D 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/P2Z/p2zexp.F90

    r12680 r12724  
    9999         zwork = vsed * tr(ji,jj,ikt,jpdet,Kmm) 
    100100         zsedpoca(ji,jj) = ( zwork + dminl(ji,jj) * xksi(ji,jj)   & 
    101             &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rdt 
     101            &           - sedlam * sedpocn(ji,jj) - sedlostpoc * sedpocn(ji,jj) ) * rn_Dt 
    102102         zgeolpoc = zgeolpoc + sedlostpoc * sedpocn(ji,jj) * e1e2t(ji,jj) 
    103103      END_2D 
     
    115115      ! Time filter and swap of arrays 
    116116      ! ------------------------------ 
    117       IF( neuler == 0 .AND. kt == nittrc000 ) THEN        ! Euler time-stepping at first time-step 
    118         !                                             ! (only swap) 
     117      IF( l_1st_euler ) THEN        ! Euler time-stepping at first time-step 
     118        !                           ! (only swap) 
    119119        sedpocn(:,:) = zsedpoca(:,:) 
    120120        !                                               
     
    123123        DO_2D_11_11 
    124124           zsedpocd = zsedpoca(ji,jj) - 2. * sedpocn(ji,jj) + sedpocb(ji,jj)      ! time laplacian on tracers 
    125            sedpocb(ji,jj) = sedpocn(ji,jj) + atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
     125           sedpocb(ji,jj) = sedpocn(ji,jj) + rn_atfp * zsedpocd                     ! sedpocb <-- filtered sedpocn 
    126126           sedpocn(ji,jj) = zsedpoca(ji,jj)                                       ! sedpocn <-- sedpoca 
    127127        END_2D 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/P4Z/p4zsms.F90

    r12680 r12724  
    9191      IF( ln_pisdmp .AND. MOD( kt - 1, nn_pisdmp ) == 0 )   CALL p4z_dmp( kt, Kbb, Kmm )      ! Relaxation of some tracers 
    9292      ! 
    93       rfact = r2dttrc 
     93      rfact = rDt_trc 
    9494      ! 
    9595      ! trends computation initialisation 
     
    107107         xfact = 1.e+3 * rfact2r 
    108108         IF(lwp) WRITE(numout,*)  
    109          IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rdt = ', rdt 
     109         IF(lwp) WRITE(numout,*) '    Passive Tracer  time step    rfact  = ', rfact, ' rn_Dt = ', rn_Dt 
    110110         IF(lwp) write(numout,*) '    PISCES  Biology time step    rfact2 = ', rfact2 
    111111         IF(lwp) WRITE(numout,*) 
    112112      ENDIF 
    113113 
    114       IF( ( neuler == 0 .AND. kt == nittrc000 ) .OR. ln_top_euler ) THEN 
     114      IF( l_1st_euler .OR. ln_top_euler ) THEN 
    115115         DO jn = jp_pcs0, jp_pcs1              !   SMS on tracer without Asselin time-filter 
    116116            tr(:,:,:,jn,Kbb) = tr(:,:,:,jn,Kmm) 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/SED/oce_sed.F90

    r12680 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/SED/seddta.F90

    r12680 r12724  
    7676      IF( kt == nitsed000 ) THEN 
    7777         IF (lwp) WRITE(numsed,*) ' sed_dta : Sediment fields' 
    78          dtsed = r2dttrc 
     78         dtsed = rDt_trc 
    7979         rsecday = 60.* 60. * 24. 
    8080!         conv2   = 1.0e+3 / ( 1.0e+4 * rsecday * 30. ) 
     
    104104         DO_2D_11_11 
    105105            ikt = mbkt(ji,jj) 
    106             zdep = e3t(ji,jj,ikt,Kmm) / r2dttrc 
     106            zdep = e3t(ji,jj,ikt,Kmm) / rDt_trc 
    107107            zwsbio4(ji,jj) = MIN( 0.99 * zdep, wsbio4(ji,jj,ikt) / rday ) 
    108108            zwsbio3(ji,jj) = MIN( 0.99 * zdep, wsbio3(ji,jj,ikt) / rday ) 
  • NEMO/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/SED/sedini.F90

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

    r12377 r12724  
    8080         IF(lwp) WRITE(numsed,*) & 
    8181             '             open sed restart.output NetCDF file: ',TRIM(clpath)//clname 
    82          CALL iom_open( TRIM(clpath)//TRIM(clname), numrsw, ldwrt = .TRUE., kdlev = jpksed ) 
     82         CALL iom_open( TRIM(clpath)//TRIM(clname), numrsw, ldwrt = .TRUE., kdlev = jpksed, cdcomp = 'SED' ) 
    8383         lrst_sed = .TRUE. 
    8484      ENDIF 
     
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/SED/sedstp.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/PISCES/SED/sedwri.F90

    r10222 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trcadv.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trcatf.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trcrad.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trcsbc.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trczdf.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/TRP/trdmxl_trc.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/oce_trc.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/trc.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/trcbc.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/trcnam.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/trcrst.F90

    r12377 r12724  
    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/branches/2020/dev_r12377_KERNEL-06_techene_e3/src/TOP/trcstp.F90

    r12377 r12724  
    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      ! 
     
    142142      ! 
    143143      ! Define logical parameter ton control dirunal cycle in TOP 
    144       l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 ) 
    145       l_trcdm2dc = l_trcdm2dc  .AND. .NOT. l_offline 
     144      l_trcdm2dc = ln_dm2dc .OR. ( ln_cpl .AND. ncpl_qsr_freq /= 1 .AND. ncpl_qsr_freq /= 0 ) 
     145      l_trcdm2dc = l_trcdm2dc .AND. .NOT. l_offline 
     146      ! 
    146147      IF( l_trcdm2dc .AND. lwp )   CALL ctl_warn( 'Coupling with passive tracers and used of diurnal cycle.',   & 
    147148         &                           'Computation of a daily mean shortwave for some biogeochemical models ' ) 
     
    177178            nb_rec_per_day = ncpl_qsr_freq 
    178179         ELSE   
    179             rdt_sampl = MAX( 3600., rdttrc ) 
     180            rdt_sampl = MAX( 3600., rn_Dt ) 
    180181            nb_rec_per_day = INT( rday / rdt_sampl ) 
    181182         ENDIF 
     
    196197 
    197198            CALL iom_get( numrtr, 'ktdcy', zkt )   
    198             rsecfst = INT( zkt ) * rdttrc 
     199            rsecfst = INT( zkt ) * rn_Dt 
    199200            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean read in the restart file at time-step rsecfst =', rsecfst, ' s ' 
    200201            CALL iom_get( numrtr, jpdom_autoglo, 'qsr_mean', qsr_mean )   !  A mean of qsr 
     
    217218         ELSE                                         !* no restart: set from nit000 values 
    218219            IF(lwp) WRITE(numout,*) 'trc_qsr_mean:   qsr_mean set to nit000 values' 
    219             rsecfst  = kt * rdttrc 
     220            rsecfst  = kt * rn_Dt 
    220221            ! 
    221222            qsr_mean(:,:) = qsr(:,:) 
     
    227228      ENDIF 
    228229      ! 
    229       rseclast = kt * rdttrc 
     230      rseclast = kt * rn_Dt 
    230231      ! 
    231232      llnew   = ( rseclast - rsecfst ) .ge.  rdt_sampl    !   new shortwave to store 
Note: See TracChangeset for help on using the changeset viewer.