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

Update GEPA CH4 emissions to Gridded GHGI v2 #1917

Merged
merged 26 commits into from Sep 12, 2023
Merged

Conversation

msulprizio
Copy link
Contributor

Name and Institution (Required)

Name: Melissa Sulprizio
Institution: Harvard / GCST

Confirm you have reviewed the following documentation

Describe the update

This update removed the gridded EPA (GEPA) option from HEMCO_Config.rc for CH4, tagCH4, and carbon simulations and replaces it with the latest version (Gridded GHGI v2).

Expected changes

This update only impacts CH4, tagCH4, and carbon simulations. It modified emissions over the US.

Reference(s)

Maasakkers, J.D., E.E. McDuffie, M.P. Sulprizio, C. Chen, M. Schultz, L. Brunelle, R. Thrush, J. Steller, C. Sherry, D.J. Jacob, S. Jeong, B. Irving, and M. Weitz, A gridded inventory of annual 2012-2018 U.S. anthropogenic methane emissions, submitted to Environ. Sci. Technol. 2023, https://doi.org/10.31223/X5RQ3M.

Related Github Issue(s)

lizziel and others added 26 commits June 28, 2023 16:02
Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
This print is a line of repeated '=' to end a table otherwise printed to
root thread only.
This update moves the renaming of mid-run restart files to after the
renaming of the end-of-run restart file. This prevents mid-run checkpoint
files from having non-standard names if the run crashes at some point.
Previously the renaming of mid-run checkpoint files did not happen if the
run crashed because the run script would exit prior to reaching execution
of that code.

This update also include deletion of the end-of-run restart file
Restarts/gcchem_internal_checkpoint if the run fails. Depending on where
in the run the failure occurs this file may exist. Its presence will
prevent a future run and so it must be deleted.

Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
AUTHORS.txt
- Added new code contributors for GEOS-Chem 14.2.0 and 14.2.1

LICENSE.txt
- Updated for better readability
- Add text of GPLv3 license (used by QFYAML, FAST-JX, KPP)
- Add text of Apache license (used by MAPL etc)
- Add text of NASA Open Source Agreement (used by MAPL etc)
- Trimmed trailing whitespace

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

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Some of the prior edits in the AUTHORS.txt file have been clobbered.
We have restored these edits.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
A second comment character has been added to the entry in HISTORY.rc.fullchem
for SpeciesConcMND_?ALL? to avoid saving out both SpeciesConcVV and
SpeciesConcMND output for benchmark simulations.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
Transport tracer species aoa*, nh*, St80_25, and StOX did not have molecular
weights defined because they're not traditional chemical species. This causes
issues with unit conversions in the code and results in negative and/or
zero SpeciesConc output. To avoid this, we define MW_g: 1.0 for those
species.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
1. Move initialization of mask arrays into loop over species.
2. Make sure to do calculations for maintaining the mixing ratio only in the defined region (where Mask is 1)
3. Fix typo in the logic for determining masks of latitude zones.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
The stOX tracer is defined in GMAO's TR_GridComp but is not commonly utilized
and isn't needed in GEOS-Chem. It is removed here to avoid confusion. The
fields needed for stOX (GLOBAL_O3 and O3_LOSS) are also removed from
tracer_mod.F90 and TransportTracer configuration files.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
Instead of multiplying the source or sink application by the Mask array,
the code now checks if Mask > 0 before applying the source or sink.
Multiplying by the Mask array may have inadvertently set species concentrations
to zero instead of not implying the source or sink.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
The Budget diagnostics collection is now needed for TransportTracer benchmarking.
It is now disabled by default to avoid saving out unnecessary data.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
As suggested by Daniel Jacob, we now skip the SALAAL + SO2
and SALCAL + SO2 reactions if O3 < 1e10 molec/cm3.  This
concentration is equivalent to 0.5 ppbv, which should be lower
than ozone should ever get in the atmosphere.  This may help
stabilize the full-chemistry mechanism by preventing reaction
rates from blowing up.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
In geoschem/geos-chem #1880, @viral211 suggested that we are
double-counting the loss of IONO2 by alkaline SALA and SALC in
hetchem routines:

