Repository navigation
From CHANGELOG.md
Added
- Added constants
CONSTANT_REL_TOL,CONSTANT_TOL_ULPS,NOISE_REL_TOL,REGRID_NOISE_REL_TOLtogcpy/plot/core.py - Added functions
constant_rel_tol,diff_is_negligible,mask_meaningless_ratio,noise_atoltogcpy/plot/core.py - Added functions
colorbar_for_constant_field,colorbar_for_negligible_diff,colorbar_for_flat_restricted_range,ref_dev_data_scale,unique_tickstogcpy/plot/six_plot.py - Added keyword argument
data_scaleto functionsgcpy.plot.single_panel.single_panelandgcpy.plot.six_plot.six_plot - Added function
warn_if_flip_levels_mismatchtogcpy/util.py, called fromcompare_single_levelandcompare_zonal_mean - Added a section to
docs/source/Plotting.rstdescribing the colorbar labels used for six-panel plots that have no meaningful structure to show - Added unit test modules
gcpy/tests/test_util.py,gcpy/tests/test_benchmark_mass_cons_table.py,gcpy/tests/test_single_panel.py - Added
gcpy/benchmark/modules/benchmark_gchp_stats.pyto print GCHP benchmark statistics - Added routine to generate summary table to
gcpy/benchmark/modules/benchmark_species_changes.py - Added keyword argument
yaxis_unitsto routines in:gcpy/benchmark/modules/benchmark_funcs.pygcpy/examples/diagnostics/compare_diags.pygcpy/plot/compare_zonal_mean.pygcpy/plot/single_panel.pygcpy/plot/six_plot.py
- Added
yaxis_units: pressureto the following YAML files:gcpy/benchmark/config/*.ymlgcpy/benchmark/cloud/*.yml- `gcpy/examples/diagnostics/compare_diags.yml
- Added
docs/environment_files/gcpy_environment_py314.yml - Added GitHub Action
build-gcpy-environment-py314.ymlto build and test the GCPy environment with Python 3.14 - Added
.gitattributes,CLAUDE.mdandSECURITY.mdfiles - Added
.pylintrcwhich will ignore harmless warnings based on GCPy's code style
Changed
- Bumped pytest to 9.0.3 and updated documentation accordingly
- Updated paths to the model vs observations data files in the 1-year benchmark yaml config files
- Passed kwarg
yaxis_unitsdown fromcompare_zonal_meantosix_plottosingle_panel - Updated
run_benchmark*routines to readyaxis_unitsfrom YAML files and to pass its value to relevant benchmark routines - Updated ReadTheDocs documentation for the GCPy environment with Python 3.14
- Bumped pypdf to 6.16.1 and updated documentation accordingly
- Prevented
RuntimeWarningmessages from occurring ingcpy/file_regrid.py - Bumped pip to 26.2.1 and updated documentation accordingly
- Changed ratio panel plots to Ratio to report "Ref is zero throughout domain" or "Dev is zero throughout domain" instead of a more generic label
- Changed the
Abs diff [g]rows of the mass conservation table to use exponential format with 4 decimal places - Changed Ref/Dev panels that are constant everywhere to use label "Constant at throughout domain"
- Changed difference and ratio plots to read "Differences negligible throughout domain" if all values are numerical noise
- Updated
gcpy/examples/plotting/create_test_plot.pyto importgcpy.plotdirectly - Updated
single_panelto accept thedata_scaleargument from an external caller when available - Updated function
vmin_vmax_for_absdiff_plotsingcpy/plot/six_plot.pyto usenp.nanpercentileinstead ofnp.percentile
Fixed
- Fixed
NameErroringcpy/regrid.py'sregrid_verticalby removing stalen_otherreferences - Fixed a float32 overflow in
gcpy/benchmark/modules/oh_metrics.pythat producedinfglobal airmass, CH4 lifetime, and MCF lifetime values - Fixed tuple unpack error in
gcpy/benchmark/modules/benchmark_species_changes.py - Fixed
get_nan_maskingcpy/util.py, which built its mask from the original array rather than the filled one - Fixed blank ratio colorbars (no gradient, ticks, or label) on zonal-mean plots where Ref and Dev are both zero
- Fixed ratio panels rendering numerical noise as saturated color in both
gcpy/plot/compare_zonal_mean.pyandgcpy/plot/compare_single_level.py - Fixed the difference row and the ratio row of a six-panel plot disagreeing about whether Ref and Dev differ
- Fixed the
end_massrow of the mass conservation table ingcpy/benchmark/modules/benchmark_mass_cons_table.py
Removed
- Removed the Advected column from the wiki tables in
gcpy/benchmark/modules/benchmark_species_changes.py
Pull requests included
- Bump pytest from 8.3.4 to 9.0.3 by @dependabot[bot] in #434
- Add benchmark_gchp_stats.py to scrape GCHP 1-month benchmark stats by @yantosca in #436
- Fix precision issue causing infinity CH4 and MCF lifetimes in OH metrics benchmark tables by @yantosca in #437
- Fix minor issues in benchmark_species_changes.py script by @yantosca in #438
- Fix blank Ref/Dev panels in single-level six-panel comparison plots by @yantosca in #439
- Fix blank/white Ref and Dev panels in zonal-mean comparison plots by @yantosca in #441
- Pass "yaxis_units" to routine single_panel to allow zonal mean plots to have y-axis units of either level or pressure by @yantosca in #443
- Improve how comparison plots handle noise, zeros, and undefined ratios by @yantosca in #444
- Build GCPy environment with Python 3.14 by @yantosca in #440
- Fixed several remaining issues in benchmark plots by @yantosca in #446
- GCPy 1.8.1 release by @yantosca in #447
Full Changelog: 1.8.0...1.8.1