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

GEOS-Chem 14.3.1 #10

Merged
merged 121 commits into from
Apr 5, 2024
Merged

GEOS-Chem 14.3.1 #10

merged 121 commits into from
Apr 5, 2024

Conversation

lizziel
Copy link
Collaborator

@lizziel lizziel commented Apr 5, 2024

Name and Institution

Name: Lizzie Lundgren
Institution: Harvard University

Describe the update

This PR updates GEOS-Chem from 14.3.0 to 14.3.1. For a full list of updates in GEOS-Chem 14.3.1 see the 14.3.1 version page. See also the Changelog in the source code.

Expected changes

This is a zero difference update for full chemistry simulations. One bug fix is introduced for transport tracer simulations (tracer st80_25).

Reference(s)

None

Related Github Issues/PRs

This PR accompanies two other PRs to update GEOS to use GEOS-Chem 14.3:

msulprizio and others added 30 commits December 21, 2023 15:09
…nstead

To facilitate CH4 simulations with multiple tracers representing the different
state vector elements within an analytical inversion, we now remove the
emissions perturbation applied within global_ch4_mod.F90 (and carbon_mod.F90).
Instead, emissions are perturbed directly in HEMCO_Config.rc via scale factors
applied to the state vector element IDs read from a netCDF file. The perturbations
are meant to be used on total CH4 emissions (i.e. using output from a HEMCO
standalone simulation) to avoid having to apply the scale factor(s) for every
emissions inventory and sector throughout HEMCO_Config.rc.

For example:

  #==============================================================================
  # ---Total CH4 emissions (all sectors) from prior simulation ---
  #==============================================================================
  (((UseTotalPriorEmis
  0 CH4_Emis_Prior ../prior_run/OutputDir/HEMCO_diagnostics.$YYYY$MM$DD0000.nc EmisCH4_Total $YYYY/$MM/$DD/0 C xy kg/m2/s CH4 - 1 500
  0 CH4_Emis_Prior_0001 - - - - - - CH4_0001 2001 1 500
  )))UseTotalPriorEmis

  #==============================================================================
  # --- Scale factors for analytical inversions ---
  #==============================================================================
  (((AnalyticalInversion

  # Add perturbations to individual state vector element (N) following the format
  # Start scale factor ID at 2000 to avoid conflicts with other SFs/masks
  #200N SCALE_ELEM000N ./Perturbations.txt - - - xy count 1
  2001 SCALE_ELEM_0001 ./Perturbations.txt - - - xy count 1

  )))AnalyticalInversion

The Emis_PosteriorSF and OH_PosteriorSF options have also been updated here
so they are also applied directly within HEMCO_Config.rc instead of within
global_ch4_mod.F90/carbon_mod.F90. Emis_PosteriorSF applies the field EMIS_SF
to the total CH4 emissions field and OH_PosteriorSF applies OH_SF to the
GLOBAL_OH field.

Signed-off-by: Melissa Sulprizio <[email protected]>
…e CH4 tracers

Subroutines CH4_DECAY and CH4_STRAT have been modified to loop over the
number of advected species in the CH4 simulation. This allows for multiple
CH4 tracers (as used in the analytical inversion framework to represent
individual state vector elements).

