Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Minor fixes to ELMO output algorithms #218

Merged
merged 5 commits into from
Sep 5, 2024
Merged

Conversation

bnmurphy
Copy link
Contributor

@bnmurphy bnmurphy commented Jul 25, 2024

Contact:
Ben Murphy, US EPA
murphy.ben@epa.gov

Type of code change:
Bug Fixes

Description of changes:
The Explicit and Lumped CMAQ Model Output (ELMO) module calculates post-processed variables online like total PM mass and mass of PM species in discrete size ranges.

CMAQ community members and EPA developers detected several coding errors in the ELMO algorithm. They are corrected with this PR.

Changes include:

  • Using global coefficients from AERO_DATA to quantify the fraction of Na, Mg, K, Ca, Fe, and Mn in sea spray, soil, and coarse-mode species.
  • Adding contributions from sea-spray, soil, and coarse-mode to PM1, PM2.5, and PM10 calculations of Na, Mg, K, Ca, Fe, and Mn.
  • Updating unspeciated outputs with coarse-mode fraction calculations.
  • Identify gases in the ELMO_COEFFS structure when they are determined.
  • Repairing typo in GET_AERO_INLET calls: IM --> IMODE
  • Adding SpecDef_Conc files which enable post-processing of raw CONC and ACONC aerosol mass into aggregated species. These tasks are done online within in the ELMO module, but making this alternative path available provides supports developers and users who work with their data this way, and makes possible a quality check on ELMO output.

Issue:
Resolves issues #212 and #210

Summary of Impact:
Concentrations of the following species output by ELMO will change with this code fix:
PM1_NA
PM1_MG
PM1_K
PM1_CA
PM1_FE
PM1_MN
PM1_UNSP1

PM25_NA
PM25_MG
PM25_K
PM25_CA
PM25_FE
PM25_MN
PM25_UNSP1
PM25_UNSPCRS

PM25to10_NA
TNO3

PMF_OMOC
PM1_OC
PM1_OA
PM25_OC
PM25_OA

Tests conducted:
The code has been tested on the 2016 southeastern US benchmark domain. These ELMO outputs have been compared to post-processing results from the ACONC file using combine and previous SpecDef versions. Most values agreed to within 6 significant figures. The output variables that correspond to specific size ranges (e.g. PM1, PM2.5 total and speciated variables) differed by ~1-10% due to order of operations differences in how modal fractions are applied (i.e. online every time step vs. offline every output time step).

The code compiles and runs after handling all merge conflicts.

 On branch elmo_fixes
 Changes to be committed:
	modified:   src/driver/ELMO_PROC.F
 On branch elmo_fixes
 Changes to be committed:
	modified:   ELMO_PROC.F
 On branch elmo_fixes
 Changes to be committed:
	modified:   ELMO_PROC.F
bnmurphy and others added 2 commits August 29, 2024 11:03
 On branch elmo_fixes
	new file:   CCTM/src/MECHS/cb6r3_ae7_aq/SpecDef_Conc_cb6r3_ae7_aq.txt
	modified:   CCTM/src/MECHS/cb6r3_ae7_aq/SpecDef_cb6r3_ae7_aq.txt
	new file:   CCTM/src/MECHS/cb6r5_ae7_aq/SpecDef_Conc_cb6r5_ae7_aq.txt
	modified:   CCTM/src/MECHS/cb6r5_ae7_aq/SpecDef_cb6r5_ae7_aq.txt
	new file:   CCTM/src/MECHS/cb6r5hap_ae7_aq/SpecDef_Conc_cb6r5hap_ae7_aq.txt
	modified:   CCTM/src/MECHS/cb6r5hap_ae7_aq/SpecDef_cb6r5hap_ae7_aq.txt
	new file:   CCTM/src/MECHS/cb6r5m_ae7_aq/SpecDef_Conc_cb6r5m_ae7_aq.txt
	modified:   CCTM/src/MECHS/cb6r5m_ae7_aq/SpecDef_cb6r5m_ae7_aq.txt
	new file:   CCTM/src/MECHS/cracmm1_aq/SpecDef_Conc_cracmm1_aq.txt
	modified:   CCTM/src/MECHS/cracmm1_aq/SpecDef_cracmm1_aq.txt
	new file:   CCTM/src/MECHS/cracmm1amore_aq/SpecDef_Conc_cracmm1amore_aq.txt
	modified:   CCTM/src/MECHS/cracmm1amore_aq/SpecDef_cracmm1amore_aq.txt
@kmfoley
Copy link
Collaborator

kmfoley commented Sep 5, 2024

This PR passes required tests and is ready to merge.

@kmfoley kmfoley merged commit 1105a95 into USEPA:5.4+ Sep 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants