2 MODULE module_data_sorgam
7 INTEGER NP !bs maximum expected value of N
10 ! parameter (numaer=50)
12 INTEGER MAXITS !bs maximum number of iterations
13 PARAMETER (MAXITS = 100)
15 REAL TOLF !bs convergence criterion on function values
16 PARAMETER (TOLF = 1.E-09)
18 REAL TOLMIN !bs criterion whether superios convergence to
19 PARAMETER (TOLMIN = 1.E-12) !bs a minimum of fmin has occurred
21 REAL TOLX !bs convergence criterion on delta_x
22 PARAMETER (TOLX = 1.E-10)
24 REAL STPMX !bs scaled maximum step length allowed
25 PARAMETER (STPMX = 100.)
29 PARAMETER (c303=19.83,c302=5417.4)
31 INTEGER lcva, lcvb, lspcv, ldesn
32 PARAMETER (lcva=4,lcvb=4,lspcv=lcva+lcvb)
34 !mh ldesn is number of deposition species
35 !mh true number of deposited species may be larger since there
36 !mh are species which are deposited with the same rate
38 INTEGER laerdvc, lnonaerdvc, l1ae, laero, imodes, aspec
39 ! PARAMETER (laerdvc=34,lnonaerdvc=8+lspcv)
40 PARAMETER (laerdvc=39,lnonaerdvc=8+lspcv)
41 PARAMETER (l1ae=laerdvc+lnonaerdvc)
42 PARAMETER (laero=4,imodes=4,aspec=1)
43 ! LAERDVC number of advected aerosol dynamic parameters for a given
45 !ia L1AE advected parameters+non-advected parameters
46 !ia LAERO number of aerosol component species
47 !ia imodes number of aerosol modes
48 !ia ASPEC number of gas phase comp. that are added dynamically
49 !ia currently only sulfate (=1)
51 !bs * BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS ** BS **
55 !bs * AEMISS # of aerosol species with emissions link to gas phase
56 !bs currently ECI, ECJ, BCI, BCJ
62 PARAMETER (ldrog=ldroga+ldrogb)
63 !bs * LDROGA # of anthropogenic organic aerosol precursor gases (DR
64 !bs * LDROGB # of biogenic organic aerosol precursor gases (DROG)
65 !bs * LSPCV # of condensable organic vapor interacting between gas
66 !bs aerosol phase with SORGAM
70 ! //////////////////////////////////////////////////////////////////////
73 ! *** declare and set flag for organic aerosol production method
74 ! *** Two method are available:
76 ! *** The method of Pandis,Harley, Cass, and Seinfeld, 1992,
77 ! Secondary aerosol formation and transport, Atmos. Environ., 26A,
79 ! Bowman et al. Atmospheric Environment
80 ! Vol 29, pp 579-589, 1995.
82 ! *** The method of Odum, Hoffmann, Bowman, Collins, Flagen and
83 ! Seinfeld, 1996, Gas/particle partitioning and secondary organic ae
84 ! yields, Environ. Sci, Technol, 30, pp 2580-2585.
87 ! 1 = Pandis et al. 1992 method is used
89 ! 2 = Pankow 1994/Odum et al. 1996 method is
91 ! switch for organic aerosol method
94 ! *** information about visibility variables
95 ! number of visibility variables
97 PARAMETER (n_ae_vis_spc=2)
99 ! index for visual range in deciview
102 ! index for extinction [ 1/km ]
107 ! *** set up indices for array CBLK
109 ! index for Accumulation mode sulfate aerosol
113 ! index for Aitken mode sulfate concentration
117 ! index for Accumulation mode aerosol ammonium
121 ! index for Aitken mode ammonium concentration
125 ! index for Accumulation mode aerosol nitrate
129 ! index for Aitken mode nitrate concentration
133 ! index for Accumulation mode aerosol sodium
137 ! index for Aitken mode sodium concentration
141 ! index for Accumulation mode aerosol chloride
145 ! index for Aitken mode chloride concentration
149 ! index for Accumulation mode anthropogenic
151 PARAMETER (vorgaro1j=11)
153 ! index for Aitken mode anthropogenic org
155 PARAMETER (vorgaro1i=12)
157 ! index for Accumulation mode anthropogenic
159 PARAMETER (vorgaro2j=13)
161 ! index for Aitken mode anthropogenic org
163 PARAMETER (vorgaro2i=14)
165 ! index for Accumulation mode anthropogenic
167 PARAMETER (vorgalk1j=15)
169 ! index for Aitken mode anthropogenic org
171 PARAMETER (vorgalk1i=16)
173 ! index for Accumulation mode anthropogenic
175 PARAMETER (vorgole1j=17)
177 ! index for Aitken mode anthropogenic org
179 PARAMETER (vorgole1i=18)
181 ! index for Accumulation mode biogenic aerosol
183 PARAMETER (vorgba1j=19)
185 ! index for Aitken mode biogenic aerosol concentration
187 PARAMETER (vorgba1i=20)
189 ! index for Accumulation mode biogenic aerosol
191 PARAMETER (vorgba2j=21)
193 ! index for Aitken mode biogenic aerosol concentration
195 PARAMETER (vorgba2i=22)
197 ! index for Accumulation mode biogenic aerosol
199 PARAMETER (vorgba3j=23)
201 ! index for Aitken mode biogenic aerosol concentration
203 PARAMETER (vorgba3i=24)
205 ! index for Accumulation mode biogenic aerosol
207 PARAMETER (vorgba4j=25)
209 ! index for Aitken mode biogenic aerosol concentration
211 PARAMETER (vorgba4i=26)
213 ! index for Accumulation mode primary anthropogenic
215 PARAMETER (vorgpaj=27)
217 ! index for Aitken mode primary anthropogenic
219 PARAMETER (vorgpai=28)
221 ! index for Accumulation mode aerosol elemen
225 ! index for Aitken mode elemental carbon
229 ! index for Accumulation mode primary PM2.5
231 PARAMETER (vp25aj=31)
233 ! index for Aitken mode primary PM2.5 concentration
235 PARAMETER (vp25ai=32)
237 ! index for coarse mode anthropogenic aerososol
239 PARAMETER (vantha=33)
241 ! index for coarse mode marine aerosol concentration
245 ! index for coarse mode soil-derived aerosol
247 PARAMETER (vsoila=35)
249 ! index for Aitken mode number
253 ! index for accum mode number
257 ! index for coarse mode number
261 ! index for Accumulation mode aerosol water
263 PARAMETER (vh2oaj=39)
265 ! index for Aitken mode aerosol water concentration
267 PARAMETER (vh2oai=40)
269 ! index for Aitken mode 3'rd moment
273 ! index for Accumulation mode 3'rd moment
277 ! index for coarse mode 3rd moment
281 ! index for sulfuric acid vapor concentration
285 ! index for nitric acid vapor concentration
289 ! index for ammonia gas concentration
293 ! index for HCL gas concentration
297 ! index for cond. vapor from aromatics
299 PARAMETER (vcvaro1=48)
301 ! index for cond. vapor from aromatics
303 PARAMETER (vcvaro2=49)
305 ! index for cond. vapor from anth. alkane
307 PARAMETER (vcvalk1=50)
309 ! index for cond. vapor from anth. olefin
311 PARAMETER (vcvole1=51)
313 ! index for cond. vapor from biogenics
315 PARAMETER (vcvapi1=52)
317 ! index for cond. vapor from biogenics
319 PARAMETER (vcvapi2=53)
321 ! index for cond. vapor from biogenics
323 PARAMETER (vcvlim1=54)
325 ! index for cond. vapor from biogenics
327 PARAMETER (vcvlim2=55)
330 ! & VSO4AJ,VSO4AI,VNH4AJ,VNH4AI,VNO3AJ,VNO3AI,
331 ! & VORGAJ,VORGAI, VORGPAJ,VORGPAI,
332 ! & VORGBAJ,VORGBAI,VECJ,VECI,
333 ! & VP25AJ,VP25AI,VANTHA,VSEAS,VSOILA,
339 ! *** set up species dimension and indices for sedimentation
340 ! velocity array VSED
342 ! number of sedimentation velocities
344 PARAMETER (naspcssed=6)
346 ! index for Aitken mode number
350 ! index for Accumulation mode number
354 ! index for coarse mode number
358 ! index for Aitken mode mass
362 ! index for accumulation mode mass
366 ! index for coarse mass
370 ! *** set up species dimension and indices for deposition
371 ! velocity array VDEP
373 ! number of deposition velocities
375 PARAMETER (naspcsdep=7)
377 ! index for Aitken mode number
381 ! index for accumulation mode number
385 ! index for coarse mode number
389 ! index for Aitken mode mass
393 ! index for accumulation mode
397 ! index for fine mode mass (Aitken + accumulatio
399 PARAMETER (vdmfine=6)
401 ! index for coarse mode mass
405 ! *** END AEROSTUFF.EXT
407 !BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * !
409 !BS * include file used in SORGAM routines * !
411 !BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * BS * !
414 !bs * species pointer for condensable vapor production
468 !bs * Number of lumped condensable vapors in SORGAM
470 !bs INTEGER NACV !bs # of anth. cond. vapors
471 !bs PARAMETER (NACV = 2)
472 !bs INTEGER NBCV !bs # of bio. cond. vapors
473 !bs PARAMETER (NBCV = 1)
474 !bs INTEGER NCV !bs total # of cond. vapor
475 !bs PARAMETER (NCV = NACV + NBCV)
477 !bs * species pointer for SOA species
480 PARAMETER (psoaaro1=1)
482 PARAMETER (psoaaro2=2)
484 PARAMETER (psoaalk1=3)
486 PARAMETER (psoaole1=4)
488 PARAMETER (psoaapi1=5)
490 PARAMETER (psoaapi2=6)
492 PARAMETER (psoalim1=7)
494 PARAMETER (psoalim2=8)
496 !bs * end of AERO_SOA.EXT *
499 ! *** include file for aerosol routines
502 !....................................................................
504 ! CONTAINS: Fundamental constants for air quality modeling
506 ! DEPENDENT UPON: none
510 ! Adapted 6/92 by CJC from ROM's PI.EXT.
512 ! Revised 3/1/93 John McHenry to include constants needed by
513 ! LCM aqueous chemistry
514 ! Revised 9/93 by John McHenry to include additional constants
515 ! needed for FMEM clouds and aqueous chemistry
517 ! Revised 3/4/96 by Dr. Francis S. Binkowski to reflect current
518 ! Models3 view that MKS units should be used wherever possible,
519 ! and that sources be documentated. Some variables have been added
520 ! names changed, and values revised.
522 ! Revised 3/7/96 to have universal gas constant input and compute
523 ! gas constant is chemical form. TWOPI is now calculated rather than
525 ! Revised 3/13/96 to group declarations and parameter statements.
527 ! Revised 9/13/96 to include more physical constants.
528 ! Revised 12/24/96 eliminate silly EPSILON, AMISS
530 ! Revised 1/06/97 to eliminate most derived constants
534 ! CRC76, CRC Handbook of Chemistry and Physics (76th Ed),
536 ! Hobbs, P.V. Basic Physical Chemistry for the Atmospheric Scien
537 ! Cambridge Univ. Press, 206 pp, 1995.
538 ! Snyder, J.P., Map Projections-A Working Manual, U.S. Geological
539 ! Paper 1395 U.S.GPO, Washington, DC, 1987.
540 ! Stull, R. B., An Introduction to Bounday Layer Meteorology, Klu
543 ! Geometric Constants:
545 REAL*8 & ! PI (single precision 3.141593)
547 PARAMETER (pirs=3.14159265358979324)
548 ! REAL PIRS ! PI (single precision 3.141593)
549 ! PARAMETER ( PIRS = 3.141593 )
550 ! Fundamental Constants: ( Source: CRC76, pp 1-1 to 1-6)
552 ! Avogadro's Constant [ 1/mol ]
554 PARAMETER (avo=6.0221367E23)
556 ! universal gas constant [ J/mol-K ]
558 PARAMETER (rgasuniv=8.314510)
560 ! standard atmosphere [ Pa ]
562 PARAMETER (stdatmpa=101325.0)
564 ! Standard Temperature [ K ]
566 PARAMETER (stdtemp=273.15)
568 ! Stefan-Boltzmann [ W/(m**2 K**4) ]
570 PARAMETER (stfblz=5.67051E-8)
573 ! mean gravitational acceleration [ m/sec**2 ]
575 PARAMETER (grav=9.80622)
576 ! FSB Non MKS qualtities:
578 ! Molar volume at STP [ L/mol ] Non MKS units
580 PARAMETER (molvol=22.41410)
583 ! Atmospheric Constants:
585 ! FSB 78.06% N2, 21% O2 and 0.943% A on a mole
587 ! fraction basis. ( Source : Hobbs, 1995) pp 69-
588 ! mean molecular weight for dry air [ g/mol ]
589 PARAMETER (mwair=28.9628)
591 ! dry-air gas constant [ J / kg-K ]
593 PARAMETER (rdgas=1.0E3*rgasuniv/mwair)
597 PARAMETER (threepi=3.0*pirs)
601 PARAMETER (f6dpi=6.0/pirs)
605 PARAMETER (f6dpi9=1.0E9*f6dpi)
609 PARAMETER (f6dpim9=1.0E-9*f6dpi)
613 PARAMETER (sqrtpi=1.7724539)
617 PARAMETER (sqrt2=1.4142135623731)
621 PARAMETER (lgsqt2=0.34657359027997)
625 PARAMETER (dlgsqt2=1.0/lgsqt2)
629 PARAMETER (one3=1.0/3.0)
633 PARAMETER (two3=2.0/3.0)
636 ! *** physical constants:
638 ! Boltzmann's Constant [ J / K ]
640 PARAMETER (boltz=rgasuniv/avo)
643 ! *** component densities [ kg/m**3 ] :
646 ! bulk density of aerosol sulfate
648 PARAMETER (rhoso4=1.8E3)
650 ! bulk density of aerosol ammonium
652 PARAMETER (rhonh4=1.8E3)
654 ! bulk density of aerosol nitrate
656 PARAMETER (rhono3=1.8E3)
658 ! bulk density of aerosol water
660 PARAMETER (rhoh2o=1.0E3)
662 ! bulk density for aerosol organics
664 PARAMETER (rhoorg=1.0E3)
666 ! bulk density for aerosol soil dust
668 PARAMETER (rhosoil=2.6E3)
670 ! bulk density for marine aerosol
672 PARAMETER (rhoseas=2.2E3)
674 ! bulk density for anthropogenic aerosol
676 PARAMETER (rhoanth=2.2E3)
678 ! bulk density of aerosol sodium
680 PARAMETER (rhona=2.2E3)
682 ! bulk density of aerosol chloride
684 PARAMETER (rhocl=2.2E3)
686 ! *** Factors for converting aerosol mass concentration [ ug m**-3] to
687 ! to 3rd moment concentration [ m**3 m^-3]
690 PARAMETER (so4fac=f6dpim9/rhoso4)
693 PARAMETER (nh4fac=f6dpim9/rhonh4)
696 PARAMETER (h2ofac=f6dpim9/rhoh2o)
699 PARAMETER (no3fac=f6dpim9/rhono3)
702 PARAMETER (orgfac=f6dpim9/rhoorg)
705 PARAMETER (soilfac=f6dpim9/rhosoil)
708 PARAMETER (seasfac=f6dpim9/rhoseas)
711 PARAMETER (anthfac=f6dpim9/rhoanth)
714 PARAMETER (nafac=f6dpim9/rhona)
717 PARAMETER (clfac=f6dpim9/rhocl)
719 ! starting standard surface pressure [ Pa ]
721 PARAMETER (pss0=101325.0)
723 ! starting standard surface temperature [ K ]
725 PARAMETER (tss0=288.15)
727 ! initial sigma-G for nucleimode
729 PARAMETER (sginin=1.70)
731 ! initial sigma-G for accumulation mode
733 PARAMETER (sginia=2.00)
735 ! initial sigma-G for coarse mode
737 PARAMETER (sginic=2.5)
739 ! initial mean diameter for nuclei mode [ m ]
741 PARAMETER (dginin=0.01E-6)
743 ! initial mean diameter for accumulation mode [ m ]
745 PARAMETER (dginia=0.07E-6)
747 ! initial mean diameter for coarse mode [ m ]
749 PARAMETER (dginic=1.0E-6)
753 !................ end AERO3box.EXT ...............................
754 !///////////////////////////////////////////////////////////////////////
760 ! LOGICAL diagnostics
761 ! *** Scalar variables for fixed standard deviations.
763 ! Flag for writing diagnostics to file
764 ! nuclei mode exp( log^2( sigmag )/8 )
766 ! accumulation mode exp( log^2( sigmag )
770 ! coarse mode exp( log^2( sigmag )/8 )
898 ! *** set up COMMON blocks for esg's:
904 ! *** SET NUCLEATION FLAG:
906 ! INUCL = 0, Kerminen & Wexler Mechanism
908 ! INUCL = 1, Youngblood and Kreidenweis mech
909 ! INUCL = 2, Kulmala et al. mechanism
910 ! Flag for Choice of nucleation Mechanism
913 ! *** Set flag for sedimentation velocities:
916 PARAMETER (icoarse=.FALSE.) ! *** END AERO_INTERNAL.EXT
917 ! *** Diameters and standard deviations for emissions
918 ! the diameters are the volume (mass) geometric mean diameters
921 ! special factor to compute mass transfer
923 PARAMETER (dgvem_i=0.03E-6) ! [ m ]
925 PARAMETER (sgem_i=1.7)
927 ! *** Accumulation mode:
929 PARAMETER (dgvem_j=0.3E-6) ! [ m ]
931 PARAMETER (sgem_j=2.0)
935 PARAMETER (dgvem_c=6.0E-6) ! [ m ] <<< Corrected 11/19/97
937 PARAMETER (sgem_c=2.2)
939 ! *** factors for getting number emissions rate from mass emissions rate
947 REAL facatkn_min, facacc_min
948 PARAMETER (facatkn_min=0.04,facacc_min=1.0-facatkn_min)
950 PARAMETER (conmin=epsilc)
951 ! [ ug/m**3 ] ! changed 1/6/98
952 REAL*8 & ! factor to set minimum for Aitken mode number
954 REAL*8 & ! factor to set minimum for accumulation mode nu
958 ! factor to set minimum for coarse mode number
960 !bs REAL ALPHSULF ! Accommodation coefficient for sulfuric acid
961 !bs PARAMETER ( ALPHSULF = 0.05 ) ! my be set to one in future
963 !bs REAL DIFFSULF ! molecular diffusivity for sulfuric acid [ m**2
964 !bs PARAMETER( DIFFSULF = 0.08E-4 ) ! may be changed in future
966 !bs * 23/03/99 updates of ALPHSULF and DIFFSULF adopted fro new code fro
967 !bs * DIFFSULF is calculated from Reid, Prausnitz, and Poling, The prope
968 !bs * of gases and liquids, 4th edition, McGraw-Hill, 1987, pp 587-588.
969 !bs * Equation (11-4.4) was used.
970 !bs * The value is at T = 273.16 K and P = 1.01325E05 Pa
971 !bs * Temperature dependence is included for DIFFSULF via DIFFCORR (see
973 ! Accommodation coefficient for sulfuric
975 PARAMETER (alphsulf=1.0)
976 !bs updated from code of FSB
977 ! molecular weight for sulfuric acid [ kg/mole ] MKS
979 PARAMETER (mwh2so4=98.07354E-3)
980 !cia corrected error 24/11/97
981 ! molecular diffusivity for sulfuric acid [ m**2 /se
983 PARAMETER (diffsulf=9.362223E-06)
984 !bs updated from code of FSB
985 !bs Accomodation coefficient for organic
987 PARAMETER (alphaorg=1.0) !bs Kleeman et al. '99 propose alpha
988 !bs Bowman et al. '97 uses alpha = 1.
989 !bs mean molecular weight of organics [k
991 PARAMETER (mworg=175.0E-03)
993 !bs * DIFFORG is calculated from the same formula as DIFFSULF.
994 !bs * An average elemental composition of C=8, O=3, N=1, H=17 is asuumed
995 !bs * to calculate DIFFORG at T = 273.16K and P = 1.01325E05 Pa.
996 !bs * Temepratur dependence is included below.
997 !bs molecular diffusivity for organics [
999 PARAMETER (difforg=5.151174E-06)
1000 ! *** CCONC is the factor for near-continuum condensation.
1001 ! ccofm * sqrt( ta )
1003 PARAMETER (cconc=2.0*pirs*diffsulf)
1004 !bs * factor for NC condensation for organics
1007 PARAMETER (cconc_org=2.0*pirs*difforg)
1009 !bs analogue to CCOFM but for organics
1011 ! FSB CCOFM is the accommodation coefficient
1012 ! times the mean molecular velocity for h2so4 without the temperatu
1013 ! after some algebra
1015 !bs CCOFM_ORG * sqrt(TA)
1016 ! set to a value below
1018 ! minimum aerosol sulfate concentration
1020 PARAMETER (aeroconcmin=0.0001)
1024 !*******************************************************************
1026 !* start parameters and variables for aerosol-cloud interactions *
1028 !*******************************************************************
1030 ! maxd_atype = maximum allowable number of aerosol types
1031 ! maxd_asize = maximum allowable number of aerosol size bins
1032 ! maxd_acomp = maximum allowable number of chemical components
1033 ! in each aerosol size bin
1034 ! maxd_aphase = maximum allowable number of aerosol phases (gas, cloud, ice, rain, ...)
1036 ! ntype_aer = number of aerosol types
1037 ! nsize_aer(t) = number of aerosol size bins for aerosol type t. each bin w/ same set of components
1038 ! nphase_aer = number of aerosol phases
1040 ! msectional - if positive, moving-center sectional code is utilized,
1041 ! and each mode is actually a section.
1042 ! maerosolincw - if positive, both unactivated/interstitial and activated
1043 ! aerosol species are simulated. if zero/negative, only the
1044 ! unactivated are simulated.
1046 ! ncomp_aer(t) = number of chemical components for aerosol type t
1047 ! ncomp_aer_nontracer(t) = number of "non-tracer" chemical components while in gchm code
1048 ! mastercompptr_aer(c,t) = mastercomp type/i.d. for chemical component c
1049 ! (1=sulfate, others to be defined) and aerosol type t.
1050 ! massptr_aer(c,s,t,p) = gchm r-array index for the mixing ratio
1051 ! (moles-x/mole-air) for chemical component c in size bin s for type t and phase p
1053 ! waterptr_aer(s,t) = mixing ratio (moles-water/mole-air) for water
1054 ! associated with aerosol size bin s and type t
1055 ! hygroptr_aer(s,t) = gchm r-array index for the bulk hygroscopicity of the size bin and type
1056 ! numptr_aer(s,t,p) = gchm r-array index for the number mixing ratio
1057 ! (particles/mole-air) for aerosol size bin s, type t, and phase p
1058 ! If zero or negative, then number is not being simulated.
1060 ! mprognum_aer(s,t,p) - if positive, number mixing-ratio for size s, type t,
1061 ! and phase p will be prognosed. Otherwise, no.
1063 ! ntot_mastercomp_aer = number of aerosol chemical components defined
1064 ! dens_mastercomp_aer(mc) = dry density (g/cm^3) of aerosol master chemical component type c
1065 ! mw_mastercomp_aer(mc) = molecular weight of aerosol master chemical component type mc
1066 ! name_mastercomp_aer(mc) = name of aerosol master chemical component type mc
1067 ! mc=mastercompptr_aer(c,t)
1068 ! dens_aer(c,t) = dry density (g/cm^3) of aerosol chemical component type c and type t
1069 ! mw_aer(c,t) = molecular weight of aerosol chemical component type c and type t
1070 ! name_aer(c,t) = name of aerosol chemical component type c and type t
1072 ! lptr_so4_aer(s,t,p) = gchm r-array index for the
1073 ! mixing ratio for sulfate associated with aerosol size bin s, type t, and phase p
1074 ! (similar for msa, oc, bc, nacl, dust)
1076 !-----------------------------------------------------------------------
1078 ! volumcen_sect(s,t)= volume (cm^3) at center of section m
1079 ! volumlo_sect(s,t) = volume (cm^3) at lower boundary of section m
1080 ! volumhi_sect(s,t) = volume (cm^3) at upper boundary of section m
1082 ! dlo_sect(s,t) = diameter (cm) at lower boundary of section m
1083 ! dhi_sect(s,t) = diameter (cm) at upper boundary of section m
1084 ! dcen_sect(s,t) = volume arithmetic-mean diameter (cm) of section m
1085 ! (corresponds to volumcen_sect == 0.5*(volumlo_sect + volumhi_sect)
1087 !-----------------------------------------------------------------------
1088 ! nov-04 sg ! replaced amode with aer and expanded aerosol dimension to include type and phase
1090 integer, parameter :: maxd_atype = 2
1091 integer, parameter :: maxd_asize = 2
1092 integer, parameter :: maxd_acomp = 19
1093 integer, parameter :: maxd_aphase = 2
1094 integer, save :: ai_phase ! interstitial phase of aerosol
1095 integer, save :: cw_phase ! cloud water phase of aerosol
1096 integer, save :: ci_phase ! cloud ice phase of aerosol
1097 integer, save :: cr_phase ! rain phase of aerosol
1098 integer, save :: cs_phase ! snow phase of aerosol
1099 integer, save :: cg_phase ! graupel phase of aerosol
1101 integer, save :: ntype_aer = 0 ! number of types
1102 integer, save :: ntot_mastercomp_aer = 0 ! number of master components
1103 integer, save :: nphase_aer = 0 ! number of phases
1106 msectional, maerosolincw, &
1107 nsize_aer( maxd_atype ), & ! number of size bins
1108 ncomp_aer( maxd_atype ), & ! number of chemical components
1109 ncomp_aer_nontracer( maxd_atype ), &
1110 mastercompptr_aer(maxd_acomp, maxd_atype), & ! mastercomp index
1111 massptr_aer( maxd_acomp, maxd_asize, maxd_atype, maxd_aphase ), & ! index for mixing ratio
1112 waterptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol water
1113 hygroptr_aer( maxd_asize, maxd_atype ), & ! index for aerosol hygroscopicity
1114 numptr_aer( maxd_asize, maxd_atype, maxd_aphase ), & ! index for the number mixing ratio
1115 mprognum_aer(maxd_asize,maxd_atype,maxd_aphase)
1118 dens_aer( maxd_acomp, maxd_atype ), &
1119 dens_mastercomp_aer( maxd_acomp ), &
1120 mw_mastercomp_aer( maxd_acomp ), &
1121 mw_aer( maxd_acomp, maxd_atype ), &
1122 hygro_mastercomp_aer( maxd_acomp ), &
1123 hygro_aer( maxd_acomp, maxd_atype )
1124 character*10, save :: &
1125 name_mastercomp_aer( maxd_acomp ), &
1126 name_aer( maxd_acomp, maxd_atype )
1129 volumcen_sect( maxd_asize, maxd_atype ), &
1130 volumlo_sect( maxd_asize, maxd_atype ), &
1131 volumhi_sect( maxd_asize, maxd_atype ), &
1132 dcen_sect( maxd_asize, maxd_atype ), &
1133 dlo_sect( maxd_asize, maxd_atype ), &
1134 dhi_sect( maxd_asize, maxd_atype ), &
1135 sigmag_aer(maxd_asize, maxd_atype)
1138 lptr_so4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1139 lptr_nh4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1140 lptr_no3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1141 lptr_orgaro1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1142 lptr_orgaro2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1143 lptr_orgalk_aer(maxd_asize,maxd_atype,maxd_aphase), &
1144 lptr_orgole_aer(maxd_asize,maxd_atype,maxd_aphase), &
1145 lptr_orgba1_aer(maxd_asize,maxd_atype,maxd_aphase), &
1146 lptr_orgba2_aer(maxd_asize,maxd_atype,maxd_aphase), &
1147 lptr_orgba3_aer(maxd_asize,maxd_atype,maxd_aphase), &
1148 lptr_orgba4_aer(maxd_asize,maxd_atype,maxd_aphase), &
1149 lptr_orgpa_aer(maxd_asize,maxd_atype,maxd_aphase), &
1150 lptr_ec_aer(maxd_asize,maxd_atype,maxd_aphase), &
1151 lptr_p25_aer(maxd_asize,maxd_atype,maxd_aphase), &
1152 lptr_anth_aer(maxd_asize,maxd_atype,maxd_aphase), &
1153 lptr_cl_aer(maxd_asize,maxd_atype,maxd_aphase), &
1154 lptr_na_aer(maxd_asize,maxd_atype,maxd_aphase), &
1155 lptr_seas_aer(maxd_asize,maxd_atype,maxd_aphase), &
1156 lptr_soil_aer(maxd_asize,maxd_atype,maxd_aphase)
1159 do_cloudchem_aer(maxd_asize,maxd_atype)
1162 ! molecular weights (g/mol)
1163 real, parameter :: mw_so4_aer = 96.066
1164 real, parameter :: mw_no3_aer = 62.007
1165 real, parameter :: mw_nh4_aer = 18.042
1166 real, parameter :: mw_oc_aer = 250.0
1167 real, parameter :: mw_ec_aer = 1.0
1168 real, parameter :: mw_oin_aer = 1.0
1169 real, parameter :: mw_dust_aer = 100.087
1170 real, parameter :: mw_seas_aer = 58.440
1171 real, parameter :: mw_cl_aer = 35.450
1172 real, parameter :: mw_na_aer = 22.990
1173 real, parameter :: mw_water_aer = 18.016
1175 ! dry densities (g/cm3)
1176 real, parameter :: dens_so4_aer = 1.80 ! = rhoso4
1177 real, parameter :: dens_no3_aer = 1.80 ! = rhono3
1178 real, parameter :: dens_nh4_aer = 1.80 ! = rhonh4
1179 real, parameter :: dens_oc_aer = 1.00 ! = rhoorg
1180 real, parameter :: dens_ec_aer = 1.70
1181 real, parameter :: dens_dust_aer = 2.60 ! = rhosoil
1182 real, parameter :: dens_oin_aer = 2.20 ! = rhoanth
1183 real, parameter :: dens_seas_aer = 2.20 ! = rhoseas
1184 real, parameter :: dens_cl_aer = 2.20
1185 real, parameter :: dens_na_aer = 2.20
1187 ! water density (g/cm3)
1188 real, parameter :: dens_water_aer = 1.0
1190 ! hygroscopicity (dimensionless)
1191 real, parameter :: hygro_so4_aer = 0.5
1192 real, parameter :: hygro_no3_aer = 0.5
1193 real, parameter :: hygro_nh4_aer = 0.5
1194 real, parameter :: hygro_oc_aer = 0.14
1195 real, parameter :: hygro_ec_aer = 1.e-6
1196 real, parameter :: hygro_oin_aer = 0.14
1197 real, parameter :: hygro_dust_aer = 0.1
1198 real, parameter :: hygro_seas_aer = 1.16
1199 real, parameter :: hygro_cl_aer = 1.16
1200 real, parameter :: hygro_na_aer = 1.16
1202 ! table lookup of aerosol impaction/interception scavenging rates
1203 real dlndg_nimptblgrow
1204 integer nimptblgrow_mind, nimptblgrow_maxd
1205 parameter (nimptblgrow_mind=-14, nimptblgrow_maxd=24)
1206 real scavimptblnum(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype), &
1207 scavimptblvol(4, nimptblgrow_mind:nimptblgrow_maxd, maxd_asize, maxd_atype)
1210 !SAM 10/08 Gaussian quadrature constants for SORGAM deposition numerical integration
1212 PARAMETER( NGAUSdv = 7 ) ! Number of Gaussian Quadrature Points - constants defined in aerosols_sorgam_init
1213 REAL Y_GQ(NGAUSdv), WGAUS(NGAUSdv)
1215 !*****************************************************************
1217 !* end parameters and variables for aerosol-cloud interactions *
1219 !*****************************************************************
1222 END Module module_data_sorgam