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

Merge updates from GEOS-Chem 14.5.1 into the dev/14.6.0 branch #2679

Merged
merged 124 commits into from
Jan 13, 2025
Merged

Conversation

yantosca
Copy link
Contributor

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Describe the update

This PR will bring updates from the recently-released GEOS-Chem science codebase 14.5.1into the dev/14.6.0 branch.

Expected changes

This is a no-diff-to-benchmark update.

Related Github Issue

msulprizio and others added 30 commits September 11, 2024 14:03
… CO2

- Add missing ship logical to HEMCO_Config.rc.carbon, otherwise ship
  emissions for CO2 are not included
- Update HEMCO_Config.rc.CO2 to:
  1. Include DiagnFile to properly save out emissions diagnostics
  2. Use same Aviation_SurfCorr_SclFac.1x1.nc file as carbon simulation

Signed-off-by: Melissa Sulprizio <[email protected]>
Fix bug where download_data.py failed if the dryrun log filename contained uppercase characters
e.g. 'Log.dryrun'. The solution is to not coerce the dryrun log filename to lowercase.
…sed on species defined

In carbon_gases_mod.F90 all chemistry input fields needed for CO2, CH4, and CO
chemistry were obtained regardless of the species included in the carbon simulation.
Therefore when running the carbon simulation with only one species (e.g. CO2)
fields were being obtained that weren't necessary. These fields have been
blocked by logical statements checking if the species that needs those fields is
advected.

Also in this module, the chemistry routine has been updated to only call
KPP when CH4 and/or CO are defined as advected species. KPP is not needed
for CO2-only simulations. Instead CO2-only simulations utilize the CO2_COPROD
field obtained from HEMCO. This field was originally obtained and applied
to the species concentration array in subroutine Emiss_Carbon_Gases. The
routine name was misleading and has been renamed to CO2_Production. The call
to this routine has also been moved from emissions_mod.F90 to Chem_Carbon_Gases
in carbon_gases_mod.F90.

Notes: When we retire the CO2 simulation, we should be able to also remove
the CO2 menu from geoschem_config.yml since it is not needed when using
CO2 in the carbon simulation.

Signed-off-by: Melissa Sulprizio <[email protected]>
The call to routine CO2_Production (formerly Emiss_Carbon_Gases) has been
moved back to emissions_mod.F90 to reproduce the CO2 simulation.

We may want to consider moving the call to this routine back to chemistry
(i.e. in Chem_Carbon_Gases) since the routine applies the production of
CO2 from CO and therefore represents a chemical source, not emissions.
I will follow up with the Carbon Gases Working Group for guidance.

Signed-off-by: Melissa Sulprizio <[email protected]>
…ased on species defines

Logical switches have been added to HEMCO_Config.rc.carbon to only read
the data necessary based on the carbon species used. For example, GLOBAL_OH
is not needed for CO2-only simulations and will therefore not be read anymore.
This should speed up single-species carbon simulations.

Signed-off-by: Melissa Sulprizio <[email protected]>
…U and on first timestep

Also fixed a typo in CHANGELOG.md to use past tense.

Signed-off-by: Melissa Sulprizio <[email protected]>
…2-only simulations

The carbon simulation with CO2 only was failing integration tests due to a
failed ExtData import for CEDS_CO2_SHIP. The sed statements in singleCarbonSpecies.sh
removed any entries with "CEDS_CO" if the CO species was not included in
the simulation, also inadvertently removing the CEDS_CO2_SHIP entry. This
has now been fixed by adding an underscore after CEDS_CO2. Other lines in
that sed statement have also been updated to include an underscore or trailing
white space to avoid this issue in the future.

Signed-off-by: Melissa Sulprizio <[email protected]>
Several entries for CO2 emissions and chemistry data were incorrect in
ExtData.rc.carbon. Primarily the climatology option and refresh string
were inconsistent with the entries in HEMCO_Config.rc.

Signed-off-by: Melissa Sulprizio <[email protected]>

# Conflicts:
#	CHANGELOG.md
…ons for consistency with carbon simulations

The CO2 and tagCO run directories were created using old restart files whose origin
is not clear. To simplify validating the carbon simulation, these simulations
now use the carbon simulation restart file which has been spun up for 5 years
with a recent model version (14.1.0). The default start date for these simulations
has changed to 20190101 as well.

Signed-off-by: Melissa Sulprizio <[email protected]>
…mbustion emissions

