Skip to content
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] Add RO2concAfterChem diagnostic #1334

Closed
wants to merge 6 commits into from

Conversation

msulprizio
Copy link
Contributor

This PR closes #1265 by enabling the RO2concAfterChem diagnostic for all full-chemistry simulations. Previously, this was available only when MODEL_GEOS was used. The calculation of RO2 has been removed from fullchem_mod.F90 and instead we define RO2 as a family in fullchem.kpp.

Previously the RO2concAfterChem (and O3concAfterChem) diagnostics were
only enabled when building with -DMODEL_GEOS=y. The #ifdef MODEL_GEOS
bracketing lines are now removed for these diagnostics in fullchem_mod.F90
and state_diag_mod.F90. These diagnostics are now added to the
ConcAfterChem collections in GCClassic and GCHP HISTORY.rc files.

This addresses feature request: #1265.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
RO2 is now defined as a a production family (PRO2) in KPP/fullchem/fullchem.kpp
rather than summing the species included in RO2 in GeosCore/fullchem_mod.F90.
This greatly cleans up the lines of code in fullchem_mod.F90.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
@msulprizio msulprizio added topic: Chemical Mechanisms Related to KPP and/or GEOS-Chem chemistry mechanisms topic: Diagnostics Related to output diagnostic data labels Aug 3, 2022
@msulprizio msulprizio added this to the 14.1.0 milestone Aug 3, 2022
@msulprizio msulprizio self-assigned this Aug 3, 2022
Copy link
Contributor

@yantosca yantosca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This all looks OK, as it is adding a new diagnostic via KPP. This greatly simplifies the code as well.

@@ -17,6 +17,7 @@ LCO : CO;
PSO4 : SO4;
LCH4 : CH4;
PH2O2 : H2O2;
PRO2: A3O2 + ATO2 + B3O2 + BRO2 + ETO2 + HO2 + LIMO2 + MO2 + PIO2 + PO2 + PRN1 + R4N1 + R4O2 + TRO2 + XRO2 + IHOO1 + IHOO4 + ICHOO + IHPOO1 + IHPOO2 + IHPOO3 + IEPOXAOO + IEPOXBOO + C4HVP1 + C4HVP2 + HPALD1OO + HPALD2OO + ISOPNOO1 + ISOPNOO2 + INO2D + INO2B + IDHNBOO + IDHNDOO1 + IDHNDOO2 + IHPNBOO + IHPNDOO + ICNOO + IDNOO;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Will also have to add this to the KPP/custom/custom.kpp fille as well.

@stale
Copy link

stale bot commented Sep 4, 2022

This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the Stale bot from closing this issue.

@stale stale bot added the stale No recent activity on this issue label Sep 4, 2022
@msulprizio msulprizio removed the stale No recent activity on this issue label Sep 5, 2022
@stale
Copy link

stale bot commented Oct 8, 2022

This issue has been automatically marked as stale because it has not had recent activity. If there are no updates within 7 days it will be closed. You can add the "never stale" tag to prevent the Stale bot from closing this issue.

@stale stale bot added the stale No recent activity on this issue label Oct 8, 2022
@msulprizio msulprizio added never stale Never label this issue as stale and removed stale No recent activity on this issue labels Oct 11, 2022
@msulprizio msulprizio changed the base branch from dev to main October 18, 2022 16:52
This update brings the feature/ro2-diag up to dev/14.1.0

Resolved conflicts in: Headers/state_diag_mod.F90

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_diag_mod.F90
- Update the CASE statement that stops the run if we request fullchem
  diagnostics without running a simulation that uses KPP

run/shared/species_database.yml
- Add PRO2 entry for dummy KPP species that tracks chemical
  production of the RO2 family

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@yantosca
Copy link
Contributor

Made a few updates:

  1. Merged the dev/14.1.0 branch into feature/ro2-diag to bring these modifications up to the 14.1.0 development branch
  2. Added an entry for PRO2 into species_database.yml

