Skip to content

GCPy 1.8.0

Choose a tag to compare

@yantosca yantosca released this 12 Aug 15:32
· 62 commits to main since this release

Release date: 12 Aug 2026

From CHANGELOG.md

Added

  • Added HONO and NAP to gcpy/benchmark/modules/emission_species.yml
  • Added MGLY to gcpy/benchmark/modules/benchmark_categories.yml
  • Added Sphinx ReadTheDocs packages into gcpy_environment_py312.yml and gcpy_environment_py313.yml
  • Added docs/source/api.rst configuration file for auto-building the GCPy API reference section
  • Added gcpy/examples/gcst/generate_inttest_report.py script to produce a summary of integration test results
  • Added pytest=8.3.4 as a dependency to environment files
  • Added several unit tests in gcpy/tests as well as a GitHub Action to run them on pushes and pull requests
  • Added is_nearly_constant function to gcpy/util.py
  • Added pytest.ini to filter benign warnings (numpy/ESMF ABI notice, xesmf array-contiguity notices) out of the test suite output
  • Added gcpy/examples/gcst/generate_gchp_speciesconcvv_list.py script to generate the SpeciesConcVV_ entries for the GCHP HISTORY.rc file
  • Added "GEOS-Chem Support Team (GCST) utility scripts" page to the ReadTheDocs documentation

Changed

  • Bumped pypdf to version 6.7.1 in setup.py and environment files
  • Updated benchmark/modules/emission_species.yml to be consistent w/ the FullChemBenchmark emission diagnostics in GC 14.7.0 and later
  • Bumped requests to version 2.33.0 (suggested by @dependabot)
  • Updated GitHub Actions to the latest versions
  • Bumped pip to version 26.1.2 in setup.py and environment files
  • Moved Sphinx ReadTheDocs packages into the GCPy environment files (needed for automatic API generation)
  • Updated Sphinx ReadTheDocs packages to the latest versions in environment files and requirements.txt
  • Replaced ReadTheDocs dependency recommonmark with myst-parser
  • Updated __init__.py files to ensure that each folder has its own file
  • Updated .readthedocs.yaml to build the Python environment with conda instead of pip

Fixed

  • Allow using a template at different grid resolutions in gcpy/regrid_restart_file.py
  • Implemented a workaround in gcpy/regrid.py to allow use of either np.product or np.prod depending on the Numpy version
  • Fixed DeprecationWarning in single_panel.py that occurs with numpy >=2.0
  • Passed spcdb_files as the 7th argument (following dev_interval) to make_benchmark_operations_budget, where missing
  • Passed colname as the 5th argument to make_benchmark_collection_2d_var_plots and make_benchmark_collection_3d_var_plots
  • Fixed an issue that caused striping when plotting zonal mean fields that are are nearly constant
  • Fixed get_grid_extents in gcpy/grid.py to snap pole-cutoff latitude grids to +/-90 degrees instead of an arbitrary 1-degree offset, which caused zonal mean plots of sub-1-degree-resolution grids (e.g. HEMCO diagnostics) to fail

Removed

  • Removed Python 3.9 from the GitHub Actions that try to build a Python environment; This version is now de-supported.
  • Removed emission inventories no longer used in benchmark simulations from gcpy/benchmark/modules/emission_inventories.yml
  • Removed the hotfix to skip InvAFCID emission diagnostics in routine create_total_emissions_table
  • Removed docs/environment-files/read_the_docs_requirements.yml
  • Removed gcpy/examples/bpch_to_nc folder as these examples require the de-supported xbpch package
  • Removed GitHub Action build-rtd-environment workflow
  • Removed a duplicate import of make_benchmark_operations_budget in gcpy/benchmark/run_benchmark.py

Pull Requests Included

  • Fix error when using a template at different resolution to regrid a restart file by @1Dandan in #410
  • Bump pypdf from 6.6.2 to 6.7.1 by @dependabot[bot] in #411
  • Update emission_species.yml for consistency w/ GC 14.7.0+ by @yantosca in #413
  • Bump requests from 2.32.4 to 2.33.0 by @dependabot[bot] in #414
  • Implement fix in gcpy/regrid.py for numpy backward compatibility by @yantosca in #416
  • Update GitHub Actions to the latest versions to avoid Node20.js deprecation warnings by @yantosca in #417
  • Bump pip from 26.0 to 26.1 by @dependabot[bot] in #419
  • Add updates for emission species and inventories used in fullchem benchmark simulations by @yantosca in #421
  • Fixed DeprecationWarning in single_panel.py by @yantosca in #426
  • Convert Pydoc headers to Numpy style and automatically generate API reference in ReadTheDocs by @yantosca in #427
  • Bump pip from 26.0 to 26.1.2 by @dependabot[bot] in #430
  • Ensure arguments to make_benchmark_operations_budget and make_benchmark_collection_*_var_plots are in the same order by @yantosca in #409
  • Add example script for generating an integration test report by @yantosca in #429
  • Fix zonal-mean color striping caused by CS->LL regridding noise (#330) by @yantosca in #431
  • Fixed bug in get_grid_extents affecting zonal mean plotting of data on halfpolar grids by @yantosca in #432
  • GCPy 1.8.0 release by @yantosca in #433

Full Changelog: 1.7.1...1.8.0