Incorrect PM25_NA calculation in the ELMO module

I believe there’s a bug in the CMAQ v5.4 ELMO module.
The PM25_NA results in ELMO (or AELMO) outputs are supposed to be calculated as follows:

PM25_NA = FPM25AIT * ANAI + FPM25ACC * ANAJ + FPM25COR * ANAK

However, ANAK is not a model species; instead, PMC_NA is constructed as follows:

PMC_NA = 0.8373 * ASEACAT + 0.0626 * ASOIL + 0.0023 * ACORS

Since the ELMO module can’t find ANAK (which is needed in the first equation above), it calculates PM25_NA as follows:

PM25_NA = FPM25AIT * ANAI + FPM25ACC * ANAJ

This is incorrect since it’s missing the PM2.5 fraction of the coarse-mode sodium.
Similarly, the PM1_NA and PM25TO10_NA results would be incorrect, too.

2 Likes

Thanks for pointing this out Bonyoung. You are correct. Try modifying the content of the ID_PM25_NA case in ELMO_PROC.F to:

CASE ( ID_PM25_NA )
     N_VARS = 4
     CALL INIT_ELMO_COEFFS( IDG, N_VARS, 'PM25' )
     CALL SET_ELMO_COEFF_MAP( IDG, 1, 'AERO', 'ANA', 1.0 )
     CALL SET_ELMO_COEFF_MAP( IDG, 2, 'AERO', 'ASEACAT', 0.8373 )
     CALL SET_ELMO_COEFF_MAP( IDG, 3, 'AERO', 'ASOIL', 0.0626 )
     CALL SET_ELMO_COEFF_MAP( IDG, 4, 'AERO', 'ACORS', 0.0023 )

Note that the analogous update should be made for MG, K and Ca. And you are right that PM1 and PM25TO10 should be updated, although PM1 should not be affected too much of course. I apologize for the oversight. This will be corrected in the next release. In the meantime, I will issue an update to the public repo.

Best wishes,
Ben

4 Likes