The emission for GHGI_EE_COAST_OTHER_MCOMB in HEMCO_Config.rc.CH4 was incorrectly
assigned a hierarcy of 100 (added to regional US emissions) when it should
have been 1 (added to EDGAR global emissions). The wrong mask was also applied
to this field - it should be 1009 (CONUS_MASK_MIRROR) and not 1008 (CONUS_MASK).
These typos caused mobile combustion emissions to be double counted over the US.
The typos were not present in the HEMCO_Config.rc files for carbon simulations.

Also made other white space and comment updates to HEMCO_Config.rc files
for the carbon and CH4 simulations to ensure consistency between the two
simulations.

Signed-off-by: Melissa Sulprizio <[email protected]>
…n against carbon simulation

The carbon simulation currently uses GFED biomass burning emissions by default
(for all carbon species). It also uses GEOS-Chem v5 OH which is currently
required for CH4 in the carbon simulation. To simplify validation of
the CO in the tagCO simulation vs the carbon simulation, we update the
HEMCO_Config.rc.tagCO to use the same options.

Also made a minor change to the OCS biomass burning diagnostic name for
consistency with the other carbon species.

Signed-off-by: Melissa Sulprizio <[email protected]>
…HEMCO

In the CESM model, emissions through HEMCO are provided to GEOS-Chem through the physics buffer and not through the HEMCO subroutine calls. A side-effect of this implementation is that HEMCO versions and GEOS-Chem versions in CESM can be decoupled, and thus hard-dependencies on HEMCO data structures should not apply.

In this particular case, additional ExtState fields in HEMCO are causing CESM build failures in the latest GEOS-Chem version. Most (but not all) subroutines in hco_interface_gc_mod.F90 are unused in CESM and are now blocked off from MODEL_CESM to avoid this hard dependency.

Signed-off-by: Haipeng Lin <[email protected]>
Headers/state_diag_mod.F90
- Added State_Diag%SatDiagnEdgeCount counter for SatDiagnEdge collection
- Added State_Diag%Archive_SatDiagnEdgeCount logical
- Added State_Diag%Archive_SatDiagnEdge logical
- Allocated State_Diag%SatDiagnPEDGE with vertical dimension
  State_Grid%NZ+1 instead of State_Grid%NZ

GeosCore/diagnostics_mod.F90
- Initialize the State_Diag%SatDiagnEdgeCount counter in the DO loop
  where local time is updated for satellite diagnostics
- Now use State_Grid%NZ+1 vertical levels when saving into the
  State_Diag%SatDiagnPedge field

History/history_util_mod.F90
- Added routine "SatDiagn_or_SatDiagnEdge" to set logical flags to
  determine if the current container is either SatDiagn or SatDiagnEdge

History/history_netcdf_mod.F90
- Call routine SatDiagn_or_SatDiagnEdge to set logical flags indicating
  if the current collection is SatDiagn or SatDiagnEdge
- Added an IF block to compute the average of fields belonging to
  the SatDiagnEdge collection

History/history_mod.F90
- Call routine SatDiagn_or_SatDiagnEdge to set logical flags indicating
  if the current collection is SatDiagn or SatDiagnEdge
- Only reset State_Diag%SatDiagnCount to zero if the current collection
  is "SatDiagn"
- Only reset the "State_Diag%SatDiagnEdgeCount" counter if the current
  collection is "SatDiagnEdge"

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
This update prevents printing a message every timestep intended only to
be printed once.

Signed-off-by: Lizzie Lundgren <[email protected]>
The activate flag is needed in the transport menu since it is used to set
Input_Opt%LTRAN. This update fixes a bug that caused mixing ratio update
with pressure ratio every timestep.

Signed-off-by: Lizzie Lundgren <[email protected]>
…lassic

The scale factor is removed from HEMCO_Config.rc since the conversion
happens automatically in HEMCO read for GC-Classic. For GCHP the scale
factor is now configured in ExtData.rc.

Signed-off-by: Lizzie Lundgren <[email protected]>
All emissions for OCS are surface so total can be 2-dimensional rather than
3-dimensional.

Signed-off-by: Lizzie Lundgren <[email protected]>
CHANGELOG.md
- Updated with info about the satellite diagnostic fixes

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings in the updates from the 14.5.0 release back
into the dev/no-diff-to-benchmark branch.

See the CHANGELOG.md for updates.

Signed-off-by: Bob Yantosca <[email protected]>
This issue happens with Intel 2022.2.1 and possibly others.

Signed-off-by: Lizzie Lundgren <[email protected]>
lizziel and others added 24 commits December 19, 2024 13:51
Updates for 14.5 compatibility in CESM
…ns with CO only

