Minor fixes to ELMO output algorithms #218
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Contact:
Ben Murphy, US EPA
[email protected]
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:
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.