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