EBI Euler convergence failure

Hello Hasibul,

thank you for posting the emission plots which confirm that the magnitude of your emissions is indeed consistent with units of moles/hr. And thank you for confirming that implementing the code fix posted by Ben resolves the convergence failure.

Here is my perspective on the issue you were encountering:

  • Historically, the time unit for emission fluxes prepared for CMAQ needed to be s-1. This expectation is documented in Chapter 4 of the User’s Guide.
  • The DESID feature introduced in CMAQv5.3 added a hidden option that allowed the time unit to instead be min-1 or hr-1 and included code to internally perform conversions to s-1 when encountering such non-standard time units.
  • However, that hidden option was not fully tested, and as noted in Ben’s comment above, the unit conversion was inverted, multiplying rather than dividing by 3,600 when encountering hr-1 time units.
  • Because of the presence of that hidden option, CMAQ did not crash when encountering the non-standard hr-1 instead of the standard s-1 time units in your file.
  • In the version of CMAQ you are using, the FinalFac values (which are calculated as the product of any scaling factors specified in the EmissCtrl file and any potential internal unit conversion) were written to the log file as fixed format floating point values with a field width of six and three significant digits. This caused the erroneous scaling factor of 3600 applied in the original code to be written out as “******”. Once you applied the code fix and the scaling factor was correctly calculated as 1/3600, this value of 0.000277 is being written out as “0.000” given the format constraints. More recent versions of CMAQ use scientific notation when reporting the scaling factors in the log file.