updated top-level README and version_decl for V4.5 (#1847)
[WRF.git] / chem / module_data_rrtmgaeropt.F
blobbdc6a418fad529f2bbf7073158e2d51fc7b3af3a
2 MODULE module_data_rrtmgaeropt
4       IMPLICIT NONE
5       INTEGER nswbands,nlwbands   ! wave bands for rrtmg radiation scheme
6       PARAMETER (nswbands =4,nlwbands=16)
7       
8 !*************************************************************
9 !czhao hard coding the refractive index of water and aerosols
11 ! * Most of the wavelength refractive indices below are based on values
12 !   used in the Community Atmosphere Model (CAM)
13 ! * For now, shortwave refractive index is not wavelength depenedent
14 !   and set to 0.003 as described in Zhao et al. ACP (2010)
15 ! * Wavelength dependant shortwave refractive index used by CAM is 
16 !   commented out for now
18       !water
19       real,dimension(1:nswbands),save ::  refrwsw,refiwsw
20       real,dimension(1:nlwbands),save ::  refrwlw,refiwlw
21       data refrwsw /1.35,1.34,1.33,1.33/
22       data refiwsw /1.524e-8,2.494e-9,1.638e-9,3.128e-6/
23       data refrwlw /1.532,1.524,1.420,1.274,1.161,1.142,1.232,1.266,1.296, & 
24       1.321,1.342,1.315,1.330,1.339,1.350,1.408/ 
25       data refiwlw / 0.336,0.360,0.426,0.403,0.321,0.115,0.0471,0.039,0.034, &
26       0.0344,0.092,0.012,0.013,0.01,0.0049,0.0142/
28       !dust
29       real,dimension(1:nswbands),save ::  refrsw_dust,refisw_dust
30       real,dimension(1:nlwbands),save ::  refrlw_dust,refilw_dust
31       !data refrsw_dust /nswbands*1.530/
32       data refrsw_dust /nswbands*1.550/
33 !     data refisw_dust /0.024,0.0135,0.0063,0.004/
34       data refisw_dust /nswbands*0.003/
35       data refrlw_dust /2.340,2.904,1.748,1.508,1.911,1.822,2.917,1.557, &
36       1.242,1.447,1.432,1.473,1.495,1.5,1.5,1.51/
37       data refilw_dust /0.7,0.857,0.462,0.263,0.319,0.26,0.65,0.373,0.093, &
38       0.105,0.061,0.0245,0.011,0.008,0.0068,0.018/ 
40       !BC
41       real,dimension(1:nswbands),save ::  refrsw_bc,refisw_bc
42       real,dimension(1:nlwbands),save ::  refrlw_bc,refilw_bc
43       data refrsw_bc /nswbands*1.95/
44       data refisw_bc /nswbands*0.79/
45       data refrlw_bc /nlwbands*1.95/
46       data refilw_bc /nlwbands*0.79/
48       !OC
49       real,dimension(1:nswbands),save ::  refrsw_oc,refisw_oc
50       real,dimension(1:nlwbands),save ::  refrlw_oc,refilw_oc
51       !data refrsw_oc /1.53,1.53,1.53,1.52/
52       data refrsw_oc /nswbands*1.45/
53       !data refisw_oc /0.00776,0.005,0.00567,0.0156/
54       data refisw_oc /nswbands*0.0/
55       data refrlw_oc /1.86,1.91,1.988,1.439,1.606,1.7,1.888,2.489,1.219, &
56       1.419,1.426,1.446,1.457,1.458,1.455,1.443/ 
57       data refilw_oc /0.5,0.268,0.185,0.198,0.059,0.0488,0.11,0.3345,0.065, &
58       0.058,0.0261,0.0142,0.013,0.01,0.005,0.0057/
59    
60       !Sea-salt
61       real,dimension(1:nswbands),save ::  refrsw_seas,refisw_seas
62       real,dimension(1:nlwbands),save ::  refrlw_seas,refilw_seas
63       data refrsw_seas /1.51,1.5,1.5,1.47/
64       data refisw_seas /0.866e-6,7.019e-8,1.184e-8,0.00015/
65       data refrlw_seas /1.74,1.76,1.78,1.456,1.41,1.48,1.56,1.63,1.4,1.43, &
66       1.56,1.45,1.485,1.486,1.48,1.48 / 
67       data refilw_seas /0.1978,0.1978,0.129,0.038,0.019,0.014,0.016,0.03,0.012, &
68       0.0064,0.0196,0.0029,0.0017,0.0014,0.0014,0.00176/
69   
70       !Sulfate 
71       real,dimension(1:nswbands),save ::  refrsw_sulf,refisw_sulf
72       real,dimension(1:nlwbands),save ::  refrlw_sulf,refilw_sulf
73       !data refrsw_sulf /1.468,1.442,1.43,1.422/
74       data refrsw_sulf /nswbands*1.52/
75       data refisw_sulf /3*1.0e-9,1.75e-6/
76       data refrlw_sulf /1.89,1.91,1.93,1.586,1.678,1.758,1.855,1.597,1.15, & 
77       1.26,1.42,1.35,1.379,1.385,1.385,1.367/
78       data refilw_sulf /0.22,0.152,0.0846,0.2225,0.195,0.441,0.696,0.695, & 
79       0.459,0.161,0.172,0.14,0.12,0.122,0.126,0.158/
81 !*************************************************************
82       !wavelength
83       real, save :: wavmin(nswbands) ! Min wavelength (um) of interval
84       !data wavmin /3.077,2.500,2.150,1.942,1.626,1.299, &
85       data wavmin /0.25,0.35,0.55,0.998/
86       real, save :: wavmax(nswbands) ! Max wavelength (um) of interval
87       !data wavmax/3.846,3.077,2.500,2.150,1.942,1.626, &
88       data wavmax/0.35,0.45,0.65,1.000/
89       real, save :: wavenumber1_longwave(nlwbands) !Longwave limits (cm-1)
90       data wavenumber1_longwave /10.,350.,500.,630.,700.,820.,980.,1080.,1180.,1390.,1480.,1800.,2080.,2250.,2390.,2600./
91       real, save :: wavenumber2_longwave(nlwbands) !Longwave limits (cm-1)
92       data wavenumber2_longwave /350.,500.,630.,700.,820.,980.,1080.,1180.,1390.,1480.,1800.,2080., 2250.,2390.,2600.,3250./
94       !mode or size bin
95       integer,parameter :: maxd_amode=3
96       integer,parameter :: ntot_amode=3
97       integer,parameter :: maxd_bin=8
98       integer,parameter :: ntot_bin=8
100       !Chebychev polynomial
101       !integer,parameter :: prefr=7,prefi=10
102       integer,parameter :: prefr=7,prefi=7
103       integer,parameter :: ncoef=50
104       real,parameter :: rmmin=0.005e-4,rmmax=50.e-4  ! cm 
105       real,save:: refrtabsw(prefr,nswbands)
106       real,save:: refitabsw(prefi,nswbands)
107       real,save:: refrtablw(prefr,nlwbands)
108       real,save:: refitablw(prefi,nlwbands)
109       !coefficients for parameterizing aerosol radiative properties
110       !in terms of refractive index and wet radius
111       real,save:: extpsw(ncoef,prefr,prefi,nswbands) !specific extinction
112       real,save:: abspsw(ncoef,prefr,prefi,nswbands) !specific absorption
113       real,save:: ascatpsw(ncoef,prefr,prefi,nswbands) !specific scattering
114       real,save:: asmpsw(ncoef,prefr,prefi,nswbands) !asymmetry factor
115       real,save:: sbackpsw(ncoef,prefr,prefi,nswbands)
116       real,save:: pmom2psw(ncoef,prefr,prefi,nswbands) 
117       real,save:: pmom3psw(ncoef,prefr,prefi,nswbands)
118       real,save:: pmom4psw(ncoef,prefr,prefi,nswbands)
119       real,save:: pmom5psw(ncoef,prefr,prefi,nswbands)
120       real,save:: pmom6psw(ncoef,prefr,prefi,nswbands)
121       real,save:: pmom7psw(ncoef,prefr,prefi,nswbands)
122       real,save:: extplw(ncoef,prefr,prefi,nlwbands) !specific extinction
123       real,save:: absplw(ncoef,prefr,prefi,nlwbands) !specific absorption
124       real,save:: ascatplw(ncoef,prefr,prefi,nlwbands) !specific scattering
125       real,save:: asmplw(ncoef,prefr,prefi,nlwbands) !asymmetry factor
127       real,save :: wavmidsw(nswbands)
128       data wavmidsw  / 0.30e-4, 0.40e-4, 0.60e-4 ,0.999e-04 /
129       !now czhao use 0.45 instead of 0.40 becaues of incorrect AOD from 0.40
130       !data wavmidsw  / 0.30e-4, 0.45e-4, 0.60e-4 ,0.999e-04 /
131       real,save :: wavmidlw(nlwbands)
132       complex, save :: crefwsw(nswbands) ! complex refractive index fro water
133       complex, save :: crefwlw(nlwbands)
137 END MODULE module_data_rrtmgaeropt