Merge updates from GEOS-Chem 14.7.1 into dev/14.8.0#3274
Merged
yantosca merged 125 commits intodev/14.8.0from Apr 22, 2026
Merged
Merge updates from GEOS-Chem 14.7.1 into dev/14.8.0#3274yantosca merged 125 commits intodev/14.8.0from
yantosca merged 125 commits intodev/14.8.0from
Conversation
…ps only work for gchp loadbalace that require MPI_LOAD_BALANCE flag to compile and use
Still used by MPI_LOAD_BALANCE for C_PTR.
Verified the merged main loop works for GCClassic, GCHP, as well as our load balanced GCHP.
GeosCore/gc_environment_mod.F90 - Now also call routine Register_State_Grid from state_grid_mod.F90 - Fixed incorrect error message GeosUtil/pressure_mod.F90 - Now initialize the ErrMsg variable - Cosmetic changes (indentation, comments) Headers/diaglist_mod.F90 - Added ELSEIF block to set the state variable to "GRID" if the (case-insensitive) text "grid" is found in the name Headers/state_grid_mod.F90 - Added USE statements to reference dictionary_t and MetaRegItem objects - Added Register_State_Grid routine to register State_Grid variables - Added Lookup_Grid routines to look up a variable in the State_Grid registry - Added History diagnostic coordinate variables to GrdState - Zero/nullify coordinate variables in routine Init_State_Grid - Allocate coordinate variables in Allocate_State_Grid - Cosmetic changes (alphabetization, comments, whitespace, indentation) - Changed several State_Grid fields from fp to f8 precision CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
History/history_mod.F90 - Added new routine History_InitCoordVars. This populates the fields of State_Grid that are coordinate variables for History netCDF files. - Added call to History_InitCoordVars from History_Init - Added State_Grid as an argument to History_AddItemToCollection - Added call to Registry_Lookup in History_AddItemToCollection to query fields in the State_Grid registry - Added State_Grid as an argument to the History_Write routine, so that it can be passed to History_Netcdf_Define History/history_netcdf_mod.F90 - Added State_Grid as an argument to History_Netcdf_Define, and IndexVarList_Create routines - Also added State_Grid to the existing call to Lookup_Grid in the IndexVarList_Create routine - Removed "USE Grid_Registry_Mod, ONLY: Lookup_Grid" statement GeosUtil/grid_registry_mod.F90 - Removed CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
History/history_mod.F90 - Added new routine History_InitCoordVars. This populates the fields of State_Grid that are coordinate variables for History netCDF files. - Added call to History_InitCoordVars from History_Init - Added State_Grid as an argument to History_AddItemToCollection - Added call to Registry_Lookup in History_AddItemToCollection to query fields in the State_Grid registry - Added State_Grid as an argument to the History_Write routine, so that it can be passed to History_Netcdf_Define - Now reference Lookup_Grid from state_grid_mod.F90 in history_mod.F90 History/history_netcdf_mod.F90 - Added State_Grid as an argument to History_Netcdf_Define, and IndexVarList_Create routines - Also added State_Grid to the existing call to Lookup_Grid in the IndexVarList_Create routine - Removed "USE Grid_Registry_Mod, ONLY: Lookup_Grid" statement GeosUtil/grid_registry_mod.F90 - Removed GeosUtil/CMakeLists.txt - Removed "grid_registry_mod.F90" from GeosUtil library CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/cleanup_mod.F90 Interfaces/GCClassic/main.F90 - Removed "USE Grid_Registry_Mod" and "CALL Grid_Registry_Mod" History/history_mod.F90 - Pass State_Grid as an argument to Lookup_Grid, as the grid registry is now located in this object Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_grid_mod.F90 - Fixed typo in State_Grid%HyBm Description field: "hybrid A" -> "hybrid B" - Fixed typo in State_Grid%LonBnd" Units field: "degrees_north" -> "degrees_east" Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_grid_mod.F90 - The GlobalXEdge, GlobalXMid, GlobalYEdge, GlobalYMid fields of State_Grid are allocated and computed in routine Compute_Grid, which only gets called for GC-Classic. To avoid an error in GCHP, we now only register these fields for GC-Classic. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Co-authored-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Co-authored-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
Co-authored-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
GeosCore/planeflight_mod.F90 - Now use a scale factor of 1e-3 in the conversion of v/v dry to molec/cm3 for GEOS-Chem chemical species in routine PLANEFLIGHT - Removed the "USE UnitConv_Mod, ONLY: Convert_Spc_Units", as this routine has been removed from PLANEFLIGHT in 2021 Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
The Fung (1992) termite emissions of CH4 were dated and at a coarse resolution (4x5). We now update to the more recent CAMS-GLOB-TERM_v1.1 termite emissions available on the 0.5x0.5 degree grid and at monthly resolution (averaged over 2000-2017). With this update, annual termite emission totals are expected to increase from 12 Tg/year (Fung 1992) to 20 Tg/year (CAMS). In this update, we also retire both Fung termite emissions and Fung soil absorption as options in the carbon simulation. Signed-off-by: Melissa Sulprizio <mpayer@seas.harvard.edu>
run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.aerosol run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.fullchem - Removed entries for ARCTAS_SHIP, CORBETT_SHIP, ICOADS_SHIP run/GCClassic/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon run/GCHP/HEMCO_Config.rc.templates/HEMCO_Config.rc.carbon - Also added toggle for HTAP_SHIP (this was missing) CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR # (Removed ARCTAS, ICOADS, CORBETT ship emission entries from HEMCO_Config.rc templates, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3198 does the following: 1. Removes ARCTAS_SHIP, CORBETT_SHIP, and ICOADS_SHIP entries from GC-Classic and GCHP HEMCO_Config.rc template files. These inventories are obsolete and data for these no longer exists. 2. Adds "--> HTAP_SHIP : false" toggles to the HEMCO_Config.rc.carbon template files for GC-Classic and GCHP. There is an entry for HTAP_SHIP but no toggle in these files. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3194 (Update termite CH4 emissions to CAMS-GLOB-TERM_v1.1 product, by @msulprizio) into the GEOS-Chem "no-diff-to-benchmark" development stream. In PR #3194 we have done the following: 1. Updated emissions of CH4 were dated and at a coarse resolution (4x5). We now update to the more recent CAMS-GLOB-TERM_v1.1 termite emissions available on the 0.5x0.5 degree grid and at monthly resolution (averaged over 2000-2017). 2. Retired both Fung termite emissions and Fung soil absorption as options in the carbon simulation. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
NOTE: Some GitHub Actions that are based on Node20.js are being removed from runners. .github/workflows/stale.yml - Chagned "stale@v5" to "stale@v10 CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3254 (Update GitHub Actions to the latest versions to avoid Node20.js deprecation warnings, by @yantosca) into the GEOS-Chem 14.7.1 development stream. PR #3254 updates to the latest GitHub Actions versions. Some of the current Actions are based on Node20.js, which is being retired in June 2026. This will ensure that our current GitHub Actions workflows will not break when Node20.js is retired. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3080 (Add CH4 Jacobian run option to carbon simulation, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3080 adds the capability of building and running a KPP carbon simulation with Jacobian tracers as needed for the GCHP Integrated Methane Inversion (IMI). See #3080 for details. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
KPP/carbon/carbon_funcs.F90 - Fixed typo where id_CO was assigned the ID of CO2, and vice-versa Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3220 (Stop integration & parallel tests if a conda environment with netCDF is active, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3220 places error checks to stop integration and parallel tests from proceeding if the netCDF library comes from a conda environment. When a conda enviroment (such as gcpy_env) is activated, the netCDF library from conda may be placed higher up in the search path than the netCDF library that is desired. This can cause the executable to be linked against the wrong netCDF library. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3233 (ExtData2G capability in GCHP transport tracer simulations, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3233 enables using MAPL ExtData2G, rather than legacy MAPL ExtData, for handling imports in GCHP as an option for the transport tracers simulation. A yaml configuration file for that simulation is included in this pull request. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3250 (Prevent GC-Classic simulations on reduced vertical grids from trying to read the restart file as REAL*8, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3250 prevents GC-Classic simulations on the reduced vertical grid (47 levels) from having run directories set up to try to read the restart file as REAL*8 directly via GEOS-Chem (as this method does not have vertical regridding). Also an error trap is added to stop simulations where the vertical dimension of the restart file does not match the vertical dimension of the simulation grid. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3237 (Fix a timestep mismatch between GCHP C180 and GCC 0.5x0.625, by @yuanjianz) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3237 edits the run/GCHP/setCommonRunSettings.sh.template file so that GCHP C180 simulations will use a 5/10 minute transport and chemistry timestep (as does GC-Classic 0.5 x 0.625). Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_grid_mod.F90 - Removed MaxChemLev, MaxStratLev, MaxTropLev fields from State_Grid Headers/state_met_mod.F90 - Added MaxChemLev and MaxStratLev to State_Met GeosUtil/pressure_mod.F90 - Added Init_MaxChemLev routine - Call Init_MaxChemLev from Init_Pressure - Pass State_Met argument to Init_Pressure - Now define State_Met%MaxChemLev and State_Met%MaxStratLev as the level where pressure = 1 hPa GeosCore/calc_met_mod.F90 - Now reference State_Met%MaxStratLev instead of State_Grid%MaxStratLev - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev GeosCore/cldj_interface_mod.F90 - Add State_Met as an argument to Init_CloudJ and Set_Clim_Profiles - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev - Cosmetic changes (indentation) GeosCore/gc_environment_mod.F90 - Now pass State_Met as an argument to GC_Init_Extra - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev GeosCore/gc_grid_mod.F90 - Simplify logic where isGMAO and State_Grid%NativeNZ is computed GeosCore/mercury_mod.F90 - Add State_Met argument to Init_Mercury and call to Init_Photolysis - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev GeosCore/photolysis_mod.F90 - Add State_Met argument to Init_Mercury and call to Init_CloudJ - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev GeosCore/sulfate_mod.F90 - Add State_Met argument to Init_Sulfate - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev GeosCore/aerosol_mod.F90 GeosCore/carbon_mod.F90 GeosCore/diagnostics_mod.F90 GeosCore/dust_mod.F90 GeosCore/global_br_mod.F90 GeosCore/hco_utilities_gc_mod.F90 GeosCore/ocean_mercury_mod.F90 GeosCore/seasalt_mod.F90 - Now reference State_Met%MaxChemLev instead of State_Grid%MaxChemLev Interfaces/GCClassic/main.F90 Interfaces/GCHP/gchp_chunk_mod.F90 - Now pass State_Met to GC_Init_Extra and Init_Photolysis Interfaces/GCHP/Chem_GridCompMod.F90 - Removed references to State_Grid%MaxStratLev and State_Grid%MaxTropLev CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/aero_drydep.F90 - Change "State_Grid%MaxChemLev" -> "State_Met%MaxChemLev" GeosCore/fjx_interface_mod.F90 - Change "State_Grid%MaxChemLev" -> "State_Met%MaxChemLev" - Pass State_Met instead of State_Grid to "Set_Prof_FJX" - Cosmetic changes (indentation) GeosCore/gc_grid_mod.F90 - Fix typo "ModelE2.1" -> "MODELE2.1" in case statement where is_GMAO is set. This needs to be in uppercase. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/cldj_interface_mod.F90 - Removed State_Met from the arg list, it's not used GeosCore/photolysis_mod.F90 - Removed State_Met from the call to Init_CloudJ CHANGELOG.md - Updated accordingly - Removed/combined duplicated text Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3205 (Fix bugs in HEMCO_Diagn.rc template files for DustL23M, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark development stream. In PR #3205 we have made the following fixes: 1. In run/GCClassic/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem.onlineE, we have added diagnostic emission entries for DSTbin1..DSTbin7, following what we did for the GEOS-Chem Classic HEMCO_Diagn.rc template. The inventory number/category will be changed if using online dust at rundir creation. 2. In run/GCHP/HEMCO_Diagn.rc.templates/HEMCO_Diagn.rc.fullchem, we have fixed the incorrect extension number for the InvDustL23M diagnostics. The extension number was 105 but should be 125. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosUtil/pressure_mod.F90 - Added a CASE statement so that State_Met%MaxChemLev and State_Met%MaxStratLev will be hardwired for the GCAP/ModelE2.1 102, 74, and 40 level grids. For the GMAO grids these will be computed as the 1hPa level. This was necessary in order to obtain zero-diff results when using GCAP ModelE2.1 met fields when comparing to previous model versions. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
Headers/state_grid_mod.F90 - Removed MaxChemLev, MaxStratLev, MaxTropLev from TYPE(GrdState) Interfaces/GCHP/Chem_GridCompMod.F90 - Changed: State_Grid%MaxChemLev -> State_Met%MaxGridLev - Changed: State_Grid%MaxStratLev -> State_Met%MaxStratLev Interfaces/GCHP/gchp_chunk_mod.F90 - Removed references to State_Grid%MaxChemLev, State_Grid%MaxStratLev Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
GeosCore/cldj_interface_mod.F90 - Removed the leftover "USE State_Met_Mod" statement. This is not needed in this routine. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings PR #3089 (Remove hardwired MaxChemLev; now compute this as the 1 hPa level and store in State_Met, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. PR #3089 does the following: 1. Removes State_Grid%MaxTropLev, State_Grid%MaxStratLev, and State_Grid%MaxChemLev fields. 2. Adds State_Met%MaxChemLev and State_Met%MaxStratLev fields 3. Computes State_Met%MaxStratLev as the 1 hPa level instead of hardwiring it (for GMAO fields only) 4. Sets State_Met%MaxChemLev equal to State_Met%MaxStratLev, so that chemistry will be done to the top of the stratosphere. 5. References State_Met%MaxChemLev and State_Met%MaxStratLev in various routines. 6. Simplifies the logic in gc_grid_mod.F90 where isGMAO and State_Grid%NativeNZ are computed. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This merge brings updates from the "dev/no-diff-to-benchmark" development stream into the release/14.7.1 branch, in anticipation of the GEOS-Chem (science codebase) 14.7.1 release. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
CHANGELOG.md - We have updated the version number to 14.7.1 in anticipation of the GEOS-Chem 14.7.1 release. AUTHORS.txt - Updated as of 08 Apr 2026 for 14.7.1 Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
…er sim The valid_range entry will cause the model to crash if not all of the data is present on the file system. This is a useful tool but not one that should be default for beta since users often only have a subset of the available data locally. The crash does not yet have a useful error message. Signed-off-by: Lizzie Lundgren <elundgren@seas.harvard.edu>
This merge brings PR #3272 (Remove optional valid_range in ExtData2G yaml file for transport tracers simulations, by @lizziel) into the GEOS-Chem "release/14.7.1" branch. PR #3272 removes the valid_range option in the new ExtData2G yaml file for the Transport Tracers simulation introduced in this version as beta in GCHP. The valid_range option works fine on the Harvard cluster because the full span of all available emissions and meteorology data is present locally. However, the model crashes on a different cluster with only the data needed for a short run downloaded. This is because the valid_range for each data collection in the file is set for the time range of all data available remotely in the GEOS-Chem input data repository rather than just the data needed for the run. ExtData2G crashes when it cannot find all of the data even if it is not actually needed. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
This is the official release commit of GEOS-Chem 14.7.1 Updated version numbers in: - CHANGELOG.md Please see CHANGELOG.md for updates added to this version. Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
msulprizio
approved these changes
Apr 22, 2026
Contributor
Author
|
All GEOS-Chem Classic integration tests passed: ==============================================================================
GEOS-Chem Classic: Execution Test Results
CodeDir : 469bdf2 Merge updates from GEOS-Chem 14.7.1 into dev/14.8.0
GEOS-Chem : 6b60420dc Merge updates from GEOS-Chem 14.7.1 into dev/14.8.0
HEMCO : 07da3c2 HEMCO 3.12.1 release
Cloud-J : 16d18b0 Merge PR #34 (Fixed issues in format statements for verbose output)
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Using 24 OpenMP threads
Number of execution tests: 38
Submitted as SLURM job: 7318320
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%All GEOS-Chem Classic tests were zero-diff w/r/t
All GCHP integration tests passed: ==============================================================================
GCHP: Execution Test Results
CodeDir : fcf9a5e Merge updates from GCHP 14.7.1 into dev/14.8.0
MAPL : 80d66d0a Merge PR #41 (ExtData2G in GCHP Transport Tracers simulation)
GMAO_Shared : 4ddb3ec Merge pull request #2 from geoschem/feature/mapl-upgrade
ESMA_cmake : 01bbf2f Merge pull request #9 from geoschem/feature/turn_off_f2py_builds_in_gchp
FMS : 259759d1 Merge pull request #3 from geoschem/feature/update_gmao_libs
FVdycoreCubed : 348620f Merge PR #11 (Scale tracers by pressure ratio in first timestep)
geos-chem : 6b60420dc Merge updates from GEOS-Chem 14.7.1 into dev/14.8.0
HEMCO : 07da3c2 HEMCO 3.12.1 release
Cloud-J : 16d18b0 Merge PR #34 (Fixed issues in format statements for verbose output)
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
GFE : bac529f Merge pull request #40 from Goddard-Fortran-Ecosystem/feature/mathomp4/update-gftl-1.15.2
Number of execution tests: 12
Submitted as SLURM job: 7323128
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%All GCHP tests were zero-diff w/r/t
] |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Name and Institution (Required)
Name: Bob Yantosca
Institution: Harvard + GCST
Describe the update
This PR seeks to merge updates from the "main" branch (corresponding to the GEOS-Chem 14.7.1 release) into the dev/14.8.0 release.
Expected changes
This will be a no-diff-to-benchmark update
Related Github Issue