New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[PULL REQUEST] HMS Chemistry, adding updates of Moch et al 2020 (replaces PR #456) #905
Conversation
…atalyzed SO2 oxidation (ref: Shao et al., 2019, ACP)
…s (ref: Moch et al., 2020, JGR)
This brings the HMS chemistry according to J. Moch et al into GEOS-Chem. See geoschem/geos-chem PR #456. Resolved conflicts in: - GeosCore/isorropiaII_mod.F90 - GeosCore/sulfate_mod.F90 - Headers/state_diag_mod.F90 - run/shared/species_database.yml Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This commit adds the hetchem rate law function updates into the development branch with HMS chemistry. Resolved conflicts in: - GeosCore/aerosol_mod.F90 Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/sulfate_mod.F90: - Add missing comma in !$OMP PRIVATE statement in CHEM_SO2 Headers/state_diag_mod.F90 - Add HMS-related fields to TYPE(DgnState) - Add Init_and_Register calls for HMS-related fields of TYPE(DgnState) - Add Finalize calls for HMS-related fields of TYPE(DgnState) - Trimmed trailing whitespace run/GCClassic/input.geos.templates/input.geos.fullchem - Added HMS to list of advected species run/shared/species_database.yml - Added Background_VV = 1.0e-15 for HMS. This should be a better initial concentration than 1e-20 or 1e-30, and should not cause chemistry to exit with error. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
The README.md file says that KPP/aciduptake will be used in future GC development, but is being ignored for now. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Results of a 1-day simulation: Ref: 13.3.0-alpha.1
Dev: PR #905
|
Change requested time from 16h to 5h. Most integration tests finish in about 3 to 3.5 hours. Change requested memory from 60000 to 75000. This is needed for the nested-grid NA simulation at 0.25 degree resolution. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
There are a couple of outstanding modifications to make:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is no formula provided for HMS in species_database.yml
but one should be provided. According to Moch et al. (2020) it is HOCH2SO3−.
Can you also confirm if a parallelization test was performed on these updates? I see code was added to a parallel loop in sulfate_mod.F90
so it would be good to ensure we're not introducing any differences between single and multi-processor runs.
@msulprizio, thanks for the comments. I will definitely do a parallelization test. I am will also add the formula. |
run/GCClassic/createRunDir.sh - For fullchem and aerosol simulations, point to the restart files in ExtData/GEOSCHEM_RESTARTS/v2021-09. This has the same concentrations as the restart files in GC_13.0.0, plus HMS, SO3mm, and HSO3m. (will add C2H2 and C2H4 later) run/shared/species_database.yml - Add chemical formula for HMS Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
These updates have been done in commit 885a198 |
A parallelization test failed. Digging into this now @msulprizio |
Thanks @yantosca. Glad we checked! |
Seems to not be in the chemistry or aerosol thermodynamics. Digging further. |
The HMS chemistry modifications in sulfate_mod.F90 and aerosol_mod.F90 assume HMS is an advected species. We have now added HMS to the run/GCClassic/input.geos.templates/input.geos.aerosol template file that is used in run directory creation. This should allow integration tests to pass. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Side note: I have isolated the parallelization issue to the HEMCO MEGAN extension (see geoschem/HEMCO#109). With MEGAN emissions turned off we obtain identical results, indicating that the parallelization in GEOS-Chem is OK. We will pursue resolution of geoschem/HEMCO#109 separately. |
Need to still fix some issues in the aerosol-only simulation. This does not affect the full-chemistry simulation
Maybe some arrays are not allocated for HMS when doing an aerosol-only simulation. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am OK with merging these updates as soon as the integration tests are all passing.
…-09/ We have added extra species (such as HMS) for new chemistry in 13.3.0 and later versions into the restart files in the ExtData/GEOSCHEM_RESTARTS/v2021-09 folder. When creating GEOS-Chem "Classic" run directories for fullchem or TOMAS simulations, these restart files must be placed in the run directory or else there will be a species not found error due to the HEMCO_Config.rc "EFYO" time cycle flag. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Prior to this commit, HMS0 was set to zero for aerosol-only simulations. Now it is set to Spc(I,J,L,id_HMS). This had caused aerosol-only integration tests to fail. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
(1) Make sure that HOBr, HOCl, HCHO, HMS, and OH are only referenced from state_chm%species if it is a fullchem simulation. (2) Removed some ELSE statements (i.e. zero variables before IF). (3) Expanded IS_FULLCHEM to Input_Opt%ITS_A_FULLCHEM_SIM (4) Trimmed trailing whitespace. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
HMS is only needed for the fullchem simulation. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Modified the sequence fed to createRunDir.sh in script test/GCClassic/intTestCreate.sh to create TOMAS15 and TOMAS40 integration test rundirs with 47 levels instead of 72. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/aerosol_mod.F90: - Only include HMS in SO4_NH4_NIT if id_HMS > 0 - Set the HMS array to 0 if id_HMS < 0 GeosCore/isorropia_mod.F90 - Add an IS_HMS flag to denote when id_HMS > 0 - If id_HMS = 0 and it's an aerosol-only sim, let run proceed - Only add HMS to TSO4 if IS_HMS = TRUE - Only add HMS to DEN_SAV if IS_HMS = TRUE Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
HMS chemistry
Overview
Description
This update includes hydroxymethanesulfonate (HMS) chemistry and cloud pH and ionic strength limitations for transition metal catalyzed SO2 oxidation.
HMS chemistry is described in: Moch, J.M., E. Dovrou, L.J. Mickley, F.N. Keutsch, Z. Liu, Y. Wang, T.L. Dombek, M. Kuwata, S.H. Budisulistiorini, L. Yang, S. Decesari, M. Paglione, B. Alexander, J. Shao, J.W. Munger, D.J. Jacob, Global importance of hydroxymethanesulfonate in ambient particulate matter: Implications for air quality, J. Geophys. Res., 125, e2020JD032706, https://doi.org/10.1029/2020JD032706, 2020
The cloud pH and ionic strength limitation for transition metal catalyzed SO2 oxidation is initially described in: Shao, J., Chen, Q., Wang, Y., Lu, X., He, P., Sun, Y., Shah, V., Martin, R. V., Philip, S., Song, S., Zhao, Y., Xie, Z., Zhang, L., & Alexander, B. (2019). Heterogeneous sulfate aerosol formation mechanisms during wintertime Chinese haze events: Air quality model assessment using observations of sulfate oxygen isotopes in Beijing. Atmospheric Chemistry and Physics, 19(9), 6107–6123. https://doi.org/10.5194/acp-19-6107-2019
HMS chemistry was initially implemented in 12.2.1 as described in Moch et al. (2020). Differences for HMS chemistry between Moch et al. (2020) and version 12.9.3 arise primarily from the inclusion of Na+ and Cl- in the cloud pH calculation in 12.9.3, differing default emissions inventories, and simulated cloud pH being too low over eastern China in 12.9.3. In Moch et al. (2020), this low bias in cloud pH over eastern China was addressed by setting a cloud pH floor of 5 over the North China Plain. This pH floor is not included in this pull request but more details can be found in the paper.