To make it more clear that the PCO_CH4 fields are read from file, the option in
in the CO2 menu of geoschem_config.yml has been renamed from from "use_fullchem_PCO_from_CH4"
to "use_archived_PCO_from_CH4 (same for NMVOC source)". The use_archived_PCO_from_CH4
option is now set to false by default for carbon simulations and only set to true in carbon simulations
where only CO is advected. Similarly, "3D_chemical_oxidation_source" in the CO2 menu
has been renamed to "use_archived_PCO2_from_CO".

The carbon mechanism was rebuilt with KPP 3.1.1 here but that is a zero-
difference update simply changing the headers of the KPP/carbon/gckpp* files.

Signed-off-by: Melissa Sulprizio <[email protected]>
Signed-off-by: Lizzie Lundgren <[email protected]>
Fixes for running GEOS-Chem 14.5.1 in GEOS
run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg
- Added MACFARLANE entries for the Australian regional Hg emissions
  by Macfarlane et al. [2022]
- Added scale factor 13 (HgCl2 to Hg)
- Added mask 1010 (AUSTRALIA_MASK)

CHANGELOG.md
- Updated accordingly
run/GCClassic/HISTORY.rc.templates/HISTORY.rc.*
- Add a comment to the BoundaryConditions collection header warning
  users not to change the BoundaryConditions.frequency setting.  This
  must be left at "00000000 030000", as GEOS-Chem Classic nested-grid
  simulations expect to read boundary conditions every 3 hours.

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.Hg
- Changed path of AUSTRALIA_MASK file from v2016-04 to v2025-01

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2669 (Implement Australian Hg emissions inventory
(2010-2019) from MacFarlane et al. [2022], by @yantosca) into the
GEOS-Chem "no-diff-to-benchmark" development stream.

This PR implements a new emissions inventory for the Hg simulation.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2670 (Add comments to GCClassic HISTORY.rc
template files advising users not to change
BoundaryConditions.frequency, by @yantosca) into the GEOS-Chem
"no-diff-to-benchmark" development stream.

This PR adds a warning to the HISTORY.rc template files for users
not to change the BoundaryConditions.frequency setting.

Signed-off-by: Bob Yantosca <[email protected]>
Contains bug fixes for the carbon simulations in GCClassic and GCHP

Signed-off-by: Melissa Sulprizio <[email protected]>
test/shared/commonFunctionsForTests.sh
- In function get_default_gcc_env_file, now use environment file
  gcclassic.gcc12_cannon_rocky.env
- In function get_default_gchp_env_file, now use environment file
  gchp.gcc12_openmpi4_cannon_rocky.env


CHANGELOG.md
- Updated accordingly


Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2674 (Change default environment files for
integration tests on Harvard Cannon from gnu10 to gnu12 #2674,
by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development
stream.

This PR updates the default compiler for integrationt tests that
are run on the Harvard Cannon cluster.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2675 (Fixed the problem that GCHP cannot read
meteorology field from yaml, by @yantosca) into the GEOS-Chem
"no-diff-to-benchmark" development stream.

According to @lizziel:

  I believe this fixes an issue brought in with the updates for
  GEOS-IT in dev/no-diff-to-benchmark (see PR #2523). It would only
  show up for GEOS-FP and GEOS-IT runs which we do not test in
  integration/AWS testing, and is not in any previously released
  versions. It therefore does not need an update to the changelog.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings the dev/no-diff-to-benchmark branch commits into
the GEOS-Chem (science codebase) 14.5.1 release branch, in anticipation
of the 14.5.1 release.

Signed-off-by: Bob Yantosca <[email protected]>
Updated version numbers in:
- CHANGELOG.md

Please see CHANGELOG.md for updates added to this version.

Signed-off-by: Bob Yantosca <[email protected]>
GEOS-Chem (science codebase) 14.5.1 release
@yantosca yantosca added category: Feature Request New feature or request no-diff-to-benchmark This update will not change the results of fullchem benchmark simulations labels Jan 10, 2025
@yantosca yantosca requested a review from msulprizio January 10, 2025 22:15
@yantosca yantosca self-assigned this Jan 10, 2025
@yantosca yantosca merged commit c5540a6 into dev/14.6.0 Jan 13, 2025
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category: Feature Request New feature or request no-diff-to-benchmark This update will not change the results of fullchem benchmark simulations
Projects
None yet
Development

Successfully merging this pull request may close these issues.

8 participants