1 | |
---|
2 | module parrrsw |
---|
3 | |
---|
4 | use parkind ,only : im => kind_im, rb => kind_rb |
---|
5 | |
---|
6 | implicit none |
---|
7 | save |
---|
8 | |
---|
9 | !------------------------------------------------------------------ |
---|
10 | ! rrtmg_sw main parameters |
---|
11 | ! |
---|
12 | ! Initial version: JJMorcrette, ECMWF, jul1998 |
---|
13 | ! Revised: MJIacono, AER, jun2006 |
---|
14 | ! Revised: MJIacono, AER, aug2008 |
---|
15 | !------------------------------------------------------------------ |
---|
16 | |
---|
17 | ! name type purpose |
---|
18 | ! ----- : ---- : ---------------------------------------------- |
---|
19 | ! mxlay : integer: maximum number of layers |
---|
20 | ! mg : integer: number of original g-intervals per spectral band |
---|
21 | ! nbndsw : integer: number of spectral bands |
---|
22 | ! naerec : integer: number of aerosols (iaer=6, ecmwf aerosol option) |
---|
23 | ! ngptsw : integer: total number of reduced g-intervals for rrtmg_lw |
---|
24 | ! ngNN : integer: number of reduced g-intervals per spectral band |
---|
25 | ! ngsNN : integer: cumulative number of g-intervals per band |
---|
26 | !------------------------------------------------------------------ |
---|
27 | |
---|
28 | integer(kind=im), parameter :: mxlay = 203 !jplay, klev |
---|
29 | integer(kind=im), parameter :: mg = 16 !jpg |
---|
30 | integer(kind=im), parameter :: nbndsw = 14 !jpsw, ksw |
---|
31 | integer(kind=im), parameter :: naerec = 6 !jpaer |
---|
32 | integer(kind=im), parameter :: mxmol = 38 |
---|
33 | integer(kind=im), parameter :: nstr = 2 |
---|
34 | integer(kind=im), parameter :: nmol = 7 |
---|
35 | ! Use for 112 g-point model |
---|
36 | integer(kind=im), parameter :: ngptsw = 112 !jpgpt |
---|
37 | ! Use for 224 g-point model |
---|
38 | ! integer(kind=im), parameter :: ngptsw = 224 !jpgpt |
---|
39 | |
---|
40 | ! may need to rename these - from v2.6 |
---|
41 | integer(kind=im), parameter :: jpband = 29 |
---|
42 | integer(kind=im), parameter :: jpb1 = 16 !istart |
---|
43 | integer(kind=im), parameter :: jpb2 = 29 !iend |
---|
44 | |
---|
45 | integer(kind=im), parameter :: jmcmu = 32 |
---|
46 | integer(kind=im), parameter :: jmumu = 32 |
---|
47 | integer(kind=im), parameter :: jmphi = 3 |
---|
48 | integer(kind=im), parameter :: jmxang = 4 |
---|
49 | integer(kind=im), parameter :: jmxstr = 16 |
---|
50 | ! ^ |
---|
51 | |
---|
52 | ! Use for 112 g-point model |
---|
53 | integer(kind=im), parameter :: ng16 = 6 |
---|
54 | integer(kind=im), parameter :: ng17 = 12 |
---|
55 | integer(kind=im), parameter :: ng18 = 8 |
---|
56 | integer(kind=im), parameter :: ng19 = 8 |
---|
57 | integer(kind=im), parameter :: ng20 = 10 |
---|
58 | integer(kind=im), parameter :: ng21 = 10 |
---|
59 | integer(kind=im), parameter :: ng22 = 2 |
---|
60 | integer(kind=im), parameter :: ng23 = 10 |
---|
61 | integer(kind=im), parameter :: ng24 = 8 |
---|
62 | integer(kind=im), parameter :: ng25 = 6 |
---|
63 | integer(kind=im), parameter :: ng26 = 6 |
---|
64 | integer(kind=im), parameter :: ng27 = 8 |
---|
65 | integer(kind=im), parameter :: ng28 = 6 |
---|
66 | integer(kind=im), parameter :: ng29 = 12 |
---|
67 | |
---|
68 | integer(kind=im), parameter :: ngs16 = 6 |
---|
69 | integer(kind=im), parameter :: ngs17 = 18 |
---|
70 | integer(kind=im), parameter :: ngs18 = 26 |
---|
71 | integer(kind=im), parameter :: ngs19 = 34 |
---|
72 | integer(kind=im), parameter :: ngs20 = 44 |
---|
73 | integer(kind=im), parameter :: ngs21 = 54 |
---|
74 | integer(kind=im), parameter :: ngs22 = 56 |
---|
75 | integer(kind=im), parameter :: ngs23 = 66 |
---|
76 | integer(kind=im), parameter :: ngs24 = 74 |
---|
77 | integer(kind=im), parameter :: ngs25 = 80 |
---|
78 | integer(kind=im), parameter :: ngs26 = 86 |
---|
79 | integer(kind=im), parameter :: ngs27 = 94 |
---|
80 | integer(kind=im), parameter :: ngs28 = 100 |
---|
81 | integer(kind=im), parameter :: ngs29 = 112 |
---|
82 | |
---|
83 | ! Use for 224 g-point model |
---|
84 | ! integer(kind=im), parameter :: ng16 = 16 |
---|
85 | ! integer(kind=im), parameter :: ng17 = 16 |
---|
86 | ! integer(kind=im), parameter :: ng18 = 16 |
---|
87 | ! integer(kind=im), parameter :: ng19 = 16 |
---|
88 | ! integer(kind=im), parameter :: ng20 = 16 |
---|
89 | ! integer(kind=im), parameter :: ng21 = 16 |
---|
90 | ! integer(kind=im), parameter :: ng22 = 16 |
---|
91 | ! integer(kind=im), parameter :: ng23 = 16 |
---|
92 | ! integer(kind=im), parameter :: ng24 = 16 |
---|
93 | ! integer(kind=im), parameter :: ng25 = 16 |
---|
94 | ! integer(kind=im), parameter :: ng26 = 16 |
---|
95 | ! integer(kind=im), parameter :: ng27 = 16 |
---|
96 | ! integer(kind=im), parameter :: ng28 = 16 |
---|
97 | ! integer(kind=im), parameter :: ng29 = 16 |
---|
98 | |
---|
99 | ! integer(kind=im), parameter :: ngs16 = 16 |
---|
100 | ! integer(kind=im), parameter :: ngs17 = 32 |
---|
101 | ! integer(kind=im), parameter :: ngs18 = 48 |
---|
102 | ! integer(kind=im), parameter :: ngs19 = 64 |
---|
103 | ! integer(kind=im), parameter :: ngs20 = 80 |
---|
104 | ! integer(kind=im), parameter :: ngs21 = 96 |
---|
105 | ! integer(kind=im), parameter :: ngs22 = 112 |
---|
106 | ! integer(kind=im), parameter :: ngs23 = 128 |
---|
107 | ! integer(kind=im), parameter :: ngs24 = 144 |
---|
108 | ! integer(kind=im), parameter :: ngs25 = 160 |
---|
109 | ! integer(kind=im), parameter :: ngs26 = 176 |
---|
110 | ! integer(kind=im), parameter :: ngs27 = 192 |
---|
111 | ! integer(kind=im), parameter :: ngs28 = 208 |
---|
112 | ! integer(kind=im), parameter :: ngs29 = 224 |
---|
113 | |
---|
114 | ! Source function solar constant |
---|
115 | real(kind=rb), parameter :: rrsw_scon = 1.36822e+03 ! W/m2 |
---|
116 | |
---|
117 | end module parrrsw |
---|
118 | |
---|
119 | |
---|