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 2492 – NEMO

Changeset 2492


Ignore:
Timestamp:
2010-12-20T11:17:05+01:00 (13 years ago)
Author:
cetlod
Message:

v3.2:correction of some inconsistencies of zdftke_old with namelist, see ticket #768

File:
1 edited

Legend:

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

    r1617 r2492  
    6666 
    6767   !                                       !!! ** Namelist  namzdf_tke  ** 
    68    LOGICAL  ::   ln_rstke = .FALSE.         ! =T restart with tke from a run without tke 
    6968   LOGICAL  ::   ln_mxl0  = .FALSE.         ! mixing length scale surface value as function of wind stress or not 
    7069   LOGICAL  ::   ln_lc    = .FALSE.         ! Langmuir cells (LC) as a source term of TKE or not 
    71    INTEGER  ::   nn_itke  = 50              ! number of restart iterative loops 
    7270   INTEGER  ::   nn_mxl   =  2              ! type of mixing length (=0/1/2/3) 
    7371   INTEGER  ::   nn_pdl   =  1              ! Prandtl number or not (ratio avt/avm) (=0/1) 
    74    INTEGER  ::   nn_ave   =  1              ! horizontal average or not on avt, avmu, avmv (=0/1) 
    7572   REAL(wp) ::   rn_ediff = 0.1_wp          ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 
    7673   REAL(wp) ::   rn_ediss = 0.7_wp          ! coefficient of the Kolmogoroff dissipation  
    7774   REAL(wp) ::   rn_ebb   = 3.75_wp         ! coefficient of the surface input of tke 
    78    REAL(wp) ::   rn_efave = 1._wp           ! coefficient for ave : ave=rn_efave*avm 
    7975   REAL(wp) ::   rn_emin  = 0.7071e-6_wp    ! minimum value of tke (m2/s2) 
    8076   REAL(wp) ::   rn_emin0 = 1.e-4_wp        ! surface minimum value of tke (m2/s2) 
    81    REAL(wp) ::   rn_cri   = 2._wp / 9._wp   ! critic Richardson number 
     77   REAL(wp) ::   rn_bshear= 1.e-20_wp       ! background shear (>0)    (Not used in old TKE) 
    8278   INTEGER  ::   nn_etau  = 0               ! type of depth penetration of surface tke (=0/1/2) 
    8379   INTEGER  ::   nn_htau  = 0               ! type of tke profile of penetration (=0/1) 
     
    8581   REAL(wp) ::   rn_lmin  = 0.1_wp          ! interior min value of mixing length 
    8682   REAL(wp) ::   rn_efr   = 1.0_wp          ! fraction of TKE surface value which penetrates in the ocean 
     83   REAL(wp) ::   rn_addhft= 0.0_wp          ! add offset   applied to HF tau    (Not used in old TKE) 
     84   REAL(wp) ::   rn_sclhft= 1.0_wp          ! scale factor applied to HF tau    (Not used in old TKE) 
    8785   REAL(wp) ::   rn_lc    = 0.15_wp         ! coef to compute vertical velocity of Langmuir cells 
     86 
     87  !                                       !! ** old namelist value: now hard coded ** 
     88   INTEGER  ::   nn_ave   =  1              ! horizontal average or not on avt, avmu, avmv (=0/1) 
     89   REAL(wp) ::   rn_efave = 1._wp           ! coefficient for ave : ave=rn_efave*avm 
     90   REAL(wp) ::   rn_cri   = 2._wp / 9._wp   ! critic Richardson number 
    8891 
    8992   !! * Substitutions 
     
    721724# endif 
    722725      !! 
    723       NAMELIST/namzdf_tke/ ln_rstke, rn_ediff, rn_ediss, rn_ebb  , rn_efave, rn_emin,   & 
    724          &                 rn_emin0, rn_cri  , nn_itke , nn_mxl  , nn_pdl  , nn_ave ,   & 
    725          &                 ln_mxl0 , rn_lmin , rn_lmin0, nn_etau,   & 
    726          &                 nn_htau , rn_efr  , ln_lc   , rn_lc  
     726      NAMELIST/namzdf_tke/ rn_ediff, rn_ediss , rn_ebb   , rn_emin  ,   & 
     727         &                 rn_emin0, rn_bshear, nn_mxl   , ln_mxl0  ,   & 
     728         &                 rn_lmin , rn_lmin0 , nn_pdl   , nn_etau  ,   & 
     729         &                 nn_htau , rn_efr   , rn_addhft, rn_sclhft,   & 
     730         &                 ln_lc   , rn_lc  
    727731      !!---------------------------------------------------------------------- 
    728732 
     
    747751         WRITE(numout,*) '~~~~~~~~~~~~' 
    748752         WRITE(numout,*) '          Namelist namzdf_tke : set tke mixing parameters' 
    749          WRITE(numout,*) '             restart with tke from no tke              ln_rstke = ', ln_rstke 
    750753         WRITE(numout,*) '             coef. to compute avt                      rn_ediff = ', rn_ediff 
    751754         WRITE(numout,*) '             Kolmogoroff dissipation coef.             rn_ediss = ', rn_ediss 
    752755         WRITE(numout,*) '             tke surface input coef.                   rn_ebb   = ', rn_ebb 
    753          WRITE(numout,*) '             tke diffusion coef.                       rn_efave = ', rn_efave 
    754756         WRITE(numout,*) '             minimum value of tke                      rn_emin  = ', rn_emin 
    755757         WRITE(numout,*) '             surface minimum value of tke              rn_emin0 = ', rn_emin0 
    756          WRITE(numout,*) '             number of restart iter loops              nn_itke  = ', nn_itke 
    757758         WRITE(numout,*) '             mixing length type                        nn_mxl   = ', nn_mxl 
    758759         WRITE(numout,*) '             prandl number flag                        nn_pdl   = ', nn_pdl 
     
    875876     IF( TRIM(cdrw) == 'READ' ) THEN 
    876877        IF( ln_rstart ) THEN 
    877            IF( iom_varid( numror, 'en', ldstop = .FALSE. ) > 0 .AND. .NOT.(ln_rstke) ) THEN  
     878           IF( iom_varid( numror, 'en', ldstop = .FALSE. ) > 0 ) THEN  
    878879              CALL iom_get( numror, jpdom_autoglo, 'en', en ) 
    879880           ELSE 
    880               IF( lwp .AND. iom_varid( numror, 'en', ldstop = .FALSE. ) > 0 )   & 
    881                  &                       WRITE(numout,*) ' ===>>>> : previous run without tke scheme' 
    882               IF( lwp .AND. ln_rstke )   WRITE(numout,*) ' ===>>>> : We do not use en from the restart file' 
    883               IF( lwp                )   WRITE(numout,*) ' ===>>>> : en is set by iterative loop' 
     881              IF(lwp)  WRITE(numout,*) ' ===>>>> : previous run without tke scheme' 
     882              IF(lwp)  WRITE(numout,*) ' ===>>>> : en is set by iterative loop' 
    884883              en (:,:,:) = rn_emin * tmask(:,:,:) 
    885               DO jit = 2, nn_itke + 1 
     884              DO jit = 2, 51 
    886885                 CALL zdf_tke_old( jit ) 
    887886              END DO 
Note: See TracChangeset for help on using the changeset viewer.