1 MODULE module_data_soa_vbs_het
2 ! This module is based on module_data_sorgam.F, it has been updated to use
3 ! for the new SOA scheme - SOA_VBS
5 ! USE module_data_radm2
9 INTEGER NP !bs maximum expected value of N
12 ! parameter (numaer=50)
14 INTEGER MAXITS !bs maximum number of iterations
15 PARAMETER (MAXITS = 100)
17 REAL TOLF !bs convergence criterion on function values
18 PARAMETER (TOLF = 1.E-09)
20 REAL TOLMIN !bs criterion whether superios convergence to
21 PARAMETER (TOLMIN = 1.E-12) !bs a minimum of fmin has occurred
23 REAL TOLX !bs convergence criterion on delta_x
24 PARAMETER (TOLX = 1.E-10)
26 REAL STPMX !bs scaled maximum step length allowed
27 PARAMETER (STPMX = 100.)
30 PARAMETER (c303=19.83, c302=5417.4)
32 INTEGER lcva, lcvb, lspcv, ldesn
33 PARAMETER (lcva=4,lcvb=4, lspcv=lcva+lcvb)
35 !mh ldesn is number of deposition species
36 !mh true number of deposited species may be larger since there
37 !mh are species which are deposited with the same rate
39 INTEGER laerdvc, lnonaerdvc, l1ae, laero, imodes, aspec
41 PARAMETER (laerdvc=46,lnonaerdvc=17+lspcv)
43 ! PARAMETER (laerdvc=39,lnonaerdvc=8+lspcv)
44 PARAMETER (l1ae=laerdvc+lnonaerdvc)
45 PARAMETER (laero=4,imodes=4,aspec=1)
46 ! LAERDVC number of advected aerosol dynamic parameters for a given
48 !ia L1AE advected parameters+non-advected parameters
49 !ia LAERO number of aerosol component species
50 !ia imodes number of aerosol modes
51 !ia ASPEC number of gas phase comp. that are added dynamically
52 !ia currently only sulfate (=1)
54 !bs * BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS **
58 !bs * AEMISS # of aerosol species with emissions link to gas phase
59 !bs currently ECI, ECJ, BCI, BCJ
60 ! updated ldrog numbers for the new SOA mechanism
61 INTEGER, PARAMETER :: ldroga=6 ! anthropogenic: ALK4,ALK5,OLE1,OLE2,ARO1,ARO2
62 INTEGER, PARAMETER :: ldrogb=3 ! biogenic: ISOP,SESQ,TERP
63 INTEGER, PARAMETER :: ldrogr=1 ! for branching ratio
64 INTEGER, PARAMETER :: ldrog_vbs=ldroga+ldrogb+ldrogr ! I've renamed this parameter to separate from "ldrog" for MADE/SORGAM
67 ! PARAMETER (ldroga=11)
69 ! PARAMETER (ldrogb=6)
71 !bs * LDROGA # of anthropogenic organic aerosol precursor gases (DR
72 !bs * LDROGB # of biogenic organic aerosol precursor gases (DROG)
73 !bs * LSPCV # of condensable organic vapor interacting between gas
74 !bs aerosol phase with SORGAM
78 ! //////////////////////////////////////////////////////////////////////
81 ! *** declare and set flag for organic aerosol production method
82 ! *** Two method are available:
84 ! *** The method of Pandis,Harley, Cass, and Seinfeld, 1992,
85 ! Secondary aerosol formation and transport, Atmos. Environ., 26A,
87 ! Bowman et al. Atmospheric Environment
88 ! Vol 29, pp 579-589, 1995.
90 ! *** The method of Odum, Hoffmann, Bowman, Collins, Flagen and
91 ! Seinfeld, 1996, Gas/particle partitioning and secondary organic ae
92 ! yields, Environ. Sci, Technol, 30, pp 2580-2585.
93 ! 1 = Pandis et al. 1992 method is used
95 ! 2 = Pankow 1994/Odum et al. 1996 method is
97 ! switch for organic aerosol method
100 ! *** information about visibility variables
101 ! number of visibility variables
103 PARAMETER (n_ae_vis_spc=2)
105 ! index for visual range in deciview
108 ! index for extinction [ 1/km ]
112 ! *** set up indices for array CBLK
114 ! index for Accumulation mode sulfate aerosol
118 ! index for Aitken mode sulfate concentration
122 ! index for Accumulation mode aerosol ammonium
126 ! index for Aitken mode ammonium concentration
130 ! index for Accumulation mode aerosol nitrate
134 ! index for Aitken mode nitrate concentration
138 ! index for Accumulation mode aerosol sodium
142 ! index for Aitken mode sodium concentration
146 ! index for Accumulation mode aerosol chloride
150 ! index for Aitken mode chloride concentration
155 ! I've changed the names and simplified
156 ! indices for accumulation and aitken modes of anthropogenic SOA
157 INTEGER, PARAMETER :: vasoa1j=11
158 INTEGER, PARAMETER :: vasoa1i=12
160 INTEGER, PARAMETER :: vasoa2j=13
161 INTEGER, PARAMETER :: vasoa2i=14
163 INTEGER, PARAMETER :: vasoa3j=15
164 INTEGER, PARAMETER :: vasoa3i=16
166 INTEGER, PARAMETER :: vasoa4j=17
167 INTEGER, PARAMETER :: vasoa4i=18
169 ! indices for accumulation and aitken modes of biogenic SOA
170 INTEGER, PARAMETER :: vbsoa1j=19
171 INTEGER, PARAMETER :: vbsoa1i=20
173 INTEGER, PARAMETER :: vbsoa2j=21
174 INTEGER, PARAMETER :: vbsoa2i=22
176 INTEGER, PARAMETER :: vbsoa3j=23
177 INTEGER, PARAMETER :: vbsoa3i=24
179 INTEGER, PARAMETER :: vbsoa4j=25
180 INTEGER, PARAMETER :: vbsoa4i=26
181 !------------------------------------------------------------------------------
183 ! index for Accumulation mode primary anthropogenic
185 PARAMETER (vorgpaj=27)
187 ! index for Aitken mode primary anthropogenic
189 PARAMETER (vorgpai=28)
191 ! index for Accumulation mode aerosol elemen
195 ! index for Aitken mode elemental carbon
199 ! index for Accumulation mode aerosol calcium
202 ! index for Aitken mode aerosol calcium
206 ! index for Accumulation mode aerosol potassium
209 ! index for Aitken mode aerosol potassium
213 ! index for Accumulation mode aerosol magesium
216 ! index for Aitken mode aerosol magesium
220 ! index for Accumulation mode primary PM2.5
222 PARAMETER (vp25aj=37)
224 ! index for Aitken mode primary PM2.5 concentration
226 PARAMETER (vp25ai=38)
228 ! index for coarse mode anthropogenic aerososol
230 PARAMETER (vantha=39)
232 ! index for coarse mode marine aerosol concentration
236 ! index for coarse mode soil-derived aerosol
238 PARAMETER (vsoila=41)
240 ! index for Aitken mode number
244 ! index for accum mode number
248 ! index for coarse mode number
252 ! index for Accumulation mode aerosol water
254 PARAMETER (vh2oaj=45)
256 ! index for Aitken mode aerosol water concentration
258 PARAMETER (vh2oai=46)
260 ! index for Aitken mode 3'rd moment
263 ! index for Accumulation mode 3'rd moment
267 ! index for coarse mode 3rd moment
271 ! index for sulfuric acid vapor concentration
275 ! index for nitric acid vapor concentration
279 ! index for ammonia gas concentration
283 ! index for HCL gas concentration
288 ! index for N2O5 gas concentration
291 ! index for CLNO2 gas concentration
293 PARAMETER (vclno2=55)
295 ! index for n2o5 uptake
297 PARAMETER (vgamn2o5=56)
299 ! index for n2o5 velocity
301 PARAMETER (vcn2o5=57)
303 ! index for n2o5 heterogeneous reaction rate
305 PARAMETER (vkn2o5=58)
307 ! index for clno2 yield from n2o5 heterogeneous rate
309 PARAMETER (vyclno2=59)
311 ! index for surface area of aerosol nuclei mode
315 ! index for surface area of aerosol accum mode
319 ! index for surface area of aerosol coarse mode
323 ! index for the inverse of air density, used to transform ug/m3 to and from
327 PARAMETER (valt_in=63)
329 INTEGER, PARAMETER :: vcvasoa1=64
330 INTEGER, PARAMETER :: vcvasoa2=65
331 INTEGER, PARAMETER :: vcvasoa3=66
332 INTEGER, PARAMETER :: vcvasoa4=67
333 INTEGER, PARAMETER :: vcvbsoa1=68
334 INTEGER, PARAMETER :: vcvbsoa2=69
335 INTEGER, PARAMETER :: vcvbsoa3=70
336 INTEGER, PARAMETER :: vcvbsoa4=71
338 !-----------------------------------------------------------------------------
340 ! *** set up species dimension and indices for sedimentation
341 ! velocity array VSED
343 ! number of sedimentation velocities
345 PARAMETER (naspcssed=6)
347 ! index for Aitken mode number
351 ! index for Accumulation mode number
355 ! index for coarse mode number
359 ! index for Aitken mode mass
363 ! index for accumulation mode mass
367 ! index for coarse mass
371 ! *** set up species dimension and indices for deposition
372 ! velocity array VDEP
374 ! number of deposition velocities
376 PARAMETER (naspcsdep=7)
378 ! index for Aitken mode number
382 ! index for accumulation mode number
386 ! index for coarse mode number
390 ! index for Aitken mode mass
394 ! index for accumulation mode
398 ! index for fine mode mass (Aitken + accumulation)
400 PARAMETER (vdmfine=6)
402 ! index for coarse mode mass
406 ! SOA precursors + OH, O3, NO3
408 INTEGER, PARAMETER :: palk4=1
409 INTEGER, PARAMETER :: palk5=2
410 INTEGER, PARAMETER :: pole1=3
411 INTEGER, PARAMETER :: pole2=4
412 INTEGER, PARAMETER :: paro1=5
413 INTEGER, PARAMETER :: paro2=6
416 INTEGER, PARAMETER :: pisop=7
417 INTEGER, PARAMETER :: pterp=8
418 INTEGER, PARAMETER :: psesq=9
421 INTEGER, PARAMETER :: pbrch=10
424 INTEGER, PARAMETER :: pasoa1=1
425 INTEGER, PARAMETER :: pasoa2=2
426 INTEGER, PARAMETER :: pasoa3=3
427 INTEGER, PARAMETER :: pasoa4=4
429 INTEGER, PARAMETER :: pbsoa1=5
430 INTEGER, PARAMETER :: pbsoa2=6
431 INTEGER, PARAMETER :: pbsoa3=7
432 INTEGER, PARAMETER :: pbsoa4=8
433 !-----------------------------------------------
436 !bs * end of AERO_SOA.EXT *
439 ! *** include file for aerosol routines
442 !....................................................................
444 ! CONTAINS: Fundamental constants for air quality modeling
446 ! DEPENDENT UPON: none
450 ! Adapted 6/92 by CJC from ROM's PI.EXT.
452 ! Revised 3/1/93 John McHenry to include constants needed by
453 ! LCM aqueous chemistry
454 ! Revised 9/93 by John McHenry to include additional constants
455 ! needed for FMEM clouds and aqueous chemistry
457 ! Revised 3/4/96 by Dr. Francis S. Binkowski to reflect current
458 ! Models3 view that MKS units should be used wherever possible,
459 ! and that sources be documentated. Some variables have been added
460 ! names changed, and values revised.
462 ! Revised 3/7/96 to have universal gas constant input and compute
463 ! gas constant is chemical form. TWOPI is now calculated rather than
465 ! Revised 3/13/96 to group declarations and parameter statements.
467 ! Revised 9/13/96 to include more physical constants.
468 ! Revised 12/24/96 eliminate silly EPSILON, AMISS
470 ! Revised 1/06/97 to eliminate most derived constants
471 ! 10/12/11- Modified to use with soa_vbs, by Ravan Ahmadov
473 ! Revised 10/10/2022 for only RACM_SOA_VBS_HET, Jordan Schnell
477 ! CRC76, CRC Handbook of Chemistry and Physics (76th Ed),
479 ! Hobbs, P.V. Basic Physical Chemistry for the Atmospheric Scien
480 ! Cambridge Univ. Press, 206 pp, 1995.
481 ! Snyder, J.P., Map Projections-A Working Manual, U.S. Geological
482 ! Paper 1395 U.S.GPO, Washington, DC, 1987.
483 ! Stull, R. B., An Introduction to Bounday Layer Meteorology, Klu
486 ! Geometric Constants:
488 REAL*8 & ! PI (single precision 3.141593)
490 PARAMETER (pirs=3.14159265358979324)
491 ! REAL PIRS ! PI (single precision 3.141593)
492 ! PARAMETER ( PIRS = 3.141593 )
493 ! Fundamental Constants: ( Source: CRC76, pp 1-1 to 1-6)
495 ! Avogadro's Constant [ 1/mol ]
497 PARAMETER (avo=6.0221367E23)
499 ! universal gas constant [ J/mol-K ]
501 PARAMETER (rgasuniv=8.314510)
503 ! standard atmosphere [ Pa ]
505 PARAMETER (stdatmpa=101325.0)
507 ! Standard Temperature [ K ]
509 PARAMETER (stdtemp=273.15)
511 ! Stefan-Boltzmann [ W/(m**2 K**4) ]
513 PARAMETER (stfblz=5.67051E-8)
516 ! mean gravitational acceleration [ m/sec**2 ]
518 PARAMETER (grav=9.80622)
519 ! FSB Non MKS qualtities:
521 ! Molar volume at STP [ L/mol ] Non MKS units
523 PARAMETER (molvol=22.41410)
526 ! Atmospheric Constants:
528 ! FSB 78.06% N2, 21% O2 and 0.943% A on a mole
530 ! fraction basis. ( Source : Hobbs, 1995) pp 69-
531 ! mean molecular weight for dry air [ g/mol ]
532 PARAMETER (mwair=28.9628)
534 ! dry-air gas constant [ J / kg-K ]
536 PARAMETER (rdgas=1.0E3*rgasuniv/mwair)
540 PARAMETER (threepi=3.0*pirs)
544 PARAMETER (f6dpi=6.0/pirs)
548 PARAMETER (f6dpi9=1.0E9*f6dpi)
552 PARAMETER (f6dpim9=1.0E-9*f6dpi)
556 PARAMETER (sqrtpi=1.7724539)
560 PARAMETER (sqrt2=1.4142135623731)
564 PARAMETER (lgsqt2=0.34657359027997)
568 PARAMETER (dlgsqt2=1.0/lgsqt2)
572 PARAMETER (one3=1.0/3.0)
576 PARAMETER (two3=2.0/3.0)
579 ! *** physical constants:
581 ! Boltzmann's Constant [ J / K ]
583 PARAMETER (boltz=rgasuniv/avo)
586 ! *** component densities [ kg/m**3 ] :
589 ! bulk density of aerosol sulfate
591 PARAMETER (rhoso4=1.8E3)
593 ! bulk density of aerosol ammonium
595 PARAMETER (rhonh4=1.8E3)
597 ! bulk density of aerosol nitrate
599 PARAMETER (rhono3=1.8E3)
601 ! bulk density of aerosol water
603 PARAMETER (rhoh2o=1.0E3)
605 ! bulk density for aerosol organics
607 PARAMETER (rhoorg=1.0E3)
609 ! bulk density for aerosol soil dust
611 PARAMETER (rhosoil=2.6E3)
613 ! bulk density for marine aerosol
615 PARAMETER (rhoseas=2.2E3)
617 ! bulk density for anthropogenic aerosol
619 PARAMETER (rhoanth=2.2E3)
621 ! bulk density of aerosol sodium
623 PARAMETER (rhona=2.2E3)
625 ! bulk density of aerosol chloride
627 PARAMETER (rhocl=2.2E3)
630 ! bulk density of aerosol casium. equals to dust.
632 PARAMETER (rhoca=2.6E3)
634 ! bulk density of aerosol k. equals to dust.
636 PARAMETER (rhok=2.6E3)
638 ! bulk density of aerosol mg. equals to dust.
640 PARAMETER (rhomg=2.6E3)
642 ! *** Factors for converting aerosol mass concentration [ ug m**-3] to
643 ! to 3rd moment concentration [ m**3 m^-3]
646 PARAMETER (so4fac=f6dpim9/rhoso4)
649 PARAMETER (nh4fac=f6dpim9/rhonh4)
652 PARAMETER (h2ofac=f6dpim9/rhoh2o)
655 PARAMETER (no3fac=f6dpim9/rhono3)
658 PARAMETER (orgfac=f6dpim9/rhoorg)
661 PARAMETER (soilfac=f6dpim9/rhosoil)
664 PARAMETER (seasfac=f6dpim9/rhoseas)
667 PARAMETER (anthfac=f6dpim9/rhoanth)
670 PARAMETER (nafac=f6dpim9/rhona)
673 PARAMETER (clfac=f6dpim9/rhocl)
677 PARAMETER (cafac=f6dpim9/rhoca)
680 PARAMETER (kfac=f6dpim9/rhok)
683 PARAMETER (mgfac=f6dpim9/rhomg)
687 ! starting standard surface pressure [ Pa ]
689 PARAMETER (pss0=101325.0)
691 ! starting standard surface temperature [ K ]
693 PARAMETER (tss0=288.15)
695 ! initial sigma-G for nucleimode
697 PARAMETER (sginin=1.70)
699 ! initial sigma-G for accumulation mode
701 PARAMETER (sginia=2.00)
703 ! initial sigma-G for coarse mode
705 PARAMETER (sginic=2.5)
707 ! initial mean diameter for nuclei mode [ m ]
709 PARAMETER (dginin=0.01E-6)
711 ! initial mean diameter for accumulation mode [ m ]
713 PARAMETER (dginia=0.07E-6)
715 ! initial mean diameter for coarse mode [ m ]
717 PARAMETER (dginic=1.0E-6)
719 !................ end AERO3box.EXT ...............................
720 !///////////////////////////////////////////////////////////////////////
722 ! LOGICAL diagnostics
723 ! *** Scalar variables for fixed standard deviations.
725 ! Flag for writing diagnostics to file
726 ! nuclei mode exp( log^2( sigmag )/8 )
728 ! accumulation mode exp( log^2( sigmag )
732 ! coarse mode exp( log^2( sigmag )/8 )
859 ! *** set up COMMON blocks for esg's:
863 ! *** SET NUCLEATION FLAG:
865 ! INUCL = 0, Kerminen & Wexler Mechanism
867 ! INUCL = 1, Youngblood and Kreidenweis mech
868 ! INUCL = 2, Kulmala et al. mechanism
869 ! Flag for Choice of nucleation Mechanism
872 ! *** Set flag for sedimentation velocities:
875 PARAMETER (icoarse=.FALSE.) ! *** END AERO_INTERNAL.EXT
876 ! *** Diameters and standard deviations for emissions
877 ! the diameters are the volume (mass) geometric mean diameters
880 ! special factor to compute mass transfer
882 PARAMETER (dgvem_i=0.03E-6) ! [ m ]
884 PARAMETER (sgem_i=1.7)
886 ! *** Accumulation mode:
888 PARAMETER (dgvem_j=0.3E-6) ! [ m ]
890 PARAMETER (sgem_j=2.0)
894 PARAMETER (dgvem_c=6.0E-6) ! [ m ] <<< Corrected 11/19/97
896 PARAMETER (sgem_c=2.2)
898 ! *** factors for getting number emissions rate from mass emissions rate
906 REAL facatkn_min, facacc_min
907 PARAMETER (facatkn_min=0.04,facacc_min=1.0-facatkn_min)
909 REAL, PARAMETER :: conmin = 1.E-16
910 REAL, PARAMETER :: epsilc = 1.E-16
911 ! [ ug/m**3 ] ! changed 1/6/98
912 REAL*8 & ! factor to set minimum for Aitken mode number
914 REAL*8 & ! factor to set minimum for accumulation mode nu
918 ! factor to set minimum for coarse mode number
920 !bs REAL ALPHSULF ! Accommodation coefficient for sulfuric acid
921 !bs PARAMETER ( ALPHSULF = 0.05 ) ! my be set to one in future
923 !bs REAL DIFFSULF ! molecular diffusivity for sulfuric acid [ m**2
924 !bs PARAMETER( DIFFSULF = 0.08E-4 ) ! may be changed in future
926 !bs * 23/03/99 updates of ALPHSULF and DIFFSULF adopted fro new code fro
927 !bs * DIFFSULF is calculated from Reid, Prausnitz, and Poling, The prope
928 !bs * of gases and liquids, 4th edition, McGraw-Hill, 1987, pp 587-588.
929 !bs * Equation (11-4.4) was used.
930 !bs * The value is at T = 273.16 K and P = 1.01325E05 Pa
931 !bs * Temperature dependence is included for DIFFSULF via DIFFCORR (see
933 ! Accommodation coefficient for sulfuric
935 PARAMETER (alphsulf=1.0)
936 !bs updated from code of FSB
937 ! molecular weight for sulfuric acid [ kg/mole ] MKS
939 PARAMETER (mwh2so4=98.07354E-3)
940 !cia corrected error 24/11/97
941 ! molecular diffusivity for sulfuric acid [ m**2 /se
943 PARAMETER (diffsulf=9.362223E-06)
944 !bs updated from code of FSB
945 !bs Accomodation coefficient for organic
947 PARAMETER (alphaorg=1.0) !bs Kleeman et al. '99 propose alpha
948 !bs Bowman et al. '97 uses alpha = 1.
949 !bs mean molecular weight of organics [k
951 PARAMETER (mworg=175.0E-03)
953 !bs * DIFFORG is calculated from the same formula as DIFFSULF.
954 !bs * An average elemental composition of C=8, O=3, N=1, H=17 is asuumed
955 !bs * to calculate DIFFORG at T = 273.16K and P = 1.01325E05 Pa.
956 !bs * Temperature dependence is included below.
957 !bs molecular diffusivity for organics [
959 PARAMETER (difforg=5.151174E-06)
960 ! *** CCONC is the factor for near-continuum condensation.
963 PARAMETER (cconc=2.0*pirs*diffsulf)
964 !bs * factor for NC condensation for organics
967 PARAMETER (cconc_org=2.0*pirs*difforg)
969 !bs analogue to CCOFM but for organics
971 ! FSB CCOFM is the accommodation coefficient
972 ! times the mean molecular velocity for h2so4 without the temperatu
975 !bs CCOFM_ORG * sqrt(TA)
976 ! set to a value below
978 ! minimum aerosol sulfate concentration
980 PARAMETER (aeroconcmin=0.0001)
982 !*******************************************************************
984 !* start parameters and variables for aerosol-cloud interactions *
986 !*******************************************************************
988 ! maxd_atype = maximum allowable number of aerosol types
989 ! maxd_asize = maximum allowable number of aerosol size bins
990 ! maxd_acomp = maximum allowable number of chemical components
991 ! in each aerosol size bin
992 ! maxd_aphase = maximum allowable number of aerosol phases (gas, cloud, ice, rain, ...)
994 ! ntype_aer = number of aerosol types
995 ! nsize_aer(t) = number of aerosol size bins for aerosol type t. each bin w/ same set of components
996 ! nphase_aer = number of aerosol phases
998 ! msectional - if positive, moving-center sectional code is utilized,
999 ! and each mode is actually a section.
1000 ! maerosolincw - if positive, both unactivated/interstitial and activated
1001 ! aerosol species are simulated. if zero/negative, only the
1002 ! unactivated are simulated.
1004 ! ncomp_aer(t) = number of chemical components for aerosol type t
1005 ! ncomp_aer_nontracer(t) = number of "non-tracer" chemical components while in gchm code
1006 ! mastercompptr_aer(c,t) = mastercomp type/i.d. for chemical component c
1007 ! (1=sulfate, others to be defined) and aerosol type t.
1008 ! massptr_aer(c,s,t,p) = gchm r-array index for the mixing ratio
1009 ! (moles-x/mole-air) for chemical component c in size bin s for type t and phase p
1011 ! waterptr_aer(s,t) = mixing ratio (moles-water/mole-air) for water
1012 ! associated with aerosol size bin s and type t
1013 ! hygroptr_aer(s,t) = gchm r-array index for the bulk hygroscopicity of the size bin and type
1014 ! numptr_aer(s,t,p) = gchm r-array index for the number mixing ratio
1015 ! (particles/mole-air) for aerosol size bin s, type t, and phase p
1016 ! If zero or negative, then number is not being simulated.
1018 ! mprognum_aer(s,t,p) - if positive, number mixing-ratio for size s, type t,
1019 ! and phase p will be prognosed. Otherwise, no.
1021 ! ntot_mastercomp_aer = number of aerosol chemical components defined
1022 ! dens_mastercomp_aer(mc) = dry density (g/cm^3) of aerosol master chemical component type c
1023 ! mw_mastercomp_aer(mc) = molecular weight of aerosol master chemical component type mc
1024 ! name_mastercomp_aer(mc) = name of aerosol master chemical component type mc
1025 ! mc=mastercompptr_aer(c,t)
1026 ! dens_aer(c,t) = dry density (g/cm^3) of aerosol chemical component type c and type t
1027 ! mw_aer(c,t) = molecular weight of aerosol chemical component type c and type t
1028 ! name_aer(c,t) = name of aerosol chemical component type c and type t
1030 ! lptr_so4_aer(s,t,p) = gchm r-array index for the
1031 ! mixing ratio for sulfate associated with aerosol size bin s, type t, and phase p
1032 ! (similar for msa, oc, bc, nacl, dust)
1034 !-----------------------------------------------------------------------
1036 ! volumcen_sect(s,t)= volume (cm^3) at center of section m
1037 ! volumlo_sect(s,t) = volume (cm^3) at lower boundary of section m
1038 ! volumhi_sect(s,t) = volume (cm^3) at upper boundary of section m
1040 ! dlo_sect(s,t) = diameter (cm) at lower boundary of section m
1041 ! dhi_sect(s,t) = diameter (cm) at upper boundary of section m
1042 ! dcen_sect(s,t) = volume arithmetic-mean diameter (cm) of section m
1043 ! (corresponds to volumcen_sect == 0.5*(volumlo_sect + volumhi_sect)
1045 !-----------------------------------------------------------------------
1046 ! nov-04 sg ! replaced amode with aer and expanded aerosol dimension to include type and phase
1048 integer, parameter :: maxd_atype = 2
1049 integer, parameter :: maxd_asize = 2
1050 integer, parameter :: maxd_acomp = 19
1051 integer, parameter :: maxd_aphase = 2
1052 integer, save :: ai_phase ! interstitial phase of aerosol
1053 integer, save :: cw_phase ! cloud water phase of aerosol
1054 integer, save :: ci_phase ! cloud ice phase of aerosol
1055 integer, save :: cr_phase ! rain phase of aerosol
1056 integer, save :: cs_phase ! snow phase of aerosol
1057 integer, save :: cg_phase ! graupel phase of aerosol
1059 integer, save :: ntype_aer = 0 ! number of types
1060 integer, save :: ntot_mastercomp_aer = 0 ! number of master components
1061 integer, save :: nphase_aer = 0 ! number of phases
1064 msectional, maerosolincw, &
1065 nsize_aer( maxd_atype ), & ! number of size bins
1066 ncomp_aer( maxd_atype ), & ! number of chemical components
1067 ncomp_aer_nontracer( maxd_atype ), &
1068 mastercompptr_aer(maxd_acomp, maxd_atype), & ! mastercomp index
1069 massptr_aer( maxd_acomp, maxd_asize, maxd_atype, maxd_aphase ), & ! index for mixing ratio
1070 waterptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol water
1071 hygroptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol hygroscopicity
1072 numptr_aer( maxd_asize, maxd_atype, maxd_aphase ), & ! index for the number mixing ratio
1073 mprognum_aer(maxd_asize,maxd_atype,maxd_aphase)
1076 dens_aer( maxd_acomp, maxd_atype ), &
1077 dens_mastercomp_aer( maxd_acomp ), &
1078 mw_mastercomp_aer( maxd_acomp ), &
1079 mw_aer( maxd_acomp, maxd_atype ), &
1080 hygro_mastercomp_aer( maxd_acomp ), &
1081 hygro_aer( maxd_acomp, maxd_atype )
1082 character*10, save :: &
1083 name_mastercomp_aer( maxd_acomp ), &
1084 name_aer( maxd_acomp, maxd_atype )
1087 volumcen_sect( maxd_asize, maxd_atype ), &
1088 volumlo_sect( maxd_asize, maxd_atype ), &
1089 volumhi_sect( maxd_asize, maxd_atype ), &
1090 dcen_sect( maxd_asize, maxd_atype ), &
1091 dlo_sect( maxd_asize, maxd_atype ), &
1092 dhi_sect( maxd_asize, maxd_atype ), &
1093 sigmag_aer(maxd_asize, maxd_atype)
1096 lptr_so4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1097 lptr_nh4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1098 lptr_no3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1100 lptr_asoa1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1101 lptr_asoa2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1102 lptr_asoa3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1103 lptr_asoa4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1104 lptr_bsoa1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1105 lptr_bsoa2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1106 lptr_bsoa3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1107 lptr_bsoa4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1109 ! lptr_orgaro1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1110 ! lptr_orgaro2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1111 ! lptr_orgalk_aer(maxd_asize,maxd_atype,maxd_aphase), &
1112 ! lptr_orgole_aer(maxd_asize,maxd_atype,maxd_aphase), &
1113 ! lptr_orgba1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1114 ! lptr_orgba2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1115 ! lptr_orgba3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1116 ! lptr_orgba4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1118 lptr_orgpa_aer(maxd_asize,maxd_atype,maxd_aphase), &
1119 lptr_ec_aer(maxd_asize,maxd_atype,maxd_aphase), &
1120 lptr_p25_aer(maxd_asize,maxd_atype,maxd_aphase), &
1121 lptr_anth_aer(maxd_asize,maxd_atype,maxd_aphase), &
1122 lptr_cl_aer(maxd_asize,maxd_atype,maxd_aphase), &
1123 lptr_na_aer(maxd_asize,maxd_atype,maxd_aphase), &
1124 lptr_seas_aer(maxd_asize,maxd_atype,maxd_aphase), &
1125 lptr_soil_aer(maxd_asize,maxd_atype,maxd_aphase)
1128 do_cloudchem_aer(maxd_asize,maxd_atype)
1131 ! molecular weights (g/mol)
1132 real, parameter :: mw_so4_aer = 96.066
1133 real, parameter :: mw_no3_aer = 62.007
1134 real, parameter :: mw_nh4_aer = 18.042
1135 real, parameter :: mw_oc_aer = 250.0
1136 real, parameter :: mw_ec_aer = 1.0
1137 real, parameter :: mw_oin_aer = 1.0
1138 real, parameter :: mw_dust_aer = 100.087
1139 real, parameter :: mw_seas_aer = 58.440
1140 real, parameter :: mw_cl_aer = 35.450
1141 real, parameter :: mw_na_aer = 22.990
1142 real, parameter :: mw_water_aer = 18.016
1144 ! dry densities (g/cm3)
1145 real, parameter :: dens_so4_aer = 1.80 ! = rhoso4
1146 real, parameter :: dens_no3_aer = 1.80 ! = rhono3
1147 real, parameter :: dens_nh4_aer = 1.80 ! = rhonh4
1148 real, parameter :: dens_oc_aer = 1.5 ! = rhoorg ! changed from 1.0
1149 real, parameter :: dens_ec_aer = 1.70
1150 real, parameter :: dens_dust_aer = 2.60 ! = rhosoil
1151 real, parameter :: dens_oin_aer = 2.20 ! = rhoanth
1152 real, parameter :: dens_seas_aer = 2.20 ! = rhoseas
1153 real, parameter :: dens_cl_aer = 2.20
1154 real, parameter :: dens_na_aer = 2.20
1156 ! water density (g/cm3)
1157 real, parameter :: dens_water_aer = 1.0
1159 ! hygroscopicity (dimensionless)
1160 real, parameter :: hygro_so4_aer = 0.5
1161 real, parameter :: hygro_no3_aer = 0.5
1162 real, parameter :: hygro_nh4_aer = 0.5
1163 real, parameter :: hygro_oc_aer = 0.14
1164 real, parameter :: hygro_ec_aer = 1.e-6
1165 real, parameter :: hygro_oin_aer = 0.14
1166 real, parameter :: hygro_dust_aer = 0.1
1167 real, parameter :: hygro_seas_aer = 1.16
1168 real, parameter :: hygro_cl_aer = 1.16
1169 real, parameter :: hygro_na_aer = 1.16
1171 ! table lookup of aerosol impaction/interception scavenging rates
1172 real dlndg_nimptblgrow
1173 integer nimptblgrow_mind, nimptblgrow_maxd
1174 parameter (nimptblgrow_mind=-14, nimptblgrow_maxd=24)
1175 real scavimptblnum(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype), &
1176 scavimptblvol(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype)
1178 !SAM 10/08 Gaussian quadrature constants for SOA_VBS deposition numerical integration
1180 PARAMETER( NGAUSdv = 7 ) ! Number of Gaussian Quadrature Points - constants defined in aerosols_sorgam_init
1181 REAL Y_GQ(NGAUSdv), WGAUS(NGAUSdv)
1183 !*****************************************************************
1185 !* end parameters and variables for aerosol-cloud interactions *
1187 !*****************************************************************
1190 END Module module_data_soa_vbs_het