Skip to content

Conversation

@lizziel
Copy link
Contributor

@lizziel lizziel commented Feb 21, 2025

Name and Institution (Required)

Name: Lizzie Lundgren
Institution: Harvard University

Describe the update

This update introduces a compile-time option for a GCHP-like simulation that does not run GEOS-Chem or advection. Only ExtData, History, and the ctmEnv gridded component are run, although both GEOS-Chem and FV3 are compiled.

The purpose of this is to experiment with producing 12 km lat-lon wind exports from c720 mass flux imports using MAPL in a way that is lightweight and fast. However, it is useful for testing and potentially other applications as well. It is currently being used to test early implementations of MAPL3. It could also be extended in the future to a dynamics-only simulation using a simple tracer.

Notes and instructions:

  • The ctmEnv-only simulation option is enabled by building with -DMODEL_CTMENV=y.
  • It should be used with the ctmEnv-only run directory that is an option during run directory creation.
  • The runScriptSamples/operational_examples/harvard_cannon directory has a run script set up for use with it. See file gchp.ctmenv.run.
  • No restart file is used for the simulation, making it extremely lightweight and fast when run at high resolutions.
  • All of GCHP is compiled with the exception of code within #ifndef MODEL_CTMENV blocks.
  • Dynamics is both compiled and initialized, but is not run. This avoids code dependency issues.
  • GEOS-Chem is compiled but is not added as a child gridded component. It is needed for run directory creation, although does not require compiling. Future work could remove compiling it. It is kept to minimize differences in CMake files between the ctmEnv and standard GCHP simulations.

This update will require concurrent merge of two subdirectory PRs:

Expected changes

This is a no diff update.

Reference(s)

None

Related Github Issue

None

@lizziel lizziel added category: Feature Request New feature or request topic: Run Directories Related to GCHP run directories labels Feb 21, 2025
@lizziel lizziel self-assigned this Feb 21, 2025
@lizziel
Copy link
Contributor Author

lizziel commented Feb 21, 2025

fyi @sdeastham

@lizziel lizziel added no-diff-to-benchmark This update will not change the results of fullchem benchmark simulations topic: Runtime Related to runtime issues (e.g. simulation stops with error) labels Feb 21, 2025
yantosca added 3 commits June 17, 2025 14:48
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

PR #2900 does the following:

1. Adds entries for FINN v2.5 biomass burning emissions to HEMCO_Config.rc
   template files for aerosol-only, carbon, and fullchem simulations.

2. Removes entries for the FINN v1.5 biomass burning extension from
   HEMCO_Config.rc template files, as FINN v1.5 is now superseded by FINN v2.5.

3. Adds clarifying comments in HEMCO_Diagn.rc template files instructing
   which settings of ExtNr, Cat, and Hier should be used for online vs.
   offline biomass burning emissions.

4. Replaces comments in HEMCO_Config.rc and HEMCO_Diagn.rc template files
   that were directing users to the obsolete HEMCO manual on the GC wiki
   with comments directing users to the current hemco.readthedocs.io
   documentation.

5. Restores TMB emission diagnostic entries to the HEMCO_Config.rc.fullchem
   files for GEOS-Chem Classic and GCHP.

6. Renames OCS biomass burning emissions to EmisOCS_BiomassBurn in GCHP
   HEMCO_Diagn.rc and HISTORY.rc files, for consistency with the corresponding
   diagnostic name in GEOS-Chem Classic.

7. Moves EmisOCS_Total to the top of the GCHP HISTORY.rc.carbon template file,
   which is expected by the script that edits the configuration files for
   single species carbon simulations.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

78aa048e2 Merge PR #2889 (Updates for Luo2023)

PR #2889 updates the Luo wet deposition scheme accordintg to Luo, G., &
Yu, F. (2023). GRL, 50, e2023GL104258. https://doi.org/10.1029/2023GL104258.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

1a97c01e5 Update ESMF to 8.6.1 in GCHP env file for Harvard Cannon

PR #2916 updates the ESMF version from 8.4.2 to 8.6.1 in the sample
GCHP environment file "gchp.gcc12_openmpi4_cannon_rocky.env",
which is used on the Harvard Cannon cluster.

Signed-off-by: Bob Yantosca <[email protected]>
@lizziel lizziel force-pushed the feature/gchp_ctmenv_only_simulation branch from 57865f1 to 018a15c Compare July 17, 2025 15:13
yantosca and others added 19 commits July 29, 2025 11:06
This merge brings updates from the recently-released 14.6.3
version into a feature branch off dev/14.7.0, in preparation for
merging 14.6.3 back into 14.7.0.

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Merge GCHP 14.6.3 into the dev/14.7.0 branch,
by @yantosca) into the GEOS-Chem 14.7.0 development stream.

