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 8882 for branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/step.F90 – NEMO

Ignore:
Timestamp:
2017-12-01T18:44:09+01:00 (6 years ago)
Author:
flavoni
Message:

dev_CNRS_2017 branch: merged dev_r7881_ENHANCE09_RK3 with trunk r8864

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2017/dev_CNRS_2017/NEMOGCM/NEMO/OPA_SRC/step.F90

    r7753 r8882  
    2929   !!            3.7  !  2014-10  (G. Madec)  LDF simplication  
    3030   !!             -   !  2014-12  (G. Madec) remove KPP scheme 
    31    !!             -   !  2015-11  (J. Chanut) free surface simplification 
     31   !!             -   !  2015-11  (J. Chanut) free surface simplification (remove filtered free surface) 
     32   !!            4.0  !  2017-05  (G. Madec)  introduction of the vertical physics manager (zdfphy) 
    3233   !!---------------------------------------------------------------------- 
    3334 
     
    4546 
    4647   !!---------------------------------------------------------------------- 
    47    !! NEMO/OPA 3.7 , NEMO Consortium (2015) 
     48   !! NEMO/OPA 4.0 , NEMO Consortium (2017) 
    4849   !! $Id$ 
    4950   !! Software governed by the CeCILL licence     (NEMOGCM/NEMO_CeCILL.txt) 
     
    6162      !!                     ***  ROUTINE stp  *** 
    6263      !! 
    63       !! ** Purpose : - Time stepping of OPA (momentum and active tracer eqs.) 
    64       !!              - Time stepping of LIM (dynamic and thermodynamic eqs.) 
    65       !!              - Tme stepping  of TRC (passive tracer eqs.) 
     64      !! ** Purpose : - Time stepping of OPA  (momentum and active tracer eqs.) 
     65      !!              - Time stepping of ESIM (dynamic and thermodynamic eqs.) 
     66      !!              - Time stepping of TRC (passive tracer eqs.) 
    6667      !! 
    6768      !! ** Method  : -1- Update forcings and data 
     
    7475      !!              -8- Outputs and diagnostics 
    7576      !!---------------------------------------------------------------------- 
    76       INTEGER ::   ji,jj,jk ! dummy loop indice 
    77       INTEGER ::   indic    ! error indicator if < 0 
    78       INTEGER ::   kcall    ! optional integer argument (dom_vvl_sf_nxt) 
     77      INTEGER ::   ji, jj, jk   ! dummy loop indice 
     78      INTEGER ::   indic        ! error indicator if < 0 
     79!!gm kcall can be removed, I guess 
     80      INTEGER ::   kcall        ! optional integer argument (dom_vvl_sf_nxt) 
    7981      !! --------------------------------------------------------------------- 
    8082#if defined key_agrif 
     
    125127                         CALL bn2    ( tsn, rab_n, rn2  ) ! now    Brunt-Vaisala frequency 
    126128 
    127       ! 
    128129      !  VERTICAL PHYSICS 
    129                          CALL zdf_bfr( kstp )         ! bottom friction (if quadratic) 
    130       !                                               ! Vertical eddy viscosity and diffusivity coefficients 
    131       IF( lk_zdfric  )   CALL zdf_ric ( kstp )             ! Richardson number dependent Kz 
    132       IF( lk_zdftke  )   CALL zdf_tke ( kstp )             ! TKE closure scheme for Kz 
    133       IF( lk_zdfgls  )   CALL zdf_gls ( kstp )             ! GLS closure scheme for Kz 
    134       IF( ln_zdfqiao )   CALL zdf_qiao( kstp )             ! Qiao vertical mixing  
    135       ! 
    136       IF( lk_zdfcst  ) THEN                                ! Constant Kz (reset avt, avm[uv] to the background value) 
    137          avt (:,:,:) = rn_avt0 * wmask (:,:,:) 
    138          avmu(:,:,:) = rn_avm0 * wumask(:,:,:) 
    139          avmv(:,:,:) = rn_avm0 * wvmask(:,:,:) 
    140       ENDIF 
    141  
    142       IF( ln_rnf_mouth ) THEN                         ! increase diffusivity at rivers mouths 
    143          DO jk = 2, nkrnf   ;   avt(:,:,jk) = avt(:,:,jk) + 2._wp * rn_avt_rnf * rnfmsk(:,:) * tmask(:,:,jk)   ;   END DO 
    144       ENDIF 
    145       IF( ln_zdfevd  )   CALL zdf_evd( kstp )         ! enhanced vertical eddy diffusivity 
    146  
    147       IF( lk_zdftmx  )   CALL zdf_tmx( kstp )         ! tidal vertical mixing 
    148  
    149       IF( lk_zdfddm  )   CALL zdf_ddm( kstp )         ! double diffusive mixing 
    150  
    151                          CALL zdf_mxl( kstp )         ! mixed layer depth 
    152  
    153                                                       ! write TKE or GLS information in the restart file 
    154       IF( lrst_oce .AND. lk_zdftke )   CALL tke_rst( kstp, 'WRITE' ) 
    155       IF( lrst_oce .AND. lk_zdfgls )   CALL gls_rst( kstp, 'WRITE' ) 
    156       ! 
     130                         CALL zdf_phy( kstp )         ! vertical physics update (top/bot drag, avt, avs, avm + MLD) 
     131 
    157132      !  LATERAL  PHYSICS 
    158133      ! 
     
    221196      ENDIF 
    222197 
    223                          CALL dyn_bfr       ( kstp )  ! bottom friction 
     198      IF( .NOT.ln_drgimp)   CALL dyn_bfr    ( kstp )  ! bottom friction 
     199       
    224200                         CALL dyn_zdf       ( kstp )  ! vertical diffusion 
    225201 
     
    233209      !<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< 
    234210      IF( lk_floats  )   CALL flo_stp( kstp )         ! drifting Floats 
    235       IF( nn_diacfl == 1 )   CALL dia_cfl( kstp )         ! Courant number diagnostics 
     211      IF( ln_diacfl )   CALL dia_cfl( kstp )         ! Courant number diagnostics 
    236212      IF( lk_diahth  )   CALL dia_hth( kstp )         ! Thermocline depth (20 degres isotherm depth) 
    237213      IF( lk_diadct  )   CALL dia_dct( kstp )         ! Transports 
     
    259235      IF( ln_traqsr  )   CALL tra_qsr       ( kstp )  ! penetrative solar radiation qsr 
    260236      IF( ln_trabbc  )   CALL tra_bbc       ( kstp )  ! bottom heat flux 
    261       IF( lk_trabbl  )   CALL tra_bbl       ( kstp )  ! advective (and/or diffusive) bottom boundary layer scheme 
     237      IF( ln_trabbl  )   CALL tra_bbl       ( kstp )  ! advective (and/or diffusive) bottom boundary layer scheme 
    262238      IF( ln_tradmp  )   CALL tra_dmp       ( kstp )  ! internal damping trends 
    263239      IF( ln_bdy     )   CALL bdy_tra_dmp   ( kstp )  ! bdy damping trends 
     
    349325#endif 
    350326      ! 
    351       IF( nn_timing == 1 .AND.  kstp == nit000  )   CALL timing_reset 
     327      IF( ln_timing .AND.  kstp == nit000  )   CALL timing_reset 
    352328      ! 
    353329   END SUBROUTINE stp 
    354330    
     331   !!====================================================================== 
    355332END MODULE step 
Note: See TracChangeset for help on using the changeset viewer.