Changeset 2492
- Timestamp:
- 2010-12-20T11:17:05+01:00 (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/ZDF/zdftke_old.F90
r1617 r2492 66 66 67 67 ! !!! ** Namelist namzdf_tke ** 68 LOGICAL :: ln_rstke = .FALSE. ! =T restart with tke from a run without tke69 68 LOGICAL :: ln_mxl0 = .FALSE. ! mixing length scale surface value as function of wind stress or not 70 69 LOGICAL :: ln_lc = .FALSE. ! Langmuir cells (LC) as a source term of TKE or not 71 INTEGER :: nn_itke = 50 ! number of restart iterative loops72 70 INTEGER :: nn_mxl = 2 ! type of mixing length (=0/1/2/3) 73 71 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)75 72 REAL(wp) :: rn_ediff = 0.1_wp ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 76 73 REAL(wp) :: rn_ediss = 0.7_wp ! coefficient of the Kolmogoroff dissipation 77 74 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*avm79 75 REAL(wp) :: rn_emin = 0.7071e-6_wp ! minimum value of tke (m2/s2) 80 76 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 number77 REAL(wp) :: rn_bshear= 1.e-20_wp ! background shear (>0) (Not used in old TKE) 82 78 INTEGER :: nn_etau = 0 ! type of depth penetration of surface tke (=0/1/2) 83 79 INTEGER :: nn_htau = 0 ! type of tke profile of penetration (=0/1) … … 85 81 REAL(wp) :: rn_lmin = 0.1_wp ! interior min value of mixing length 86 82 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) 87 85 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 88 91 89 92 !! * Substitutions … … 721 724 # endif 722 725 !! 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 727 731 !!---------------------------------------------------------------------- 728 732 … … 747 751 WRITE(numout,*) '~~~~~~~~~~~~' 748 752 WRITE(numout,*) ' Namelist namzdf_tke : set tke mixing parameters' 749 WRITE(numout,*) ' restart with tke from no tke ln_rstke = ', ln_rstke750 753 WRITE(numout,*) ' coef. to compute avt rn_ediff = ', rn_ediff 751 754 WRITE(numout,*) ' Kolmogoroff dissipation coef. rn_ediss = ', rn_ediss 752 755 WRITE(numout,*) ' tke surface input coef. rn_ebb = ', rn_ebb 753 WRITE(numout,*) ' tke diffusion coef. rn_efave = ', rn_efave754 756 WRITE(numout,*) ' minimum value of tke rn_emin = ', rn_emin 755 757 WRITE(numout,*) ' surface minimum value of tke rn_emin0 = ', rn_emin0 756 WRITE(numout,*) ' number of restart iter loops nn_itke = ', nn_itke757 758 WRITE(numout,*) ' mixing length type nn_mxl = ', nn_mxl 758 759 WRITE(numout,*) ' prandl number flag nn_pdl = ', nn_pdl … … 875 876 IF( TRIM(cdrw) == 'READ' ) THEN 876 877 IF( ln_rstart ) THEN 877 IF( iom_varid( numror, 'en', ldstop = .FALSE. ) > 0 .AND. .NOT.(ln_rstke)) THEN878 IF( iom_varid( numror, 'en', ldstop = .FALSE. ) > 0 ) THEN 878 879 CALL iom_get( numror, jpdom_autoglo, 'en', en ) 879 880 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' 884 883 en (:,:,:) = rn_emin * tmask(:,:,:) 885 DO jit = 2, nn_itke +1884 DO jit = 2, 51 886 885 CALL zdf_tke_old( jit ) 887 886 END DO
Note: See TracChangeset
for help on using the changeset viewer.