+
Skip to content

Conversation

yantosca
Copy link
Contributor

Name and Institution (Required)

Name: Bob Yantosca
Institution: Harvard + GCST

Describe the update

This PR adds a sanity check table to the 1-hr and 1-month benchmark outputs that will aid in identifying errors in diagnostics.

Function create_benchmark_sanity_check_table has been added to gcpy.benchmark.modules.benchmark_funcs, and is called from gcpy.benchmark.run_benchmark.

Expected changes

The following benchmark table output will be generated.

################################################################################
### Benchmark diagnostic sanity check table                                  ###
###                                                                          ###
### Dev = GCHP_dev                                                           ###
################################################################################

================================================================================
GEOSChem.AerosolMass.20190701_0000z.nc4
================================================================================

These variables were all zero or all NaN:
   AerMassOPOA

================================================================================
GEOSChem.Aerosols.20190701_0000z.nc4
================================================================================

These variables were all zero or all NaN:
   Chem_KhetiSLAHOBrHBr
   Chem_KhetiSLAHOClHBr
   Chem_KhetiSLAN2O5HCl

================================================================================
GEOSChem.DryDep.20190701_0000z.nc4
================================================================================

These variables were all zero or all NaN:
   DryDepChm_O3

================================================================================
GEOSChem.Emissions.20190701_0000z.nc4
================================================================================

These variables were all zero or all NaN:
   EmisALD2_PlantDecay
   EmisALD2_Ship
   EmisCH2O_Ship
   ... etc ...

================================================================================
GEOSChem.JValues.20190701_0000z.nc4
================================================================================

No variables were all zero or all NaN

================================================================================
GEOSChem.Metrics.20190701_0000z.nc4
================================================================================

No variables were all zero or all NaN

================================================================================
GEOSChem.SpeciesConc.20190701_0000z.nc4
================================================================================

These variables were all zero or all NaN:
   SpeciesConcVV_A3O2
   SpeciesConcVV_ACET
   SpeciesConcVV_ACTA
   SpeciesConcVV_AERI
   SpeciesConcVV_ALD2
   SpeciesConcVV_ALK4
   SpeciesConcVV_AONITA
   .. etc ...

================================================================================
GEOSChem.StateMet.20190701_0000z.nc4
================================================================================

No variables were all zero or all NaN

gcpy/benchmark/modules/benchmark_funcs.py
- Added routine create_benchmark_sanity_check_table to print a table
  showing which diagnostic variables are all zero or all NaN.  This can
  help to identify diagnostic issues in benchmarks.

gcpy/benchmark/run_benchmark.py
- Call create_benchmark_sanity_check_table (for GCC vs GCC and GCHP
  vs GCHP only).

cloud/template.1hr_benchmark.yml
cloud/template.1mo_benchmark.yml
config/1mo_benchmark.yml
- Add sanity_check_table tag to "options:" menu.

CHANGELOG.md
- Updated accordingly

Signed-off-by: Bob Yantosca <yantosca@seas.harvard.edu>
@yantosca yantosca added category: Feature Request New feature or request topic: Benchmark Plots and Tables Issues pertaining to generating plots/tables from benchmark output labels Apr 10, 2025
@yantosca yantosca added this to the 1.7.0 milestone Apr 10, 2025
@yantosca yantosca requested a review from lizziel April 10, 2025 19:29
@yantosca yantosca self-assigned this Apr 10, 2025
@yantosca yantosca changed the base branch from main to dev April 10, 2025 19:29
Copy link
Contributor

@lizziel lizziel 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 for doing this.

@yantosca yantosca merged commit 39f5278 into dev Apr 10, 2025
17 checks passed
@yantosca yantosca deleted the feature/diagnostic-sanity-check branch April 10, 2025 21:33
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 topic: Benchmark Plots and Tables Issues pertaining to generating plots/tables from benchmark output

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载