Skip to content

CMAQ Release Notes: Diagnostic Options

Kristen Foley edited this page Apr 10, 2024 · 22 revisions

Fix bug in ELMO calculation of PMF_OC, PMF_NCOM

Chris Nolte, U.S. Environmental Protection Agency
Type of update: Bug Fix
Release Version/Date: CMAQv5.5
Description: This fixes a bug in the calculation of the ELMO parameter PMF_OC, which inadvertently subtracts off non-carbonaceous mass that should instead be skipped. Because PMF_NCOM is calculated using the value of PMF_OC, this bug affects PMF_NCOM as well.
Significance and Impact: This change affects only PMF_OC and PMF_NCOM in the ELMO/AELMO outputs. There is no change in CONC/ACONC, CGRID, or deposition outputs. If using the default treatment of semivolatile organics, in which POC and PNCOM are mapped to VSVPO1, VSVPO2, VSVPO3, and VIVPO1 (see CMAQ_Control_DESID_.nml), then the impact is minimal. However, if using the older method of treating POA as nonvolatile, with POC mapped to APOC and PNCOM mapped to APNCOM, then this bug has a significant impact on PMF_OC and PMF_NCOM.
References: N/A
Internal PRs: PR#1104

Fixes bug in ELMO definition of PM1, PM25, and PM25to10 for NA, K, CA, MG, MN, and FE

Ben Murphy, U.S. Environmental Protection Agency
Type of update: Bug Fix
Release Version/Date: CMAQv5.5
Description: The summations within ELMO for nonexplicit coarse-mode cations (NA, K, CA, and MG) into output aerosol variables with hard size cutoffs (PM1, PM25, and PM25to10) are incomplete. This issue was identified on the CMAS User Forum https://forum.cmascenter.org/t/incorrect-pm25-na-calculation-in-the-elmo-module/4615
Significance and Impact: This change is important for a complete representation of PM25 cations. Significant impacts on PM25_NA (~33%), PM25_CA (~16%), PM25_MG (~27%), and PM25_K (9%) in tests on the southeast US benchmark domain.

Sodium Fig_PM25_NA_FRAC

Calcium Fig_PM25_CA_FRAC

Magnesium Fig_PM25_MG_FRAC

Potassium Fig_PM25_K_FRAC

Sodium Fig_PM25TO10_NA_FRAC References: N/A
Internal PRs: PR#1078

Resolve ELMO issue outputting gas-phase species in mass units

Ben Murphy, U.S. Environmental Protection Agency
Type of update: Bug Fix
Release Version/Date: CMAQv5.5
Description: ELMO had an error outputting gas-phase variables from the GC or NR lists in mass units. This PR resolves the issue and adds the ability to output NH3 and HNO3 in mass units via ELMO.
Significance and Impact: Gas-phase Benzo-a-pyrene was yielding garbage output from ELMO.
References: N/A
Internal PRs: PR#1008

Resolve ELMO timestepping issue when running with temporally finer MET inputs

Ben Murphy, U.S. Environmental Protection Agency
Type of update: Bug Fix
Release Version/Date: CMAQv5.5
Description: ELMO gives erroneous results when run using met inputs not aligned with hour time steps such as seen when running WRF-CMAQ. See Issue 179 in public repo.
Significance and Impact: This model bug fix should be adopted as soon as possible for any user running WRF-CMAQ or using met inputs with time steps not aligned with hourly structure. Simulations for offline CMAQ with hourly met inputs are unaffected.
References: N/A
Internal PRs: PR#962

Introduction of the Explicit and Lumped air quality Model Output module (ELMO)

Ben Murphy, U.S. Environmental Protection Agency
Type of update: New Feature
Release Version/Date: CMAQv5.4
Description: The ELMO Synthesizer streamlines the definition, calculation, and maintenance of over 170 aggregate particulate matter parameters online in CMAQ. Previously, aggregate parameters like PM2.5 and Fine-mode Sulfate (ASO4I + ASO4J) were calculated through the COMBINE post-processing utility and documented via the SpecDef input file for that program. With ELMO, these variables are defined in ELMO_DATA.F and their calculations are prescribed in ELMO_PROC.F. Thus, CMAQ can now output higher-level parameters without needing to run any particular post-processing tool.

The interface for using ELMO is on the CMAQ Miscellaneous Control File. Please see that file for a description of how to use the options relevant for ELMO.

There are several distinct advantages to using ELMO over post-processing raw output with COMBINE:

  • Definitions of parameters like PM2.5, PMF (Fine PM), and PM10.0 automatically adjust as PM species are activated or deactivated in CMAQ. There is no need to modify a SpecDef file to account for a new species.
  • Complex properties like O:C, OM:OC, particle acidity, etc. can be calculated using species properties available within CMAQ. This resolves a potential vulnerability where, for example, the OM:OC of organic species may become out of sync between the SpecDef and the SOA_DEFN table within the model. This could potentially lead to errors in the calculation of OC (organic carbon).
  • If a user is only interested in aggregate parameters like PM25 mass, they can avoid the I/O time and storage required saving the raw output of every PM variable and then processing with COMBINE. This can be particularly important when processing 3D data.
  • This functionality will be critical for applications like ISAM where there is a huge runtime and storage penalty for outputting raw species concentrations for every emission source.
  • New parameters are available that were not before like N10, N20, N40 and N100, the number of particles above 10, 20, 40 and 100 nm in diameter. AOD and extinction have also been supported as options.
  • Some time may be saved in the input/output of so many variables via COMBINE.

Keywords are available (see the interface in the EmissionControlFile) to use a short cut for identifying the parameters of interest. Parameters may be added to the ELMO_LIST table in ELMO_DATA.F and then prescribed in ELMO_PROC.F with greater ease.

For developers: the new module works by putting all of the diagnostic parameters first on the ELMO_LIST table in ELMO_DATA.F. There is also a list of ID numbers (integers) above that table which allow for a master order to be preserved while the order of the parameters in the table and their calculations in ELMO_PROC.F are allowed to move in sequence. The subroutine LOAD_ELMO (ELMO_PROC.F) is called from AERO_DRIVER and cycles through the list of used parameters as defined by the interface in the EmissionControlFile.

For each parameter, the subroutine CALC_ELMO is called to lookup the calculation. For many of the calculations, all that is required is an assignment from an already existing diagnostic variable. For the parameters which are linear combinations of CMAQ species or other parameters (e.g. fine-mode nitrate PMF_NO3 = ANO3I + ANO3J, PM2.5 mass PM25 = PM25_SO4 + PM25_NO3 + PM25_NH4 + PM25_CL + PM25_NA + PM25_EC + PM25_POA + ...), they may be defined in the subroutine MAP_ELMO_COEFF (in ELMO_PROC.F). Follow the guide of existing parameters to prescribe the species to be added, the inlet type to assume for collection, etc. If you need to add a new inlet description, you can do that in the ELMO_INLET table in ELMO_DATA.F. For more complicated variables like fine-mode acidity (PMF_PH) or the PM25 mass collected by a Federal Reference Method sampler (PM25_FRM), calculations appear directly in CALC_ELMO_DATA.

Significance and Impact: There is no quantitative impact on results, but there will be a noticeable positive impact on the time invested in post-processing aggregate PM components and storage volumes required for standard runs. There can be some slight differences realized when one compares quantities averaged online vs. offline. For exmaple, total PM2.5 have some small deviations when it is calculated as the hourly average of the sum of species (online) versus the sum of hourly averaged species (offline).

References: N/A
Internal PRs: PR#639, PR#637, PR#769

Clone this wiki locally