PR #507 updates dev/14.7.0 with the commits from the 14.6.3 release.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

481b4fece Merge PR #2974 (Fix ocean flux diagnostics in Hg simulation)

PR #2974 removes the zeroing of the directional Hg ocean flux
diagnostics, in order to make the them equal the net flux.

Signed-off-by: Bob Yantosca <[email protected]>
.github/workflows/lint-ci-workflows.yml
- Added this workflow to error-check other workflows for security issues

.github/workflows/cloud-benchmarking-workflow.yml
- Now trigger the workflow on "dev/*" branches
- Update actions/checkout from v3 to v4
- Now use bash-safe syntax to get the 1st 7 chars of the commit hash
- Move "if:" statements before the "run:" blocks

README.md
docs/source/index.rst
- Updated GitHub badges (remove badges for obsolete functionality)

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <[email protected]>
.github/workflows/cloud-benchmarking-workflow.yml
- Added persist-credentials: false to actions/checkout@v4
  so that GitHub credentials will be wiped after the task finishes

.github/spack-deployment-workflow.yml
- Updated actions/checkout@v2 to @v4
- Added persist-credentials: false to actions/checkout@v4
  so that GitHub credentials will be wiped after the task finishes

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Add "Lint" GitHub action to check other
GitHub actions for security issues #508, by @yantosca) into the
GCHP "no-diff-to-benchmark" development stream.

PR #508 does the following:

1. We now use bash-safe code when defining the
   GITHUB_SHA_SHORT and PR_SHA environment variables in
   cloud-benchmark-workflow.yml

