This is about computing PM2.5 species. I know that after running the model, we can add up certain species to get PM2.5. My question is, can I define the same before running the model and then model should compute PM2.5 in the output file, is that possible?
Appreciate your response.
No, this is not currently possible.
Nor is it good engineering: that’s what “tool” programs are for. It is bad engineering to make overly-complicated (and never-finished, because the complications can/will keep coming!) “kitchen-sink” models.
Much better to do a set of well-focused programs, each of which does one thing and does it well.
Thanks for your response @cjcoats . I beg to differ, good engineering is that which makes it easy for the user. One can design to the engineering perfection but if it does not make the day to day life of a user easy its perfection is of little use.
Most of the time PM is required to be calculated, why should one go through the additional step of post processing for just adding up the species, while the same can be computed when writing the output file. To my knowledge the available post processing tools are tied up with Linux and many times I would like to process those in Windows for ease of handling and visualization. I do appreciate the complexity of the model and its great design to make it robust. There might be many good reasons not to do that, but in my opinion this will be a very useful feature for simple users like me.
Also, the pre and post processing of the model is based on unstructured and difficult to handle/debug csh scripts. I think it is time wrap the model with the next generation languages such as Python.
We have added this feature to our internal development version of CMAQ a few months ago. It is slated for release latest next fall 2022, and there is a chance it could be released this fall (it may be too tricky to cherry pick these specific updates from the broader set that are also on our development code but not ready for release this year).
Specifically, the new code will allow for direct output of aggregate quantities like PM2.5, PM10, PM1 as well speciated quantities like PM2.5 sulfate which are modified by the fraction of aerosol within a particular size range. Additionally, there will be other potentially important outputs available like aerosol pH, OM:OC for organics and AOD (which is currently available via photolysis diagnostic output). Importantly, the module we designed to take care of this processing should allow users like yourself to add more custom outputs relatively easily (although it’s not the most basic implementation) to the source code. Linear combinations of existing CMAQ model species are especially straight-forward to add.
With respect to @cjcoats, CMAQ itself is never finished and complications keep coming all the time. I wonder if my brain is just wired in a less organized way, but my preferred approach is to scope out the most common tasks and make sure they can be executed with as few user instructions (and knowledge of the details) as possible, even if that means adding to complexity, within reason.
This is not to say the narrow approach is wrong, it clearly has strong roots in the evolution of software. I think this debate is healthy and interesting.
Thanks for your note @Ben_Murphy , I will be looking forward to that version.