CMAQ 5.3.1 IPR mass closure problem

Hi all,
When activating process analysis, I find that the overall concentration change of particle nitrate (hourly difference of data from CONC file) does not equal to the sum of the contributions of the 12 processes (CHEM+EMIS+…).
I check that the equality does hold for ozone concentration, where AERO (NPF + COND + COAG + GROW) contributes 0. I also check OH and HNO3 (g), the former AERO contributes 0 while the latter not, and the former holds equality while the latter not.
Then I guess the problem may come from PA of AERO, and I find that CMAQ 5.3 updated PA for aerosol subprocesses.
Is this problem a bug or due to my mistakes? Does anyone have any suggestion?

Hi Zhizhua,
It sounds like you have done the right sort of tests to demonstrate a problem. How large is the mass closure issue in a given time step, on an absolute and relative basis? Are the errors at the surface, or aloft?

Thank you for you reply, cgnolte. The concentration difference is very large for ANO3. I only calculate one day, and the absolute difference is from -19 to 20 ug/m3/hr, and relative difference is -1590% to 1786%. I also calculate “inert” species (Na and EC), the concentration differences are negligible since the contributions of AERO are negligible (not 0).
The error is at the surface. I have not checked aloft yet.

Hi Zhizhua,

Thanks for your description and sorry you are seeing these issues. May I ask you a few more clarifying questions to think more deeply about this problem?

  • What domain are you running your simulation for?
  • I’m wondering what you see for a pollutant like ASO4 which will have condensation but no evaporation?
  • Are you summing multiple aerosol modes for these values? That shouldn’t be a problem but useful to know when thinking these things through. The coagulation contribution should also be 0 for the sum of i and j mode variables of a particular species so that’s one additional thing to check.

Best regards,

Hi Ben,

Thanks for your reply. The following are answers to your questions, and I hope these could make the problem clearer.

  1. The domain is east and southeast Asia, but I only chose an area about 70,000 km2 in China (highly polluted area) to calculate.

  2. The differences of ASO4 are also very large (data for another day: 0.014~1.014 ug/m3/hr, -623%~1493%; avg. 0.324 ug/m3/hr, 85%). By the way, only COND has non-negligible contribution for both ASO4 and ANO3.

  3. Yes. I summed i and j modes. However, the contribution of COAG is not 0, both for ANO3 and ASO4 (though very small, of 10^-7 order of the net effect, while the contribution of NPF is exact 0 for ANO3).

Hi Zhizhua,

Thank you for your answers. Unfortunately, this does not sound like a problem with an easy fix, and I’m uncertain why it is happening on your domain and not on ours. Can you please send me your process analysis input file and the output file as well? I will direct message you with my email address.


We have successfully diagnosed this problem and are investigating a potential solution. Once it has cleared our internal code review process, we will post the update. The bottom line is that aerosol processes are being double-counted for the process analysis fields for all time steps beyond the first one of each output time step. This error does not impact the results of the core model – the predicted concentrations are not corrupted by this error.