1 MODULE module_data_soa_vbs
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
156 ! index for Accumulation mode aerosol calcium
159 ! index for Aitken mode aerosol calcium
163 ! index for Accumulation mode aerosol potassium
166 ! index for Aitken mode aerosol potassium
170 ! index for Accumulation mode aerosol magesium
173 ! index for Aitken mode aerosol magesium
177 ! I've changed the names and simplified
178 ! indices for accumulation and aitken modes of anthropogenic SOA
179 INTEGER, PARAMETER :: vasoa1j=17
180 INTEGER, PARAMETER :: vasoa1i=18
182 INTEGER, PARAMETER :: vasoa2j=19
183 INTEGER, PARAMETER :: vasoa2i=20
185 INTEGER, PARAMETER :: vasoa3j=21
186 INTEGER, PARAMETER :: vasoa3i=22
188 INTEGER, PARAMETER :: vasoa4j=23
189 INTEGER, PARAMETER :: vasoa4i=24
191 ! indices for accumulation and aitken modes of biogenic SOA
192 INTEGER, PARAMETER :: vbsoa1j=25
193 INTEGER, PARAMETER :: vbsoa1i=26
195 INTEGER, PARAMETER :: vbsoa2j=27
196 INTEGER, PARAMETER :: vbsoa2i=28
198 INTEGER, PARAMETER :: vbsoa3j=29
199 INTEGER, PARAMETER :: vbsoa3i=30
201 INTEGER, PARAMETER :: vbsoa4j=31
202 INTEGER, PARAMETER :: vbsoa4i=32
203 !------------------------------------------------------------------------------
205 ! index for Accumulation mode primary anthropogenic
207 PARAMETER (vorgpaj=33)
209 ! index for Aitken mode primary anthropogenic
211 PARAMETER (vorgpai=34)
213 ! index for Accumulation mode aerosol elemen
217 ! index for Aitken mode elemental carbon
221 ! index for Accumulation mode primary PM2.5
223 PARAMETER (vp25aj=37)
225 ! index for Aitken mode primary PM2.5 concentration
227 PARAMETER (vp25ai=38)
229 ! index for coarse mode anthropogenic aerososol
231 PARAMETER (vantha=39)
233 ! index for coarse mode marine aerosol concentration
237 ! index for coarse mode soil-derived aerosol
239 PARAMETER (vsoila=41)
241 ! index for Aitken mode number
245 ! index for accum mode number
249 ! index for coarse mode number
253 ! index for Accumulation mode aerosol water
255 PARAMETER (vh2oaj=45)
257 ! index for Aitken mode aerosol water concentration
259 PARAMETER (vh2oai=46)
261 ! index for Aitken mode 3'rd moment
264 ! index for Accumulation mode 3'rd moment
268 ! index for coarse mode 3rd moment
272 ! index for sulfuric acid vapor concentration
276 ! index for nitric acid vapor concentration
280 ! index for ammonia gas concentration
284 ! index for HCL gas concentration
289 ! index for N2O5 gas concentration
292 ! index for CLNO2 gas concentration
294 PARAMETER (vclno2=55)
296 ! index for n2o5 uptake
298 PARAMETER (vgamn2o5=56)
300 ! index for n2o5 velocity
302 PARAMETER (vcn2o5=57)
304 ! index for n2o5 heterogeneous reaction rate
306 PARAMETER (vkn2o5=58)
308 ! index for clno2 yield from n2o5 heterogeneous rate
310 PARAMETER (vyclno2=59)
312 ! index for surface area of aerosol nuclei mode
316 ! index for surface area of aerosol accum mode
320 ! index for surface area of aerosol coarse mode
324 ! index for the inverse of air density, used to transform ug/m3 to and from
328 PARAMETER (valt_in=63)
330 INTEGER, PARAMETER :: vcvasoa1=64
331 INTEGER, PARAMETER :: vcvasoa2=65
332 INTEGER, PARAMETER :: vcvasoa3=66
333 INTEGER, PARAMETER :: vcvasoa4=67
334 INTEGER, PARAMETER :: vcvbsoa1=68
335 INTEGER, PARAMETER :: vcvbsoa2=69
336 INTEGER, PARAMETER :: vcvbsoa3=70
337 INTEGER, PARAMETER :: vcvbsoa4=71
339 !-----------------------------------------------------------------------------
341 ! *** set up species dimension and indices for sedimentation
342 ! velocity array VSED
344 ! number of sedimentation velocities
346 PARAMETER (naspcssed=6)
348 ! index for Aitken mode number
352 ! index for Accumulation mode number
356 ! index for coarse mode number
360 ! index for Aitken mode mass
364 ! index for accumulation mode mass
368 ! index for coarse mass
372 ! *** set up species dimension and indices for deposition
373 ! velocity array VDEP
375 ! number of deposition velocities
377 PARAMETER (naspcsdep=7)
379 ! index for Aitken mode number
383 ! index for accumulation mode number
387 ! index for coarse mode number
391 ! index for Aitken mode mass
395 ! index for accumulation mode
399 ! index for fine mode mass (Aitken + accumulation)
401 PARAMETER (vdmfine=6)
403 ! index for coarse mode mass
407 ! SOA precursors + OH, O3, NO3
409 INTEGER, PARAMETER :: palk4=1
410 INTEGER, PARAMETER :: palk5=2
411 INTEGER, PARAMETER :: pole1=3
412 INTEGER, PARAMETER :: pole2=4
413 INTEGER, PARAMETER :: paro1=5
414 INTEGER, PARAMETER :: paro2=6
417 INTEGER, PARAMETER :: pisop=7
418 INTEGER, PARAMETER :: pterp=8
419 INTEGER, PARAMETER :: psesq=9
422 INTEGER, PARAMETER :: pbrch=10
425 INTEGER, PARAMETER :: pasoa1=1
426 INTEGER, PARAMETER :: pasoa2=2
427 INTEGER, PARAMETER :: pasoa3=3
428 INTEGER, PARAMETER :: pasoa4=4
430 INTEGER, PARAMETER :: pbsoa1=5
431 INTEGER, PARAMETER :: pbsoa2=6
432 INTEGER, PARAMETER :: pbsoa3=7
433 INTEGER, PARAMETER :: pbsoa4=8
434 !-----------------------------------------------
437 !bs * end of AERO_SOA.EXT *
440 ! *** include file for aerosol routines
443 !....................................................................
445 ! CONTAINS: Fundamental constants for air quality modeling
447 ! DEPENDENT UPON: none
451 ! Adapted 6/92 by CJC from ROM's PI.EXT.
453 ! Revised 3/1/93 John McHenry to include constants needed by
454 ! LCM aqueous chemistry
455 ! Revised 9/93 by John McHenry to include additional constants
456 ! needed for FMEM clouds and aqueous chemistry
458 ! Revised 3/4/96 by Dr. Francis S. Binkowski to reflect current
459 ! Models3 view that MKS units should be used wherever possible,
460 ! and that sources be documentated. Some variables have been added
461 ! names changed, and values revised.
463 ! Revised 3/7/96 to have universal gas constant input and compute
464 ! gas constant is chemical form. TWOPI is now calculated rather than
466 ! Revised 3/13/96 to group declarations and parameter statements.
468 ! Revised 9/13/96 to include more physical constants.
469 ! Revised 12/24/96 eliminate silly EPSILON, AMISS
471 ! Revised 1/06/97 to eliminate most derived constants
472 ! 10/12/11- Modified to use with soa_vbs, by Ravan Ahmadov
476 ! CRC76, CRC Handbook of Chemistry and Physics (76th Ed),
478 ! Hobbs, P.V. Basic Physical Chemistry for the Atmospheric Scien
479 ! Cambridge Univ. Press, 206 pp, 1995.
480 ! Snyder, J.P., Map Projections-A Working Manual, U.S. Geological
481 ! Paper 1395 U.S.GPO, Washington, DC, 1987.
482 ! Stull, R. B., An Introduction to Bounday Layer Meteorology, Klu
485 ! Geometric Constants:
487 REAL*8 & ! PI (single precision 3.141593)
489 PARAMETER (pirs=3.14159265358979324)
490 ! REAL PIRS ! PI (single precision 3.141593)
491 ! PARAMETER ( PIRS = 3.141593 )
492 ! Fundamental Constants: ( Source: CRC76, pp 1-1 to 1-6)
494 ! Avogadro's Constant [ 1/mol ]
496 PARAMETER (avo=6.0221367E23)
498 ! universal gas constant [ J/mol-K ]
500 PARAMETER (rgasuniv=8.314510)
502 ! standard atmosphere [ Pa ]
504 PARAMETER (stdatmpa=101325.0)
506 ! Standard Temperature [ K ]
508 PARAMETER (stdtemp=273.15)
510 ! Stefan-Boltzmann [ W/(m**2 K**4) ]
512 PARAMETER (stfblz=5.67051E-8)
515 ! mean gravitational acceleration [ m/sec**2 ]
517 PARAMETER (grav=9.80622)
518 ! FSB Non MKS qualtities:
520 ! Molar volume at STP [ L/mol ] Non MKS units
522 PARAMETER (molvol=22.41410)
525 ! Atmospheric Constants:
527 ! FSB 78.06% N2, 21% O2 and 0.943% A on a mole
529 ! fraction basis. ( Source : Hobbs, 1995) pp 69-
530 ! mean molecular weight for dry air [ g/mol ]
531 PARAMETER (mwair=28.9628)
533 ! dry-air gas constant [ J / kg-K ]
535 PARAMETER (rdgas=1.0E3*rgasuniv/mwair)
539 PARAMETER (threepi=3.0*pirs)
543 PARAMETER (f6dpi=6.0/pirs)
547 PARAMETER (f6dpi9=1.0E9*f6dpi)
551 PARAMETER (f6dpim9=1.0E-9*f6dpi)
555 PARAMETER (sqrtpi=1.7724539)
559 PARAMETER (sqrt2=1.4142135623731)
563 PARAMETER (lgsqt2=0.34657359027997)
567 PARAMETER (dlgsqt2=1.0/lgsqt2)
571 PARAMETER (one3=1.0/3.0)
575 PARAMETER (two3=2.0/3.0)
578 ! *** physical constants:
580 ! Boltzmann's Constant [ J / K ]
582 PARAMETER (boltz=rgasuniv/avo)
585 ! *** component densities [ kg/m**3 ] :
588 ! bulk density of aerosol sulfate
590 PARAMETER (rhoso4=1.8E3)
592 ! bulk density of aerosol ammonium
594 PARAMETER (rhonh4=1.8E3)
596 ! bulk density of aerosol nitrate
598 PARAMETER (rhono3=1.8E3)
600 ! bulk density of aerosol water
602 PARAMETER (rhoh2o=1.0E3)
604 ! bulk density for aerosol organics
606 PARAMETER (rhoorg=1.0E3)
608 ! bulk density for aerosol soil dust
610 PARAMETER (rhosoil=2.6E3)
612 ! bulk density for marine aerosol
614 PARAMETER (rhoseas=2.2E3)
616 ! bulk density for anthropogenic aerosol
618 PARAMETER (rhoanth=2.2E3)
620 ! bulk density of aerosol sodium
622 PARAMETER (rhona=2.2E3)
624 ! bulk density of aerosol chloride
626 PARAMETER (rhocl=2.2E3)
629 ! bulk density of aerosol casium. equals to dust.
631 PARAMETER (rhoca=2.6E3)
633 ! bulk density of aerosol k. equals to dust.
635 PARAMETER (rhok=2.6E3)
637 ! bulk density of aerosol mg. equals to dust.
639 PARAMETER (rhomg=2.6E3)
641 ! *** Factors for converting aerosol mass concentration [ ug m**-3] to
642 ! to 3rd moment concentration [ m**3 m^-3]
645 PARAMETER (so4fac=f6dpim9/rhoso4)
648 PARAMETER (nh4fac=f6dpim9/rhonh4)
651 PARAMETER (h2ofac=f6dpim9/rhoh2o)
654 PARAMETER (no3fac=f6dpim9/rhono3)
657 PARAMETER (orgfac=f6dpim9/rhoorg)
660 PARAMETER (soilfac=f6dpim9/rhosoil)
663 PARAMETER (seasfac=f6dpim9/rhoseas)
666 PARAMETER (anthfac=f6dpim9/rhoanth)
669 PARAMETER (nafac=f6dpim9/rhona)
672 PARAMETER (clfac=f6dpim9/rhocl)
676 PARAMETER (cafac=f6dpim9/rhoca)
679 PARAMETER (kfac=f6dpim9/rhok)
682 PARAMETER (mgfac=f6dpim9/rhomg)
686 ! starting standard surface pressure [ Pa ]
688 PARAMETER (pss0=101325.0)
690 ! starting standard surface temperature [ K ]
692 PARAMETER (tss0=288.15)
694 ! initial sigma-G for nucleimode
696 PARAMETER (sginin=1.70)
698 ! initial sigma-G for accumulation mode
700 PARAMETER (sginia=2.00)
702 ! initial sigma-G for coarse mode
704 PARAMETER (sginic=2.5)
706 ! initial mean diameter for nuclei mode [ m ]
708 PARAMETER (dginin=0.01E-6)
710 ! initial mean diameter for accumulation mode [ m ]
712 PARAMETER (dginia=0.07E-6)
714 ! initial mean diameter for coarse mode [ m ]
716 PARAMETER (dginic=1.0E-6)
718 !................ end AERO3box.EXT ...............................
719 !///////////////////////////////////////////////////////////////////////
721 ! LOGICAL diagnostics
722 ! *** Scalar variables for fixed standard deviations.
724 ! Flag for writing diagnostics to file
725 ! nuclei mode exp( log^2( sigmag )/8 )
727 ! accumulation mode exp( log^2( sigmag )
731 ! coarse mode exp( log^2( sigmag )/8 )
858 ! *** set up COMMON blocks for esg's:
862 ! *** SET NUCLEATION FLAG:
864 ! INUCL = 0, Kerminen & Wexler Mechanism
866 ! INUCL = 1, Youngblood and Kreidenweis mech
867 ! INUCL = 2, Kulmala et al. mechanism
868 ! Flag for Choice of nucleation Mechanism
871 ! *** Set flag for sedimentation velocities:
874 PARAMETER (icoarse=.FALSE.) ! *** END AERO_INTERNAL.EXT
875 ! *** Diameters and standard deviations for emissions
876 ! the diameters are the volume (mass) geometric mean diameters
879 ! special factor to compute mass transfer
881 PARAMETER (dgvem_i=0.03E-6) ! [ m ]
883 PARAMETER (sgem_i=1.7)
885 ! *** Accumulation mode:
887 PARAMETER (dgvem_j=0.3E-6) ! [ m ]
889 PARAMETER (sgem_j=2.0)
893 PARAMETER (dgvem_c=6.0E-6) ! [ m ] <<< Corrected 11/19/97
895 PARAMETER (sgem_c=2.2)
897 ! *** factors for getting number emissions rate from mass emissions rate
905 REAL facatkn_min, facacc_min
906 PARAMETER (facatkn_min=0.04,facacc_min=1.0-facatkn_min)
908 REAL, PARAMETER :: conmin = 1.E-16
909 REAL, PARAMETER :: epsilc = 1.E-16
910 ! [ ug/m**3 ] ! changed 1/6/98
911 REAL*8 & ! factor to set minimum for Aitken mode number
913 REAL*8 & ! factor to set minimum for accumulation mode nu
917 ! factor to set minimum for coarse mode number
919 !bs REAL ALPHSULF ! Accommodation coefficient for sulfuric acid
920 !bs PARAMETER ( ALPHSULF = 0.05 ) ! my be set to one in future
922 !bs REAL DIFFSULF ! molecular diffusivity for sulfuric acid [ m**2
923 !bs PARAMETER( DIFFSULF = 0.08E-4 ) ! may be changed in future
925 !bs * 23/03/99 updates of ALPHSULF and DIFFSULF adopted fro new code fro
926 !bs * DIFFSULF is calculated from Reid, Prausnitz, and Poling, The prope
927 !bs * of gases and liquids, 4th edition, McGraw-Hill, 1987, pp 587-588.
928 !bs * Equation (11-4.4) was used.
929 !bs * The value is at T = 273.16 K and P = 1.01325E05 Pa
930 !bs * Temperature dependence is included for DIFFSULF via DIFFCORR (see
932 ! Accommodation coefficient for sulfuric
934 PARAMETER (alphsulf=1.0)
935 !bs updated from code of FSB
936 ! molecular weight for sulfuric acid [ kg/mole ] MKS
938 PARAMETER (mwh2so4=98.07354E-3)
939 !cia corrected error 24/11/97
940 ! molecular diffusivity for sulfuric acid [ m**2 /se
942 PARAMETER (diffsulf=9.362223E-06)
943 !bs updated from code of FSB
944 !bs Accomodation coefficient for organic
946 PARAMETER (alphaorg=1.0) !bs Kleeman et al. '99 propose alpha
947 !bs Bowman et al. '97 uses alpha = 1.
948 !bs mean molecular weight of organics [k
950 PARAMETER (mworg=175.0E-03)
952 !bs * DIFFORG is calculated from the same formula as DIFFSULF.
953 !bs * An average elemental composition of C=8, O=3, N=1, H=17 is asuumed
954 !bs * to calculate DIFFORG at T = 273.16K and P = 1.01325E05 Pa.
955 !bs * Temperature dependence is included below.
956 !bs molecular diffusivity for organics [
958 PARAMETER (difforg=5.151174E-06)
959 ! *** CCONC is the factor for near-continuum condensation.
962 PARAMETER (cconc=2.0*pirs*diffsulf)
963 !bs * factor for NC condensation for organics
966 PARAMETER (cconc_org=2.0*pirs*difforg)
968 !bs analogue to CCOFM but for organics
970 ! FSB CCOFM is the accommodation coefficient
971 ! times the mean molecular velocity for h2so4 without the temperatu
974 !bs CCOFM_ORG * sqrt(TA)
975 ! set to a value below
977 ! minimum aerosol sulfate concentration
979 PARAMETER (aeroconcmin=0.0001)
981 !*******************************************************************
983 !* start parameters and variables for aerosol-cloud interactions *
985 !*******************************************************************
987 ! maxd_atype = maximum allowable number of aerosol types
988 ! maxd_asize = maximum allowable number of aerosol size bins
989 ! maxd_acomp = maximum allowable number of chemical components
990 ! in each aerosol size bin
991 ! maxd_aphase = maximum allowable number of aerosol phases (gas, cloud, ice, rain, ...)
993 ! ntype_aer = number of aerosol types
994 ! nsize_aer(t) = number of aerosol size bins for aerosol type t. each bin w/ same set of components
995 ! nphase_aer = number of aerosol phases
997 ! msectional - if positive, moving-center sectional code is utilized,
998 ! and each mode is actually a section.
999 ! maerosolincw - if positive, both unactivated/interstitial and activated
1000 ! aerosol species are simulated. if zero/negative, only the
1001 ! unactivated are simulated.
1003 ! ncomp_aer(t) = number of chemical components for aerosol type t
1004 ! ncomp_aer_nontracer(t) = number of "non-tracer" chemical components while in gchm code
1005 ! mastercompptr_aer(c,t) = mastercomp type/i.d. for chemical component c
1006 ! (1=sulfate, others to be defined) and aerosol type t.
1007 ! massptr_aer(c,s,t,p) = gchm r-array index for the mixing ratio
1008 ! (moles-x/mole-air) for chemical component c in size bin s for type t and phase p
1010 ! waterptr_aer(s,t) = mixing ratio (moles-water/mole-air) for water
1011 ! associated with aerosol size bin s and type t
1012 ! hygroptr_aer(s,t) = gchm r-array index for the bulk hygroscopicity of the size bin and type
1013 ! numptr_aer(s,t,p) = gchm r-array index for the number mixing ratio
1014 ! (particles/mole-air) for aerosol size bin s, type t, and phase p
1015 ! If zero or negative, then number is not being simulated.
1017 ! mprognum_aer(s,t,p) - if positive, number mixing-ratio for size s, type t,
1018 ! and phase p will be prognosed. Otherwise, no.
1020 ! ntot_mastercomp_aer = number of aerosol chemical components defined
1021 ! dens_mastercomp_aer(mc) = dry density (g/cm^3) of aerosol master chemical component type c
1022 ! mw_mastercomp_aer(mc) = molecular weight of aerosol master chemical component type mc
1023 ! name_mastercomp_aer(mc) = name of aerosol master chemical component type mc
1024 ! mc=mastercompptr_aer(c,t)
1025 ! dens_aer(c,t) = dry density (g/cm^3) of aerosol chemical component type c and type t
1026 ! mw_aer(c,t) = molecular weight of aerosol chemical component type c and type t
1027 ! name_aer(c,t) = name of aerosol chemical component type c and type t
1029 ! lptr_so4_aer(s,t,p) = gchm r-array index for the
1030 ! mixing ratio for sulfate associated with aerosol size bin s, type t, and phase p
1031 ! (similar for msa, oc, bc, nacl, dust)
1033 !-----------------------------------------------------------------------
1035 ! volumcen_sect(s,t)= volume (cm^3) at center of section m
1036 ! volumlo_sect(s,t) = volume (cm^3) at lower boundary of section m
1037 ! volumhi_sect(s,t) = volume (cm^3) at upper boundary of section m
1039 ! dlo_sect(s,t) = diameter (cm) at lower boundary of section m
1040 ! dhi_sect(s,t) = diameter (cm) at upper boundary of section m
1041 ! dcen_sect(s,t) = volume arithmetic-mean diameter (cm) of section m
1042 ! (corresponds to volumcen_sect == 0.5*(volumlo_sect + volumhi_sect)
1044 !-----------------------------------------------------------------------
1045 ! nov-04 sg ! replaced amode with aer and expanded aerosol dimension to include type and phase
1047 integer, parameter :: maxd_atype = 2
1048 integer, parameter :: maxd_asize = 2
1049 integer, parameter :: maxd_acomp = 19
1050 integer, parameter :: maxd_aphase = 2
1051 integer, save :: ai_phase ! interstitial phase of aerosol
1052 integer, save :: cw_phase ! cloud water phase of aerosol
1053 integer, save :: ci_phase ! cloud ice phase of aerosol
1054 integer, save :: cr_phase ! rain phase of aerosol
1055 integer, save :: cs_phase ! snow phase of aerosol
1056 integer, save :: cg_phase ! graupel phase of aerosol
1058 integer, save :: ntype_aer = 0 ! number of types
1059 integer, save :: ntot_mastercomp_aer = 0 ! number of master components
1060 integer, save :: nphase_aer = 0 ! number of phases
1063 msectional, maerosolincw, &
1064 nsize_aer( maxd_atype ), & ! number of size bins
1065 ncomp_aer( maxd_atype ), & ! number of chemical components
1066 ncomp_aer_nontracer( maxd_atype ), &
1067 mastercompptr_aer(maxd_acomp, maxd_atype), & ! mastercomp index
1068 massptr_aer( maxd_acomp, maxd_asize, maxd_atype, maxd_aphase ), & ! index for mixing ratio
1069 waterptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol water
1070 hygroptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol hygroscopicity
1071 numptr_aer( maxd_asize, maxd_atype, maxd_aphase ), & ! index for the number mixing ratio
1072 mprognum_aer(maxd_asize,maxd_atype,maxd_aphase)
1075 dens_aer( maxd_acomp, maxd_atype ), &
1076 dens_mastercomp_aer( maxd_acomp ), &
1077 mw_mastercomp_aer( maxd_acomp ), &
1078 mw_aer( maxd_acomp, maxd_atype ), &
1079 hygro_mastercomp_aer( maxd_acomp ), &
1080 hygro_aer( maxd_acomp, maxd_atype )
1081 character*10, save :: &
1082 name_mastercomp_aer( maxd_acomp ), &
1083 name_aer( maxd_acomp, maxd_atype )
1086 volumcen_sect( maxd_asize, maxd_atype ), &
1087 volumlo_sect( maxd_asize, maxd_atype ), &
1088 volumhi_sect( maxd_asize, maxd_atype ), &
1089 dcen_sect( maxd_asize, maxd_atype ), &
1090 dlo_sect( maxd_asize, maxd_atype ), &
1091 dhi_sect( maxd_asize, maxd_atype ), &
1092 sigmag_aer(maxd_asize, maxd_atype)
1095 lptr_so4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1096 lptr_nh4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1097 lptr_no3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1099 lptr_asoa1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1100 lptr_asoa2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1101 lptr_asoa3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1102 lptr_asoa4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1103 lptr_bsoa1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1104 lptr_bsoa2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1105 lptr_bsoa3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1106 lptr_bsoa4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1108 ! lptr_orgaro1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1109 ! lptr_orgaro2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1110 ! lptr_orgalk_aer(maxd_asize,maxd_atype,maxd_aphase), &
1111 ! lptr_orgole_aer(maxd_asize,maxd_atype,maxd_aphase), &
1112 ! lptr_orgba1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1113 ! lptr_orgba2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1114 ! lptr_orgba3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1115 ! lptr_orgba4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1117 lptr_orgpa_aer(maxd_asize,maxd_atype,maxd_aphase), &
1118 lptr_ec_aer(maxd_asize,maxd_atype,maxd_aphase), &
1119 lptr_p25_aer(maxd_asize,maxd_atype,maxd_aphase), &
1120 lptr_anth_aer(maxd_asize,maxd_atype,maxd_aphase), &
1121 lptr_cl_aer(maxd_asize,maxd_atype,maxd_aphase), &
1122 lptr_na_aer(maxd_asize,maxd_atype,maxd_aphase), &
1123 lptr_seas_aer(maxd_asize,maxd_atype,maxd_aphase), &
1124 lptr_soil_aer(maxd_asize,maxd_atype,maxd_aphase)
1127 do_cloudchem_aer(maxd_asize,maxd_atype)
1130 ! molecular weights (g/mol)
1131 real, parameter :: mw_so4_aer = 96.066
1132 real, parameter :: mw_no3_aer = 62.007
1133 real, parameter :: mw_nh4_aer = 18.042
1134 real, parameter :: mw_oc_aer = 250.0
1135 real, parameter :: mw_ec_aer = 1.0
1136 real, parameter :: mw_oin_aer = 1.0
1137 real, parameter :: mw_dust_aer = 100.087
1138 real, parameter :: mw_seas_aer = 58.440
1139 real, parameter :: mw_cl_aer = 35.450
1140 real, parameter :: mw_na_aer = 22.990
1141 real, parameter :: mw_water_aer = 18.016
1143 ! dry densities (g/cm3)
1144 real, parameter :: dens_so4_aer = 1.80 ! = rhoso4
1145 real, parameter :: dens_no3_aer = 1.80 ! = rhono3
1146 real, parameter :: dens_nh4_aer = 1.80 ! = rhonh4
1147 real, parameter :: dens_oc_aer = 1.5 ! = rhoorg ! changed from 1.0
1148 real, parameter :: dens_ec_aer = 1.70
1149 real, parameter :: dens_dust_aer = 2.60 ! = rhosoil
1150 real, parameter :: dens_oin_aer = 2.20 ! = rhoanth
1151 real, parameter :: dens_seas_aer = 2.20 ! = rhoseas
1152 real, parameter :: dens_cl_aer = 2.20
1153 real, parameter :: dens_na_aer = 2.20
1155 ! water density (g/cm3)
1156 real, parameter :: dens_water_aer = 1.0
1158 ! hygroscopicity (dimensionless)
1159 real, parameter :: hygro_so4_aer = 0.5
1160 real, parameter :: hygro_no3_aer = 0.5
1161 real, parameter :: hygro_nh4_aer = 0.5
1162 real, parameter :: hygro_oc_aer = 0.14
1163 real, parameter :: hygro_ec_aer = 1.e-6
1164 real, parameter :: hygro_oin_aer = 0.14
1165 real, parameter :: hygro_dust_aer = 0.1
1166 real, parameter :: hygro_seas_aer = 1.16
1167 real, parameter :: hygro_cl_aer = 1.16
1168 real, parameter :: hygro_na_aer = 1.16
1170 ! table lookup of aerosol impaction/interception scavenging rates
1171 real dlndg_nimptblgrow
1172 integer nimptblgrow_mind, nimptblgrow_maxd
1173 parameter (nimptblgrow_mind=-14, nimptblgrow_maxd=24)
1174 real scavimptblnum(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype), &
1175 scavimptblvol(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype)
1177 !SAM 10/08 Gaussian quadrature constants for SOA_VBS deposition numerical integration
1179 PARAMETER( NGAUSdv = 7 ) ! Number of Gaussian Quadrature Points - constants defined in aerosols_sorgam_init
1180 REAL Y_GQ(NGAUSdv), WGAUS(NGAUSdv)
1182 !*****************************************************************
1184 !* end parameters and variables for aerosol-cloud interactions *
1186 !*****************************************************************
1189 END Module module_data_soa_vbs