source: trunk/LMDZ.GENERIC/libf/phystd/radinc_h.F90 @ 486

Last change on this file since 486 was 486, checked in by rwordsworth, 13 years ago

Variable ice timestep added for ice evolution algorithm.
Sedimentation improved to allow consistent dust (L. Kerber).
Bug linked to allocatable matrices removed from rcm1d.F.
Treatment of initial aerosol radii in callcorrk.F90 improved.

File size: 3.7 KB
Line 
1      module radinc_h
2
3      implicit none
4
5#include "dimensions.h"
6#include "bands.h"
7
8!======================================================================
9!
10!     RADINC.H    RADiation INCludes
11!
12!     Includes for the radiation code; RADIATION LAYERS, LEVELS,
13!     number of spectral intervals. . .
14!
15!======================================================================
16
17!     RADIATION parameters
18
19!     In radiation code, layer 1 corresponds to the stratosphere.  Level
20!     1 is the top of the stratosphere.  The dummy layer is at the same
21!     temperature as the (vertically isothermal) stratosphere, and
22!     any time it is explicitly needed, the appropriate quantities will
23!     be dealt with (aka "top". . .)
24
25!     L_NLEVRAD corresponds to the surface - i.e., the GCM Level that
26!     is at the surface.  PLEV(L_NLEVRAD) = P(J,I)+PTROP,
27!     PLEV(2) = PTROP, PLEV(1) = ptop
28
29!     L_NLAYRAD is the number of radiation code layers
30!     L_NLEVRAD is the number of radiation code levels.  Level N is the
31!               top of layer N.
32!
33!     L_NSPECTI is the number of IR spectral intervals
34!     L_NSPECTV is the number of Visual(or Solar) spectral intervals
35!     L_NGAUSS  is the number of Gauss points for K-coefficients
36!               GAUSS POINT 17 (aka the last one) is the special case
37!
38!     L_NPREF   is the number of reference pressures that the
39!               k-coefficients are calculated on
40!     L_PINT    is the number of Lagrange interpolated reference
41!               pressures for the gas k-coefficients - now for a
42!               smaller p-grid than before
43!     L_NTREF   is the number of reference temperatures for the
44!               k-coefficients
45!     L_TAUMAX  is the largest optical depth - larger ones are set
46!               to this value
47!
48!     L_REFVAR  The number of different mixing ratio values for
49!               the k-coefficients. Variable component of the mixture
50!               can in princple be anything: currently it's H2O.
51!
52!     NAERKIND  The number of radiatively active aerosol types
53!
54!     NSIZEMAX  The maximum number of aerosol particle sizes
55!
56!----------------------------------------------------------------------C
57
58      integer, parameter :: L_NLAYRAD  = llm
59      integer, parameter :: L_LEVELS   = 2*(llm-1)+3
60      integer, parameter :: L_NLEVRAD  = llm+1
61
62      ! These are set in sugas_corrk
63      ! [uses allocatable arrays] -- AS 12/2011
64      integer :: L_NPREF, L_NTREF, L_REFVAR, L_PINT
65
66      integer, parameter :: L_NGAUSS  = 17
67
68      integer, parameter :: L_NSPECTI = NBinfrared
69      integer, parameter :: L_NSPECTV = NBvisible
70
71      integer, parameter :: NAERKIND  = 2
72      real,    parameter :: L_TAUMAX  = 35
73
74      ! For Planck function integration:
75      ! equivalent temperatures are 1/10 of these values
76      integer, parameter :: NTstar = 500
77      integer, parameter :: NTstop = 9000 ! new default for all non hot Jupiter runs
78      !integer, parameter :: NTstop = 6000 ! for GJ581d / earlymars runs
79
80! Maximum number of grain size classes
81! ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
82!   This parameter has to be set to the maximum number of particle
83!   sizes contained in the optical parameter database; For example,
84!   if only one grain size is used to describe dust, and 30 are used
85!   to describe water-ice crystals in the visible and 15 in the IR,
86!   nsizemax has to be set to 30.
87!   If only one grain size is considered for all the aerosols, set
88!   this parameter to 1 and convolution will be turned off during
89!   the radiative calculations.
90
91      integer, parameter :: nsizemax = 60
92!      integer, parameter :: nsizemax = 1
93
94      character (len=20) :: corrkdir
95      save corrkdir
96
97      character (len=30) :: banddir
98      save banddir
99
100      end module radinc_h
Note: See TracBrowser for help on using the repository browser.