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 12468 for NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP – NEMO

Ignore:
Timestamp:
2020-02-26T11:02:35+01:00 (4 years ago)
Author:
davestorkey
Message:

2020/KERNEL-03_Storkey_Coward_RK3_stage2:

  1. Alter ABL, ICE and TOP timestepping variables to be consistent with new schema: rdt_abl --> rDt_abl rdt_ice --> rDt_ice r1_rdt_ice --> r1_Dt_ice rdttrc --> rn_Dt (always equal to ocean timestep parameter in namelist) r2dttrc --> rDt_trc (current tracer timestep)
  2. Reinstate rn_scal_load (revert previous change): rn_load --> rn_scal_load

Passes SETTE and bit compares with the trunk@12436.

Location:
NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP
Files:
16 edited

Legend:

Unmodified
Added
Removed
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/C14/trcsms_c14.F90

    r12377 r12468  
    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/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/P4Z/p4zsms.F90

    r12406 r12468  
    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 
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/oce_sed.F90

    r12406 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/seddta.F90

    r12377 r12468  
    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/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/sedini.F90

    r12377 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/sedstp.F90

    r12377 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/PISCES/SED/sedwri.F90

    r10222 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trcadv.F90

    r12377 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trcatf.F90

    r12443 r12468  
    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 
     
    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 
     
    222222         IF(lwp) WRITE(numout,*) '~~~~~~~~~~~' 
    223223         IF( .NOT. ln_linssh ) THEN 
    224             rfact1 = rn_atfp * rdttrc 
     224            rfact1 = rn_atfp * rn_Dt 
    225225            rfact2 = rfact1 / rho0 
    226226         ENDIF 
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trcsbc.F90

    r12443 r12468  
    147147               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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trczdf.F90

    r12377 r12468  
    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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/TRP/trdmxl_trc.F90

    r12406 r12468  
    401401         DO jn = 1, jptra 
    402402            IF( ln_trdtrc(jn) ) THEN 
    403                !-- Compute total trends    (use rdttrc instead of rn_Dt ???) 
     403               !-- Compute total trends  
    404404               IF ( ln_trcadv_muscl .OR. ln_trcadv_muscl2 ) THEN  ! EULER-FORWARD schemes 
    405405                  ztmltot(:,:,jn) =  ( tml_trc(:,:,jn) - tmlbn_trc(:,:,jn) )/rn_Dt 
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trc.F90

    r12397 r12468  
    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 l_1st_euler=.true. 
     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/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trcnam.F90

    r12406 r12468  
    7676      ENDIF 
    7777      ! 
    78       rdttrc = rn_Dt                              ! passive tracer time-step       
    79       !  
    8078      IF(lwp) THEN                              ! control print 
    8179        WRITE(numout,*)  
    82         WRITE(numout,*) '   ==>>>   Passive Tracer  time step    rdttrc = rn_Dt = ', rdttrc 
     80        WRITE(numout,*) '   ==>>>   Passive Tracer time step = rn_Dt = ', rn_Dt 
    8381      ENDIF 
    8482      ! 
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trcrst.F90

    r12406 r12468  
    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      ! --------------------  
  • NEMO/branches/2020/KERNEL-03_Storkey_Coward_RK3_stage2/src/TOP/trcstp.F90

    r12397 r12468  
    6565      ! 
    6666      IF( l_1st_euler .OR. ln_top_euler ) THEN     ! at nittrc000 
    67          r2dttrc =  rdttrc           ! = rdttrc (use or restarting with Euler time stepping) 
     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.