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 4147 for branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90 – NEMO

Ignore:
Timestamp:
2013-11-04T12:51:55+01:00 (10 years ago)
Author:
cetlod
Message:

merge in dev_LOCEAN_2013, the 1st development branch dev_r3853_CNRS9_Confsetting, from its starting point ( r3853 ) on the trunk: see ticket #1169

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/2013/dev_LOCEAN_2013/NEMOGCM/NEMO/OPA_SRC/ZDF/zdftke.F90

    r3680 r4147  
    6262   LOGICAL , PUBLIC, PARAMETER ::   lk_zdftke = .TRUE.  !: TKE vertical mixing flag 
    6363 
    64    !                                      !!** Namelist  namzdf_tke  ** 
    65    LOGICAL  ::   ln_mxl0   = .FALSE.       ! mixing length scale surface value as function of wind stress or not 
    66    INTEGER  ::   nn_mxl    =  2            ! type of mixing length (=0/1/2/3) 
    67    REAL(wp) ::   rn_mxl0   = 0.04_wp       ! surface  min value of mixing length (kappa*z_o=0.4*0.1 m)  [m] 
    68    INTEGER  ::   nn_pdl    =  1            ! Prandtl number or not (ratio avt/avm) (=0/1) 
    69    REAL(wp) ::   rn_ediff  = 0.1_wp        ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 
    70    REAL(wp) ::   rn_ediss  = 0.7_wp        ! coefficient of the Kolmogoroff dissipation  
    71    REAL(wp) ::   rn_ebb    = 3.75_wp       ! coefficient of the surface input of tke 
    72    REAL(wp) ::   rn_emin   = 0.7071e-6_wp  ! minimum value of tke           [m2/s2] 
    73    REAL(wp) ::   rn_emin0  = 1.e-4_wp      ! surface minimum value of tke   [m2/s2] 
    74    REAL(wp) ::   rn_bshear = 1.e-20_wp     ! background shear (>0) currently a numerical threshold (do not change it) 
    75    INTEGER  ::   nn_etau   = 0             ! type of depth penetration of surface tke (=0/1/2/3) 
    76    INTEGER  ::   nn_htau   = 0             ! type of tke profile of penetration (=0/1) 
    77    REAL(wp) ::   rn_efr    = 1.0_wp        ! fraction of TKE surface value which penetrates in the ocean 
    78    LOGICAL  ::   ln_lc     = .FALSE.       ! Langmuir cells (LC) as a source term of TKE or not 
    79    REAL(wp) ::   rn_lc     = 0.15_wp       ! coef to compute vertical velocity of Langmuir cells 
    80  
    81    REAL(wp) ::   ri_cri                    ! critic Richardson number (deduced from rn_ediff and rn_ediss values) 
    82    REAL(wp) ::   rmxl_min                  ! minimum mixing length value (deduced from rn_ediff and rn_emin values)  [m] 
     64   !                      !!** Namelist  namzdf_tke  ** 
     65   LOGICAL  ::   ln_mxl0   ! mixing length scale surface value as function of wind stress or not 
     66   INTEGER  ::   nn_mxl    ! type of mixing length (=0/1/2/3) 
     67   REAL(wp) ::   rn_mxl0   ! surface  min value of mixing length (kappa*z_o=0.4*0.1 m)  [m] 
     68   INTEGER  ::   nn_pdl    ! Prandtl number or not (ratio avt/avm) (=0/1) 
     69   REAL(wp) ::   rn_ediff  ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 
     70   REAL(wp) ::   rn_ediss  ! coefficient of the Kolmogoroff dissipation  
     71   REAL(wp) ::   rn_ebb    ! coefficient of the surface input of tke 
     72   REAL(wp) ::   rn_emin   ! minimum value of tke           [m2/s2] 
     73   REAL(wp) ::   rn_emin0  ! surface minimum value of tke   [m2/s2] 
     74   REAL(wp) ::   rn_bshear ! background shear (>0) currently a numerical threshold (do not change it) 
     75   INTEGER  ::   nn_etau   ! type of depth penetration of surface tke (=0/1/2/3) 
     76   INTEGER  ::   nn_htau   ! type of tke profile of penetration (=0/1) 
     77   REAL(wp) ::   rn_efr    ! fraction of TKE surface value which penetrates in the ocean 
     78   LOGICAL  ::   ln_lc     ! Langmuir cells (LC) as a source term of TKE or not 
     79   REAL(wp) ::   rn_lc     ! coef to compute vertical velocity of Langmuir cells 
     80 
     81   REAL(wp) ::   ri_cri    ! critic Richardson number (deduced from rn_ediff and rn_ediss values) 
     82   REAL(wp) ::   rmxl_min  ! minimum mixing length value (deduced from rn_ediff and rn_emin values)  [m] 
    8383   REAL(wp) ::   rhftau_add = 1.e-3_wp     ! add offset   applied to HF part of taum  (nn_etau=3) 
    8484   REAL(wp) ::   rhftau_scl = 1.0_wp       ! scale factor applied to HF part of taum  (nn_etau=3) 
     
    692692      !!---------------------------------------------------------------------- 
    693693      INTEGER ::   ji, jj, jk   ! dummy loop indices 
     694      INTEGER ::   ios 
    694695      !! 
    695696      NAMELIST/namzdf_tke/ rn_ediff, rn_ediss , rn_ebb , rn_emin  ,   & 
     
    699700      !!---------------------------------------------------------------------- 
    700701      ! 
    701       REWIND ( numnam )               !* Read Namelist namzdf_tke : Turbulente Kinetic Energy 
    702       READ   ( numnam, namzdf_tke ) 
     702      REWIND( numnam_ref )              ! Namelist namzdf_tke in reference namelist : Turbulent Kinetic Energy 
     703      READ  ( numnam_ref, namzdf_tke, IOSTAT = ios, ERR = 901) 
     704901   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in reference namelist', lwp ) 
     705 
     706      REWIND( numnam_cfg )              ! Namelist namzdf_tke in configuration namelist : Turbulent Kinetic Energy 
     707      READ  ( numnam_cfg, namzdf_tke, IOSTAT = ios, ERR = 902 ) 
     708902   IF( ios /= 0 ) CALL ctl_nam ( ios , 'namzdf_tke in configuration namelist', lwp ) 
     709      WRITE ( numond, namzdf_tke ) 
    703710      ! 
    704711      ri_cri   = 2._wp    / ( 2._wp + rn_ediss / rn_ediff )   ! resulting critical Richardson number 
Note: See TracChangeset for help on using the changeset viewer.