Changeset 1537 for trunk/NEMO/OPA_SRC/ZDF/zdftke_old.F90
- Timestamp:
- 2009-07-24T16:22:23+02:00 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/NEMO/OPA_SRC/ZDF/zdftke_old.F90
r1532 r1537 65 65 #endif 66 66 67 ! !!! ** Namelist nam tke **67 ! !!! ** Namelist nam_tke ** 68 68 LOGICAL :: ln_rstke = .FALSE. ! =T restart with tke from a run without tke 69 69 LOGICAL :: ln_mxl0 = .FALSE. ! mixing length scale surface value as function of wind stress or not … … 73 73 INTEGER :: nn_pdl = 1 ! Prandtl number or not (ratio avt/avm) (=0/1) 74 74 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)76 75 REAL(wp) :: rn_ediff = 0.1_wp ! coefficient for avt: avt=rn_ediff*mxl*sqrt(e) 77 76 REAL(wp) :: rn_ediss = 0.7_wp ! coefficient of the Kolmogoroff dissipation … … 81 80 REAL(wp) :: rn_emin0 = 1.e-4_wp ! surface minimum value of tke (m2/s2) 82 81 REAL(wp) :: rn_cri = 2._wp / 9._wp ! critic Richardson number 83 INTEGER :: nn_havtb = 1 ! horizontal shape or not for avtb (=0/1)84 82 INTEGER :: nn_etau = 0 ! type of depth penetration of surface tke (=0/1/2) 85 83 INTEGER :: nn_htau = 0 ! type of tke profile of penetration (=0/1/2) … … 88 86 REAL(wp) :: rn_efr = 1.0_wp ! fraction of TKE surface value which penetrates in the ocean 89 87 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 ice92 88 93 89 !! * Substitutions … … 714 710 !! viscosity when using a tke turbulent closure scheme 715 711 !! 716 !! ** Method : Read the nam tke namelist and check the parameters712 !! ** Method : Read the nam_tke namelist and check the parameters 717 713 !! called at the first timestep (nit000) 718 714 !! 719 !! ** input : Namlist nam tke715 !! ** input : Namlist nam_tke 720 716 !! 721 717 !! ** Action : Increase by 1 the nstop flag is setting problem encounter … … 731 727 # endif 732 728 !! 733 NAMELIST/nam tke/ 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_lc729 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 737 733 !!---------------------------------------------------------------------- 738 734 739 ! Read Namelist nam tke : Turbulente Kinetic Energy735 ! Read Namelist nam_tke : Turbulente Kinetic Energy 740 736 ! -------------------- 741 737 REWIND ( numnam ) 742 READ ( numnam, nam tke )738 READ ( numnam, nam_tke ) 743 739 744 740 ! Compute boost associated with the Richardson critic … … 756 752 WRITE(numout,*) 'zdf_tke_init : tke turbulent closure scheme (old scheme)' 757 753 WRITE(numout,*) '~~~~~~~~~~~~' 758 WRITE(numout,*) ' Namelist nam tke : set tke mixing parameters'754 WRITE(numout,*) ' Namelist nam_tke : set tke mixing parameters' 759 755 WRITE(numout,*) ' restart with tke from no tke ln_rstke = ', ln_rstke 760 756 WRITE(numout,*) ' coef. to compute avt rn_ediff = ', rn_ediff … … 770 766 WRITE(numout,*) ' critic Richardson nb rn_cri = ', rn_cri 771 767 WRITE(numout,*) ' and its associated coeff. eboost = ', eboost 772 WRITE(numout,*) ' constant background or profile nn_avb = ', nn_avb773 768 WRITE(numout,*) ' surface mixing length = F(stress) or not ln_mxl0 = ', ln_mxl0 774 769 WRITE(numout,*) ' surface mixing length minimum value rn_lmin0 = ', rn_lmin0 775 770 WRITE(numout,*) ' interior mixing length minimum value rn_lmin0 = ', rn_lmin0 776 WRITE(numout,*) ' horizontal variation for avtb nn_havtb = ', nn_havtb777 771 WRITE(numout,*) ' test param. to add tke induced by wind nn_etau = ', nn_etau 778 772 WRITE(numout,*) ' flag for computation of exp. tke profile nn_htau = ', nn_htau … … 852 846 ! 853 847 END SELECT 854 855 856 ! Background eddy viscosity and diffusivity profil857 ! ------------------------------------------------858 IF( nn_avb == 0 ) THEN ! Define avmb, avtb from namelist parameter859 avmb(:) = avm0860 avtb(:) = avt0861 ELSE ! Background profile of avt (fit a theoretical/observational profile (Krauss 1990)862 avmb(:) = avm0863 avtb(:) = avt0 + ( 3.0e-4 - 2 * avt0 ) * 1.0e-4 * gdepw_0(:) ! m2/s864 IF(ln_sco .AND. lwp) CALL ctl_warn( ' avtb profile not valid in sco' )865 ENDIF866 !867 ! ! 2D shape of the avtb868 avtb_2d(:,:) = 1.e0 ! uniform869 !870 IF( nn_havtb == 1 ) THEN ! decrease avtb in the equatorial band871 ! -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 avt0874 WHERE(-15. <= gphit .AND. gphit < -5 ) avtb_2d = (1. - 0.09 * (gphit + 15.))875 WHERE( -5. <= gphit .AND. gphit < 5 ) avtb_2d = 0.1876 WHERE( 5. <= gphit .AND. gphit < 15 ) avtb_2d = (0.1 + 0.09 * (gphit - 5.))877 ENDIF878 848 879 849 ! Initialization of vertical eddy coef. to the background value
Note: See TracChangeset
for help on using the changeset viewer.