Open tessac2 opened 1 week ago
Hi Tessa,
I haven't run the complex OA code myself, but of somewhat familiar with it. Looking at Sid Pai's paper (https://acp.copernicus.org/articles/20/2637/2020/), EPOA should be the emitted POA (OPOA is if the emitted POA and POG gets oxidized). I'm not sure why EPOA isn't in the lines of code you gave. Is it already in the PM2.5 prior to adding in TSOA etc?
Jeff
Hi Jeff, thank you for your response and for sharing this paper by Sid Pai! According to the paper, in the simple scheme "The EPOA and OPOA species are represented within the GEOS-Chem model using the variable names OCPO and OCPI, respectively." This is consistent with the definition of PM2.5 in the aerosol_mod, excerpt of which is included below for reference.
However, the definition of primary OA in the complex scheme still seems a bit unclear to me. It is my understanding that Pai used EPOA and OPOA to calculate total POA ("As in the simple scheme, the EPOA and OPOA are assumed to have an OM:OC ratio of 1.4 and 2.1, respectively. ") but I am not sure what EPOA is called in the complex scheme, as there are no species called "OCPO" that are produced in complex SOA.
The wiki link in the aerosol_mod code for PM calculation is broken so I am unsure where to look for additional information.
` !============================================================== ! P A R T I C U L A T E M A T T E R ! ! See this GEOS-Chem wiki page for the most up-to-date ! definitions of PM2.5 and PM10 used in GEOS-Chem: ! ! http://wiki.geos.chem.org/Particulate_Matter_in_GEOS-Chem !==============================================================
! Particulate matter < 2.5um [kg/m3]
State_Chm%AerMass%PM25(I,J,L) = State_Chm%AerMass%NH4(I,J,L) * SIA_GROWTH + &
State_Chm%AerMass%NIT(I,J,L) * SIA_GROWTH + &
State_Chm%AerMass%SO4(I,J,L) * SIA_GROWTH + &
State_Chm%AerMass%HMS(I,J,L) * SIA_GROWTH + & ! (jmm, 06/30/18)
State_Chm%AerMass%BCPI(I,J,L) + &
State_Chm%AerMass%BCPO(I,J,L) + &
State_Chm%AerMass%OCPO(I,J,L) + &
State_Chm%AerMass%OCPI(I,J,L) * ORG_GROWTH + &
State_Chm%AerMass%SALA(I,J,L) * SSA_GROWTH + &
SOILDUST(I,J,L,1) + &
SOILDUST(I,J,L,2) + &
SOILDUST(I,J,L,3) + &
SOILDUST(I,J,L,4) + &
SOILDUST(I,J,L,5) * 0.3_fp ! + 30% of DST2
! Particulate matter < 10um [kg/m3]
State_Chm%AerMass%PM10(I,J,L) = State_Chm%AerMass%PM25(I,J,L) + & ! PM2.5
SOILDUST(I,J,L,5) * 0.7_fp + & ! + 70% of DST2
SOILDUST(I,J,L,6) + & ! + 100% of DST3
SOILDUST(I,J,L,7) * 0.9_fp + & ! + 90% of DST4
State_Chm%AerMass%SALC(I,J,L) * SSA_GROWTH
! Include either simple SOA (default) or Complex SOA in
! PM2.5 calculation. In simulations where both Simple SOA and
! Complex SOA species are carried (i.e. "benchmark"), then
! only the Simple SOA will be added to PM2.5 and PM10, in order
! to avoid double-counting. (bmy, 03 Nov 2021)
IF ( Is_SimpleSOA ) THEN
State_Chm%AerMass%PM25(I,J,L) = State_Chm%AerMass%PM25(I,J,L) + ( State_Chm%AerMass%SOAS(I,J,L) * ORG_GROWTH )
State_Chm%AerMass%PM10(I,J,L) = State_Chm%AerMass%PM10(I,J,L) + ( State_Chm%AerMass%SOAS(I,J,L) * ORG_GROWTH )
ELSE IF ( Is_ComplexSOA ) THEN
State_Chm%AerMass%PM25(I,J,L) = State_Chm%AerMass%PM25(I,J,L) + &
State_Chm%AerMass%TSOA(I,J,L) * ORG_GROWTH + &
State_Chm%AerMass%ASOA(I,J,L) * ORG_GROWTH + &
State_Chm%AerMass%ISOAAQ(I,J,L) * ORG_GROWTH ! Includes SOAGX
State_Chm%AerMass%PM10(I,J,L) = State_Chm%AerMass%PM10(I,J,L) + &
State_Chm%AerMass%TSOA(I,J,L) * ORG_GROWTH + &
State_Chm%AerMass%ASOA(I,J,L) * ORG_GROWTH + &
State_Chm%AerMass%ISOAAQ(I,J,L) * ORG_GROWTH ! Includes SOAGX
! Need to add OPOA to PM2.5 for complexSOA_SVPOA simulations
! -- Maggie Marvin (15 Jul 2020)
IF ( Is_OPOA ) THEN
State_Chm%AerMass%PM25(I,J,L) = State_Chm%AerMass%PM25(I,J,L) + ( State_Chm%AerMass%OPOA(I,J,L) * ORG_GROWTH )
State_Chm%AerMass%PM10(I,J,L) = State_Chm%AerMass%PM10(I,J,L) + ( State_Chm%AerMass%OPOA(I,J,L) * ORG_GROWTH )
ENDIF
ENDIF
! Apply STP correction factor based on ideal gas law
State_Chm%AerMass%PM25(I,J,L) = State_Chm%AerMass%PM25(I,J,L) * ( 1013.25_fp / PMID(I,J,L) ) * &
( T(I,J,L) / 298.0_fp )
State_Chm%AerMass%PM10(I,J,L) = State_Chm%AerMass%PM10(I,J,L) * ( 1013.25_fp / PMID(I,J,L) ) * &
( T(I,J,L) / 298.0_fp )
`
Hi Tessa,
OCPO is part of the first PM2.5 calculation in the code you pasted. It wouldn't be produced in the complex SOA scheme since it's only emitted, not chemically produced. Or maybe I'm not understanding you correctly?
Jeff
Hi Jeff, Thanks for your reply and apologies for the confusion--I think I am also confused. In the paper by Pai, it stated when describing the simple SOA scheme that EPOA is represented in the model as OCPO (There is no variable named EPOA and when you search the code for it nothing shows up).
Where I am getting confused is in the description of the complex scheme, where nothing is called OCPO but in the description of the complex model it states that primary OA has an EPOA and OPOA component, and there is a species in AerosolMass called OPOA, but I don't see anything called EPOA. "The complex scheme, based primarily on Pye et al. (2010) and Marais et al. (2016), is graphically described in Fig. 1. The primary organics are treated as semi-volatile and allowed to reversibly partition between the aerosol (EPOA) and gas (EPOG) phase using a two-product reversible partitioning model while simultaneously undergoing oxidation with OH in the gas phase to form oxidized primary organic gases (OPOGs) that, in turn, reversibly partition to oxidized primary organic aerosols (OPOAs)."
So I am trying to calculate total primary organic aerosols in the complex scheme, and just unsure what to include in the calculation. I know AerMass_OPOA should be included but not sure how to represent the EPOA fraction. Is this the AerMass_POA metric? In the ReadtheDocs, POA is described as "aerosols from SVOCs".
Hi Tessa,
I'm confused about OCPO not being part of AerMass. The code that you included in the first post from this morning includes "State_Chm%AerMass%OCPO(I,J,L)".
(Again, my group doesn't generally run the complex scheme, and I haven't personally dug into the code in a while... the sad progression of professors :/)
Hi @tessac2, I am not an expert in aerosol but I did some research about aerosol_mod
when I was implememnting the fix #2315. It seems like more of a code implementation questions here.
Regarding your question about EPOA
, I think in complexSOA_SVPOA
scheme, it is still represented by OCPO
(no longer an advected species in SVPOA, so you don't have SpeciesConcVV%OCPO but SpeciesConcVV%POA1 and POA2 instead).
https://github.com/geoschem/geos-chem/blob/bef56c605e018eecbd91646a51ce82c7cd77f56a/GeosCore/aerosol_mod.F90#L502-L511
SimpleSOA and ComplexSOA_nonSVPOA:
EPOA = AerMass%OCPO = SpeciesConcVV%OCPO*OCFOPOA(2.1)*unitconv
AerMass%OCPI = SpeciesConcVV%OCPI*OCFOPOA(2.1)*unitconv
Primary OA = AerMass%OCPO+AerMass%OCPI*ORG_GROWTH
ComplexSOA_SVPOA:
EPOA = AeroMass%OCPO = (SpeciesConcVV%POA1+SpeciesConcVV%POA2)*OCFPOA(1.4)*unitconv %hydrophobic
OCPI is NOT advected but replaced by hydrophilic OPOA
OPOA = (SpeciesConcVV%OPOA1+SpeciesConcVV%OPOA2)*OCFOPOA(2.1)*unitconv
Primay OA = EPOA+OPOA(?)*ORG_GROWTH
To calculate primary OA for complexSOA_SVPOA
, I recommend to start from SpeciesConcVV since AerMass diagnostic seems to not account for hygroscopic growth.
Thank you! I'm glad to have a serious complexSOA user/contributer weigh in!
Your name
Tessa Clarizio
Your affiliation
University of Illinois Urbana-Champaign
Please provide a clear and concise description of your question or discussion topic.
Model details
GCClassic v14.3.1 MERRA-2 Nested grid over North America (0.5 x 0.625) Full chemistry Standard OR Complex SOA with SVPOA 47 vertical levels
compiler: gcc 9.3.0
Questions
Additional details/context
Hello! I am interested in comparing the PM2.5 speciation between Standard and Complex SOA. I understand how to do this for simple SOA, where I calculate as follows (where the species concentrations have been adjusted by their molecular weight/volume of 1 mole air at standard temp and pressure to get the same units of ug/mol):
PM2.5 = AerMass_NH4*SIA_GROWTH + AerMassNIT*SIA_GROWTH + AerMassSO4*SIA_GROWTH + AerMassHMS*SIA_GROWTH + (SpeciesConcVV_BCPI + SpeciesConcVV_BCPO) + (SpeciesConcVV_OCPI *ORG_GROWTH+ SpeciesConcVV_OCPO)*2.1 + SpeciesConcVV_DST1 + SpeciesConcVV_DST2*0.30 + SpeciesConcVV_SOAS*ORG_GROWTH
This is based on the GEOS-Chem code as well as this wiki page (which I know is a bit out of date since it does not have HMS): https://wiki.seas.harvard.edu/geos-chem/index.php/Particulate_matter_in_GEOS-Chem. This lets me calculate the speciation and get a pie chart along the lines of:Where OA is primary organic aerosol (from OCPI and OCPO) and SOA is secondary organic aerosol (from SOAS).
However, it seems less clear to me what is included in the SOA and primary OA in the PM2.5 calculation for the complex SOA scheme with SVPOA. According to the aerosol mod code,
However, there is no species AerMassISOAAQ. I see in aerosol mod, the ISOAAQ is calculated as follows:
Therefore I have included SOAGX, SOAEI, and LVOCOA in the calculation of ISOAAQ, and calculated SOA as:
SOA = AerMassTSOA*ORG_GROWTH + AerMassASOA*ORG_GROWTH + (AerMassSOAGX + AerMassSOAEI + AerMassLVOCOA)*ORG_GROWTH
However, I am a bit confused what is primary OA.
In the aerosol mod code, I see:
So I initially though OPOA could be the primary organic aerosol. But according to the readthedocs , the OPOA is aerosols products of POG oxidation, which makes me think it is hydrophilic only? I see there is another species called AerMassPOA which is described as aerosols from SVOCs. In issue #2315 it seems OPOA is included in the ComplexSOA_SVPOA calculation. It seems from #384 that perhaps there was debate whether OPOA should be included in SOA or POA and that may be why it is separate?
So I was just hoping (1) to clarify how to calcuate SOA and primary OA that are included in the PM2.5 calculation, and (2) propose either a feature where these diagnostics are made a bit clearer in the future, or more clarification on the History diagnostics page on ReadTheDocs, as many of the wiki links cited in previous issues no longer work.
Thanks! :) @beckyalexander @theloniuspunk @wporter