run/GCClassic/createRunDir.sh
run/GCHP/createRunDir.sh
- Now get the fullchem & TOMAS restart files from the v2022-10
  subdirectory of GEOSCHEM_RESTARTS.  These restart files have
  the extra KPP family species SpeciesRst_PRO2 (GCClassic) and
  SPC_PRO2 (GCHP) added.  This is needed in order to avoid the
  simulation dying in HEMCO due to the EFYO time cycle flag being
  specified.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
run/GCHP/createRunDir.sh
- Copy ExtData/GEOSCHEM_RESTARTS/v2022-10/GEOSChem.Restart.${sim_name}*
  restart files to the Restarts folder of the GCHP run directory.
  These restart files contain dummy species SPC_PRO2 (initialized to
  all zeroes).  This is necessary in order to ensure that all species
  are defined in the restart file for GCHP (to avoid I/O errors at
  startup).

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@yantosca
Copy link
Contributor

After creating new restart files with an additional variable SpeciesRst_PRO2 (set to zero everywhere), a rerun of the GEOS-Chem Classic integration tests passed.

==============================================================================
GEOS-Chem Classic: Execution Test Results

Using 24 OpenMP threads
Number of execution tests: 48
==============================================================================
 
Execution tests:
------------------------------------------------------------------------------
gc_025x03125_CH4_geosfp_47L_na...................Execute Simulation.....PASS
gc_025x03125_fullchem_geosfp_47L_na..............Execute Simulation.....PASS
gc_05x0625_CH4_merra2_47L_na.....................Execute Simulation.....PASS
gc_05x0625_fullchem_merra2_47L_na................Execute Simulation.....PASS
gc_2x25_aerosol_merra2...........................Execute Simulation.....PASS
gc_2x25_CH4_merra2...............................Execute Simulation.....PASS
gc_2x25_CO2_merra2...............................Execute Simulation.....PASS
gc_2x25_fullchem_merra2..........................Execute Simulation.....PASS
gc_2x25_Hg_merra2................................Execute Simulation.....PASS
gc_2x25_metals_merra2............................Execute Simulation.....PASS
gc_2x25_POPs_BaP_merra2..........................Execute Simulation.....PASS
gc_2x25_tagCH4_merra2............................Execute Simulation.....PASS
gc_2x25_tagCO_merra2.............................Execute Simulation.....PASS
gc_2x25_tagO3_merra2.............................Execute Simulation.....PASS
gc_2x25_TransportTracers_merra2..................Execute Simulation.....PASS
gc_2x25_TransportTracers_merra2_LuoWd............Execute Simulation.....PASS
gc_4x5_aerosol_geosfp............................Execute Simulation.....PASS
gc_4x5_aerosol_merra2............................Execute Simulation.....PASS
gc_4x5_CH4_geosfp................................Execute Simulation.....PASS
gc_4x5_CH4_merra2................................Execute Simulation.....PASS
gc_4x5_fullchem_aciduptake_merra2................Execute Simulation.....PASS
gc_4x5_fullchem_APM_merra2.......................Execute Simulation.....PASS
gc_4x5_fullchem_benchmark_merra2.................Execute Simulation.....PASS
gc_4x5_fullchem_complexSOA_merra2................Execute Simulation.....PASS
gc_4x5_fullchem_complexSOA_SVPOA_merra2..........Execute Simulation.....PASS
gc_4x5_fullchem_geosfp...........................Execute Simulation.....PASS
gc_4x5_fullchem_marinePOA_merra2.................Execute Simulation.....PASS
gc_4x5_fullchem_merra2...........................Execute Simulation.....PASS
gc_4x5_fullchem_merra2_47L.......................Execute Simulation.....PASS
gc_4x5_fullchem_merra2_LuoWd.....................Execute Simulation.....PASS
gc_4x5_fullchem_RRTMG_merra2.....................Execute Simulation.....PASS
gc_4x5_fullchem_TOMAS15_merra2_47L...............Execute Simulation.....PASS
gc_4x5_fullchem_TOMAS40_merra2_47L...............Execute Simulation.....PASS
gc_4x5_Hg_geosfp.................................Execute Simulation.....PASS
gc_4x5_Hg_merra2.................................Execute Simulation.....PASS
gc_4x5_metals_merra2.............................Execute Simulation.....PASS
gc_4x5_POPs_BaP_geosfp...........................Execute Simulation.....PASS
gc_4x5_POPs_BaP_merra2...........................Execute Simulation.....PASS
gc_4x5_tagCH4_geosfp.............................Execute Simulation.....PASS
gc_4x5_tagCH4_merra2.............................Execute Simulation.....PASS
gc_4x5_tagCO_geosfp..............................Execute Simulation.....PASS
gc_4x5_tagCO_merra2..............................Execute Simulation.....PASS
gc_4x5_tagO3_geosfp..............................Execute Simulation.....PASS
gc_4x5_tagO3_merra2..............................Execute Simulation.....PASS
gc_4x5_TransportTracers_geosfp...................Execute Simulation.....PASS
gc_4x5_TransportTracers_geosfp_LuoWd.............Execute Simulation.....PASS
gc_4x5_TransportTracers_merra2...................Execute Simulation.....PASS
gc_4x5_TransportTracers_merra2_LuoWd.............Execute Simulation.....PASS
 
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 48
Execution tests failed: 0
Execution tests not yet completed: 0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%  All execution tests passed!  %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