- IuptkByAlkSALA1stOrd
- IuptkByAlkSALC1stOrd

and then again in routine

- IONO2uptkByH2O

To remove the double-counting, we have removed the code that
handles the removal of IONO2 by alkaline sea salt aerosol.
A more permanent solution by @beckyalexander may be forthcoming
in the near future.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
In PR #1893 the lines for IONO2 uptake on tropospheric sulfate were inadvertently
commented out in function IONO2uptkByH2O in fullchem_RateLawFuncs.F90. They are
now restored.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
…rogenerous acid-catalyzed reactions of halogens on sea salt aerosols

Pull request #1702 fixed bugs in heterogeneous chemistry by restoring sea
salt alkalinity to certain reactions in the halogen chemistry. That update
introduced many KPP integrate error messages into the log file. The errors
were overlooked because the integration succeeded on the second attempt.
In the 1-year full-chemistry benchmark for 14.2.0-rc.0, a sharp decrease in
O3 was observed at several locations in the model vs observation plots. It
turns out that decrease could be attributed to the changes in #1702. As a
result, we now revert those updates to restore model performance. Implementing
these fixes at a later date is a science issue and should be fully validated.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
…simulations

The GEPA inventory option has been removed from HEMCO configuration files for
the CH4 and carbon simulations. It is now superceded by the newer version --
Gridded GHGI v2. The Gridded GHGI dataset now includes two datasets:

1. Gridded GHGI data (main dataset) containing annual methane emissions for
   2012-2018 generated from the US GHGI published in 2020. Monthly scale
   factors are also provided for this dataset.

2. Gridded GHGI Express Extension containing annual methane emissions for
   2012-2020 generated from the US GHGI published in 2022. This dataset uses
   annual source-specific spatial patterns from 2012-2018 from the main
   dataset to quickly incorporate more recent national methane emission
   estimates. Emissions for years after 2018 follow the 2018 spatial patterns.

Both datasets are implemented as options in HEMCO_Config.rc -- the default
is to use the Gridded GHGI Express Extension files.

Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
@msulprizio msulprizio added Attn: Emissions WG Attention: Emissions Working Group Attn: Carbon gases WG Attention: Carbon Gases Working Group labels Aug 28, 2023
@msulprizio msulprizio added this to the 14.2.1 milestone Aug 28, 2023
@msulprizio msulprizio self-assigned this Aug 28, 2023
@msulprizio
Copy link
Contributor Author

msulprizio commented Aug 28, 2023

NOTE: This branch is off of dev/14.2.0, so this PR should not be merged into dev/14.2.1 until after 14.2.0 is merged into dev/14.2.1.

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.

Thanks @msulprizio. This looks good to merge.

NOTE: Although it says there are 34 changed files, this is because this branch was opened prior to several fixes that have since gone into dev/14.2.0 and dev/14.2.1 branches. The only changes of note are the ones to the HEMCO_Config.rc and ExtData.rc.

#
# NOTES:
# - This is the main Gridded GHGI v2 dataset based off the US GHGI published in 2020
Copy link
Contributor

Choose a reason for hiding this comment

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

@msulprizio: Question: the time cycle flags are now EFY instead of C, which will stop the run unless the simulation is within the 2012-2018 date range. Is this the intended behavior now? Just wanted to confirm.

Copy link
Contributor

Choose a reason for hiding this comment

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

ah I see this is not the default option. No problem then.

@yantosca
Copy link
Contributor

