CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
radsw_param.f
1
3
4!!!!! ============================================================== !!!!!
5!!!!! sw-rrtm3 radiation package description !!!!!
6!!!!! ============================================================== !!!!!
7! !
8! this package includes ncep's modifications of the rrtm-sw radiation !
9! code from aer inc. !
10! !
11! the sw-rrtm3 package includes these parts: !
12! !
13! 'radsw_rrtm3_param.f' !
14! 'radsw_rrtm3_datatb.f' !
15! 'radsw_rrtm3_main.f' !
16! !
17! the 'radsw_rrtm3_param.f' contains: !
18! !
19! 'module_radsw_parameters' -- band parameters set up !
20! !
21! the 'radsw_rrtm3_datatb.f' contains: !
22! !
23! 'module_radsw_ref' -- reference temperature and pressure !
24! 'module_radsw_cldprtb' -- cloud property coefficients table !
25! 'module_radsw_sflux' -- spectral distribution of solar flux !
26! 'module_radsw_kgbnn' -- absorption coeffients for 14 !
27! bands, where nn = 16-29 !
28! !
29! the 'radsw_rrtm3_main.f' contains: !
30! !
31! 'rrtmg_sw' -- main sw radiation transfer !
32! !
33! in the main module 'rrtmg_sw' there are only two !
34! externally callable subroutines: !
35! !
36! 'swrad' -- main rrtm3 sw radiation routine !
37! 'rswinit' -- initialization routine !
38! !
39! all the sw radiation subprograms become contained subprograms !
40! in module 'rrtmg_sw' and many of them are not directly !
41! accessable from places outside the module. !
42! !
43! compilation sequence is: !
44! !
45! 'radsw_rrtm3_param.f' !
46! 'radsw_rrtm3_datatb.f' !
47! 'radsw_rrtm3_main.f' !
48! !
49! and all should be put in front of routines that use sw modules !
50! !
51! ncep modifications history log: !
52! !
53! see list in program "radsw_rrtm3_main.f" !
54! !
55!!!!! ============================================================== !!!!!
56!!!!! end descriptions !!!!!
57!!!!! ============================================================== !!!!!
58
63!........................................!
64
68
69 use machine, only : kind_phys
70
71 implicit none
72!
73 public
74!
80 real (kind=kind_phys) :: upfxc
81 real (kind=kind_phys) :: dnfxc
82 real (kind=kind_phys) :: upfx0
83 end type topfsw_type
84!
90 real (kind=kind_phys) :: upfxc
91 real (kind=kind_phys) :: dnfxc
92 real (kind=kind_phys) :: upfx0
93 real (kind=kind_phys) :: dnfx0
94 end type sfcfsw_type
95!
101 real (kind=kind_phys) :: upfxc
102 real (kind=kind_phys) :: dnfxc
103 real (kind=kind_phys) :: upfx0
104 real (kind=kind_phys) :: dnfx0
105 end type profsw_type
106!
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
118 end type cmpfsw_type
119!
120! Parameter constants for SW band structures
121
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
129! SW bands counter starting index (for compatibility with previous
130!! SW radiation schemes)
131 integer, parameter :: nswstr = 1
132! integer, parameter :: NSWEND = NBANDS
133 integer, parameter :: nbdsw = nbands
134
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)
141
142 integer, dimension(NBLOW:NBHGH) :: ng
143 data ng / ng16, ng17, ng18, ng19, ng20, ng21, ng22, &
144 & ng23, ng24, ng25, ng26, ng27, ng28, ng29 /
145
146! Accumulative starting index for bands 16-29
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 )
154
156 integer, dimension(NBLOW:NBHGH) :: ngs
157 data ngs / ns16, ns17, ns18, ns19, ns20, ns21, ns22, &
158 & ns23, ns24, ns25, ns26, ns27, ns28, ns29 /
159
161 integer, dimension(NGPTSW), parameter :: ngb = &
162 & (/ 16,16,16,16,16,16, & ! band 16
163 & 17,17,17,17,17,17,17,17,17,17,17,17, & ! band 17
164 & 18,18,18,18,18,18,18,18, & ! band 18
165 & 19,19,19,19,19,19,19,19, & ! band 19
166 & 20,20,20,20,20,20,20,20,20,20, & ! band 20
167 & 21,21,21,21,21,21,21,21,21,21, & ! band 21
168 & 22,22, & ! band 22
169 & 23,23,23,23,23,23,23,23,23,23, & ! band 23
170 & 24,24,24,24,24,24,24,24, & ! band 24
171 & 25,25,25,25,25,25, & ! band 25
172 & 26,26,26,26,26,26, & ! band 26
173 & 27,27,27,27,27,27,27,27, & ! band 27
174 & 28,28,28,28,28,28, & ! band 28
175 & 29,29,29,29,29,29,29,29,29,29,29,29 /) ! band 29
176
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 /)
184
185!
186!........................................!
187 end module module_radsw_parameters !
188!========================================!
This module is for specifying the band structures and program parameters used by the RRTMG-SW scheme.
Definition radsw_param.f:62
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
Definition radsw_param.f:89
derived type for SW fluxes at TOA
Definition radsw_param.f:79