/[lmdze]/trunk/Sources/phylmd/CV30_routines/cv30_param.f
ViewVC logotype

Contents of /trunk/Sources/phylmd/CV30_routines/cv30_param.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 195 - (show annotations)
Wed May 18 17:56:44 2016 UTC (8 years ago) by guez
File size: 1553 byte(s)
In cv30_feed, iflag1 is 0 on entry so we can simplify the test for
iflag1 = 7.

In cv30_feed, for the computation of icb, replaced sequential search
(with a useless end of loop on k) by a call to locate.

In CV30 routines, replaced len, nloc, nd, na by klon or
klev. Philosophy: no more generality than actually necessary.

Converted as many variables as possible to named constants in
cv30_param_m and downgraded pbcrit, ptcrit, dtovsh, dpbase, dttrig,
tau, delta to local objects in procedures. spfac, betad and omtrain
are useless and removed.

Instead of filling the array sigp with the constant spfac in
cv30_undilute2, just made sigp a constant in cv30_unsat.

In cv_driver, define as allocatable variables that are only
used on the range (ncum, nl).

1 module cv30_param_m
2
3 ! From LMDZ4/libf/phylmd/cvparam3.h, version 1.1.1.1, 2004/05/19 12:53:09
4
5 ! Set parameters for Emanuel convection scheme. Includes
6 ! microphysical parameters and parameters that control the rate of
7 ! approach to quasi-equilibrium.
8
9 USE dimphy, ONLY: klev
10
11 implicit none
12
13 integer, parameter:: minorig = 1
14 ! first level of convection (limit levels for convection)
15
16 integer, parameter:: nl = klev - 1
17 ! Limit for convection. The maximum number of levels to which
18 ! convection can penetrate, plus 1. We should have:
19 ! 6 <= nl <= KLEV - 1
20 ! (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 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 private klev
35
36 contains
37
38 SUBROUTINE cv30_param
39
40 ! From LMDZ4/libf/phylmd/cv3_routines.F, version 1.5, 2005/07/11 15:20:02
41
42 use comconst, only: dtphys
43
44 ! Local:
45
46 real, parameter:: tau = 8000.
47 ! characteristic timescale used to compute alpha and beta
48
49 !------------------------------------------------------------
50
51 beta = 1. - dtphys / tau
52
53 alpha = 1.5E-3 * dtphys / tau * 1.5
54 ! factor 1.5: increase alpha to compensate W decrease
55
56 end SUBROUTINE cv30_param
57
58 end module cv30_param_m

  ViewVC Help
Powered by ViewVC 1.1.21