+
Skip to content

Add benchmark diagnostic sanity check table #356

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

Merged
merged 1 commit into from
Apr 10, 2025

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浏览器服务,不要输入任何密码和下载