Signed-off-by: Melissa Sulprizio <[email protected]>
run/GCClassic/runScriptSamples/operational_examples/harvard_cannon/*.sh
run/GCHP/runScriptSamples/operational_examples/harvard_cannon/*.sh
- Replace "huce_intel" partition name with "huce_cascade"
- Update script header comments; delete obsolete information

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
The file path to CH4_Emis_Prior is specific to the IMI. If users want to use
this option in a different framework then they can modify the path manually.

Signed-off-by: Melissa Sulprizio <[email protected]>
In the previous pull request merge, species for the TOMAS15 simulation were
added to run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem. However, this
causes non-TOMAS simulations to crash because those species aren't defined.
To avoid this, those lines are removed from HISTORY.rc. Instead, the
setupConfigFiles.sh script has been updated to add those lines to HISTORY.rc
for TOMAS simulations using sed.

Signed-off-by: Melissa Sulprizio <[email protected]>
run/shared/download_data.yml
run/GCHP/createRunDir.sh
- Now download fullchem, TransportTracers restarts from the
  ExtData/GEOSCHEM_RESTARTS/GC_14.3.0 folder.  (Also note, the tagO3
  and aerosol simulations use the fullchem restart file.)  This is
  needed to pass no-bootstrap integration tests.

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aersool
run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem
- Now point to updated BC file (for 14.3.0) in te path
  HEMCO/SAMPLE_BCs/GC_14.3.0/fullchem.

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
"4.3.0" -> "14.3.0" as pointed out by @lizziel

Signed-off-by: Bob Yantosca <[email protected]>
Added "sapphire" partition name to:
 - run/GCClassic/runScriptSamples/operational_examples/harvard_cannon:
   - geoschem.benchmark.run
   - geoschem.run
   - parallelTest.sh
  - run/GCHP/runScriptSamples/operational_examples/harvard_cannon:
   - gchp.run

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
A spun-up sample restart file has been provided for TOMAS simulations in
GCHP courtesy of Betty Croft. The GCHP/createRunDir.sh script has been
updated so that GCHP TOMAS simulations point to the updated file in
GEOSCHEM_RESTARTS/v2024-01.

Signed-off-by: Melissa Sulprizio <[email protected]>
run/GCHP/runScriptSamples/operational_examples/harvard_cannon/gchp.run
- Add disabled ##SBATCH -t 1-0:00 to request 1-day of runtime for
  1-year GCHP benchmark simulations.  The user can activate by removing
  one of the # characters (and also adding an extra # character in
  front of the default #SBATCH -t tag.

Signed-off-by: Bob Yantosca <[email protected]>
run/GCHP/createRunDir.sh
run/shared/download_data.yml
- Now copy the default TransportTracers run directory from the
  GEOSCHEM_RESTARTS/GC_14.2.0 restart folder.  There was not a
  TransportTracers benchmark for 14.3.0, so we can still use the
  older restart files.

Signed-off-by: Bob Yantosca <[email protected]>
CHANGELOG.md
- Changed "fullchem and TransportTracers restarts" to "fullchem restarts",
  since the TransportTracers restarts still come from the
  GEOSCHEM_RESTARTS/GC_14.2.0 folder.

Signed-off-by: Bob Yantosca <[email protected]>
…to-14.3.0' into dev/14.3.0

Resolved conflicts in:
	CHANGELOG.md
	run/GCHP/createRunDir.sh

Signed-off-by: Melissa Sulprizio <[email protected]>
This merge brings PR # (Replace "huce_intel" with "huce_cascade"
in Harvard Cannon sample run scripts, by @yantosca) into the GEOS-Chem
"no-diff-to-benchmark" development stream.

This updates the names of partitions used in Harvard Cannon operational
example run scripts.

Signed-off-by: Bob Yantosca <[email protected]>
CHANGELOG.md
- Added note about new operational example run scripts for ICL cluster

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Run scripts and environment for the Imperial College
London HPC, by @sdeastham) into the GEOS-Chem "no-diff-to-benchmark"
development stream.

This adds operational run scripts for the ICL cluster.  It does not affect
any source code.

Signed-off-by: Bob Yantosca <[email protected]>
lizziel and others added 22 commits March 25, 2024 10:04
The quick option included in the integration tests generates and runs a
subset of simulations. However, with this option activated, executables
were still being created for all possible compile options. We now pass
the quick argument to integrationTestCompile.sh so that only the necessary
executables are built. This will further speed up the quick integration tests.

Signed-off-by: Melissa Sulprizio <[email protected]>
test/integration/GCClassic/integrationTest.sh
test/integration/GCHP/integrationTest.sh
- Pass "${quick}" (in quotes) to integrationTestCompile.sh everywhere.
  The quotes will make sure the argument gets passed as a string.

test/integration/GCClassic/integrationTestCompile.sh
test/integration/GCHP/integration/TestCompile.sh
- Test if $quick is equal to "YES", not "yes".

Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCClassic/integrationTestCompile.sh
- Use proper array copy: EXE_LIST=("${EXE_GCC_BUILD_LIST[@]}")

test/integration/GCHP/integrationTestCompile.sh
- Use proper array copy: EXE_LIST=("${EXE_GCHP_BUILD_LIST[@]}")

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR geoschem#2222 (Update integration tests to pass quick option
to compile scripts, by @msulprizio) into the GEOS-Chem "no-diff-to-benchmark"
development stream.

This PR modifies integration tests using the "quick" option (-q) so that
they will not compile all possible executables.  This can save a lot of
time for GCHP integration tests.

Signed-off-by: Bob Yantosca <[email protected]>
The units of geopotential height are 'm', as updated here.

Signed-off-by: Christopher Holmes <[email protected]>
This merge brings PR geoschem#2224 (Fix geopotential height units in netCDF file,
by @cdholmes) into the GEOS-Chem "no-diff-to-benchmark" development stream.

This PR fixes incorrect metadata for State_Met%PHIS.

Signed-off-by: Bob Yantosca <[email protected]>
CHANGELOG.md
- Added note about fixing incorrect metadata for State_Met%PHIS

Signed-off-by: Bob Yantosca <[email protected]>
…mps)

This merge brings PR geoschem#2199 (Add GCHP diagnostics for GCHPctmEnv and FV3
gridded components, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark"
development stream.

This PR updates the HISTORY.rc template files for GCHP to add extra
diagnostic collections for GCHPctmEnv and FV3 gridded components.

NOTE: Also requires GCHP PR geoschem#395 and FVdycoreCubed_GridComp PR #8.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR geoschem#2218 (Add updates for CH4 analytical inversion,
by @msulprizio) into the GEOS-Chem "no-diff-to-benchmark" development
stream.

This PR facilitates analytical inversions with the IMI by:

1. Moving CH4 emissions handling out of GEOS-Chem and into HEMCO_Config.rc
2. Allowing for multiple CH4 tracers (to get computational speedup)

Signed-off-by: Bob Yantosca <[email protected]>
…acer)

This merge brings PR geoschem#2226 (Fix bug in transport tracer pressure mask
criteria affecting tracer st80_25, by @lizziel) into the GEOS-Chem
"no-diff-to-benchmark" development stream.

This PR changes the pressure mask criteria used to mask sources for
the st80_25 tracer (see geoschem#2226)
used in TransportTracers simulations.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Remove requirement for photolysis data directories
to end with slash, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark"
development stream.

This PR is needed to facilitate interfacing GEOS-Chem into external
models such as CESM (which may not require that directory paths in
specified in configuration files end with a "/" character.)

Signed-off-by: Bob Yantosca <[email protected]>
…_14.3.1

# Conflicts:
#	GeosCore/cldj_interface_mod.F90
@lizziel
Copy link
Collaborator Author

lizziel commented Apr 5, 2024

I tested this update (along with the two other PRs) by building and running a full chemistry run and a transport tracer run. For both I copied the config files from the GEOS-Chem source code run/GEOS, using subdirectory TransportTracers for the transport tracer one. I can move the fullchem ones to a fullchem directory in a future version.

I did not do any output comparisons, but could easily add this to future version updates. I demonstrated I can use GCPy on discover with GEOS-Chem diagnostics that come out of GEOS. I have a command line tool that makes it very easy to do sanity checks. If we could come up with a few standard outputs to compare then I can put those into our default GEOS HISTORY.rc that comes with the source code and use it when I test each new version.

Copy link
Collaborator

@viral211 viral211 left a comment

Choose a reason for hiding this comment

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

Looks good! Thanks Lizzie.

@viral211
Copy link
Collaborator

viral211 commented Apr 5, 2024

I did not do any output comparisons, but could easily add this to future version updates. I demonstrated I can use GCPy on discover with GEOS-Chem diagnostics that come out of GEOS. I have a command line tool that makes it very easy to do sanity checks. If we could come up with a few standard outputs to compare then I can put those into our default GEOS HISTORY.rc that comes with the source code and use it when I test each new version.

@lizziel. We intend to use GCPy for our benchmarks so it's good to hear that you could use it on Discover. I would like to know more about this command line tool and what kind of checks we can add to it. This would very useful.

@viral211 viral211 merged commit a092b8e into geos/latest_gcc Apr 5, 2024
@lizziel lizziel deleted the feature/ewlundgr/gc_14.3.1 branch January 13, 2025 19:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

9 participants