69 use machine,
only : kind_phys
80 real (kind=kind_phys) :: upfxc
81 real (kind=kind_phys) :: dnfxc
82 real (kind=kind_phys) :: upfx0
90 real (kind=kind_phys) :: upfxc
91 real (kind=kind_phys) :: dnfxc
92 real (kind=kind_phys) :: upfx0
93 real (kind=kind_phys) :: dnfx0
101 real (kind=kind_phys) :: upfxc
102 real (kind=kind_phys) :: dnfxc
103 real (kind=kind_phys) :: upfx0
104 real (kind=kind_phys) :: dnfx0
112 real (kind=kind_phys) :: uvbfc
113 real (kind=kind_phys) :: uvbf0
114 real (kind=kind_phys) :: nirbm
115 real (kind=kind_phys) :: nirdf
116 real (kind=kind_phys) :: visbm
117 real (kind=kind_phys) :: visdf
122 integer,
parameter :: nblow = 16
123 integer,
parameter :: nbhgh = 29
124 integer,
parameter :: nbands = nbhgh-nblow+1
125 integer,
parameter :: ngptsw = 112
126 integer,
parameter :: ngmax = 16
127 integer,
parameter :: maxgas = 7
128 integer,
parameter :: ntbmx = 10000
131 integer,
parameter :: nswstr = 1
133 integer,
parameter :: nbdsw = nbands
136 integer :: ng16, ng17, ng18, ng19, ng20, ng21, ng22, &
137 & NG23, NG24, NG25, NG26, NG27, NG28, NG29
138 parameter ( ng16=06, ng17=12, ng18=08, ng19=08, ng20=10, &
139 & ng21=10, ng22=02, ng23=10, ng24=08, ng25=06, &
140 & ng26=06, ng27=08, ng28=06, ng29=12)
142 integer,
dimension(NBLOW:NBHGH) :: ng
143 data ng / ng16, ng17, ng18, ng19, ng20, ng21, ng22, &
144 & ng23, ng24, ng25, ng26, ng27, ng28, ng29 /
147 integer :: ns16, ns17, ns18, ns19, ns20, ns21, ns22, &
148 & NS23, NS24, NS25, NS26, NS27, NS28, NS29
149 parameter ( ns16=00, ns17=ns16+ng16, ns18=ns17+ng17, &
150 & ns19=ns18+ng18, ns20=ns19+ng19, ns21=ns20+ng20, &
151 & ns22=ns21+ng21, ns23=ns22+ng22, ns24=ns23+ng23, &
152 & ns25=ns24+ng24, ns26=ns25+ng25, ns27=ns26+ng26, &
153 & ns28=ns27+ng27, ns29=ns28+ng28 )
156 integer,
dimension(NBLOW:NBHGH) :: ngs
157 data ngs / ns16, ns17, ns18, ns19, ns20, ns21, ns22, &
158 & ns23, ns24, ns25, ns26, ns27, ns28, ns29 /
161 integer,
dimension(NGPTSW),
parameter :: ngb = &
162 & (/ 16,16,16,16,16,16, &
163 & 17,17,17,17,17,17,17,17,17,17,17,17, &
164 & 18,18,18,18,18,18,18,18, &
165 & 19,19,19,19,19,19,19,19, &
166 & 20,20,20,20,20,20,20,20,20,20, &
167 & 21,21,21,21,21,21,21,21,21,21, &
169 & 23,23,23,23,23,23,23,23,23,23, &
170 & 24,24,24,24,24,24,24,24, &
171 & 25,25,25,25,25,25, &
172 & 26,26,26,26,26,26, &
173 & 27,27,27,27,27,27,27,27, &
174 & 28,28,28,28,28,28, &
175 & 29,29,29,29,29,29,29,29,29,29,29,29 /)
178 real (kind=kind_phys),
dimension(NBANDS),
parameter :: wvnum1 = &
179 & (/ 2600.0, 3250.0, 4000.0, 4650.0, 5150.0, 6150.0, 7700.0, &
180 & 8050.0,12850.0,16000.0,22650.0,29000.0,38000.0, 820.0 /)
181 real (kind=kind_phys),
dimension(NBANDS),
parameter :: wvnum2 = &
182 & (/ 3250.0, 4000.0, 4650.0, 5150.0, 6150.0, 7700.0, 8050.0, &
183 & 12850.0,16000.0,22650.0,29000.0,38000.0,50000.0, 2600.0 /)
This module is for specifying the band structures and program parameters used by the RRTMG-SW scheme.
derived type for special components of surface SW fluxes
derived type for SW fluxes' column profiles (at layer interfaces)
derived type for SW fluxes at surface
derived type for SW fluxes at TOA