@yantosca
Copy link
Contributor

After creating new restart files with the SPC_PRO2 variable set to zero everywhere, a rerun of the GCHP integration tests all passed:

==============================================================================
GCHP: Execution Test Results

Number of execution tests: 3
==============================================================================
 
Execution tests:
------------------------------------------------------------------------------
gchp_fullchem_benchmark_merra2_c48...............Execute Simulation.....PASS
gchp_fullchem_standard_merra2_c24................Execute Simulation.....PASS
gchp_TransportTracers_geosfp_c24.................Execute Simulation.....PASS
 
Summary of execution test results:
------------------------------------------------------------------------------
Execution tests passed:        3
Execution tests failed:        0
Execution tests not completed: 0

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%  All execution tests passed!  %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

NOTE: New restart files for GCClassic and GCHP fullchem and TOMAS Simulations will be stored in the path ExtData/GEOSCHEM_RESTARTS/v2022-10. Carboncycle restart files will also go into this folder.

@msulprizio msulprizio changed the base branch from main to dev/14.1.0 November 2, 2022 16:36
@msulprizio msulprizio modified the milestones: 14.1.0, 14.2.0 Jan 10, 2023
@msulprizio msulprizio changed the base branch from dev/14.1.0 to dev/14.2.0 January 10, 2023 17:47
@yantosca yantosca changed the base branch from dev/14.2.0 to main April 7, 2023 18:01
@msulprizio
Copy link
Contributor Author

Note: This update causes slight differences in the full-chemistry benchmark simulations at the level of numerical noise attributed to adding a new prod-loss species into the KPP mechanism. We will put off merging in the PR for now until we decide (1) if these changes are acceptable and (2) if this diagnostic is widely needed by the community.

@msulprizio msulprizio removed this from the 14.2.0 milestone Apr 11, 2023
@msulprizio
Copy link
Contributor Author

I will close out this pull request for now. If it is deemed a priority by GEOS-Chem users/working groups then we can reopen it at a later date.

@msulprizio msulprizio closed this Mar 26, 2024
@msulprizio msulprizio deleted the feature/ro2-diag branch May 30, 2024 19:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
never stale Never label this issue as stale topic: Chemical Mechanisms Related to KPP and/or GEOS-Chem chemistry mechanisms topic: Diagnostics Related to output diagnostic data
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Enable RO2concAfterChem diagnostic
2 participants