CCPP SciDoc v7.0.0  v7.0.0
Common Community Physics Package Developed at DTC
 
Loading...
Searching...
No Matches
radlw_param.f
1
3
4!!!!! ============================================================== !!!!!
5!!!!! lw-rrtm3 radiation package description !!!!!
6!!!!! ============================================================== !!!!!
7! !
8! this package includes ncep's modifications of the rrtm-lw radiation !
9! code from aer inc. !
10! !
11! the rrtm3 package includes these parts: !
12! !
13! 'radlw_rrtm3_param.f' !
14! 'radlw_rrtm3_datatb.f' !
15! 'radlw_rrtm3_main.f' !
16! !
17! the 'radlw_rrtm3_param.f' contains: !
18! !
19! 'module_radlw_parameters' -- band parameters set up !
20! !
21! the 'radlw_rrtm3_datatb.f' contains: !
22! !
23! 'module_radlw_avplank' -- plank flux data !
24! 'module_radlw_ref' -- reference temperature and pressure !
25! 'module_radlw_cldprlw' -- cloud property coefficients !
26! 'module_radlw_kgbnn' -- absorption coeffients for 16 !
27! bands, where nn = 01-16 !
28! !
29! the 'radlw_rrtm3_main.f' contains: !
30! !
31! 'rrtmg_lw' -- main lw radiation transfer !
32! !
33! in the main module 'rrtmg_lw' there are only two !
34! externally callable subroutines: !
35! !
36! 'lwrad' -- main rrtm3 lw radiation routine !
37! 'rlwinit' -- to initialize rrtm3 lw radiation !
38! !
39! all the lw radiation subprograms become contained subprograms !
40! in module 'module_radlw_rrtm' and many of them are not directly !
41! accessable from places outside the module. !
42! !
43! compilation sequence is: !
44! !
45! 'radlw_rrtm3_param.f' !
46! 'radlw_rrtm3_datatb.f' !
47! 'radlw_rrtm3_main.f' !
48! !
49! and all should be put in front of routines that use lw modules !
50! !
51! ncep modifications history log: !
52! !
53! see list in program "radlw_rrtm3_main.f" !
54! !
55!!!!! ============================================================== !!!!!
56!!!!! end descriptions !!!!!
57!!!!! ============================================================== !!!!!
58
62!........................................!
63
67
68 use machine, only : kind_phys
69
70 implicit none
71!
72 public
73!
79 real (kind=kind_phys) :: upfxc
80 real (kind=kind_phys) :: upfx0
81 end type topflw_type
82!
88 real (kind=kind_phys) :: upfxc
89 real (kind=kind_phys) :: upfx0
90 real (kind=kind_phys) :: dnfxc
91 real (kind=kind_phys) :: dnfx0
92 end type sfcflw_type
93!
95 real (kind=kind_phys) :: upfxc
96 real (kind=kind_phys) :: dnfxc
97 real (kind=kind_phys) :: upfx0
98 real (kind=kind_phys) :: dnfx0
99 end type proflw_type
100!
101! Parameter constants for LW band structures
102 integer, parameter :: nbands = 16
103 integer, parameter :: ngptlw = 140
104 integer, parameter :: ntbl = 10000
105 integer, parameter :: maxgas = 7
106 integer, parameter :: maxxsec= 4
107 integer, parameter :: nrates = 6
108 integer, parameter :: nplnk = 181
109
110 integer, parameter :: nbdlw = nbands
111
113 integer :: ng01, ng02, ng03, ng04, ng05, ng06, ng07, ng08, &
114 & NG09, NG10, NG11, NG12, NG13, NG14, NG15, NG16
115 parameter (ng01=10, ng02=12, ng03=16, ng04=14, ng05=16, ng06=08, &
116 & ng07=12, ng08=08, ng09=12, ng10=06, ng11=08, ng12=08, &
117 & ng13=04, ng14=02, ng15=02, ng16=02)
118
120 integer :: ns01, ns02, ns03, ns04, ns05, ns06, ns07, ns08, &
121 & NS09, NS10, NS11, NS12, NS13, NS14, NS15, NS16
122 parameter (ns01=00, ns02=10, ns03=22, ns04=38, ns05=52, ns06=68, &
123 & ns07=76, ns08=88, ns09=96, ns10=108, ns11=114, &
124 & ns12=122, ns13=130, ns14=134, ns15=136, ns16=138)
125
127 integer, dimension(NGPTLW) :: ngb
128 data ngb(:) / 10*1, 12*2, 16*3, 14*4, 16*5, 8*6, 12*7, 8*8, & ! band 1- 8
129 & 12*9, 6*10, 8*11, 8*12, 4*13, 2*14, 2*15, 2*16 / ! band 9-16
130
132 real (kind=kind_phys) :: wvnlw1(nbands), wvnlw2(nbands)
133 data wvnlw1 / &
134 & 10., 350., 500., 630., 700., 820., 980., 1080., &
135 & 1180., 1390., 1480., 1800., 2080., 2250., 2380., 2600. /
136 data wvnlw2 / &
137 & 350., 500., 630., 700., 820., 980., 1080., 1180., &
138 & 1390., 1480., 1800., 2080., 2250., 2380., 2600., 3250. /
139
140 real (kind=kind_phys) :: delwave(nbands)
141 data delwave / 340., 150., 130., 70., 120., 160., 100., 100., &
142 & 210., 90., 320., 280., 170., 130., 220., 650. /
143
144!........................................!
145 end module module_radlw_parameters !
146!========================================!
This module contains LW band parameters set up.
Definition radlw_param.f:61
define type construct for optional radiation flux profiles
Definition radlw_param.f:94
derived type for LW fluxes at surface
Definition radlw_param.f:87
derived type for LW fluxes at top of atmosphere
Definition radlw_param.f:78