1 |
module cv3_param_m |
module cv30_param_m |
2 |
|
|
3 |
! From LMDZ4/libf/phylmd/cvparam3.h, version 1.1.1.1 2004/05/19 12:53:09 |
! From LMDZ4/libf/phylmd/cvparam3.h, version 1.1.1.1, 2004/05/19 12:53:09 |
4 |
|
|
5 |
! Parameters for iflag_con=3: |
! Set parameters for Emanuel convection scheme. Includes |
6 |
! - microphysical parameters |
! microphysical parameters and parameters that control the rate of |
7 |
! - parameters that control the rate of approach to quasi-equilibrium |
! approach to quasi-equilibrium. |
8 |
|
|
9 |
implicit none |
USE dimphy, ONLY: klev |
|
|
|
|
integer noff ! integer limit for convection (nd - noff) |
|
|
integer minorig ! first level of convection |
|
|
integer nl, nlp, nlm |
|
|
real sigd ! FRACTIONAL AREA COVERED BY UNSATURATED DNDRAFT |
|
|
real spfac ! FRACTION OF PRECIPITATION FALLING OUTSIDE OF CLOUD |
|
|
|
|
|
real pbcrit |
|
|
! CRITICAL CLOUD DEPTH (MB) BENEATH WHICH THE PRECIPITATION |
|
|
! EFFICIENCY IS ASSUMED TO BE ZERO |
|
|
|
|
|
real ptcrit |
|
|
! CLOUD DEPTH (MB) ABOVE WHICH THE PRECIPitation EFFICIENCY IS |
|
|
! ASSUMED TO BE UNITY |
|
|
|
|
|
real omtrain |
|
|
real dtovsh, dpbase, dttrig |
|
|
|
|
|
real dtcrit |
|
|
! CRITICAL BUOYANCY (K) USED TO ADJUST THE APPROACH TO |
|
|
! QUASI-EQUILIBRIUM. IT MUST BE LESS THAN 0. |
|
|
|
|
|
real beta, alpha |
|
|
! PARAMETERS THAT CONTROL THE RATE OF APPROACH TO QUASI-EQUILIBRIUM |
|
|
! (THEIR STANDARD VALUES ARE 1.0 AND 0.96, RESPECTIVELY) (BETA MUST |
|
|
! BE LESS THAN OR EQUAL TO 1) |
|
|
|
|
|
real tau ! CHARACTERISTIC TIMESCALE USED TO COMPUTE ALPHA and BETA |
|
|
real delta |
|
|
real betad |
|
|
|
|
|
contains |
|
|
|
|
|
SUBROUTINE cv3_param(nd, delt) |
|
|
|
|
|
! From LMDZ4/libf/phylmd/cv3_routines.F, version 1.5 2005/07/11 15:20:02 |
|
10 |
|
|
11 |
! Set parameters for iflag_con = 3 |
implicit none |
|
|
|
|
integer, intent(in):: nd |
|
|
real, intent(in):: delt ! timestep (seconds) |
|
|
|
|
|
!------------------------------------------------------------ |
|
12 |
|
|
13 |
! Limit levels for convection: |
integer, parameter:: minorig = 1 |
14 |
|
! first level of convection (limit levels for convection) |
15 |
|
|
16 |
noff = 1 |
integer, parameter:: nl = klev - 1 |
17 |
minorig = 1 |
! Limit for convection. The maximum number of levels to which |
18 |
nl=nd-noff |
! convection can penetrate, plus 1. We should have: |
19 |
nlp=nl+1 |
! 6 <= nl <= KLEV - 1 |
20 |
nlm=nl-1 |
! (because of locate in cv30_feed). |
21 |
|
|
22 |
|
real, parameter:: sigd = 0.01 |
23 |
|
! fractional area covered by unsaturated downdraft |
24 |
|
|
25 |
|
real, parameter:: dtcrit = - 2. |
26 |
|
! Critical buoyancy (K) used to adjust the approach to |
27 |
|
! quasi-equilibrium. It must be < 0. |
28 |
|
|
29 |
! "Microphysical" parameters: |
real beta, alpha |
30 |
|
! Parameters that control the rate of approach to quasi-equilibrium |
31 |
|
! (their standard values are 1. and 0.96, respectively) (beta must |
32 |
|
! be less than or equal to 1). |
33 |
|
|
34 |
sigd = 0.01 |
private klev |
|
spfac = 0.15 |
|
|
pbcrit = 150.0 |
|
|
ptcrit = 500.0 |
|
|
! cf. FH epmax = 0.993 |
|
35 |
|
|
36 |
omtrain = 45.0 ! used also for snow (no distinction rain/snow) |
contains |
37 |
|
|
38 |
! Misc: |
SUBROUTINE cv30_param |
39 |
|
|
40 |
dtovsh = -0.2 ! dT for overshoot |
! From LMDZ4/libf/phylmd/cv3_routines.F, version 1.5, 2005/07/11 15:20:02 |
|
dpbase = -40. ! definition cloud base (400m above LCL) |
|
|
dttrig = 5. ! (loose) condition for triggering |
|
41 |
|
|
42 |
! Rate of approach to quasi-equilibrium: |
use comconst, only: dtphys |
43 |
|
|
44 |
dtcrit = -2.0 |
! Local: |
|
tau = 8000. |
|
|
beta = 1.0 - delt/tau |
|
|
alpha = 1.5E-3 * delt/tau |
|
|
! Increase alpha to compensate W decrease: |
|
|
alpha = alpha*1.5 |
|
45 |
|
|
46 |
! Interface cloud parameterization: |
real, parameter:: tau = 8000. |
47 |
|
! characteristic timescale used to compute alpha and beta |
48 |
|
|
49 |
delta=0.01 ! cld |
!------------------------------------------------------------ |
50 |
|
|
51 |
! Interface with boundary-layer (gust factor): (sb) |
beta = 1. - dtphys / tau |
52 |
|
|
53 |
betad=10.0 ! original value (from convect 4.3) |
alpha = 1.5E-3 * dtphys / tau * 1.5 |
54 |
|
! factor 1.5: increase alpha to compensate W decrease |
55 |
|
|
56 |
end SUBROUTINE cv3_param |
end SUBROUTINE cv30_param |
57 |
|
|
58 |
end module cv3_param_m |
end module cv30_param_m |