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 ! MOSAIC module: see module_mosaic_driver.F for references and terms of use
8 !**********************************************************************************
9 module module_data_mosaic_asect
15 !-----------------------------------------------------------------------
17 ! The variables in this module provide a means of organizing and accessing
18 ! aerosol species in the "chem" array by their chemical component,
19 ! size bin (or mode), "type", and "phase"
21 ! Their purpose is to allow flexible coding of process modules,
22 ! compared to "hard-coding" using the chem array p_xxx indices
23 ! (e.g., p_so4_a01, p_so4_a02, ...; p_num_a01, ...)
25 !-----------------------------------------------------------------------
27 ! rce & sg 2004-dec-03 - added phase and type capability,
28 ! which changed this module almost completely
30 !-----------------------------------------------------------------------
32 ! maxd_atype = maximum allowable number of aerosol types
33 ! maxd_asize = maximum allowable number of aerosol size bins
34 ! maxd_acomp = maximum allowable number of chemical components
35 ! in each aerosol size bin
36 ! maxd_aphase = maximum allowable number of aerosol phases
37 ! (gas, cloud, ice, rain, ...)
39 ! ntype_aer = number of aerosol types
40 ! The aerosol type will allow treatment of an externally mixed
41 ! aerosol. The current MOSAIC code has only 1 type, with the implicit
42 ! assumption of internal mixing. Eventually, multiple types
43 ! could treat fresh primary BC/OC, fresh SO4 from nucleation,
44 ! aged BC/OC/SO4/... mixture, soil dust, sea salt, ...
46 ! nphase_aer = number of aerosol phases
48 ! ai_phase = phase (p) index for interstitial (unactivated) aerosol particles
49 ! cw_phase = phase (p) index for aerosol particles in cloud water
50 ! ci_phase = phase (p) index for aerosol particles in cloud ice
51 ! rn_phase = phase (p) index for aerosol particles in rain
52 ! sn_phase = phase (p) index for aerosol particles in snow
53 ! gr_phase = phase (p) index for aerosol particles in graupel
54 ! [Note: the value of "xx_phase" will be between 1 and nphase_aer
55 ! for phases that are active in a simulation. The others
56 ! will have non-positive values.]
58 ! nsize_aer(t) = number of aerosol size bins for aerosol type t
60 ! ncomp_aer(t) = number of "regular" chemical components for aerosol type t
61 ! ncomp_plustracer_aer(t) = number of "regular" plus "tracer"
62 ! chemical components for aerosol type t
63 ! [Note: only "regular" components are used for calculating
64 ! aerosol physical (mass, volume) and chemical properties.
65 ! "Tracer" components are optional, and can be used to track source
66 ! regions, source mechanisms, etc.]
67 ! [Note: for aerosol type t, all phases have the same number of size
68 ! bins, and all size bins have the same number of
69 ! both regular and tracer components.]
71 ! ntot_mastercomp_aer = number of aerosol chemical components defined
72 ! in the "master component list".
73 ! [Note: each aerosol type will use some but not necessarily all
74 ! of the components in the "master component list".]
76 ! mastercompptr_aer(c,t) = the position/index/i.d. in the
77 ! "master component list" for chemical component c of aerosol type t.
78 ! (1=sulfate, others to be defined by user.)
80 ! massptr_aer(c,s,t,p) = the position/index in the chem array for mixing-
81 ! ratio for chemical component c, size bin s, type t, and phase p.
83 ! lptr_so4_aer(s,t,p) = the position/index in the chem array for mixing-
84 ! ratio for sulfate for aerosol size bin s, type t, and phase p
85 ! (similar lptr's are defined for no3, cl, msa, co3,
86 ! nh4, na, ca, oin, oc, bc, ...)
87 ! [Note: the massptr_aer allow you to loop over all species of
88 ! an aerosol type. The lptr_so4_aer, etc., allow you to access
89 ! a specific chemical component.]
91 ! waterptr_aer(s,t) = the position/index in the chem array for mixing-
92 ! ratio of aerosol water content for size bin s, type t.
93 ! [Note: water content is only carried for the interstitial aerosol
94 ! phase, so there is no p dimension.]
96 ! hyswptr_aer(s,t) = the position/index in the chem array for mixing-
97 ! ratio of aerosol "hysteresis water" content for size bin s, type t.
98 ! This is used to determine if aerosol is in the dry or wet state, when
99 ! the ambient RH is between the crystallization and deliquescence RH.
100 ! [Note: hysteresis water content is only carried for the
101 ! interstitial aerosol phase, so there is no p dimension.]
103 ! numptr_aer(s,t,p) = the position/index in the chem array for mixing-
104 ! ratio of particle number for size bin s, type t, and phase p.
106 ! mprognum_aer(s,t,p) - if positive, number mixing-ratio for size s, type t,
107 ! and phase p will be prognosed. Otherwise, it is diagnosed using
108 ! mass mixing-ratio add assumed/prescribed size.
110 ! mixing ratio (moles-water/mole-air) for water
111 ! associated with aerosol size bin s and type t
114 ! mastercompindx_so4_aer = the position/index in the
115 ! "master component list" for sulfate.
116 ! (similar lptr's are defined for no3, cl, msa, co3,
117 ! nh4, na, ca, oin, oc, bc, ...)
118 ! [Note: the mastercompindx_xxx_aer are used primarily in
119 ! initialization routines, and generally aren't needed elsewhere.]
121 !-----------------------------------------------------------------------
123 ! dens_mastercomp_aer(mc) = dry density (g/cm^3) of component mc
124 ! of the master component list.
125 ! dens_aer(c,t) = dry density (g/cm^3) of aerosol chemical component
127 ! [Note: dens_aer(c,t) == dens_mastercomp_aer(mastercompptr_aer(c,t))
128 ! The dens_mastercomp_aer is used in some initialization routines.
129 ! The dens_aer is used in most other places because of convenience.]
131 ! mw_mastercomp_aer(mc) = molecular weight (g/mole) of component mc
132 ! of the master component list.
133 ! mw_aer(c,t) = molecular weight (g/mole) of aerosol chemical component
135 ! [Note: mw_aer(c,t) == mw_mastercomp_aer(mastercompptr_aer(c,t)) ]
137 ! name_mastercomp_aer(mc) = name of component mc of the
138 ! master component list (e.g., "sulfate", "nitrate", ...).
139 ! name_aer(c,t) = molecular weight (g/mole) of aerosol chemical component
141 ! [Note: name_aer(c,t) == name_mastercomp_aer(mastercompptr_aer(c,t)) ]
143 ! hygro_mastercomp_aer(mc) = bulk hygroscopicity (--) at dilute conditions
144 ! (RH near 100%) of component mc of the master component list.
145 ! hygro_aer(c,t) = bulk hygroscopicity (--) at dilute conditions
146 ! (RH near 100%) of aerosol chemical component c of type t
147 ! [For definition of bulk hygroscopicity,
148 ! see Abdul-Razzak and Ghan, 2004, J Geophys Res, V105, p. 6837-6844.]
149 ! [Note: hygro_aer(c,t) == hygro_mastercomp_aer(mastercompptr_aer(c,t)) ]
151 !-----------------------------------------------------------------------
153 ! volumlo_sect(s,t) = 1-particle volume (cm^3) at lower boundary of section m
154 ! volumhi_sect(s,t) = 1-particle volume (cm^3) at upper boundary of section m
155 ! volumcen_sect(s,t)= 1-particle volume (cm^3) at "center" of section m
157 ! dlo_sect(s,t) = 1-particle diameter (cm) at lower boundary of section m
158 ! dhi_sect(s,t) = 1-particle diameter (cm) at upper boundary of section m
159 ! dcen_sect(s,t) = 1-particle diameter (cm) at "center" section m
161 ! [Note: the "center" values are defined as follows:
162 ! volumcen_sect == 0.5*(volumlo_sect + volumhi_sect)
163 ! == (pi/6) * (dcen_sect**3) ]
165 !-----------------------------------------------------------------------
167 ! msectional - if positive, each aerosol size bin is a section.
168 ! if equals 10, use jacobson moving center
169 ! if equals 20, use tzivion mass-number advection
170 ! if zero/negative, each size bin is a mode (aitken, accumulation, ...)
172 ! maerosolincw - if positive, both unactivated/interstitial and activated
173 ! aerosol species are simulated. if zero/negative, only the
174 ! unactivated are simulated. [maerosolincw>0 only when cw_phase>0]
176 ! maerocoag - if positive, aerosol coagulation is done.
177 ! If zero/negative, it is skipped.
178 ! (This is not yet implemented in WRF-Chem.)
180 ! maerchem - if positive, aerosol gas-particle condensation/evaporation
181 ! of inorganic species is done. If zero/negative, it is skipped.
182 ! (This is not yet implemented in WRF-Chem.)
184 ! maerchem_boxtest_output - if positive, "boxtest" output is done from
185 ! the aerchemistry routine. If zero/negative, it is skipped.
186 ! (This is not yet implemented in WRF-Chem.)
188 ! maeroptical - if positive, aerosol optical properties are calculated.
189 ! If zero/negative, it is skipped.
190 ! (This is not yet implemented in WRF-Chem.)
192 !-----------------------------------------------------------------------
194 integer, parameter :: maxd_atype = 1
195 integer, parameter :: maxd_asize = 8
196 integer, parameter :: maxd_acomp = 120 ! for additional SOA species changed by Manish Shrivastava on 01/25/10
197 integer, parameter :: maxd_aphase = 2
199 integer, save :: ai_phase = -999888777
200 integer, save :: cw_phase = -999888777
201 integer, save :: ci_phase = -999888777
202 integer, save :: rn_phase = -999888777
203 integer, save :: sn_phase = -999888777
204 integer, save :: gr_phase = -999888777
206 integer, save :: ntype_aer = 0 ! number of types
207 integer, save :: ntot_mastercomp_aer = 0 ! number of master components
208 integer, save :: nphase_aer = 0 ! number of phases
211 nsize_aer( maxd_atype ), & ! number of size bins
212 ncomp_aer( maxd_atype ), & ! number of chemical components
213 ncomp_plustracer_aer( maxd_atype ), &
214 mastercompptr_aer(maxd_acomp, maxd_atype), & ! mastercomp index
215 massptr_aer( maxd_acomp, maxd_asize, maxd_atype, maxd_aphase ), &
216 ! index for mixing ratio
217 waterptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol water
218 hyswptr_aer( maxd_asize, maxd_atype ), &
219 numptr_aer( maxd_asize, maxd_atype, maxd_aphase ), &
220 ! index for the number mixing ratio
221 mprognum_aer(maxd_asize,maxd_atype,maxd_aphase)
224 ! these indices give the location in the "mastercomp list" of
225 ! the different aerosol chemical (or tracer) components
226 integer, save :: mastercompindx_so4_aer = -999888777
227 integer, save :: mastercompindx_no3_aer = -999888777
228 integer, save :: mastercompindx_cl_aer = -999888777
229 integer, save :: mastercompindx_msa_aer = -999888777
230 integer, save :: mastercompindx_co3_aer = -999888777
231 integer, save :: mastercompindx_nh4_aer = -999888777
232 integer, save :: mastercompindx_na_aer = -999888777
233 integer, save :: mastercompindx_ca_aer = -999888777
234 integer, save :: mastercompindx_oin_aer = -999888777
235 integer, save :: mastercompindx_oc_aer = -999888777
236 integer, save :: mastercompindx_bc_aer = -999888777
237 integer, save :: mastercompindx_pcg1_b_c_aer = -999888777
238 integer, save :: mastercompindx_pcg2_b_c_aer = -999888777
239 integer, save :: mastercompindx_pcg3_b_c_aer = -999888777
240 integer, save :: mastercompindx_pcg4_b_c_aer = -999888777
241 integer, save :: mastercompindx_pcg5_b_c_aer = -999888777
242 integer, save :: mastercompindx_pcg6_b_c_aer = -999888777
243 integer, save :: mastercompindx_pcg7_b_c_aer = -999888777
244 integer, save :: mastercompindx_pcg8_b_c_aer = -999888777
245 integer, save :: mastercompindx_pcg9_b_c_aer = -999888777
246 integer, save :: mastercompindx_pcg1_b_o_aer = -999888777
247 integer, save :: mastercompindx_pcg2_b_o_aer = -999888777
248 integer, save :: mastercompindx_pcg3_b_o_aer = -999888777
249 integer, save :: mastercompindx_pcg4_b_o_aer = -999888777
250 integer, save :: mastercompindx_pcg5_b_o_aer = -999888777
251 integer, save :: mastercompindx_pcg6_b_o_aer = -999888777
252 integer, save :: mastercompindx_pcg7_b_o_aer = -999888777
253 integer, save :: mastercompindx_pcg8_b_o_aer = -999888777
254 integer, save :: mastercompindx_pcg9_b_o_aer = -999888777
255 integer, save :: mastercompindx_opcg1_b_c_aer = -999888777
256 integer, save :: mastercompindx_opcg2_b_c_aer = -999888777
257 integer, save :: mastercompindx_opcg3_b_c_aer = -999888777
258 integer, save :: mastercompindx_opcg4_b_c_aer = -999888777
259 integer, save :: mastercompindx_opcg5_b_c_aer = -999888777
260 integer, save :: mastercompindx_opcg6_b_c_aer = -999888777
261 integer, save :: mastercompindx_opcg7_b_c_aer = -999888777
262 integer, save :: mastercompindx_opcg8_b_c_aer = -999888777
263 integer, save :: mastercompindx_opcg1_b_o_aer = -999888777
264 integer, save :: mastercompindx_opcg2_b_o_aer = -999888777
265 integer, save :: mastercompindx_opcg3_b_o_aer = -999888777
266 integer, save :: mastercompindx_opcg4_b_o_aer = -999888777
267 integer, save :: mastercompindx_opcg5_b_o_aer = -999888777
268 integer, save :: mastercompindx_opcg6_b_o_aer = -999888777
269 integer, save :: mastercompindx_opcg7_b_o_aer = -999888777
270 integer, save :: mastercompindx_opcg8_b_o_aer = -999888777
271 integer, save :: mastercompindx_pcg1_f_c_aer = -999888777
272 integer, save :: mastercompindx_pcg2_f_c_aer = -999888777
273 integer, save :: mastercompindx_pcg3_f_c_aer = -999888777
274 integer, save :: mastercompindx_pcg4_f_c_aer = -999888777
275 integer, save :: mastercompindx_pcg5_f_c_aer = -999888777
276 integer, save :: mastercompindx_pcg6_f_c_aer = -999888777
277 integer, save :: mastercompindx_pcg7_f_c_aer = -999888777
278 integer, save :: mastercompindx_pcg8_f_c_aer = -999888777
279 integer, save :: mastercompindx_pcg9_f_c_aer = -999888777
280 integer, save :: mastercompindx_pcg1_f_o_aer = -999888777
281 integer, save :: mastercompindx_pcg2_f_o_aer = -999888777
282 integer, save :: mastercompindx_pcg3_f_o_aer = -999888777
283 integer, save :: mastercompindx_pcg4_f_o_aer = -999888777
284 integer, save :: mastercompindx_pcg5_f_o_aer = -999888777
285 integer, save :: mastercompindx_pcg6_f_o_aer = -999888777
286 integer, save :: mastercompindx_pcg7_f_o_aer = -999888777
287 integer, save :: mastercompindx_pcg8_f_o_aer = -999888777
288 integer, save :: mastercompindx_pcg9_f_o_aer = -999888777
289 integer, save :: mastercompindx_opcg1_f_c_aer = -999888777
290 integer, save :: mastercompindx_opcg2_f_c_aer = -999888777
291 integer, save :: mastercompindx_opcg3_f_c_aer = -999888777
292 integer, save :: mastercompindx_opcg4_f_c_aer = -999888777
293 integer, save :: mastercompindx_opcg5_f_c_aer = -999888777
294 integer, save :: mastercompindx_opcg6_f_c_aer = -999888777
295 integer, save :: mastercompindx_opcg7_f_c_aer = -999888777
296 integer, save :: mastercompindx_opcg8_f_c_aer = -999888777
297 integer, save :: mastercompindx_opcg1_f_o_aer = -999888777
298 integer, save :: mastercompindx_opcg2_f_o_aer = -999888777
299 integer, save :: mastercompindx_opcg3_f_o_aer = -999888777
300 integer, save :: mastercompindx_opcg4_f_o_aer = -999888777
301 integer, save :: mastercompindx_opcg5_f_o_aer = -999888777
302 integer, save :: mastercompindx_opcg6_f_o_aer = -999888777
303 integer, save :: mastercompindx_opcg7_f_o_aer = -999888777
304 integer, save :: mastercompindx_opcg8_f_o_aer = -999888777
305 integer, save :: mastercompindx_smpa_aer = -999888777
306 integer, save :: mastercompindx_smpbb_aer = -999888777
307 integer, save :: mastercompindx_ant1_c_aer = -999888777
308 integer, save :: mastercompindx_ant2_c_aer = -999888777
309 integer, save :: mastercompindx_ant3_c_aer = -999888777
310 integer, save :: mastercompindx_ant4_c_aer = -999888777
311 integer, save :: mastercompindx_ant1_o_aer = -999888777
312 integer, save :: mastercompindx_ant2_o_aer = -999888777
313 integer, save :: mastercompindx_ant3_o_aer = -999888777
314 integer, save :: mastercompindx_ant4_o_aer = -999888777
315 integer, save :: mastercompindx_biog1_c_aer = -999888777
316 integer, save :: mastercompindx_biog2_c_aer = -999888777
317 integer, save :: mastercompindx_biog3_c_aer = -999888777
318 integer, save :: mastercompindx_biog4_c_aer = -999888777
319 integer, save :: mastercompindx_biog1_o_aer = -999888777
320 integer, save :: mastercompindx_biog2_o_aer = -999888777
321 integer, save :: mastercompindx_biog3_o_aer = -999888777
322 integer, save :: mastercompindx_biog4_o_aer = -999888777
326 dens_aer( maxd_acomp, maxd_atype ), &
327 dens_mastercomp_aer( maxd_acomp ), &
328 mw_mastercomp_aer( maxd_acomp ), &
329 mw_aer( maxd_acomp, maxd_atype ), &
330 hygro_mastercomp_aer( maxd_acomp ), &
331 hygro_aer( maxd_acomp, maxd_atype )
334 volumcen_sect( maxd_asize, maxd_atype ), &
335 volumlo_sect( maxd_asize, maxd_atype ), &
336 volumhi_sect( maxd_asize, maxd_atype ), &
337 dcen_sect( maxd_asize, maxd_atype ), &
338 dlo_sect( maxd_asize, maxd_atype ), &
339 dhi_sect( maxd_asize, maxd_atype ), &
340 sigmag_aer(maxd_asize, maxd_atype)
342 character*10, save :: &
343 name_mastercomp_aer( maxd_acomp ), &
344 name_aer( maxd_acomp, maxd_atype )
347 lptr_so4_aer(maxd_asize, maxd_atype, maxd_aphase), &
348 lptr_msa_aer(maxd_asize, maxd_atype, maxd_aphase), &
349 lptr_no3_aer(maxd_asize, maxd_atype, maxd_aphase), &
350 lptr_cl_aer(maxd_asize, maxd_atype, maxd_aphase), &
351 lptr_co3_aer(maxd_asize, maxd_atype, maxd_aphase), &
352 lptr_nh4_aer(maxd_asize, maxd_atype, maxd_aphase), &
353 lptr_na_aer(maxd_asize, maxd_atype, maxd_aphase), &
354 lptr_ca_aer(maxd_asize, maxd_atype, maxd_aphase), &
355 lptr_oin_aer(maxd_asize, maxd_atype, maxd_aphase), &
356 lptr_oc_aer(maxd_asize, maxd_atype, maxd_aphase), &
357 lptr_bc_aer(maxd_asize, maxd_atype, maxd_aphase), &
358 lptr_pcg1_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
359 lptr_pcg2_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
360 lptr_pcg3_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
361 lptr_pcg4_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
362 lptr_pcg5_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
363 lptr_pcg6_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
364 lptr_pcg7_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
365 lptr_pcg8_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
366 lptr_pcg9_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
367 lptr_pcg1_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
368 lptr_pcg2_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
369 lptr_pcg3_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
370 lptr_pcg4_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
371 lptr_pcg5_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
372 lptr_pcg6_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
373 lptr_pcg7_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
374 lptr_pcg8_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
375 lptr_pcg9_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
376 lptr_opcg1_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
377 lptr_opcg2_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
378 lptr_opcg3_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
379 lptr_opcg4_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
380 lptr_opcg5_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
381 lptr_opcg6_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
382 lptr_opcg7_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
383 lptr_opcg8_b_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
384 lptr_opcg1_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
385 lptr_opcg2_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
386 lptr_opcg3_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
387 lptr_opcg4_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
388 lptr_opcg5_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
389 lptr_opcg6_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
390 lptr_opcg7_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
391 lptr_opcg8_b_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
392 lptr_pcg1_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
393 lptr_pcg2_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
394 lptr_pcg3_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
395 lptr_pcg4_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
396 lptr_pcg5_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
397 lptr_pcg6_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
398 lptr_pcg7_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
399 lptr_pcg8_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
400 lptr_pcg9_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
401 lptr_pcg1_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
402 lptr_pcg2_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
403 lptr_pcg3_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
404 lptr_pcg4_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
405 lptr_pcg5_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
406 lptr_pcg6_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
407 lptr_pcg7_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
408 lptr_pcg8_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
409 lptr_pcg9_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
410 lptr_opcg1_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
411 lptr_opcg2_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
412 lptr_opcg3_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
413 lptr_opcg4_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
414 lptr_opcg5_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
415 lptr_opcg6_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
416 lptr_opcg7_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
417 lptr_opcg8_f_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
418 lptr_opcg1_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
419 lptr_opcg2_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
420 lptr_opcg3_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
421 lptr_opcg4_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
422 lptr_opcg5_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
423 lptr_opcg6_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
424 lptr_opcg7_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
425 lptr_opcg8_f_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
426 lptr_smpa_aer(maxd_asize, maxd_atype, maxd_aphase), &
427 lptr_smpbb_aer(maxd_asize, maxd_atype, maxd_aphase), &
428 lptr_ant1_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
429 lptr_ant2_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
430 lptr_ant3_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
431 lptr_ant4_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
432 lptr_ant1_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
433 lptr_ant2_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
434 lptr_ant3_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
435 lptr_ant4_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
436 lptr_biog1_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
437 lptr_biog2_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
438 lptr_biog3_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
439 lptr_biog4_c_aer(maxd_asize, maxd_atype, maxd_aphase), &
440 lptr_biog1_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
441 lptr_biog2_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
442 lptr_biog3_o_aer(maxd_asize, maxd_atype, maxd_aphase), &
443 lptr_biog4_o_aer(maxd_asize, maxd_atype, maxd_aphase)
450 ! rce 11-sep-2004 - eliminated all of the "..._wrfch" pointers
451 ! so now there is only one set of pointers ("..._amode")
452 ! sg/rce nov-2004 - totally new pointer system - "..._aer"
455 ! molecular weights (g/mol)
456 real, parameter :: mw_so4_aer = 96.066
457 real, parameter :: mw_no3_aer = 62.007
458 real, parameter :: mw_cl_aer = 35.450
459 real, parameter :: mw_msa_aer = 96.109
460 real, parameter :: mw_co3_aer = 60.007
461 real, parameter :: mw_nh4_aer = 18.042
462 real, parameter :: mw_na_aer = 22.990
463 real, parameter :: mw_ca_aer = 40.080
464 real, parameter :: mw_oin_aer = 1.0
465 real, parameter :: mw_oc_aer = 250.0
466 real, parameter :: mw_bc_aer = 1.0
467 real, parameter :: mw_water_aer = 18.016
468 real, parameter :: mw_pcg1_b_c_aer = 250.0
469 real, parameter :: mw_pcg2_b_c_aer = 250.0
470 real, parameter :: mw_pcg3_b_c_aer = 250.0
471 real, parameter :: mw_pcg4_b_c_aer = 250.0
472 real, parameter :: mw_pcg5_b_c_aer = 250.0
473 real, parameter :: mw_pcg6_b_c_aer = 250.0
474 real, parameter :: mw_pcg7_b_c_aer = 250.0
475 real, parameter :: mw_pcg8_b_c_aer = 250.0
476 real, parameter :: mw_pcg9_b_c_aer = 250.0
477 real, parameter :: mw_pcg1_b_o_aer = 250.0
478 real, parameter :: mw_pcg2_b_o_aer = 250.0
479 real, parameter :: mw_pcg3_b_o_aer = 250.0
480 real, parameter :: mw_pcg4_b_o_aer = 250.0
481 real, parameter :: mw_pcg5_b_o_aer = 250.0
482 real, parameter :: mw_pcg6_b_o_aer = 250.0
483 real, parameter :: mw_pcg7_b_o_aer = 250.0
484 real, parameter :: mw_pcg8_b_o_aer = 250.0
485 real, parameter :: mw_pcg9_b_o_aer = 250.0
486 real, parameter :: mw_opcg1_b_c_aer = 250.0
487 real, parameter :: mw_opcg2_b_c_aer = 250.0
488 real, parameter :: mw_opcg3_b_c_aer = 250.0
489 real, parameter :: mw_opcg4_b_c_aer = 250.0
490 real, parameter :: mw_opcg5_b_c_aer = 250.0
491 real, parameter :: mw_opcg6_b_c_aer = 250.0
492 real, parameter :: mw_opcg7_b_c_aer = 250.0
493 real, parameter :: mw_opcg8_b_c_aer = 250.0
494 real, parameter :: mw_opcg1_b_o_aer = 250.0
495 real, parameter :: mw_opcg2_b_o_aer = 250.0
496 real, parameter :: mw_opcg3_b_o_aer = 250.0
497 real, parameter :: mw_opcg4_b_o_aer = 250.0
498 real, parameter :: mw_opcg5_b_o_aer = 250.0
499 real, parameter :: mw_opcg6_b_o_aer = 250.0
500 real, parameter :: mw_opcg7_b_o_aer = 250.0
501 real, parameter :: mw_opcg8_b_o_aer = 250.0
502 real, parameter :: mw_pcg1_f_c_aer = 250.0
503 real, parameter :: mw_pcg2_f_c_aer = 250.0
504 real, parameter :: mw_pcg3_f_c_aer = 250.0
505 real, parameter :: mw_pcg4_f_c_aer = 250.0
506 real, parameter :: mw_pcg5_f_c_aer = 250.0
507 real, parameter :: mw_pcg6_f_c_aer = 250.0
508 real, parameter :: mw_pcg7_f_c_aer = 250.0
509 real, parameter :: mw_pcg8_f_c_aer = 250.0
510 real, parameter :: mw_pcg9_f_c_aer = 250.0
511 real, parameter :: mw_pcg1_f_o_aer = 250.0
512 real, parameter :: mw_pcg2_f_o_aer = 250.0
513 real, parameter :: mw_pcg3_f_o_aer = 250.0
514 real, parameter :: mw_pcg4_f_o_aer = 250.0
515 real, parameter :: mw_pcg5_f_o_aer = 250.0
516 real, parameter :: mw_pcg6_f_o_aer = 250.0
517 real, parameter :: mw_pcg7_f_o_aer = 250.0
518 real, parameter :: mw_pcg8_f_o_aer = 250.0
519 real, parameter :: mw_pcg9_f_o_aer = 250.0
520 real, parameter :: mw_opcg1_f_c_aer = 250.0
521 real, parameter :: mw_opcg2_f_c_aer = 250.0
522 real, parameter :: mw_opcg3_f_c_aer = 250.0
523 real, parameter :: mw_opcg4_f_c_aer = 250.0
524 real, parameter :: mw_opcg5_f_c_aer = 250.0
525 real, parameter :: mw_opcg6_f_c_aer = 250.0
526 real, parameter :: mw_opcg7_f_c_aer = 250.0
527 real, parameter :: mw_opcg8_f_c_aer = 250.0
528 real, parameter :: mw_opcg1_f_o_aer = 250.0
529 real, parameter :: mw_opcg2_f_o_aer = 250.0
530 real, parameter :: mw_opcg3_f_o_aer = 250.0
531 real, parameter :: mw_opcg4_f_o_aer = 250.0
532 real, parameter :: mw_opcg5_f_o_aer = 250.0
533 real, parameter :: mw_opcg6_f_o_aer = 250.0
534 real, parameter :: mw_opcg7_f_o_aer = 250.0
535 real, parameter :: mw_opcg8_f_o_aer = 250.0
536 real, parameter :: mw_smpa_aer = 250
537 real, parameter :: mw_smpbb_aer = 250
538 real, parameter :: mw_ant1_c_aer = 250
539 real, parameter :: mw_ant2_c_aer = 250
540 real, parameter :: mw_ant3_c_aer = 250
541 real, parameter :: mw_ant4_c_aer = 250
542 real, parameter :: mw_ant1_o_aer = 250
543 real, parameter :: mw_ant2_o_aer = 250
544 real, parameter :: mw_ant3_o_aer = 250
545 real, parameter :: mw_ant4_o_aer = 250
546 real, parameter :: mw_biog1_c_aer = 250.0
547 real, parameter :: mw_biog2_c_aer = 250.0
548 real, parameter :: mw_biog3_c_aer = 250.0
549 real, parameter :: mw_biog4_c_aer = 250.0
550 real, parameter :: mw_biog1_o_aer = 250.0
551 real, parameter :: mw_biog2_o_aer = 250.0
552 real, parameter :: mw_biog3_o_aer = 250.0
553 real, parameter :: mw_biog4_o_aer = 250.0
558 ! dry densities (g/cm3)
559 real, parameter :: dens_so4_aer = 1.80
560 real, parameter :: dens_no3_aer = 1.80
561 real, parameter :: dens_cl_aer = 2.20
562 real, parameter :: dens_msa_aer = 1.80
563 real, parameter :: dens_co3_aer = 2.60
564 real, parameter :: dens_nh4_aer = 1.80
565 real, parameter :: dens_na_aer = 2.20
566 real, parameter :: dens_ca_aer = 2.60
567 real, parameter :: dens_oin_aer = 2.60
568 real, parameter :: dens_oc_aer = 1.00
569 real, parameter :: dens_bc_aer = 1.70
570 real, parameter :: dens_pcg1_b_c_aer = 1.0
571 real, parameter :: dens_pcg2_b_c_aer = 1.0
572 real, parameter :: dens_pcg3_b_c_aer = 1.0
573 real, parameter :: dens_pcg4_b_c_aer = 1.0
574 real, parameter :: dens_pcg5_b_c_aer = 1.0
575 real, parameter :: dens_pcg6_b_c_aer = 1.0
576 real, parameter :: dens_pcg7_b_c_aer = 1.0
577 real, parameter :: dens_pcg8_b_c_aer = 1.0
578 real, parameter :: dens_pcg9_b_c_aer = 1.0
579 real, parameter :: dens_pcg1_b_o_aer = 1.0
580 real, parameter :: dens_pcg2_b_o_aer = 1.0
581 real, parameter :: dens_pcg3_b_o_aer = 1.0
582 real, parameter :: dens_pcg4_b_o_aer = 1.0
583 real, parameter :: dens_pcg5_b_o_aer = 1.0
584 real, parameter :: dens_pcg6_b_o_aer = 1.0
585 real, parameter :: dens_pcg7_b_o_aer = 1.0
586 real, parameter :: dens_pcg8_b_o_aer = 1.0
587 real, parameter :: dens_pcg9_b_o_aer = 1.0
588 real, parameter :: dens_opcg1_b_c_aer = 1.0
589 real, parameter :: dens_opcg2_b_c_aer = 1.0
590 real, parameter :: dens_opcg3_b_c_aer = 1.0
591 real, parameter :: dens_opcg4_b_c_aer = 1.0
592 real, parameter :: dens_opcg5_b_c_aer = 1.0
593 real, parameter :: dens_opcg6_b_c_aer = 1.0
594 real, parameter :: dens_opcg7_b_c_aer = 1.0
595 real, parameter :: dens_opcg8_b_c_aer = 1.0
596 real, parameter :: dens_opcg1_b_o_aer = 1.0
597 real, parameter :: dens_opcg2_b_o_aer = 1.0
598 real, parameter :: dens_opcg3_b_o_aer = 1.0
599 real, parameter :: dens_opcg4_b_o_aer = 1.0
600 real, parameter :: dens_opcg5_b_o_aer = 1.0
601 real, parameter :: dens_opcg6_b_o_aer = 1.0
602 real, parameter :: dens_opcg7_b_o_aer = 1.0
603 real, parameter :: dens_opcg8_b_o_aer = 1.0
604 real, parameter :: dens_pcg1_f_c_aer = 1.0
605 real, parameter :: dens_pcg2_f_c_aer = 1.0
606 real, parameter :: dens_pcg3_f_c_aer = 1.0
607 real, parameter :: dens_pcg4_f_c_aer = 1.0
608 real, parameter :: dens_pcg5_f_c_aer = 1.0
609 real, parameter :: dens_pcg6_f_c_aer = 1.0
610 real, parameter :: dens_pcg7_f_c_aer = 1.0
611 real, parameter :: dens_pcg8_f_c_aer = 1.0
612 real, parameter :: dens_pcg9_f_c_aer = 1.0
613 real, parameter :: dens_pcg1_f_o_aer = 1.0
614 real, parameter :: dens_pcg2_f_o_aer = 1.0
615 real, parameter :: dens_pcg3_f_o_aer = 1.0
616 real, parameter :: dens_pcg4_f_o_aer = 1.0
617 real, parameter :: dens_pcg5_f_o_aer = 1.0
618 real, parameter :: dens_pcg6_f_o_aer = 1.0
619 real, parameter :: dens_pcg7_f_o_aer = 1.0
620 real, parameter :: dens_pcg8_f_o_aer = 1.0
621 real, parameter :: dens_pcg9_f_o_aer = 1.0
622 real, parameter :: dens_opcg1_f_c_aer = 1.0
623 real, parameter :: dens_opcg2_f_c_aer = 1.0
624 real, parameter :: dens_opcg3_f_c_aer = 1.0
625 real, parameter :: dens_opcg4_f_c_aer = 1.0
626 real, parameter :: dens_opcg5_f_c_aer = 1.0
627 real, parameter :: dens_opcg6_f_c_aer = 1.0
628 real, parameter :: dens_opcg7_f_c_aer = 1.0
629 real, parameter :: dens_opcg8_f_c_aer = 1.0
630 real, parameter :: dens_opcg1_f_o_aer = 1.0
631 real, parameter :: dens_opcg2_f_o_aer = 1.0
632 real, parameter :: dens_opcg3_f_o_aer = 1.0
633 real, parameter :: dens_opcg4_f_o_aer = 1.0
634 real, parameter :: dens_opcg5_f_o_aer = 1.0
635 real, parameter :: dens_opcg6_f_o_aer = 1.0
636 real, parameter :: dens_opcg7_f_o_aer = 1.0
637 real, parameter :: dens_opcg8_f_o_aer = 1.0
638 real, parameter :: dens_smpa_aer = 1.0
639 real, parameter :: dens_smpbb_aer = 1.0
640 real, parameter :: dens_ant1_c_aer = 1.0
641 real, parameter :: dens_ant2_c_aer = 1.0
642 real, parameter :: dens_ant3_c_aer = 1.0
643 real, parameter :: dens_ant4_c_aer = 1.0
644 real, parameter :: dens_ant1_o_aer = 1.0
645 real, parameter :: dens_ant2_o_aer = 1.0
646 real, parameter :: dens_ant3_o_aer = 1.0
647 real, parameter :: dens_ant4_o_aer = 1.0
648 real, parameter :: dens_biog1_c_aer = 1.0
649 real, parameter :: dens_biog2_c_aer = 1.0
650 real, parameter :: dens_biog3_c_aer = 1.0
651 real, parameter :: dens_biog4_c_aer = 1.0
652 real, parameter :: dens_biog1_o_aer = 1.0
653 real, parameter :: dens_biog2_o_aer = 1.0
654 real, parameter :: dens_biog3_o_aer = 1.0
655 real, parameter :: dens_biog4_o_aer = 1.0
659 ! water density (g/cm3)
660 ! real, parameter :: dens_water_asize = 1.0
661 real, parameter :: dens_water_aer = 1.0
663 ! hygroscopicities (dimensionless)
664 real, parameter :: hygro_so4_aer = 0.5
665 real, parameter :: hygro_no3_aer = 0.5
666 real, parameter :: hygro_ca_aer = 0.1
667 real, parameter :: hygro_co3_aer = 0.1
668 real, parameter :: hygro_nh4_aer = 0.5
669 real, parameter :: hygro_msa_aer = 0.58
670 real, parameter :: hygro_cl_aer = 1.16
671 real, parameter :: hygro_na_aer = 1.16
672 real, parameter :: hygro_oin_aer = 0.14
673 real, parameter :: hygro_oc_aer = 0.14
674 real, parameter :: hygro_bc_aer = 1.e-6
675 real, parameter :: hygro_pcg1_b_c_aer = 0.14
676 real, parameter :: hygro_pcg2_b_c_aer = 0.14
677 real, parameter :: hygro_pcg3_b_c_aer = 0.14
678 real, parameter :: hygro_pcg4_b_c_aer = 0.14
679 real, parameter :: hygro_pcg5_b_c_aer = 0.14
680 real, parameter :: hygro_pcg6_b_c_aer = 0.14
681 real, parameter :: hygro_pcg7_b_c_aer = 0.14
682 real, parameter :: hygro_pcg8_b_c_aer = 0.14
683 real, parameter :: hygro_pcg9_b_c_aer = 0.14
684 real, parameter :: hygro_pcg1_b_o_aer = 0.14
685 real, parameter :: hygro_pcg2_b_o_aer = 0.14
686 real, parameter :: hygro_pcg3_b_o_aer = 0.14
687 real, parameter :: hygro_pcg4_b_o_aer = 0.14
688 real, parameter :: hygro_pcg5_b_o_aer = 0.14
689 real, parameter :: hygro_pcg6_b_o_aer = 0.14
690 real, parameter :: hygro_pcg7_b_o_aer = 0.14
691 real, parameter :: hygro_pcg8_b_o_aer = 0.14
692 real, parameter :: hygro_pcg9_b_o_aer = 0.14
693 real, parameter :: hygro_opcg1_b_c_aer = 0.14
694 real, parameter :: hygro_opcg2_b_c_aer = 0.14
695 real, parameter :: hygro_opcg3_b_c_aer = 0.14
696 real, parameter :: hygro_opcg4_b_c_aer = 0.14
697 real, parameter :: hygro_opcg5_b_c_aer = 0.14
698 real, parameter :: hygro_opcg6_b_c_aer = 0.14
699 real, parameter :: hygro_opcg7_b_c_aer = 0.14
700 real, parameter :: hygro_opcg8_b_c_aer = 0.14
701 real, parameter :: hygro_opcg1_b_o_aer = 0.14
702 real, parameter :: hygro_opcg2_b_o_aer = 0.14
703 real, parameter :: hygro_opcg3_b_o_aer = 0.14
704 real, parameter :: hygro_opcg4_b_o_aer = 0.14
705 real, parameter :: hygro_opcg5_b_o_aer = 0.14
706 real, parameter :: hygro_opcg6_b_o_aer = 0.14
707 real, parameter :: hygro_opcg7_b_o_aer = 0.14
708 real, parameter :: hygro_opcg8_b_o_aer = 0.14
709 real, parameter :: hygro_pcg1_f_c_aer = 0.14
710 real, parameter :: hygro_pcg2_f_c_aer = 0.14
711 real, parameter :: hygro_pcg3_f_c_aer = 0.14
712 real, parameter :: hygro_pcg4_f_c_aer = 0.14
713 real, parameter :: hygro_pcg5_f_c_aer = 0.14
714 real, parameter :: hygro_pcg6_f_c_aer = 0.14
715 real, parameter :: hygro_pcg7_f_c_aer = 0.14
716 real, parameter :: hygro_pcg8_f_c_aer = 0.14
717 real, parameter :: hygro_pcg9_f_c_aer = 0.14
718 real, parameter :: hygro_pcg1_f_o_aer = 0.14
719 real, parameter :: hygro_pcg2_f_o_aer = 0.14
720 real, parameter :: hygro_pcg3_f_o_aer = 0.14
721 real, parameter :: hygro_pcg4_f_o_aer = 0.14
722 real, parameter :: hygro_pcg5_f_o_aer = 0.14
723 real, parameter :: hygro_pcg6_f_o_aer = 0.14
724 real, parameter :: hygro_pcg7_f_o_aer = 0.14
725 real, parameter :: hygro_pcg8_f_o_aer = 0.14
726 real, parameter :: hygro_pcg9_f_o_aer = 0.14
727 real, parameter :: hygro_opcg1_f_c_aer = 0.14
728 real, parameter :: hygro_opcg2_f_c_aer = 0.14
729 real, parameter :: hygro_opcg3_f_c_aer = 0.14
730 real, parameter :: hygro_opcg4_f_c_aer = 0.14
731 real, parameter :: hygro_opcg5_f_c_aer = 0.14
732 real, parameter :: hygro_opcg6_f_c_aer = 0.14
733 real, parameter :: hygro_opcg7_f_c_aer = 0.14
734 real, parameter :: hygro_opcg8_f_c_aer = 0.14
735 real, parameter :: hygro_opcg1_f_o_aer = 0.14
736 real, parameter :: hygro_opcg2_f_o_aer = 0.14
737 real, parameter :: hygro_opcg3_f_o_aer = 0.14
738 real, parameter :: hygro_opcg4_f_o_aer = 0.14
739 real, parameter :: hygro_opcg5_f_o_aer = 0.14
740 real, parameter :: hygro_opcg6_f_o_aer = 0.14
741 real, parameter :: hygro_opcg7_f_o_aer = 0.14
742 real, parameter :: hygro_opcg8_f_o_aer = 0.14
743 real, parameter :: hygro_smpa_aer = 0.14
744 real, parameter :: hygro_smpbb_aer = 0.14
745 real, parameter :: hygro_ant1_c_aer = 0.14
746 real, parameter :: hygro_ant2_c_aer = 0.14
747 real, parameter :: hygro_ant3_c_aer = 0.14
748 real, parameter :: hygro_ant4_c_aer = 0.14
749 real, parameter :: hygro_ant1_o_aer = 0.14
750 real, parameter :: hygro_ant2_o_aer = 0.14
751 real, parameter :: hygro_ant3_o_aer = 0.14
752 real, parameter :: hygro_ant4_o_aer = 0.14
753 real, parameter :: hygro_biog1_c_aer = 0.14
754 real, parameter :: hygro_biog2_c_aer = 0.14
755 real, parameter :: hygro_biog3_c_aer = 0.14
756 real, parameter :: hygro_biog4_c_aer = 0.14
757 real, parameter :: hygro_biog1_o_aer = 0.14
758 real, parameter :: hygro_biog2_o_aer = 0.14
759 real, parameter :: hygro_biog3_o_aer = 0.14
760 real, parameter :: hygro_biog4_o_aer = 0.14
765 msectional, maerosolincw, &
766 maerocoag, maerchem, maeroptical, maerchem_boxtest_output
769 !-----------------------------------------------------------------------
770 ! the following arrays are used during "column calculations" within
773 ! aqvoldry_sub(n,k,m) = dry-volume (cm^3-aerosol/mole-air) for mode n,
775 ! aqmassdry_sub(n,k,m) = dry-mass (g-aerosol/mole-air) for mode n, ...
776 ! adrydens_sub(n,k,m) = dry-density (g-aerosol/cm^3-aerosol) for mode n, ...
777 ! == amassdry_sub/avoldry_sub
778 ! awetdens_sub(n,k,m) = wet-density (g-aerosol/cm^3-aerosol) for mode n, ...
780 ! admeandry_sub(n,k,m) = current mean dry-diameter (cm)
781 ! for unactivated aerosol in mode n, layer k, subarea m.
782 ! (Used in sectional code)
783 ! admeanwet_sub(n,k,m) = current mean wet-diameter (cm)
784 ! for unactivated aerosol in mode n, layer k, subarea m.
785 ! (Used in sectional code)
787 ! awetdens_sfc(n,i,j) = wet-density for mode n and k=1. This value is
788 ! saved after the second pass thru subr. aerosol_wetsize
789 ! for use in subr. bounds
790 ! admeanwet_sfc(n,i,j) = mean wet-diameter for mode n and k=1.
791 ! This value is saved after the second pass thru
792 ! subr. aerosol_wetsize for use in subr. bounds
795 ! following are used in aerosol growth routine and are locally
796 ! defined for the current layer (k) and subarea (m)
797 ! drymass_pregrow(n) = dry-mass (g/mole-air) for section n
798 ! before the aerosol growth
799 ! drymass_aftgrow(n) = dry-mass (g/mole-air) for section n
800 ! after the growth but before inter-section transfer
801 ! drydens_pregrow(n) = dry-density (g/cm3) for section n
802 ! before the aerosol growth
803 ! drydens_aftgrow(n) = dry-density (g/cm3) for section n
804 ! after the growth but before inter-section transfer
806 !-----------------------------------------------------------------------
808 ! integer, parameter :: imaxd_asize = 78
809 ! integer, parameter :: jmaxd_asize = 28
810 integer, parameter :: kmaxd_asize = 100
811 integer, parameter :: nsubareamaxd_asize = 5
813 ! rce 22-jul-2006 - added maxd_atype dimension to following 6 arrays
814 ! and changed avoldry_sub,amassdry_sub to aqvoldry_sub,aqmassdry_sub
815 real, save :: aqvoldry_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
816 real, save :: aqmassdry_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
817 real, save :: adrydens_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
818 real, save :: awetdens_sub( maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
819 real, save :: admeandry_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
820 real, save :: admeanwet_sub(maxd_asize,maxd_atype,kmaxd_asize,nsubareamaxd_asize)
822 ! real, save :: awetdens_sfc(maxd_asize,imaxd_asize,jmaxd_asize)
823 ! real, save :: admeanwet_sfc(maxd_asize,imaxd_asize,jmaxd_asize)
825 real, save :: drymass_pregrow(maxd_asize,maxd_atype)
826 real, save :: drydens_pregrow(maxd_asize,maxd_atype)
827 real, save :: drymass_aftgrow(maxd_asize,maxd_atype)
828 real, save :: drydens_aftgrow(maxd_asize,maxd_atype)
830 ! table lookup of aerosol impaction/interception
832 real dlndg_nimptblgrow
833 integer nimptblgrow_mind, nimptblgrow_maxd
834 parameter (nimptblgrow_mind=-7, nimptblgrow_maxd=12)
835 real scavimptblnum(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype), &
836 scavimptblvol(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype)
839 end module module_data_mosaic_asect