All GEOS-Chem integration tests passed (except for TOMAS, which is a known issue:

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

GCClassic #f3509f8 Merge PR #1946 (Fix build issues in GCClassic w/ the custom mech)
GEOS-Chem #e696799c2 Merge PR #1917 (Update GEPA CH4 emissions to Gridded GHGI v2)
HEMCO     #daf54d0 Merge PR #235 (Bug fix for vertical regridding)

Using 24 OpenMP threads
Number of execution tests: 26

Submitted as SLURM job: 1747431
==============================================================================
 
Execution tests:
------------------------------------------------------------------------------
gc_05x0625_NA_47L_merra2_CH4........................Execute Simulation....PASS
gc_05x0625_NA_47L_merra2_fullchem...................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem..........................Execute Simulation....PASS
gc_4x5_47L_merra2_fullchem_TOMAS15..................Execute Simulation....FAIL
gc_4x5_47L_merra2_fullchem_TOMAS40..................Execute Simulation....FAIL
gc_4x5_merra2_aerosol...............................Execute Simulation....PASS
gc_4x5_merra2_carbon................................Execute Simulation....PASS
gc_4x5_merra2_CH4...................................Execute Simulation....PASS
gc_4x5_merra2_CO2...................................Execute Simulation....PASS
gc_4x5_merra2_fullchem..............................Execute Simulation....PASS
gc_4x5_merra2_fullchem_aciduptake...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_APM..........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_benchmark....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA...................Execute Simulation....PASS
gc_4x5_merra2_fullchem_complexSOA_SVPOA.............Execute Simulation....PASS
gc_4x5_merra2_fullchem_LuoWd........................Execute Simulation....PASS
gc_4x5_merra2_fullchem_marinePOA....................Execute Simulation....PASS
gc_4x5_merra2_fullchem_RRTMG........................Execute Simulation....PASS
gc_4x5_merra2_Hg....................................Execute Simulation....PASS
gc_4x5_merra2_metals................................Execute Simulation....PASS
gc_4x5_merra2_POPs_BaP..............................Execute Simulation....PASS
gc_4x5_merra2_tagCH4................................Execute Simulation....PASS
gc_4x5_merra2_tagCO.................................Execute Simulation....PASS
gc_4x5_merra2_tagO3.................................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers......................Execute Simulation....PASS
gc_4x5_merra2_TransportTracers_LuoWd................Execute Simulation....PASS
 
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 24
Execution tests failed: 2
Execution tests not yet completed: 0

Also all integration tests were identical to the prior integration test (PR #1946) except for:

  • Carbon, CH4, tagCH4 simulations (updated emissions)
  • APM (parallelization issue)
  • RRTMG diagnostic output (probable parallelization issue)
Checking gc_05x0625_NA_47L_merra2_CH4
   -> 4 differences found in OutputDir
      * GCC_14.2.1_r22_g10/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.CH4.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.CH4.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.Metrics.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.Metrics.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/HEMCO_diagnostics.201901010000.nc 
        GCC_r23/rundirs/gc_05x0625_NA_47L_merra2_CH4/OutputDir/HEMCO_diagnostics.201901010000.nc 
   -> 1 difference found in Restarts
      * GCC_14.2.1_r22_g10/rundirs/gc_05x0625_NA_47L_merra2_CH4/Restarts/GEOSChem.Restart.20190101_0020z.nc4 
        GCC_r23/rundirs/gc_05x0625_NA_47L_merra2_CH4/Restarts/GEOSChem.Restart.20190101_0020z.nc4 

Checking gc_05x0625_NA_47L_merra2_fullchem
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_47L_merra2_fullchem
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_47L_merra2_fullchem_TOMAS15
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_47L_merra2_fullchem_TOMAS40
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_aerosol
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_carbon
   -> 2 differences found in OutputDir
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_carbon/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_carbon/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_carbon/OutputDir/HEMCO_diagnostics.201901010000.nc 
        GCC_r23/rundirs/gc_4x5_merra2_carbon/OutputDir/HEMCO_diagnostics.201901010000.nc 
   -> 1 difference found in Restarts
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_carbon/Restarts/GEOSChem.Restart.20190101_0100z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_carbon/Restarts/GEOSChem.Restart.20190101_0100z.nc4 

Checking gc_4x5_merra2_CH4
   -> 4 differences found in OutputDir
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.CH4.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.CH4.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.Metrics.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.Metrics.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_CH4/OutputDir/GEOSChem.SpeciesConc.20190101_0000z.nc4 
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_CH4/OutputDir/HEMCO_diagnostics.201901010000.nc 
        GCC_r23/rundirs/gc_4x5_merra2_CH4/OutputDir/HEMCO_diagnostics.201901010000.nc 
   -> 1 difference found in Restarts
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_CH4/Restarts/GEOSChem.Restart.20190101_0100z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_CH4/Restarts/GEOSChem.Restart.20190101_0100z.nc4 

Checking gc_4x5_merra2_CO2
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_aciduptake
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_APM
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_benchmark
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_complexSOA
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_complexSOA_SVPOA
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_LuoWd
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_marinePOA
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_fullchem_RRTMG
   -> 1 difference found in OutputDir
      * GCC_14.2.1_r22_g10/rundirs/gc_4x5_merra2_fullchem_RRTMG/OutputDir/GEOSChem.RRTMG.20190701_0000z.nc4 
        GCC_r23/rundirs/gc_4x5_merra2_fullchem_RRTMG/OutputDir/GEOSChem.RRTMG.20190701_0000z.nc4 
   -> No differences in Restarts

Checking gc_4x5_merra2_Hg
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_metals
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_POPs_BaP
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_tagCH4
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_tagCO
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_tagO3
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_TransportTracers
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gc_4x5_merra2_TransportTracers_LuoWd
   -> No differences in OutputDir
   -> No differences in Restarts

@yantosca
Copy link
Contributor

All GCHP integration tests passed:

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

GCClassic #9285236 GEOS-Chem submod update: Merge PR #1946 (Fix custom mech build issues)
GEOS-Chem #e696799c2 Merge PR #1917 (Update GEPA CH4 emissions to Gridded GHGI v2)
HEMCO     #daf54d0 Merge PR #235 (Bug fix for vertical regridding)

Number of execution tests: 5

Submitted as SLURM job: 1747529
==============================================================================
 
Execution tests:
------------------------------------------------------------------------------
gchp_merra2_fullchem................................Execute Simulation....PASS
gchp_merra2_fullchem_benchmark......................Execute Simulation....PASS
gchp_merra2_fullchem_RRTMG..........................Execute Simulation....PASS
gchp_merra2_tagO3...................................Execute Simulation....PASS
gchp_merra2_TransportTracers........................Execute Simulation....PASS
 
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 5
Execution tests failed: 0
Execution tests not yet completed: 0

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

All GCHP integration tests were also zero-diff w/r/t the prior integration test: (PR #1946)

Checking gchp_merra2_fullchem
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gchp_merra2_fullchem_benchmark
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gchp_merra2_fullchem_RRTMG
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gchp_merra2_tagO3
   -> No differences in OutputDir
   -> No differences in Restarts

Checking gchp_merra2_TransportTracers
   -> No differences in OutputDir
   -> No differences in Restarts

@yantosca yantosca merged commit e696799 into dev/14.2.1 Sep 12, 2023
@yantosca yantosca deleted the feature/ch4_ghgi_v2 branch September 12, 2023 13:31
yantosca added a commit that referenced this pull request Sep 12, 2023
This merge brings the updates for the GEOS-Chem carbon simulation
(with single tracer rundirectory option) up to date with the latest
state of the 14.2.1 development stream.  This also brings updates
from 14.2.0-alpha.19 into the bugfix/carbon-single-tracer branch.

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Attn: Carbon gases WG Attention: Carbon Gases Working Group Attn: Emissions WG Attention: Emissions Working Group
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Update CH4 anthropogenic emissions for the US to gridded GHGI v2 inventory for 2012-2018
3 participants