-
Notifications
You must be signed in to change notification settings - Fork 166
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 GEOS-Chem 14.4.3 into the 14.5.0 development branch #2425
Conversation
We now run a 2x2.5 ModelE2.1 (aka GCAP 2.0) full-chemistry simulation in the GCClassic integration tests. Only one scenario (SSP2-4.5) is evaluated here simply to ensure these future scenario simulations compile and run for 1 hour successfully. I will defer to @ltmurray for guidance on whether additional simulations are needed. The GCAP 2.0 integration test is passing off of 14.4.1, confirming that the fixes in #2342 should have resolved the issues of GCAP 2.0 not working in 14.0.0 (as reported by Lee Murray at IGC11). Sample integration test output: ``` ============================================================================== GEOS-Chem Classic: Execution Test Results GCClassic #c49fcec Submod updates: Merge GEOS-Chem PR #2353 and Cloud-J PR #19 GEOS-Chem #7e4001658 Merge PR #2369 (Fix several issues with satellite diagnostics) HEMCO #2192e0e HEMCO 3.9.1 release Using 24 OpenMP threads Number of execution tests: 29 Submitted as SLURM job: 40462513 ============================================================================== Execution tests: ------------------------------------------------------------------------------ gc_05x0625_NA_47L_merra2_CH4........................Execute Simulation....PASS gc_05x0625_NA_47L_merra2_fullchem...................Execute Simulation....PASS gc_2x25_ModelE2.1_fullchem..........................Execute Simulation....PASS ``` Signed-off-by: Melissa Sulprizio <[email protected]>
…racers Signed-off-by: Lizzie Lundgren <[email protected]>
…ur to 20 minutes To speed up integration tests, we now run the ModelE2.1 (GCAP 2.0) simulation for 20 minutes instead of 1 hour since these simulations run at 2x2.5 resolution. Signed-off-by: Melissa Sulprizio <[email protected]>
…RY.rc to GCClassic integration tests In order to evaluate all diagnostic collections, we now include a simulation with all collections activated in HISTORY.rc. This is a copy of the gc_4x5_merra2_fullchem_benchmark simulation with the comment character removed from all collection names at the top of HISTORY.rc. Signed-off-by: Melissa Sulprizio <[email protected]>
test/shared/commonFunctionsForTests.sh - Also apply the sed command to change "00000100 000000" to "00000000 002000" for the GCAP2 ModelE2.1 int tests. This makes the frequency & duration consistent with the simulation length. Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2394 (Add ModelE2.1 (GCAP 2.0) simulation to GCClassic integration tests, by @msulprizio) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR adds a full-chem integration test with ModelE2.1 met fields in order to test for issues with that meteorology. Signed-off-by: Bob Yantosca <[email protected]>
run/GCClassic/HISTORY.rc.fullchem - Added missing fields for the UVFlux collection (frequency, duration, mode, fields). CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
test/shared/commonFunctionsForTests.sh - Update SED_HISTORY_RC_1 and SED_HISTORY_RC_N to use regex wildcard characters for certain digits - Update logic so that we first test on the resolution name before changing frequency & duration values to 20 mins (for nested-grid tests) or 1-hr (for other tests) run/GCClassic/HISTORY.rc.templates/HISTORY.rc.fullchem - Update frequency and duration of the TOMAS collection from "010000" to "00000100 000000", to be consistent with other collections Signed-off-by: Bob Yantosca <[email protected]>
test/shared/commonFunctionsForTests.sh - Add "print_submodule_head_commits" function to print the commit hash & description at the head of each submodule test/integration/GCClassic/integrationTestCreate.sh test/integration/GCClassic/integrationTestCompile.sh test/integration/GCClassic/integrationTestExecute.sh test/integration/GCHP/integrationTestCreate.sh test/integration/GCHP/integrationTestCompile.sh test/integration/GCHP/integrationTestExecute.sh - Now call print_submodule_head_commits instead of using inlined code Signed-off-by: Bob Yantosca <[email protected]>
test/shared/commonFunctionsForTests.sh - Remove "_GridComp" from the "FVdycoreCubed" submodule display name in function print_submodule_head_commits test/integration/GCHP/integrationTestCompile.sh test/integration/GCHP/integrationTestCreate.sh test/integration/GCHP/integrationTestExecute.sh - Now use an offset of 14 characters for print_submodule_head_commits Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCHP/integrationTestCreate.sh - Removed "exit 1" statement that was leftover from debugging. Signed-off-by: Bob Yantosca <[email protected]>
.github/workflows/stale.yml - Add brackets around the list for `exempt-issue-labels`. Verified this syntax with the YAML linter yamllint.com. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCHP/integrationTestCreate.sh - Create a gchp_merra2_fullchem_alldiags by copying the gchp_merra2_fullchem_benchmark run directory and: - Disable RRTMG, Tomas, and DynHeating collections, as these are not enabled for fullchem_benchmark - Print the path of the gchp_merra2_fullchem_alldiags directory test/integration/GCClassic/integrationTestCreate.sh - Print the path of the gc_4x5_merra2_fullchem_alldiags directory - Also disable the DynHeating collection (if present) Signed-off-by: Bob Yantosca <[email protected]>
GeosCore/planeflight_mod.F90 - Replace calls to GEOS_CHEM_STOP (which stops the run upon error) with calls to GC_Error + RETURN (to pass the error back to the main program). run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.* - Send planeflight diagnostic "plane.log" output to OutputDir - Now use dummy input file for ObsPack -- facilitates testing test/integration/GCClassic/integrationTestCreate.sh - Define bash variables to hold paths to configuration files (and unset them at the end of the script) - Navigate into the alldiags run directory to simplify bash commands - Copy the dummy planeflight and obspack input files to the run directory for the "alldiags" integration test - Call "toggle_geoschem_config_option" to turn on the planeflight and obspack diagnostics test/shared/alldiags/Planeflight.dat.20190701 - Dummy input file for the planeflight diagnostic used in the "alldiags" integration tests test/shared/commonFunctionsForTests.sh - Add comments to "print_submodule_head_commits" function - Add new function "toggle_geoschem_config_option" to toggle the "activate" value in the planeflight and obspack diagnostic menus in geoschem_config.yml CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
run/GCClassic/geoschem_config.yml.templates/geoschem_config.yml.* - Change "obspack_dummy_input_for_testing.20190701.nc" to "obspack_input_for_testing.20190701.nc" in all GEOS-Chem Classic geoschem_config.yml templates. This will avoid an issue where "mm" is confused with minutes. Fix this issue later. Signed-off-by: Bob Yantosca <[email protected]>
test/shared/commonFunctionsForTests.sh - Add the current directory (.) to the list of submodules for which we will obtain Git commit hashes - In the display name (y), replace "." with the basename of argument ${2}. This is the name of the superproject. Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCClassic/integrationTestCreate.sh - Bug fix: We forgot to adjust the name of the sample ObsPack data file stored in the $obsPk variable. This has now been corrected. Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCClassic/integrationTestCreate.sh - In the grep command used to define the extDataDir variable, we must use ${HOME} instead of ~. Otherwise the grep fails. This was causing the sample ObsPack data file not to be copied to the alldiags test folder. Signed-off-by: Bob Yantosca <[email protected]>
run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem - Now use SO4 instead of O3 for the Budget collection diagnostic fields. This will allow us to test The BudgetWetDep diagnostic, as SO4 is soluble and O3 is not. Using O3 caused a runtime error, which should now be fixed. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
test/integration/GCHP/integrationTestExecute.sh - Add an sed command to reset the cap_restart time to 000000 UTC. This will make sure that we restart the run from 0h UTC when we manually restart tests with utils/redoIntegrationTestExecute.sh. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
Headers/state_diag_mod.F90 - In routine "Get_UVFLux_Bin", make sure that tagName and UVFlux_Tag_Names(N) are both in uppercase before comparing them for equality. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
Interfaces/GCHP/gchp_historyexportsmod.F90 - Replace "informative message here" with a detailed error message. run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem - Uncomment the StratBM diagnostic entries test/integration/GCHP/integrationTestExecute.sh - Add a sed command to comment out the StratBM collection in the collections list of HISTORY.rc for the GCHP "alldiags" test CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem - Fix typo (i.e. "DryDepACET" -> "DryDep_ACET") in the DryDep collection entries. This was causing a GCHP runtime error. test/integration/GCHP/integrationTestCreate.sh - Reactivate the StratBM collection, this should be OK. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
run/GCHP/HISTORY.rc.fullchem - Comment out (with `###` the Emissions diagnostic entries that are are also commented out in the corresponding HEMCO_Diagn.rc.fullchem template. This will disable them in the GCHP "alldiags" test. test/integration/GCClassic/integrationTestCreate.sh test/integration/GCHP/integrationTestCreate.sh - Disable the UVFlux collection in the "alldiags" integration test, as this is currently problematic. Look to fix this later. CHANGELOG.md - Updated accordingly Signed-off-by: Bob Yantosca <[email protected]>
run/GCHP/HISTORY.rc.templates/HISTORY.rc.fullchem - Added an extra # (now '####') when commenting out the unused diagnostic entries in the Emissions collection. This is needed for the "alldiags" test, which strips the first 3 '###' chars. Signed-off-by: Bob Yantosca <[email protected]>
CHANGELOG.md - Added "and GCHP" to the "Added simulation with all diagnostics..." sentence. Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2399 (Add simulation with all diagnostics turned to integration testing, by @msulprizio and @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR adds GCHP and GCClassic integration tests (based on the fullchem_benchmark test) with all diagnostics turned on. Several minor issues revealed by these tests have also been fixed. Signed-off-by: Bob Yantosca <[email protected]>
This rebase brings the "feature/trop-prs-in-satdiagn" branch (which contains an update by @eamarais to add tropopause pressure to the SatDiagn collection) into the "dev/no-diff-to-benchmark" branch atop PR #2399. The original update was based off version 14.1.0. This merge brings PR # ( , by @) into Signed-off-by: Bob Yantosca <[email protected]>
CHANGELOG.md - Added an note that we have added tropopause pressure to the satellite diagnostics (update from @eamarais) Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR #2410 (Add tropopause pressure to the GEOS-Chem Classic "SatDiagn" collection, by @yantosca on behalf of @eamarais) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR adds an extra field (TROPP) to the existing SatDiagn collection. Signed-off-by: Bob Yantosca <[email protected]>
…-IT) This merge brings PR # (Add GC-Classic transport tracer global half-degree run option with GEOS-IT, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR updates the GC-Classic create run directory script. It now offers the option of a global 1/2-degree run using the transport tracer simulation with GEOS-IT meteorology fields. Signed-off-by: Bob Yantosca <[email protected]>
GeosCore/sulfate_mod.F90 - Remove XNUMOL_H2O2 / CMPERM3 from the equation for DH2O2. This used to convert PH2O2 to molec/cm3/s, but with KPP, PH2O2 is already in molec/cm3/s. - Add !$OMP COLLAPSE( 3 ) for efficiency - Add !$OMP SCHEDULE( DYNAMIC, 8 ) for better load balancing - Change e.g. 0.0e+0_fp to 0.0_fp for clarity Signed-off-by: Bob Yantosca <[email protected]>
GeosCore/sulfate_mod.F90 - Fix typo "SCHEUDLE" -> "SCHEDULE" Signed-off-by: Bob Yantosca <[email protected]>
Previously the run directory was configured to always use online biogenic MOH values for the EmisMOH_Biogenic variable in HEMCO emissions. Signed-off-by: Lizzie Lundgren <[email protected]>
…ig.rc This update impacts only GCHP emissions for which we have both online and offline sources, namely seasalt, soil NOx, biogenic, and dust emissions. Previously HEMCO_Diagn.rc always specified offline emissions for use in emissions diagnostic unless using the benchmark simulation. Now the file is automatically updated at run-time to use online values instead if the extension is turned on within HEMCO_Config.rc. Signed-off-by: Lizzie Lundgren <[email protected]>
Signed-off-by: Lizzie Lundgren <[email protected]>
This merge brings PR #2413 (Fix incorrect unit conversion for H2O2 in the aerosol-only simulation, by @yantosca) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR fixes a longstanding unit conversion issue in the aerosol-only simulation. Signed-off-by: Bob Yantosca <[email protected]>
This merge brings PR # (Fixes for HEMCO diagnostic config file HEMCO_Diagn.rc, by @lizziel) into the GEOS-Chem "no-diff-to-benchmark" development stream. This PR adds 2 fixes: 1. Use offline biogenic MOH emissions (except for the benchmark simulation, which uses online emissions by default) 2. Auto-set GCHP emissions sources in HEMCO_Diagn.rc based on HEMCO_Config.rc. Signed-off-by: Bob Yantosca <[email protected]>
This merge brings the "no-diff-to-benchmark" updates into the main branch in preparation for the GEOS-Chem 14.4.3 release. Signed-off-by: Bob Yantosca <[email protected]>
Updated version numbers in: - CHANGELOG.md Signed-off-by: Bob Yantosca <[email protected]>
Integration tests are running |
The GEOS-Chem "alldiags" integration test failed with this error: Error termination. Backtrace:
At line 1183 of file /n/holyscratch01/jacob_lab/ryantosca/tests/14.5.0/gc2425/GCC_it/CodeDir/src/GEOS-Chem/GeosCore/diagnostics_mod.F90
Fortran runtime error: Index '264' of dimension 3 of array 'colmass' above upper bound of 237 All other tests passed. I am investigating. |
The error in the "alldiags" test has been traced to the ALK4P species being listed in |
As mentioned above, all GEOS-Chem Classic integration tests (except "alldiags") passed. The issue with alldiags will be fixed in PR #2318, which will be merged into GEOS-Chem 14.5.0 after this PR. ==============================================================================
GEOS-Chem Classic: Execution Test Results
CodeDir : c2a3236 Merge GEOS-Chem 14.4.3 back into the 14.5.0 development branch
GEOS-Chem : 000205c86 Merge GEOS-Chem 14.4.3 back into the 14.5.0 development branch
HEMCO : 41605bd HEMCO 3.9.3 release
Cloud-J : d20050f Update version to 7.7.3
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Using 24 OpenMP threads
Number of execution tests: 30
Submitted as SLURM job: 43708487
==============================================================================
...
gc_4x5_merra2_fullchem_alldiags.....................Execute Simulation....FAIL
...
Summary of test results:
------------------------------------------------------------------------------
Execution tests passed: 29
Execution tests failed: 1
Execution tests not yet completed: 0 |
All GCHP integration tests passed: ==============================================================================
GCHP: Execution Test Results
CodeDir : 46197b6 Merge GEOS-Chem 14.4.3 back into the 14.5.0 development branch
MAPL : 231d53c Merge pull request #36 from geoschem/feature/improve_hflux_regridding
GMAO_Shared : 4ddb3ec Merge pull request #2 from geoschem/feature/mapl-upgrade
ESMA_cmake : ad5deba Added ecbuild as a submodule of ESMA_cmake
gFTL-shared : 4b82492 Merge branch 'upstream_v1.5.0' into feature/v1.5.0
FMS : 259759d Merge pull request #3 from geoschem/feature/update_gmao_libs
FVdycoreCubed : af42462 Merge PR #8 (Add PLEadv diagnostic for offline advection in GCHP)
geos-chem : 000205c86 Merge GEOS-Chem 14.4.3 back into the 14.5.0 development branch
HEMCO : 41605bd HEMCO 3.9.3 release
yaFyaml : 19afe50 Merge branch 'upstream_v1.0.4' into feature/v1.0.4
pFlogger : 2c4b724 Merge branch 'upstream_v1.9.1' into feature/v1.9.1
Cloud-J : d20050f Update version to 7.7.3
HETP : 2a99b24 Merge pull request #2 from geoschem/bugfix/initialize_local_variables
Number of execution tests: 12
Submitted as SLURM job: 43793675
==============================================================================
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% All execution tests passed! %%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% The reason why the "alldiags" test did not fail is because in GCHP we use only the SO4 species (which is advected, emitted, dry deposits, and wet deposits). #==============================================================================
# Budget defined as species kg/s in the column (full, troposphere, or PBL)
# due to a single component (e.g. chemistry); default = SO4 only; add more
# species as needed (advected only)
#==============================================================================
Budget.template: '%y4%m2%d2_%h2%n2z.nc4',
Budget.format: 'CFIO',
Budget.timestampStart: .true.
Budget.monthly: 0
Budget.frequency: 010000
Budget.duration: 010000
Budget.mode: 'time-averaged'
Budget.fields: 'BudgetWetDepFull_SO4 ', 'GCHPchem',
'BudgetChemistryFull_SO4 ', 'GCHPchem',
'BudgetConvectionFull_SO4 ', 'GCHPchem',
'BudgetMixingFull_SO4 ', 'GCHPchem',
'BudgetEmisDryDepFull_SO4 ', 'GCHPchem',
#
'BudgetWetDepLevs1to35_SO4 ', 'GCHPchem',
'BudgetChemistryLevs1to35_SO4 ', 'GCHPchem',
'BudgetConvectionLevs1to35_SO4', 'GCHPchem',
'BudgetMixingLevs1to35_SO4 ', 'GCHPchem',
'BudgetEmisDryDepLevs1to35_SO4', 'GCHPchem',
#
'BudgetWetDepTrop_SO4 ', 'GCHPchem',
'BudgetChemistryTrop_SO4 ', 'GCHPchem',
'BudgetConvectionTrop_SO4 ', 'GCHPchem',
'BudgetMixingTrop_SO4 ', 'GCHPchem',
'BudgetEmisDryDepTrop_SO4 ', 'GCHPchem',
#
'BudgetWetDepPBL_SO4 ', 'GCHPchem',
'BudgetChemistryPBL_SO4 ', 'GCHPchem',
'BudgetConvectionPBL_SO4 ', 'GCHPchem',
'BudgetMixingPBL_SO4 ', 'GCHPchem',
'BudgetEmisDryDepPBL_SO4 ', 'GCHPchem',
:: The error in GCClassic is caused by the ALK4 species not being listed as an advected species, but being included in the Budget diagnostic. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
These updates look good for merging after fixing potential ordering issues in CHANGELOG.md.
@@ -428,6 +449,10 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), | |||
- Removed State_Met%LWI and input meteorology LWI from carbon simulation run config files | |||
- Removed function `CLEANUP_UCX`; deallocations are now done in `state_chm_mod.F90` | |||
|
|||
## [14.4.3] - 2024-08-13 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why are these lines so far down? Perhaps a merge issue? I think they need to be moved up.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Melissa, I can fix that in a post-merge fix.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK. I will approve then.
CHANGELOG.md - The entry for "Tropopause pressure field..." for 14.4.3 was located much further down than it should have been. We have moved it back to to the 14.4.3 section at the top of the file. Signed-off-by: Bob Yantosca <[email protected]>
Name and Institution (Required)
Name: Bob Yantosca
Institution: Harvard + GCST
Describe the update
This PR seeks to merge the updates from the 14.4.3 release into the 14.5.0 development branch.
Expected changes
This is a no-diff-to-benchmark PR (i.e. the concentrations in the fullchem restart files are identical w/r/t 14.4.2) But some diagnostic outputs may differ due to the updates contained in these PRs:
Reference(s)
N/A
Related Github Issue
N/A
Tagging @msulprizio @lizziel