How to add new outputs to CONC file

Hi all,

As part of some modifications to aerosol_chemistry module, we calculated O:C using 32 organic-phase aerosol species. We’d like to plot this ratio for each mode to compare with some of the other module modifications.

We can calculate the ratio as a post-processing step using CONC file output, but some of the species (such as IEOS, IETET, IMGA, and IMOS) used in the calculation are not included in the species namelists to be written out.

For completeness in calculations, is it possible to add these species to the AE namelist for output to the CONC files, or are these species internal to aerosol_chemistry? And if the latter is true, should we follow procedures outlined in the chemical mechanism modification tutorial (CMAQ/ at main · USEPA/CMAQ · GitHub) to output these other species --maybe only steps 2, 4, and 9 before rebuilding/recompiling?


@Ben_Murphy would be able to answer this in a nano second! So, I am tagging him here and i’ll cc him in the email chain.

Hi Alicia,

If you want to adjust the species on the CONC or ACONC files, please modify the environment variables CONC_SPCS or AVG_CONC_SPCS, respectively, in the CMAQ run script. If these variables are empty or equal ‘ALL’, then the values of the ‘CONC’ field in the chemical namelists are used. But if there are species names present in CONC_SPCS or AVG_CONC_SPCS, then only those species will be output. I recommend setting the variables to ‘ALL’ and then you should be all set, as long as disk space is not an issue.


P.S. One additional note: in the upcoming CMAQv5.4 (release in Fall 2022), O:C may be output upon request directly for each particle mode and/or the bulk and it will be 100% consistent with the mechanism invoked.

Hi Ben,

Thanks for the reply and the note about v5.4! That would make things easier if O:C could be output directly.

I think I didn’t word my original question correctly. What we’d really like to do is add O:C as an output (so add it to the namelist) for CONC. So, basically, do what is seems like CMAQv5.4 will eventually do. This variable doesn’t necessarily need to be output to CONC, it could be in PMDIAG or another output file. Is there an easy way to add a new output variable?


thanks, Ben! neat to know that O:C will be available later.

We’re running CMAQv5.3 with cb6r3_ae7_aq, and IEOS, IETET, IMGA, and IMOS (I think there are a couple other species) are not output with CONC=ALL and they’re not included in AE_cb6r3_ae7_aq.nml. In case we can’t output O:C directly, would it work to add these other species needed to calculate it (as a post-processing step) to the AE namelist file to output in CONC, or is there more to do?

Ah, I misunderstood. I recommend running saprc07tic_ae7i_aq if at all possible. You may not have the emissions to support that though. In that case, @Havala.Pye will need to advise on the best way to get those species going in the cb6r3 mechanism.


good to know, thanks. We’re using the 2016 Inventory Collaborative emissions, and kind of locked in to cb6r3 for this set of simulations.

Thank you, @barronh and @Ben_Murphy for helping us focus our questions!


Hi All,
IEOS, IETET, MGA and MOS are unique to aero7i/aero6i formulations. Minor species by mass (specifically MGA and MOS) are not considered in aero7/aero6. In addition, IEOS and IETET (IEPOX-derived organosulfate and tetrols) are lumped together as ISO3 (AISO3J) in cb6r3_ae7_aq. You can make an assumption about the relative abundance of sulfated vs tetrol products to get an O:C and that’s likely what I did in Table 2 of Pye et al. 2017 ACP. The table includes estimated OM/OC ratios by species. The SI includes a translation to O:C that should be highly correlated with OM/OC.

Do you need the organosulfates and tetrols split or is an approximation OK? If you need them split, you would need to port parts of aero6i/7i so that you separately predict those species. I can discuss specifics via email, but the approximation may be OK.

Thanks Havala!

We’ll keep things simple and use the approximations. We’ve been using the O:C from Li et al. 2021 in Table 1 of the supplement. I think these are the same values as in Pye et al. 2017.

It seems like the easiest thing for us to do is just output all the organic aerosol components in the mechanism we’re currently using and calculate O:C from that rather than add a new output.

Thanks for all the help!