1 !**********************************************************************************
2 ! This computer software was prepared by Battelle Memorial Institute, hereinafter
3 ! the Contractor, under Contract No. DE-AC05-76RL0 1830 with the Department of
4 ! Energy (DOE). NEITHER THE GOVERNMENT NOR THE CONTRACTOR MAKES ANY WARRANTY,
5 ! EXPRESS OR IMPLIED, OR ASSUMES ANY LIABILITY FOR THE USE OF THIS SOFTWARE.
7 ! CBMZ module: see module_cbmz.F for references and terms of use
8 !**********************************************************************************
9 ! file module_data_cbmf.f
10 !-----------------------------------------------------------------------------
12 module module_data_cbmz
16 parameter (nfixed_kppmax = 20)
19 parameter (nreact_kppmax = 256)
22 parameter (avognumkpp = 6.02252e23) ! molecules/mole
25 integer nvar_r01_kpp, nfix_r01_kpp, nreact_r01_kpp, &
27 parameter ( nvar_r01_kpp = 28 )
28 parameter ( nfix_r01_kpp = 5 )
29 parameter ( nreact_r01_kpp = 74 )
30 parameter ( lu_nonzero_v_r01_kpp = 194 )
32 integer nvar_r02_kpp, nfix_r02_kpp, nreact_r02_kpp, &
34 parameter ( nvar_r02_kpp = 48 )
35 parameter ( nfix_r02_kpp = 5 )
36 parameter ( nreact_r02_kpp = 118 )
37 parameter ( lu_nonzero_v_r02_kpp = 459 )
39 integer nvar_r03_kpp, nfix_r03_kpp, nreact_r03_kpp, &
41 parameter ( nvar_r03_kpp = 53 )
42 parameter ( nfix_r03_kpp = 5 )
43 parameter ( nreact_r03_kpp = 134 )
44 parameter ( lu_nonzero_v_r03_kpp = 564 )
46 integer nvar_r04_kpp, nfix_r04_kpp, nreact_r04_kpp, &
48 parameter ( nvar_r04_kpp = 39 )
49 parameter ( nfix_r04_kpp = 5 )
50 parameter ( nreact_r04_kpp = 106 )
51 parameter ( lu_nonzero_v_r04_kpp = 334 )
53 integer nvar_r05_kpp, nfix_r05_kpp, nreact_r05_kpp, &
55 parameter ( nvar_r05_kpp = 59 )
56 parameter ( nfix_r05_kpp = 5 )
57 parameter ( nreact_r05_kpp = 150 )
58 parameter ( lu_nonzero_v_r05_kpp = 606 )
60 integer nvar_r06_kpp, nfix_r06_kpp, nreact_r06_kpp, &
62 parameter ( nvar_r06_kpp = 64 )
63 parameter ( nfix_r06_kpp = 5 )
64 parameter ( nreact_r06_kpp = 166 )
65 parameter ( lu_nonzero_v_r06_kpp = 715 )
69 ino_z, ino2_z, ino3_z, &
70 in2o5_z, ihono_z, ihno3_z, &
71 ihno4_z, io3_z, io1d_z, &
72 io3p_z, ioh_z, iho2_z, &
73 ih2o2_z, ico_z, iso2_z, &
74 ih2so4_z, inh3_z, ihcl_z, &
75 ich4_z, ic2h6_z, ich3o2_z, &
76 iethp_z, ihcho_z, ich3oh_z, &
77 ic2h5oh_z, ich3ooh_z, iethooh_z, &
78 iald2_z, ihcooh_z, ipar_z, &
79 iaone_z, imgly_z, ieth_z, &
80 iolet_z, iolei_z, itol_z, &
81 ixyl_z, icres_z, ito2_z, &
82 icro_z, iopen_z, ionit_z, &
83 ipan_z, ircooh_z, irooh_z, &
84 ic2o3_z, iro2_z, iano2_z, &
85 inap_z, ixo2_z, ixpar_z, &
86 iisop_z, iisoprd_z, iisopp_z, &
87 iisopn_z, iisopo2_z, idms_z, &
88 imsa_z, idmso_z, idmso2_z, &
89 ich3so2h_z, ich3sch2oo_z, ich3so2_z, &
90 ich3so3_z, ich3so2oo_z, ich3so2ch2oo_z, &
92 ih2o_z, io2_z, in2_z, &
96 ino_z=01, ino2_z=02, ino3_z=03, &
97 in2o5_z=04, ihono_z=05, ihno3_z=06, &
98 ihno4_z=07, io3_z=08, io1d_z=09, &
99 io3p_z=10, ioh_z=11, iho2_z=12, &
100 ih2o2_z=13, ico_z=14, iso2_z=15, &
101 ih2so4_z=16, inh3_z=17, ihcl_z=18, &
102 ich4_z=19, ic2h6_z=20, ich3o2_z=21, &
103 iethp_z=22, ihcho_z=23, ich3oh_z=24, &
104 ic2h5oh_z=25, ich3ooh_z=26, iethooh_z=27, &
105 iald2_z=28, ihcooh_z=29, ipar_z=30, &
106 iaone_z=31, imgly_z=32, ieth_z=33, &
107 iolet_z=34, iolei_z=35, itol_z=36, &
108 ixyl_z=37, icres_z=38, ito2_z=39, &
109 icro_z=40, iopen_z=41, ionit_z=42, &
110 ipan_z=43, ircooh_z=44, irooh_z=45, &
111 ic2o3_z=46, iro2_z=47, iano2_z=48, &
112 inap_z=49, ixo2_z=50, ixpar_z=51, &
113 iisop_z=52, iisoprd_z=53, iisopp_z=54, &
114 iisopn_z=55, iisopo2_z=56, idms_z=57, &
115 imsa_z=58, idmso_z=59, idmso2_z=60, &
116 ich3so2h_z=61, ich3sch2oo_z=62, ich3so2_z=63, &
117 ich3so3_z=64, ich3so2oo_z=65, ich3so2ch2oo_z=66, &
119 ih2o_z=68, io2_z=69, in2_z=70, &
124 parameter (ngas_z=71)
126 character(len=12), save :: name_z(ngas_z) = (/ &
127 'no ', 'no2 ', 'no3 ', &
128 'n2o5 ', 'hono ', 'hno3 ', &
129 'hno4 ', 'o3 ', 'o1d ', &
130 'o3p ', 'oh ', 'ho2 ', &
131 'h2o2 ', 'co ', 'so2 ', &
132 'h2so4 ', 'nh3 ', 'hcl ', &
133 'ch4 ', 'c2h6 ', 'ch3o2 ', &
134 'ethp ', 'hcho ', 'ch3oh ', &
135 'c2h5oh ', 'ch3ooh ', 'ethooh ', &
136 'ald2 ', 'hcooh ', 'par ', &
137 'aone ', 'mgly ', 'eth ', &
138 'olet ', 'olei ', 'tol ', &
139 'xyl ', 'cres ', 'to2 ', &
140 'cro ', 'open ', 'onit ', &
141 'pan ', 'rcooh ', 'rooh ', &
142 'c2o3 ', 'ro2 ', 'ano2 ', &
143 'nap ', 'xo2 ', 'xpar ', &
144 'isop ', 'isoprd ', 'isopp ', &
145 'isopn ', 'isopo2 ', 'dms ', &
146 'msa ', 'dmso ', 'dmso2 ', &
147 'ch3so2h ', 'ch3sch2oo ', 'ch3so2 ', &
148 'ch3so3 ', 'ch3so2oo ', 'ch3so2ch2oo ', &
150 'h2o ', 'o2 ', 'n2 ', &
154 ! photolyzing species reactions
156 jphoto_no2, jphoto_no3, jphoto_hono, &
157 jphoto_hno3, jphoto_hno4, jphoto_n2o5, &
158 jphoto_o3a, jphoto_o3b, jphoto_h2o2, &
159 jphoto_hchoa, jphoto_hchob, jphoto_ch3ooh, &
160 jphoto_ethooh, jphoto_ald2, jphoto_aone, &
161 jphoto_mgly, jphoto_open, jphoto_rooh, &
162 jphoto_onit, jphoto_isoprd
164 jphoto_no2=1, jphoto_no3=2, jphoto_hono=3, &
165 jphoto_hno3=4, jphoto_hno4=5, jphoto_n2o5=6, &
166 jphoto_o3a=7, jphoto_o3b=8, jphoto_h2o2=9, &
167 jphoto_hchoa=10, jphoto_hchob=11, jphoto_ch3ooh=12, &
168 jphoto_ethooh=13, jphoto_ald2=14, jphoto_aone=15, &
169 jphoto_mgly=16, jphoto_open=17, jphoto_rooh=18, &
170 jphoto_onit=19, jphoto_isoprd=20 )
174 ! parameter statements from cbmz_local.h
177 integer ngas_m1, nrxn_m1, ngas_m2, nrxn_m2, &
178 ngas_m3, nrxn_m3, ngas_m4, nrxn_m4
179 parameter(ngas_m1 = 31, nrxn_m1 = 74, & ! background troposphere
180 ngas_m2 = 19, nrxn_m2 = 53, & ! urban
181 ngas_m3 = 5, nrxn_m3 = 16, & ! rural continental
182 ngas_m4 = 11, nrxn_m4 = 32) ! remote marine
185 parameter(ngas_tot= ngas_m1 + ngas_m2 + ngas_m3 + ngas_m4)
187 integer ngas_r1, ngas_r2, ngas_r3, ngas_r4, ngas_r5, ngas_r6
188 parameter(ngas_r1 = ngas_m1) ! regime 1
189 parameter(ngas_r2 = ngas_m1 + ngas_m2) ! regime 2
190 parameter(ngas_r3 = ngas_m1 + ngas_m2 + ngas_m3) ! regime 3
191 parameter(ngas_r4 = ngas_m1 + ngas_m4) ! regime 4
192 parameter(ngas_r5 = ngas_m1 + ngas_m2 + ngas_m4) ! regime 5
193 parameter(ngas_r6 = ngas_m1 + ngas_m2 + ngas_m3 + ngas_m4)! regime 6
196 parameter(nperox=10) ! total number of alkylperoxy radicals
199 parameter(nphoto=20) ! total number of photolysis rxn rates
202 ! permutation reactions of alkyl/acyl peroxy radicals
204 jch3o2, jethp, jro2, jc2o3, jano2, &
205 jnap, jisopp, jisopn, jisopo2, jxo2
207 jch3o2=1, jethp=2, jro2=3, jc2o3=4, jano2=5, &
208 jnap=6, jisopp=7, jisopn=8, jisopo2=9, jxo2=10 )
211 end module module_data_cbmz