2. The lint-ci-workflows action now runs when updates are made
   to the main and dev/* branches.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCClassic superproject about the following
commits that were pushed to the GitHub geoschem/HEMCO repository:

8dbae83 Merge PR #339 (Add "Lint" GitHub action)

PR #339 does the following:

1. The lint-ci-workflows action now runs when updates are
   made to the main and dev/* branches.

2. We have removed the .ci-pipelines folder, which contained the
   configuration files for the Microsoft Azure Dev Pipelines C-I tests.
   Many of these were broken anyway.

3. The windows, mac, and ubuntu GitHub actions have been updated to
   fix security issues. These actions now also run when pushes or
   pull requests are made to dev or release branches.

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

This is a temporary update until GMAO implements a bug fix in MAPL History

Signed-off-by: Lizzie Lundgren <[email protected]>
This commit informs the GCHPsuperproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

e4dc17b14 Merge PR #2984 (Fix GCHP restart for Jacobian tracers)

PR #2984 adds a logical flag of Is_JacobianTracer in species_database.yml.
This allows GCHP perturbation runs to define species "CH4_nnnn", which
will be initialized to the initial conditions from the "SPC_CH4" species
in GCHP restart files.

Signed-off-by: Bob Yantosca <[email protected]>
Signed-off-by: Lizzie Lundgren <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

bcb78036e Merge PR #2988 (Update Compute1 operation run script)

PR #2988 Update operational run script sample for the WashU Compute1
cluster with necessary changes following a system update.

Signed-off-by: Bob Yantosca <[email protected]>
yantosca and others added 25 commits September 9, 2025 12:14
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

f0e5424cc Merge PR #3019 (Fixed parallelization error in PR #3014)

PR #3019 fixes a parallelization error that was inadvertently
introduced in PR #3014.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

dcb1314de Merge PR #3016 (Update mass flux & CN scalings for MAPL 2.59)

PR #3016 updates the GCHP mass flux and Courant number import
scaling calculation done in setCommonRunSettings.sh for use in ExtData.rc
with MAPL 2.59.  It only impacts GCHP runs that import mass flux rather
than use winds in advection.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

a0d32f663 Merge PR #3010 (Add optional LPJ_MERRA2 wetland CH4 emissions)

PR #3010 introduces the LPJ_MERRA2 inventory as an option (off
by default) so that IMI/CH4 users can more easily utilize the dataset.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCClassic superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

4be45c88d Merge PR #3029 (Fix parallel error in convection_mod.F90)

PR #3029 initializes the AER and KIN logicals to TRUE before calling
routine WASHOUT in GeosCore/convection_mod.F90.  This ensures that
these variables are defined even when WASHOUT is not called, avoiding
potential parallelization errors.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCClassic superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

f82e547b0 Merge PR #3021 (Merge updates from dev/ntdb into dev/14.7.0)

Updates from the following PRs are included:

- geos-chem PR #2974
- GCHP PR #508
- GCClassic PR #100
- HEMCO PR #339
- geos-chem PR #2984
- geos-chem PR #2988
- geos-chem PR #2989
- geos-chem PR #2990
- geos-chem PR #2996
- geos-chem PR #3010

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

7219410db Merge PR #3027 (Remove Is_Advected tags from species database)

As described in issue #3024, the Is_Advected species database tag is
redundant.  PR #3027 removes all Is_Advected:true tags from:

run/shared/species_database.yml
run/shared/species_database_apm.yml
run/shared/species_database_hg.yml
run/shared/species_database_tomas.yml

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCClassic superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

e256ad747 Merge PR #3020 (Unhide feature to read GC-Classic rst file w/o HEMCO)

PR #3020 update adds the option to use GEOS-Chem to read the GC-Classic
restart file and therefore preserve native precision stored in the file.
This option has been present since 14.6.3 but it was not visible in the
geoschem_config.yml files as an option. The default is currently false.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

5b1ac965f Merge PR #3055 (Fixed issues in download_data.py)

PR #3055 does the following:

1. Replaces // in all file paths to /.
2. Now checks for the 0.125 x 0.15625 grid.
3. Now will properly determine the nested-grid suffix for
   all pre-defined nested grids.
4. Condensed several instances of repeated code by creating internal
   subroutine write_linked_gmi_files_to_script.
5. Updated Pydoc headers and comments for brevity
6. Trimmed trailing whitespace.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

3d8a03ceb (HEAD -> dev/14.7.0) Merge PR #3050 (Fix precision of GCHP import of area from FV3)

and to the GitHub geoschem/FVdycoreCubed_GridComp repository:

aeec506 Merge PR #10 (Export area as REAL8)

PR #3050 fixes a bug in GCHP where area was stored in the State_Grid
object as REAL*8 but was imported from FV3 advection as REAL*4. The area
computed in FV3 is REAL*8 so there is no reason to truncate to REAL*4
for the import. (Requires companion PR geoschem/FVdycoreCubed_GridComp#10.)

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

e4a4cf370 Merge PR #3062 (Updates for GCHP conservation of rst file species mass)

PR #3062 adds a new export to the GCHPchem gridded component of GCHP.
The new export DELPDRY is set equal to the internal state value of
DELP_DRY during initialize, for use in restart species mass conservation
in dynamics prior to running offline advection in the first timestep.
In addition, an existing print option in advection, to print proxy mass
for air and species, is now a run-time option in config file GCHP.rc.

There are two companion PRs required with this update:
1. geoschem/FVdycoreCubed_Grid
2. #515

Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Add connectivity from GEOS-Chem to advection,
by @lizziel) into the GCHP 14.7.0 development stream.

PR #515 adds a new connectivity between GCHP gridded components to
facilitate mass conservation of restart file species mass in the first
timestep. New GEOS-Chem export DELPDRY, which is set to the delta pressure
from the GEOS-Chem restart file, is passed to a new import of the same name
in the dynamics component. Two companion PRs are required, within which are
updates to apply a pressure ratio scaling to restart file species mixing
ratios prior to running offline advection. This ensures mass conservation
of species mass in the restart file, and fixes issue geoschem/geos-chem#2536.

Companion PRs required for this update:
1. geoschem/FVdycoreCubed_GridComp#11
2. geoschem/geos-chem#3062

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub FVdycoreCubed_GridComp repository:

348620f Merge PR #11 (Scale tracers by pressure ratio in first timestep)

Signed-off-by: Bob Yantosca <[email protected]>
FVDycore submod update: Merge PR #11 (Scale tracers by pressure ratio)

This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub FVdycoreCubed_GridComp repository:

348620f Merge PR #11 (Scale tracers by pressure ratio in first timestep)

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

d4f100a61 Merge PR #3066 (Toggle "read_restart_as_real8" to true for benchmark sims)

PR #3066 adds a call to bash function replace_colon_sep_val to change
YAML tag "read_restart_as_real8" from false to true in the
geoschem_config.yml file that is placed into fullchem benchmark
run directories.

PR #3066 also sets "read_restart_as_real8: true" by default in the
template file geoschem_config.yml.TransportTracers.  This is required
for mass conservation in 1-yr or 10-yr TransportTracers benchmarks.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

6b104bc2f Merge PR #3011 (Disable PARANOx at 0.25 deg resolution or finer)

PR #3011 disables the PARANOx extension when running GC-Classic
fullchem nested-grid simulatiions at 0.25 x 0.3125 and 0.125 x
0.15625 degree resolution, based on the findings of @eamarais.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

5c9935bdd Merge PR #2893 (Fix for emission config for carbon sims)

and to the GitHub geoschem/HEMCO repository:

a7df90f Merge PR #330 (Select gridded scale facs based on mask ID)

These PRs add functionality for the Integrated Methane Inversion
(IMI) with GCHP.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

89336ce92  Merge PR #3074 (Fix typos causing carbon simulations to crash)

PR #3074 fixes an out-of-bounds error in KPP/carbon/carbon_Funcs.F90
when the Carbon diagnostic collection is enabled.  The Carbon
collection is now also turned on by default so as to allow our
integration tests to catch similar errors.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

6b8455bb7 Merge PR #3073 (Fix typo in GCHP operational run script)

PR #3073 fixes an search error in e Harvard example script
gchp.submit_consecutive_jobs.sh.  It was searching for "DURATION"
but should have searched for "Run_Duration",

Signed-off-by: Bob Yantosca <[email protected]>
Submodule ESMA_cmake ad5deba..bd401dc:
  > Merge pull request #8 from yuanjianz/gchp/main

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

Update ESMA_cmake submodule with fixes for GNU/Intel Fortran flags for certain chips
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

65ae1f305 Merge PR #3087 (Fix bug in ObsPack sampling)

PR #3087 updates the logic so that ObsPack data points that are
instantaneously-sampled (i.e. having CT_sampling_strategy = 4) and
that lie within 1/2 model timestep of the end of the day will be
included in the sampling.  This fixes a bug in #3084 that was
reported by @mattloman.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

b4225f205 Merge PR #3086 (Fix LPJ wetland path in ExtData.rc)

PR #3086 changes the path for LPJ wetlands emissions in the GCHP
carbon-simulation ExtData.rc to use the HEMCO data directory.
Previously the path was local on the Harvard Cannon compute cluster.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/HEMCO repository:

12da969 Merge PR #345 (Rewrite the "cannot find field for current time" error msg)

PR #345 This PR seeks to reduce the confusion among GEOS-Chem Classic
by rewriting the "Cannot find file for current simulation time" error
with specific steps that the user can take to get past the error.  It
also adds  word-wrap functionality into src/Core/hco_chartools_mod.F90
so that error messages can be wrapped at 78 characters for better
readability.

Signed-off-by: Bob Yantosca <[email protected]>
This commit informs the GCHP superproject about the following
commits that were pushed to the GitHub geoschem/geos-chem repository:

c39a8f9a3  Merge PR #3095 (Fix diagnostic error for CO2-only or OCS-only sims)

PR #3095 fixes an out-of-bounds error that can occur in the CO2-only
and OCS-only carbon simulations when the State_Diag%OHconcAfterChem
diagnostic is selected to be archived, but when the OHdiurnalFac array
is not allocated. To fix the error we enclose the IF block where the
diagnostic is updated with in the IF ( id_CH4_adv > 0 .or. id_CO_adv > 0 )
block.

Signed-off-by: Bob Yantosca <[email protected]>
@lizziel lizziel force-pushed the feature/gchp_ctmenv_only_simulation branch from 018a15c to be068fe Compare October 29, 2025 18:38
@lizziel
Copy link
Contributor Author

lizziel commented Oct 29, 2025

Using this implementation for 12 km winds is on hold, but I am currently experimenting with it for testing MAPL3. We may or may not bring the changes in this PR into the standard model in the future.

GEOS-Chem is not added as a gridded component and FV3 advection
is not run. Enable by building with -DMODEL_CTMENV=y. A message
is printed during configure stage if building with MODEL_CTMENV
turned on. Otherwise, no message is printed.

Signed-off-by: Lizzie Lundgren <[email protected]>
@lizziel lizziel force-pushed the feature/gchp_ctmenv_only_simulation branch from 711f2d3 to 7fd8b2e Compare November 3, 2025 21:46
@lizziel
Copy link
Contributor Author

lizziel commented Nov 4, 2025

This update is now rebased on dev/14.7.0. Since it is very useful for testing I would like to bring it into the standard model, possibly in 14.7.1.

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 topic: Run Directories Related to GCHP run directories topic: Runtime Related to runtime issues (e.g. simulation stops with error)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants