1 | |
---|
2 | module parrrtm |
---|
3 | |
---|
4 | use parkind ,only : im => kind_im |
---|
5 | |
---|
6 | implicit none |
---|
7 | save |
---|
8 | |
---|
9 | !------------------------------------------------------------------ |
---|
10 | ! rrtmg_lw main parameters |
---|
11 | ! |
---|
12 | ! Initial version: JJMorcrette, ECMWF, Jul 1998 |
---|
13 | ! Revised: MJIacono, AER, Jun 2006 |
---|
14 | ! Revised: MJIacono, AER, Aug 2007 |
---|
15 | ! Revised: MJIacono, AER, Aug 2008 |
---|
16 | !------------------------------------------------------------------ |
---|
17 | |
---|
18 | ! name type purpose |
---|
19 | ! ----- : ---- : ---------------------------------------------- |
---|
20 | ! mxlay : integer: maximum number of layers |
---|
21 | ! mg : integer: number of original g-intervals per spectral band |
---|
22 | ! nbndlw : integer: number of spectral bands |
---|
23 | ! maxxsec: integer: maximum number of cross-section molecules |
---|
24 | ! (e.g. cfcs) |
---|
25 | ! maxinpx: integer: |
---|
26 | ! ngptlw : integer: total number of reduced g-intervals for rrtmg_lw |
---|
27 | ! ngNN : integer: number of reduced g-intervals per spectral band |
---|
28 | ! ngsNN : integer: cumulative number of g-intervals per band |
---|
29 | !------------------------------------------------------------------ |
---|
30 | |
---|
31 | integer(kind=im), parameter :: mxlay = 203 |
---|
32 | integer(kind=im), parameter :: mg = 16 |
---|
33 | integer(kind=im), parameter :: nbndlw = 16 |
---|
34 | integer(kind=im), parameter :: maxxsec= 4 |
---|
35 | integer(kind=im), parameter :: mxmol = 38 |
---|
36 | integer(kind=im), parameter :: maxinpx= 38 |
---|
37 | integer(kind=im), parameter :: nmol = 7 |
---|
38 | ! Use for 140 g-point model |
---|
39 | integer(kind=im), parameter :: ngptlw = 140 |
---|
40 | ! Use for 256 g-point model |
---|
41 | ! integer(kind=im), parameter :: ngptlw = 256 |
---|
42 | |
---|
43 | ! Use for 140 g-point model |
---|
44 | integer(kind=im), parameter :: ng1 = 10 |
---|
45 | integer(kind=im), parameter :: ng2 = 12 |
---|
46 | integer(kind=im), parameter :: ng3 = 16 |
---|
47 | integer(kind=im), parameter :: ng4 = 14 |
---|
48 | integer(kind=im), parameter :: ng5 = 16 |
---|
49 | integer(kind=im), parameter :: ng6 = 8 |
---|
50 | integer(kind=im), parameter :: ng7 = 12 |
---|
51 | integer(kind=im), parameter :: ng8 = 8 |
---|
52 | integer(kind=im), parameter :: ng9 = 12 |
---|
53 | integer(kind=im), parameter :: ng10 = 6 |
---|
54 | integer(kind=im), parameter :: ng11 = 8 |
---|
55 | integer(kind=im), parameter :: ng12 = 8 |
---|
56 | integer(kind=im), parameter :: ng13 = 4 |
---|
57 | integer(kind=im), parameter :: ng14 = 2 |
---|
58 | integer(kind=im), parameter :: ng15 = 2 |
---|
59 | integer(kind=im), parameter :: ng16 = 2 |
---|
60 | |
---|
61 | integer(kind=im), parameter :: ngs1 = 10 |
---|
62 | integer(kind=im), parameter :: ngs2 = 22 |
---|
63 | integer(kind=im), parameter :: ngs3 = 38 |
---|
64 | integer(kind=im), parameter :: ngs4 = 52 |
---|
65 | integer(kind=im), parameter :: ngs5 = 68 |
---|
66 | integer(kind=im), parameter :: ngs6 = 76 |
---|
67 | integer(kind=im), parameter :: ngs7 = 88 |
---|
68 | integer(kind=im), parameter :: ngs8 = 96 |
---|
69 | integer(kind=im), parameter :: ngs9 = 108 |
---|
70 | integer(kind=im), parameter :: ngs10 = 114 |
---|
71 | integer(kind=im), parameter :: ngs11 = 122 |
---|
72 | integer(kind=im), parameter :: ngs12 = 130 |
---|
73 | integer(kind=im), parameter :: ngs13 = 134 |
---|
74 | integer(kind=im), parameter :: ngs14 = 136 |
---|
75 | integer(kind=im), parameter :: ngs15 = 138 |
---|
76 | |
---|
77 | ! Use for 256 g-point model |
---|
78 | ! integer(kind=im), parameter :: ng1 = 16 |
---|
79 | ! integer(kind=im), parameter :: ng2 = 16 |
---|
80 | ! integer(kind=im), parameter :: ng3 = 16 |
---|
81 | ! integer(kind=im), parameter :: ng4 = 16 |
---|
82 | ! integer(kind=im), parameter :: ng5 = 16 |
---|
83 | ! integer(kind=im), parameter :: ng6 = 16 |
---|
84 | ! integer(kind=im), parameter :: ng7 = 16 |
---|
85 | ! integer(kind=im), parameter :: ng8 = 16 |
---|
86 | ! integer(kind=im), parameter :: ng9 = 16 |
---|
87 | ! integer(kind=im), parameter :: ng10 = 16 |
---|
88 | ! integer(kind=im), parameter :: ng11 = 16 |
---|
89 | ! integer(kind=im), parameter :: ng12 = 16 |
---|
90 | ! integer(kind=im), parameter :: ng13 = 16 |
---|
91 | ! integer(kind=im), parameter :: ng14 = 16 |
---|
92 | ! integer(kind=im), parameter :: ng15 = 16 |
---|
93 | ! integer(kind=im), parameter :: ng16 = 16 |
---|
94 | |
---|
95 | ! integer(kind=im), parameter :: ngs1 = 16 |
---|
96 | ! integer(kind=im), parameter :: ngs2 = 32 |
---|
97 | ! integer(kind=im), parameter :: ngs3 = 48 |
---|
98 | ! integer(kind=im), parameter :: ngs4 = 64 |
---|
99 | ! integer(kind=im), parameter :: ngs5 = 80 |
---|
100 | ! integer(kind=im), parameter :: ngs6 = 96 |
---|
101 | ! integer(kind=im), parameter :: ngs7 = 112 |
---|
102 | ! integer(kind=im), parameter :: ngs8 = 128 |
---|
103 | ! integer(kind=im), parameter :: ngs9 = 144 |
---|
104 | ! integer(kind=im), parameter :: ngs10 = 160 |
---|
105 | ! integer(kind=im), parameter :: ngs11 = 176 |
---|
106 | ! integer(kind=im), parameter :: ngs12 = 192 |
---|
107 | ! integer(kind=im), parameter :: ngs13 = 208 |
---|
108 | ! integer(kind=im), parameter :: ngs14 = 224 |
---|
109 | ! integer(kind=im), parameter :: ngs15 = 240 |
---|
110 | ! integer(kind=im), parameter :: ngs16 = 256 |
---|
111 | |
---|
112 | end module parrrtm |
---|