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.
par_abl.F90 in NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ABL – NEMO

source: NEMO/branches/2019/dev_r11265_ASINTER-01_Guillaume_ABL1D/src/ABL/par_abl.F90 @ 11322

Last change on this file since 11322 was 11322, checked in by flemarie, 5 years ago

First implementation of ABL (see ticket #2131)

  • Update reference and cfg namelists for ORCA2_ICE_ABL
  • Run ABL over the ocean and BLK over sea-ice (ABL over sea-ice to come)
  • Bug fix in computation of pblh (+ add option to smooth pblh)
File size: 5.8 KB
Line 
1MODULE par_abl
2   !!======================================================================
3   !!                        ***  par_abl  ***
4   !! ABL :   set the Atmospheric Boundary Layer parameters
5   !!======================================================================
6   !! History :  4.0  !  2019-03  (F. Lemarié & G. Samson)  Original code
7   !!----------------------------------------------------------------------
8   USE par_kind          ! kind parameters
9   USE par_oce           ! to access horizontal domain size & mpp decomposition
10
11   IMPLICIT NONE
12   PUBLIC
13
14   !!---------------------------------------------------------------------
15   !! Active tracer parameters
16   !!---------------------------------------------------------------------
17   INTEGER , PUBLIC, PARAMETER ::   jptq   = 2     !: Number of active tracers (=2, i.e. T & q )
18   INTEGER , PUBLIC, PARAMETER ::   jp_ta  = 1     !: indice for temperature
19   INTEGER , PUBLIC, PARAMETER ::   jp_qa  = 2     !: indice for humidity
20   INTEGER , PUBLIC, PARAMETER ::   jptime = 2     !: number of time indices stored in memory
21   !!---------------------------------------------------------------------
22   !! namABL Namelist options 
23   !!---------------------------------------------------------------------   
24   INTEGER , PUBLIC            ::   nn_amxl        !: mixing length option
25   INTEGER , PUBLIC            ::   nn_dyn_restore !: restoring option for dynamical ABL variables
26   LOGICAL , PUBLIC            ::   ln_geos_winds  !: large-scale restoring of ABL winds toward geostrophic winds
27   LOGICAL , PUBLIC            ::   ln_hpgls_frc   !: forcing of ABL winds by large-scale pressure gradient
28   LOGICAL , PUBLIC            ::   ln_smth_pblh   !: smoothing of atmospheric PBL height
29
30   !!---------------------------------------------------------------------
31   !! ABL parameters for TKE turbulent closure
32   !!---------------------------------------------------------------------
33   REAL(wp), PUBLIC, PARAMETER ::   tke_min   = 1.e-6_wp          !: minimum TKE
34   REAL(wp), PUBLIC, PARAMETER ::   avm_bak   = 1.e-4_wp          !: background viscosity
35   REAL(wp), PUBLIC, PARAMETER ::   avt_bak   = 1.e-5_wp          !: background diffusion
36   REAL(wp), PUBLIC, PARAMETER ::   itvref    = 1.0_wp / 288.0_wp !: inverse of reference virtual temperature     
37   !++ TKE closure parameters
38   REAL(wp), PUBLIC, PARAMETER ::   rn_phimax = (1._wp - 2.2_wp) / 2.2_wp !: maximum value for Ri * mxl^2 * N^2 / tke in phiz computation
39   REAL(wp), PUBLIC, PARAMETER ::   rn_Cek    = 258._wp                   !: Ekman constant for Richardson number
40   REAL(wp), PUBLIC, PARAMETER ::   rn_epssfc = 1._wp / ( 1._wp + 2.8_wp * 2.8_wp )
41   REAL(wp), PUBLIC            ::   rn_ceps                       !: namelist parameter
42   REAL(wp), PUBLIC            ::   rn_cm                         !: namelist parameter
43   REAL(wp), PUBLIC            ::   rn_ct                         !: namelist parameter
44   REAL(wp), PUBLIC            ::   rn_ce                         !: namelist parameter
45   REAL(wp), PUBLIC            ::   rn_Rod                        !: namelist parameter   
46   REAL(wp), PUBLIC            ::   rn_Sch   
47   REAL(wp), PUBLIC            ::   mxl_min   
48   REAL(wp), PUBLIC            ::   rn_ldyn_min                   !: namelist parameter
49   REAL(wp), PUBLIC            ::   rn_ldyn_max                   !: namelist parameter 
50   REAL(wp), PUBLIC            ::   rn_ltra_min                   !: namelist parameter
51   REAL(wp), PUBLIC            ::   rn_ltra_max                   !: namelist parameter
52   REAL(wp), PUBLIC            ::   rn_Ric                        !: critical Richardson number
53
54   !!---------------------------------------------------------------------
55   !! ABL parameters for the vertical profile of the restoring term
56   !!---------------------------------------------------------------------
57   REAL(wp), PUBLIC, PARAMETER ::   jp_bmin    =   0.5_wp 
58   REAL(wp), PUBLIC, PARAMETER ::   jp_bmax    =   1.5_wp
59   REAL(wp), PUBLIC            ::   jp_alp0_tra
60   REAL(wp), PUBLIC            ::   jp_alp1_tra   
61   REAL(wp), PUBLIC            ::   jp_alp2_tra   
62   REAL(wp), PUBLIC            ::   jp_alp3_tra   
63   REAL(wp), PUBLIC            ::   jp_alp0_dyn
64   REAL(wp), PUBLIC            ::   jp_alp1_dyn   
65   REAL(wp), PUBLIC            ::   jp_alp2_dyn   
66   REAL(wp), PUBLIC            ::   jp_alp3_dyn 
67   REAL(wp), PUBLIC            ::   jp_pblh_min
68   REAL(wp), PUBLIC            ::   jp_pblh_max     
69   ! parameter for the semi-implicit treatment of Coriolis term 
70   REAL(wp), PUBLIC, PARAMETER ::   gamma_Cor  = 0.55_wp
71
72   !!---------------------------------------------------------------------
73   !! ABL parameters for the diagnostic mixing length option nn_amxl = 1
74   !!---------------------------------------------------------------------   
75   REAL(wp), PUBLIC, PARAMETER ::   amx1 =    4.3995604393911742_wp
76   REAL(wp), PUBLIC, PARAMETER ::   amx2 =  -18.159100102732943_wp
77   REAL(wp), PUBLIC, PARAMETER ::   amx3 =   40.241226956967239_wp
78   REAL(wp), PUBLIC, PARAMETER ::   amx4 =  -43.603409583363678_wp
79   REAL(wp), PUBLIC, PARAMETER ::   amx5 =   17.121715347554314_wp
80   REAL(wp), PUBLIC, PARAMETER ::   bmx1 =  -16.262675447730114_wp
81   REAL(wp), PUBLIC, PARAMETER ::   bmx2 =   85.088728134110781_wp
82   REAL(wp), PUBLIC, PARAMETER ::   bmx3 = -193.46548261141191_wp
83   REAL(wp), PUBLIC, PARAMETER ::   bmx4 =  196.71548261141191_wp
84   REAL(wp), PUBLIC, PARAMETER ::   bmx5 =  -72.076052686380677_wp 
85
86   !!----------------------------------------------------------------------
87   !! NEMO/ABL 4.0 , NEMO Consortium (2018)
88   !! $Id: sbc_oce.F90 10882 2019-04-17 15:40:17Z clem $
89   !! Software governed by the CeCILL license (see ./LICENSE)
90   !!======================================================================
91END MODULE par_abl
Note: See TracBrowser for help on using the repository browser.