123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717 |
- module eqsam_param
- implicit none
- private
- public :: eqsam_v03d
- contains
- subroutine eqsam_v03d(yi,yo,nca,nco,iopt,loop,imax,ipunit,in)
- implicit none
- real,parameter :: RH_HIST_DW=1.50 ! mean value for mixture of wet (2) and dry (1) gridboxes (needed for HYSTERESIS)
- real,parameter :: T0=298.15,T1=298.0,AVO=6.03e23,R=82.0567e-6, & ! in cu.m*atm/deg/mole
- r_kcal = 1.986E-3 ! Ideal gas constant [kcal K-1.mole-1]
- real,parameter :: RHMAX=0.99,RHMIN=0.0001 ! restrict to max / min RH
- real,parameter :: MWNH4=18.,MWSO4=96.,MWNO3=62.,MWCl=35.5 ! mole mass of species considered
- real,parameter :: MWNa=23.0,MWCa=40.1,MWN=14.0, MWS=32.1
- real,parameter :: MWH20=55.51*18.01,ZERO=0.0
- real,parameter :: GF1=0.25,GF2=0.50,GF3=0.40,GF4=1.00,K=2. ! exponents of AC-RH functions
- integer,parameter :: NPAIR=10
- integer :: ii,il,IHYST
- integer,intent(in) :: nca,nco,imax,loop,ipunit
- integer,intent(inout) :: iopt
- integer,dimension(6),intent(in) :: in
- real :: T0T,TT,RH,PX,RHD,KAN,KAC,ZIONIC,RH_HIST,GAMA,GG,GF,GFN
- real :: X00,X01,X02,X03,X04,X05,X08,X09,X10,X11
- real :: X0,X1,X2,X3,X4,X5,X6,XK10,XK6
- real :: ZFLAG,ZKAN,ZKAC,PH,COEF,HPLUS,AKW,XKW,MOLAL
- real :: TNH4,TSO4,TNO3,TNa,TCl,TPo,TCa,TMg
- real :: PNH4,PSO4,PNO3,PCl,PNa,GNO3,GNH3,GSO4,GHCl
- real :: ASO4,ANO3,ANH4,ACl,ANa,SNH4,SSO4,SNO3,SCl,SNa
- real :: WH2O,PM,PMs,PMt,RINC,DON,RATIONS,GR,NO3P,NH4P
- Real :: H2O_NO3
- real,dimension(imax,nca),intent(in) :: yi
- real,dimension(imax,nco),intent(out) :: yo
- real,dimension(8) :: w1,w2
- real,dimension(8) :: RHDA,RHDE,RHDX,RHDZ ! RHD / MRHD arrays for different aerosol types
- real,dimension(NPAIR) :: M0,MW,NW,ZW ! arrays of ion pairs
- DATA MW(1:NPAIR)/ 58.5, 142.0, 88.0, 132.0, 80.0, 53.5, 98.0, 115.0, 120.0, 247.0/ ! mole mass of the salt solute
- DATA NW(1:NPAIR)/ 2.0, 2.5, 2.5, 2.5, 3.5, 1.0, 4.5, 2.0, 2.0, 2.5/ ! square of max. dissocation number (not consistent)
- DATA ZW(1:NPAIR)/ 0.67, 1.0, 1.0, 1.0, 1.0, 1.0, 0.5, 1.0, 1.0, 1.0/ ! exponents of water activity functions
- DATA RHDA(1:8)/0.32840, 0.4906, 0.6183, 0.7997, 0.67500, 0.5000, 0.4000, 0.0000/ ! RHD / MRHD values as of ISORROPIA / SCAPE (T=298.15K)
- DATA RHDE(1:8)/-1860.0, -431.0, 852.00, 80.000, 262.000, 3951.0, 384.00, 0.0000/ ! Temp. coeff.
- IHYST=2
- IF(IOPT.EQ.31) THEN ! SOLID HYSTORY
- IHYST=1
- IOPT=3
- ELSEIF(IOPT.EQ.32) THEN ! WET HISTORY
- IHYST=2
- IOPT=3
- ENDIF
- yo=0.;w1=0.;w2=0. ! init/reset
- do il=1,loop
- RH_HIST = 2. ! WET HISTORY (DEFAULT)
- IF(IHYST.EQ.1.OR.IOPT.EQ.2) RH_HIST = 1. ! SET TO SOLIDS
- TT = yi(il,1) ! T [K]
- RH = yi(il,2) ! RH [0-1]
- PX = yi(il,11) ! p [hPa]
- w1(1) = yi(il,6) ! Na+ (ss + xsod) (a) [umol/m^3 air]
- w1(2) = yi(il,4) ! H2SO4 + SO4-- (p) [umol/m^3 air]
- w1(3) = yi(il,3) ! NH3 (g) + NH4+ (p) [umol/m^3 air]
- w1(4) = yi(il,5) ! HNO3 (g) + NO3- (p) [umol/m^3 air]
- w1(5) = yi(il,7) ! HCl (g) + Cl- (p) [umol/m^3 air]
- w1(6) = yi(il, 8) ! K+ (p) from Dust [umol/m^3 air]
- w1(7) = yi(il, 9) ! Ca++ (p) from Dust [umol/m^3 air]
- w1(8) = yi(il,10) ! Mg++ (p) from Dust [umol/m^3 air]
- zflag=1.
- w1=w1*1.0e-6 ! [mol/m^3 air]
- TNa = w1(1) ! total input sodium (g+p)
- TSO4 = w1(2) ! total input sulfate (g+p)
- TNH4 = w1(3) ! total input ammonium (g+p)
- TNO3 = w1(4) ! total input nitrate (g+p)
- TCl = w1(5) ! total input chloride (g+p)
- TPo = w1(6) ! total input potasium (g+p)
- TCa = w1(7) ! total input calcium (g+p)
- TMg = w1(8) ! total input magnesium(g+p)
- if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).le.(2.*w1(2))) then
- zflag=3.
- endif
- if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).le.w1(2)) then
- zflag=4.
- endif
- if((w1(1)+w1(3)+w1(6)+2.*(w1(7)+w1(8))).gt.(2.*w1(2))) then
- zflag=2.
- endif
- if((w1(1)+w1(6)+2.*(w1(7)+w1(8))).gt.(2.*w1(2))) then
- zflag=1.
- endif
- IF ( RH .LT. RHMIN ) RH=RHMIN
- IF ( RH .GT. RHMAX ) RH=RHMAX
- RHDX(:)=RHDA(:)*exp(RHDE(:)*(1./TT-1./T0))
- RHDZ(:)=RHDX(:)
- GG=2.0 ! (Na)2SO4 / (NH4)2SO4 IS THE PREFFERED SPECIES FOR SULFATE DEFICIENT CASES
- IF(ZFLAG.EQ.3.) THEN
- IF(RH.LE.RHDZ(7)) THEN ! ACCOUNT FOR MIXTURE OF (NH4)2SO4(s) & NH4HSO4(s) & (NH4)3H(SO4)2(s)
- GG=1.677 ! (Na)2SO4 & NaHSO4
- ELSEIF(RH.GT.RHDZ(7).AND.RH.LE.RHDZ(5)) THEN ! MAINLY (Na)2SO4 / (NH4)2SO4(s) & (NH4)3H(SO4)2(s)
- GG=1.75
- ELSEIF(RH.GE.RHDZ(5)) THEN ! (NH4)2SO4(S) & NH4HSO4(S) & SO4-- & HSO4-
- GG=1.5 ! (Na)2SO4 & NaHSO4
- ENDIF
- ENDIF
- IF(ZFLAG.EQ.4.) GG=1.0 ! IF SO4 NEUTRALIZED, THEN ONLY AS NaHSO4 / NH4HSO4(S) OR HSO4- / H2SO4
- RHD=RH
- IF(IOPT.EQ.2.OR.RH_HIST.LT.RH_HIST_DW) THEN ! GET RHD FOR SOLIDS / HYSTERESIS
- w2(:)=1.
- do ii=1,8
- if(w1(ii).le.1.e-12) w2(ii)=0. ! skip compound in RHD calculation if value is concentration is zero or rather small
- enddo
- IF(ZFLAG.EQ.1.)THEN
- RHD=W2(1)+W2(5) ! Na+ dependency
- IF(RHD.EQ.0.) RHDX(1)=1.
- RHD=W2(6)+W2(7)+W2(8) ! K+/Ca++/Mg++ dependency (incl. ss)
- IF(RHD.EQ.0.) RHDX(2)=1.
- RHD=MINVAL(RHDX(1:2))
- ELSEIF(ZFLAG.EQ.2.)THEN
- RHD=W2(3)*W2(4) ! NH4+ & NO3- dependency
- IF(RHD.EQ.0.) RHDX(3)=1.
- RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency
- IF(GG.NE.2.) RHD=0. ! account only for pure (NH4)2SO4
- IF(RHD.EQ.0.) RHDX(4)=1.
- RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency
- IF(RHD.EQ.0.) RHDX(5)=1.
- RHD=W2(2)+W2(3)+W2(4)+W2(5) ! (NH4)2SO4, NH4NO3, NA2SO4, NH4CL dependency
- IF(RHD.EQ.0.) RHDX(6)=1.
- RHD=MINVAL(RHDX(3:6))
- ELSEIF(ZFLAG.EQ.3.)THEN
- RHD=W2(2)+W2(3) ! NH4+ & SO4-- dependency
- IF(RHD.EQ.0.) RHDX(7)=1.
- RHD=RHDX(7)
- ELSEIF(ZFLAG.EQ.4.)THEN
- RHD=W2(2) ! H2SO4 dependency (assume no dry aerosol)
- IF(RHD.EQ.0.) RHDX(8)=1.
- RHD=RHDX(8)
- ENDIF ! ZFLAG
- ENDIF ! SOLIDS
- M0(:) = ((NW(:)*MWH20/MW(:)*(1./RH-1.)))**ZW(:)
- T0T=T0/TT
- COEF=1.0+LOG(T0T)-T0T
- XK10 = 5.746e-17
- XK10= XK10 * EXP(-74.38*(T0T-1.0) + 6.120*COEF)
- KAN = XK10/(R*TT)/(R*TT)
- XK6 = 1.086e-16
- XK6 = XK6 * EXP(-71.00*(T0T-1.0) + 2.400*COEF)
- KAC = XK6/(R*TT)/(R*TT)
- XKW = 1.010e-14
- XKW = XKW *EXP(-22.52*(T0T-1.0) + 26.920*COEF)
- GAMA=0.0
- IF(RH.GE.RHD) GAMA=(RH**ZFLAG/(1000./ZFLAG*(1.-RH)+ZFLAG))
- GAMA = GAMA**GF1 ! ONLY GAMA TYPE OF NH4NO3, NaCl, etc. NEEDED SO FAR
- GAMA=0.0
- GFN=K*K ! K=2, i.e. condensation of 2 water molecules per 1 mole ion pair
- GF=GFN*GF1 ! = GFN[=Nw=4] * GF1[=(1*1^1+1*1^1)/2/Nw=1/4] = 1
- IF(RH.GE.RHD) GAMA=RH**GF/((GFN*MWH20*(1./RH-1.)))**GF1
- GAMA = min(GAMA,1.0) ! FOCUS ON 0-1 SCALE
- GAMA = max(GAMA,0.0)
- GAMA = (1.-GAMA)**K ! transplate into aqueous phase equillibrium and account for
- X00 = MAX(ZERO,MIN(TNa,GG*TSO4)) ! MAX SODIUM SULFATE
- X0 = MAX(ZERO,MIN(TNH4,GG*TSO4-X00)) ! MAX AMMOMIUM SULFATE
- X01 = MAX(ZERO,MIN(TNa-X00, TNO3)) ! MAX SODIUM NITRATE
- X1 = MAX(ZERO,MIN(TNH4-X0,TNO3-X01)) ! MAX AMMOMIUM NITRATE
- X02 = MAX(ZERO,MIN(TNa-X01-X00,TCl)) ! MAX SODIUM CHLORIDE
- X03 = MAX(ZERO,MIN(TNH4-X0-X1,TCl-X02))! MAX AMMOMIUM CHLORIDE
- X2 = MAX(TNH4-X1-X0-X03,ZERO) ! INTERIM RESIDUAL NH3
- X3 = MAX(TNO3-X1-X01,ZERO) ! INTERIM RESIDUAL HNO3
- X04 = MAX(TSO4-(X0+X00)/GG,ZERO) ! INTERIM RESIDUAL H2SO4
- X05 = MAX(TCl-X03-X02,ZERO) ! INTERIM RESIDUAL HCl
- ZKAN=2.
- IF(RH.GE.RHD) ZKAN=ZKAN*GAMA
- X4 = X2 + X3
- X5 = SQRT(X4*X4+KAN*ZKAN*ZKAN)
- X6 = 0.5*(-X4+X5)
- X6 = MIN(X1,X6)
- GHCl = X05 ! INTERIM RESIDUAl HCl
- GNH3 = X2 + X6 ! INTERIM RESIDUAl NH3
- GNO3 = X3 + X6 ! RESIDUAl HNO3
- GSO4 = X04 ! RESIDUAl H2SO4
- PNa = X02 + X01 + X00 ! RESIDUAl Na (neutralized)
- ZKAC=2.
- IF(RH.GE.RHD) ZKAC=ZKAC*GAMA
- X08 = GNH3 + GHCl
- X09 = SQRT(X08*X08+KAC*ZKAC*ZKAC)
- X10 = 0.5*(-X08+X09)
- X11 = MIN(X03,X10)
- GHCl = GHCl + X11 ! RESIDUAL HCl
- GNH3 = GNH3 + X11 ! RESIDUAL NH3
- IF(GHCl.LT.0.) GHCl=0.
- IF(GSO4.LT.0.) GSO4=0.
- IF(GNH3.LT.0.) GNH3=0.
- IF(GNO3.LT.0.) GNO3=0.
- IF(PNa.LT.0.) PNa=0.
- IF(GSO4.GT.TSO4) GSO4=TSO4
- IF(GNH3.GT.TNH4) GNH3=TNH4
- IF(GNO3.GT.TNO3) GNO3=TNO3
- IF(GHCl.GT.TCl) GHCl=TCl
- IF(PNa.GT.TNa) PNa=TNa
- IF(RH_HIST.EQ.1.AND.RH.LT.RHD) THEN ! SOLIDS / HYSTERESIS
- ANH4 = 0.
- ASO4 = 0.
- ANO3 = 0.
- ACl = 0.
- ANa = 0.
- ELSE ! SUPERSATURATED SOLUTIONS NO SOLID FORMATION
- ASO4 = TSO4 - GSO4
- ANH4 = TNH4 - GNH3
- ANO3 = TNO3 - GNO3
- ACl = TCl - GHCl
- ANa = PNa
- ENDIF ! SOLIDS / HYSTERESIS
- IF(ZFLAG.EQ.1.) WH2O = ASO4/M0( 2) + ANO3/M0(3) + ACl/M0(6)
- IF(ZFLAG.EQ.2.) WH2O = ASO4/M0( 9) + ANO3/M0(5) + ACl/M0(6)
- IF(ZFLAG.EQ.3.) WH2O = ASO4/M0( 8) + ANO3/M0(5) + ACl/M0(6)
- IF(ZFLAG.EQ.4.) WH2O = ASO4/M0( 8) + GSO4/M0(7)
- IF(ZFLAG.EQ.1.) H2O_NO3 = ANO3/M0(3)
- IF(ZFLAG.EQ.2.) H2O_NO3 = ANO3/M0(5)
- IF(ZFLAG.EQ.3.) H2O_NO3 = ANO3/M0(5)
- IF(ZFLAG.EQ.4.) H2O_NO3 = 0.0
- PH = 7.
- MOLAL = 0.
- HPLUS = 0.
- ZIONIC= 0.
- IF(WH2O.GT.0.) THEN
- AKW=XKW*RH*WH2O*WH2O ! H2O <==> H+ + OH- with kw [mol^2/kg^2]
- AKW=AKW**0.5 ! [OH-] = [H+] [mol]
- if ( AKW > 0.0 ) then
- HPLUS = (-ANa/WH2O-ANH4/WH2O+ANO3/WH2O+ACl/WH2O+GG*ASO4/WH2O+GG*GSO4/WH2O+ &
- SQRT(( ANa/WH2O+ANH4/WH2O-ANO3/WH2O-ACl/WH2O-GG*ASO4/WH2O-GG*GSO4/WH2O)**2+XKW/AKW*WH2O))/2.
- if ( HPLUS > 0.0 ) then
- PH = -ALOG10(HPLUS) ! aerosol pH
- ZIONIC=0.5*(ANa+ANH4+ANO3+ACl+ASO4*GG*GG+GSO4*GG*GG+XKW/AKW*WH2O*WH2O)
- ZIONIC=ZIONIC/WH2O ! ionic strength [mol/kg]
- end if
- end if ! [OH-] > 0.0
- ENDIF ! AQUEOUS PHASE
- ASO4 = ASO4 + GSO4 ! assuming H2SO4 remains aqueous
- TNa = TNa * 1.e6 ! total input sodium (g+p) [umol/m^3]
- TSO4 = TSO4 * 1.e6 ! total input sulfate (g+p) [umol/m^3]
- TNH4 = TNH4 * 1.e6 ! total input ammonium (g+p) [umol/m^3]
- TNO3 = TNO3 * 1.e6 ! total input nitrate (g+p) [umol/m^3]
- TCl = TCl * 1.e6 ! total input chloride (g+p) [umol/m^3]
- TPo = TPo * 1.e6 ! total input potasium (g+p) [umol/m^3]
- TCa = TCa * 1.e6 ! total input calcium (g+p) [umol/m^3]
- TMg = TMg * 1.e6 ! total input magnesium(g+p) [umol/m^3]
- GNH3 = GNH3 * 1.e6 ! residual NH3
- GSO4 = GSO4 * 1.e6 ! residual H2SO4
- GNO3 = GNO3 * 1.e6 ! residual HNO3
- GHCl = GHCl * 1.e6 ! residual HCl
- PNH4=TNH4-GNH3 ! particulate ammonium [umol/m^3]
- PNO3=max(0.,TNO3-GNO3) ! particulate nitrate [umol/m^3]
- PCl =TCl -GHCl ! particulate chloride [umol/m^3]
- PNa =TNa ! particulate sodium [umol/m^3]
- PSO4=TSO4 ! particulate sulfate [umol/m^3]
- ASO4 = ASO4 * 1.e6 ! aqueous phase sulfate [umol/m^3]
- ANH4 = ANH4 * 1.e6 ! aqueous phase ammonium [umol/m^3]
- ANO3 = ANO3 * 1.e6 ! aqueous phase nitrate [umol/m^3]
- ACl = ACl * 1.e6 ! aqueous phase chloride [umol/m^3]
- ANa = ANa * 1.e6 ! aqueous phase sodium [umol/m^3]
- SNH4=PNH4-ANH4 ! solid phase ammonium [umol/m^3]
- SSO4=PSO4-ASO4 ! solid phase sulfate [umol/m^3]
- SNO3=PNO3-ANO3 ! solid phase nitrate [umol/m^3]
- SCl =PCl -ACl ! solid phase chloride [umol/m^3]
- SNa =PNa -ANa ! solid phase sodium [umol/m^3]
- IF(SNH4.LT.0.) SNH4=0.
- IF(SSO4.LT.0.) SSO4=0.
- IF(SNO3.LT.0.) SNO3=0.
- IF(SCl.LT.0.) SCl=0.
- IF(SNa.LT.0.) SNa=0.
- PM=SNH4+SSO4+SNO3+SNH4+SCl+SNa+ANH4+ASO4+ANO3+ACl+ANa ! total PM [umol/m^3]
- PMs=SNH4*MWNH4+SSO4*MWSO4+SNO3*MWNO3+SCl*MWCl+SNa*MWNa ! dry particulate matter (PM) [ug/m^3]
- PMt=PMs+ANH4*MWNH4+ASO4*MWSO4+ANO3*MWNO3+ACl*MWCl+ &
- ANa*MWNa ! total (dry + wet) PM, excl. H20 [ug/m^3]
- WH2O = WH2O * 1.e9 ! convert aerosol water from [kg/m^3] to [ug/m^3]
- H2O_NO3 = H2O_NO3 * 1.e9 ! convert NO3 water from [kg/m^3] to [ug/m^3]
- IF(WH2O.LT.1.e-3) WH2O=0.
- RH_HIST=2. ! wet
- IF(WH2O.EQ.0.) RH_HIST=1. ! dry
- RINC = 1.
- IF(PMt.GT.0.) RINC = (WH2O/PMt+1)**(1./3.) ! approx. radius increase due to water uptake
- IF(RINC.EQ.0.) RINC = 1.
- RATIONS = 0.
- IF(PSO4.GT.0.) RATIONS = PNO3/PSO4 ! nitrate / sulfate mol ratio
- GR = 0.
- IF(GNO3.GT.0.) GR = GNH3/GNO3 ! gas ratio = residual NH3 / residual HNO3 [-]
- DON = 0.
- IF((PNO3+2.*PSO4).GT.0.) DON = 100.*PNH4/(PNO3+2.*PSO4)! degree of neutralization by ammonia : ammonium / total nitrate + sulfate [%]
- NO3P = 0.
- IF(TNO3.GT.0.) NO3P = 100.*PNO3/TNO3 ! nitrate partitioning = nitrate / total nitrate [%]
- NH4P = 0.
- IF(TNH4.GT.0.) NH4P = 100.*PNH4/TNH4 ! ammonium partitioning = ammonium / total ammonium [%]
- yo(il, 1) = TT - 273.15 ! T [degC]
- yo(il, 2) = RH * 100.00 ! RH [%]
- yo(il, 3) = TNH4 ! total input ammonium (g+p) [umol/m^3]
- yo(il, 4) = TSO4 ! total input sulfate (g+p) [umol/m^3]
- yo(il, 5) = TNO3 ! total input nitrate (g+p) [umol/m^3]
- yo(il, 6) = TNa ! total input sodium (p) [umol/m^3]
- yo(il,33) = TCl ! total input chloride (g+p) [umol/m^3]
- yo(il, 7) = TPo ! total input potasium (p) [umol/m^3]
- yo(il,34) = TCa ! total input calcium (p) [umol/m^3]
- yo(il,35) = TMg ! total input magnesium(p) [umol/m^3]
- yo(il,25) = PX ! atmospheric pressure [hPa]
- yo(il, 8) = GHCL ! residual HCl (g) [umol/m^3]
- yo(il, 9) = GNO3 ! residual HNO3 (g) [umol/m^3]
- yo(il,10) = GNH3 ! residual NH3 (g) [umol/m^3]
- yo(il,11) = GSO4 ! residual H2SO4 (aq) [umol/m^3]
- yo(il,12) = WH2O ! aerosol Water (aq) [ug/m^3]
- yo(il,13) = PH ! aerosol pH [log]
- yo(il,14) = ZFLAG ! concnetration domain [1=SP,2=SN,3=SR,4=SVR]
- yo(il,15) = PM ! total particulate matter [umol/m^3]
- yo(il,16) = SNH4 ! solid ammonium (s) [umol/m^3]
- yo(il,17) = SNO3 ! solid nitrate (s) [umol/m^3]
- yo(il,18) = SSO4 ! solid sulfate (s) [umol/m^3]
- yo(il,19) = PNH4 ! particulate ammonium (p=a+s) [umol/m^3]
- yo(il,20) = PNO3 ! particulate nitrate (p=a+s) [umol/m^3]
- yo(il,21) = PSO4 ! particulate sulfate (p=a+s) [umol/m^3]
- yo(il,22) = RATIONS ! mol ratio Nitrate/Sulfate (p) [-]
- yo(il,23) = GAMA ! activity coefficient (e.g. NH4NO3) [-]
- yo(il,24) = ZIONIC ! ionic strength (aq) [mol/kg]
- yo(il,26) = PMt ! total PM (liquids & solids) [ug/m^3]
- yo(il,27) = PMs ! total PM (solid) [ug/m^3]
- yo(il,28) = RINC ! radius increase (H2O/PMt+1)**(1/3) [-]
- yo(il,29) = SCl ! solid chloride (s) [umol/m^3]
- yo(il,30) = SNa ! solid sodium (s) [umol/m^3]
- yo(il,31) = PCl ! particulate chloride (p=a+s) [umol/m^3]
- yo(il,32) = PNa ! particulate sodium (p=a+s) [umol/m^3]
- yo(il,36) = GG
- yo(il,37) = H2O_NO3 ! Water associated with nitrate [ug/m^3]
- enddo
- end subroutine eqsam_v03d
- end module eqsam_param
|