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 1537 for trunk/NEMO/OPA_SRC/ZDF/zdftke_old.F90 – NEMO

Ignore:
Timestamp:
2009-07-24T16:22:23+02:00 (15 years ago)
Author:
ctlod
Message:

ensure the restartability of the 2nd order advection scheme,see ticket: 489

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/NEMO/OPA_SRC/ZDF/zdftke_old.F90

    r1532 r1537  
    6565#endif 
    6666 
    67    !                                       !!! ** Namelist  namtke  ** 
     67   !                                       !!! ** Namelist  nam_tke  ** 
    6868   LOGICAL  ::   ln_rstke = .FALSE.         ! =T restart with tke from a run without tke 
    6969   LOGICAL  ::   ln_mxl0  = .FALSE.         ! mixing length scale surface value as function of wind stress or not 
     
    7373   INTEGER  ::   nn_pdl   =  1              ! Prandtl number or not (ratio avt/avm) (=0/1) 
    7474   INTEGER  ::   nn_ave   =  1              ! horizontal average or not on avt, avmu, avmv (=0/1) 
    75    INTEGER  ::   nn_avb   =  0              ! constant or profile background on avt (=0/1) 
    7675   REAL(wp) ::   rn_ediff = 0.1_wp          ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 
    7776   REAL(wp) ::   rn_ediss = 0.7_wp          ! coefficient of the Kolmogoroff dissipation  
     
    8180   REAL(wp) ::   rn_emin0 = 1.e-4_wp        ! surface minimum value of tke (m2/s2) 
    8281   REAL(wp) ::   rn_cri   = 2._wp / 9._wp   ! critic Richardson number 
    83    INTEGER  ::   nn_havtb = 1               ! horizontal shape or not for avtb (=0/1) 
    8482   INTEGER  ::   nn_etau  = 0               ! type of depth penetration of surface tke (=0/1/2) 
    8583   INTEGER  ::   nn_htau  = 0               ! type of tke profile of penetration (=0/1/2) 
     
    8886   REAL(wp) ::   rn_efr   = 1.0_wp          ! fraction of TKE surface value which penetrates in the ocean 
    8987   REAL(wp) ::   rn_lc    = 0.15_wp         ! coef to compute vertical velocity of Langmuir cells 
    90  
    91    REAL(wp), DIMENSION (jpi,jpj) ::   avtb_2d   ! set in tke_init, for other modif than ice 
    9288 
    9389   !! * Substitutions 
     
    714710      !!      viscosity when using a tke turbulent closure scheme 
    715711      !! 
    716       !! ** Method  :   Read the namtke namelist and check the parameters 
     712      !! ** Method  :   Read the nam_tke namelist and check the parameters 
    717713      !!      called at the first timestep (nit000) 
    718714      !! 
    719       !! ** input   :   Namlist namtke 
     715      !! ** input   :   Namlist nam_tke 
    720716      !! 
    721717      !! ** Action  :   Increase by 1 the nstop flag is setting problem encounter 
     
    731727# endif 
    732728      !! 
    733       NAMELIST/namtke/ ln_rstke, rn_ediff, rn_ediss, rn_ebb  , rn_efave, rn_emin,   & 
    734          &             rn_emin0, rn_cri  , nn_itke , nn_mxl  , nn_pdl  , nn_ave ,   & 
    735          &             nn_avb  , ln_mxl0 , rn_lmin , rn_lmin0, nn_havtb, nn_etau,   & 
    736          &             nn_htau , rn_efr  , ln_lc   , rn_lc  
     729      NAMELIST/nam_tke/ ln_rstke, rn_ediff, rn_ediss, rn_ebb  , rn_efave, rn_emin,   & 
     730         &              rn_emin0, rn_cri  , nn_itke , nn_mxl  , nn_pdl  , nn_ave ,   & 
     731         &              ln_mxl0 , rn_lmin , rn_lmin0, nn_etau,   & 
     732         &              nn_htau , rn_efr  , ln_lc   , rn_lc  
    737733      !!---------------------------------------------------------------------- 
    738734 
    739       ! Read Namelist namtke : Turbulente Kinetic Energy 
     735      ! Read Namelist nam_tke : Turbulente Kinetic Energy 
    740736      ! -------------------- 
    741737      REWIND ( numnam ) 
    742       READ   ( numnam, namtke ) 
     738      READ   ( numnam, nam_tke ) 
    743739 
    744740      ! Compute boost associated with the Richardson critic 
     
    756752         WRITE(numout,*) 'zdf_tke_init : tke turbulent closure scheme (old scheme)' 
    757753         WRITE(numout,*) '~~~~~~~~~~~~' 
    758          WRITE(numout,*) '          Namelist namtke : set tke mixing parameters' 
     754         WRITE(numout,*) '          Namelist nam_tke : set tke mixing parameters' 
    759755         WRITE(numout,*) '             restart with tke from no tke              ln_rstke = ', ln_rstke 
    760756         WRITE(numout,*) '             coef. to compute avt                      rn_ediff = ', rn_ediff 
     
    770766         WRITE(numout,*) '             critic Richardson nb                      rn_cri   = ', rn_cri 
    771767         WRITE(numout,*) '                and its associated coeff.              eboost   = ', eboost 
    772          WRITE(numout,*) '             constant background or profile            nn_avb   = ', nn_avb 
    773768         WRITE(numout,*) '             surface mixing length = F(stress) or not  ln_mxl0  = ', ln_mxl0 
    774769         WRITE(numout,*) '             surface  mixing length minimum value      rn_lmin0 = ', rn_lmin0 
    775770         WRITE(numout,*) '             interior mixing length minimum value      rn_lmin0 = ', rn_lmin0 
    776          WRITE(numout,*) '             horizontal variation for avtb             nn_havtb = ', nn_havtb 
    777771         WRITE(numout,*) '             test param. to add tke induced by wind    nn_etau  = ', nn_etau 
    778772         WRITE(numout,*) '             flag for computation of exp. tke profile  nn_htau  = ', nn_htau 
     
    852846         ! 
    853847      END SELECT 
    854  
    855  
    856       ! Background eddy viscosity and diffusivity profil 
    857       ! ------------------------------------------------ 
    858       IF( nn_avb == 0 ) THEN      ! Define avmb, avtb from namelist parameter 
    859          avmb(:) = avm0 
    860          avtb(:) = avt0 
    861       ELSE                      ! Background profile of avt (fit a theoretical/observational profile (Krauss 1990)  
    862          avmb(:) = avm0 
    863          avtb(:) = avt0 + ( 3.0e-4 - 2 * avt0 ) * 1.0e-4 * gdepw_0(:)   ! m2/s 
    864          IF(ln_sco .AND. lwp)   CALL ctl_warn( '          avtb profile not valid in sco' ) 
    865       ENDIF 
    866       ! 
    867       !                         ! 2D shape of the avtb 
    868       avtb_2d(:,:) = 1.e0             ! uniform  
    869       ! 
    870       IF( nn_havtb == 1 ) THEN      ! decrease avtb in the equatorial band 
    871            !  -15S -5S : linear decrease from avt0 to avt0/10. 
    872            !  -5S  +5N : cst value avt0/10. 
    873            !   5N  15N : linear increase from avt0/10, to avt0 
    874            WHERE(-15. <= gphit .AND. gphit < -5 )   avtb_2d = (1.  - 0.09 * (gphit + 15.)) 
    875            WHERE( -5. <= gphit .AND. gphit <  5 )   avtb_2d =  0.1 
    876            WHERE(  5. <= gphit .AND. gphit < 15 )   avtb_2d = (0.1 + 0.09 * (gphit -  5.)) 
    877       ENDIF 
    878848 
    879849      ! Initialization of vertical eddy coef. to the background value 
Note: See TracChangeset for help on using the changeset viewer.