Known issues
The pip install geoschem-gcpy
command (as described on ReadTheDocs) is broken due to the xesmf 0.5.1
package having been de-listed from the Python Package Index (PyPi). For the time being, users should follow the manual installation instructions. See issue #326 for more information.
From CHANGELOG.md
Added
- Script
gcpy/benchmark/modules/benchmark_utils.py
, with common benchmark utility functions - Script
gcpy/benchmark/modules/benchmark_drydep.py
, with code to create drydep velocity plots - YAML tag
plot_drydep
ingcpy/benchmark/config/*.yml
files - Badge for
build-gcpy-environment
GitHub Action inREADME.md
- Badges in
docs/source/index.rst
- GitHub action to push GCPy releases to PyPi
- Script
./release/changeVersionNumbers.sh
, used to update version numbers in various files before release - Mamba/Conda enviroment file
docs/environment_files/read_the_docs_environment.yml
, for building ReadTheDocs documentation - Environment files
docs/environment_files/gcpy_requirements.txt
anddocs/environment_files/read_the_docs_requirements.txt
- New benchmark script
gcpy/benchmark/modules/benchmark_models_vs_sondes.py
- Added fixed level budget diagnostic to budget operations table
- Function
rename_speciesconc_to_speciesconcvv
ingcpy/benchmark/modules/benchmark_utils.py
- Function
copy_file_to_dir
ingcpy/util.py
. This is a wrapper forshutil.copyfile
. - GitHub Action config file
.github/workflows/stale.yml
, which replaces StaleBot - Added
gcpy/community/format_hemco_data.py
from @hannahnesser - Added
gcpy/examples/hemco/format_hemco_demo.py
from @hannahnesser - Added HCl to
gcpy/benchmark/modules/emission_species.yml
and GTChlorine togcpy/benchmark/modules/emission_inventories.yml
for GEOS-Chem 14.4.0 - Example script
gcpy/examples/working_with_files/make_mask_file.py
- Convenience function
replace_whitespace
ingcpy/util.py
- Benchmark script
gcpy/benchmark/modules/benchmark_scrape_gcclassic_timers.py
- Benchmark script
gcpy/benchmark/modules/benchmark_scrape_gchp_timers.py
- 1-year benchmark scripts now produce GCC vs GCC and GCHP vs GCHP timing tables
- Functions
gcc_vs_gcc_dirs
,gchp_vs_gcc_dirs
,gchp_vs_gchp_dirs
, andget_log_filepaths
ingcpy/benchmark/modules/benchmark_utils.py
- Script
gcpy/benchmark/modules/benchmark_mass_cons_table.py
, with code to create mass conservation tables - Expanded statistics output in benchmark mass conservation tables
- Function
get_datetimes_from_filenames
ingcpy/benchmark/modules/benchmark_utils.py
- Function
replace_whitespace
ingcpy/util.py
Changed
- Bump pip from 23.2.1 to 23.3 (dependabot suggested this)
- Bump pypdf from 3.16.1 to 3.17.0 (dependabot suggested this)
- YAML tag
operations_budget
is nowops_budget_table
ingcpy/benchmark/config/1yr_tt_benchmark.yml
- Now require
matplotlib=3.8.0
indocs/environment_files/environment.yml
(with other pegged versions) - Now run the
stale
GitHub action at 00:00 UTC on the 1st of each month - Renamed
docs/environment_files/environment.yml
togcpy_environment.yml
environment.yml
links todocs/environment_files/gcpy_environment.yml
requirements.txt
links todocs/environment_files/requirements.txt
- Python packages for RTD documenation builds from
docs/environment_files/environment.yml
- Script
benchmark_model_vs_obs.py
now uses grid inquiry functions fromgrid.py
to return data nearest to a (lat,lon) location - Moved routine
get_geoschem_level_metadata
togcpy/benchmark/modules/benchmark_utils.py
- Refactored
get_vert_grid.py
(ingcpy/grid.py
) to accept thep_sfc
argument; Also never-nested the if-block logic. benchmark_slurm.sh
script now saves output to a log file with the same base name as the YAML config filebenchmark_models_vs_obs.py
now reads the observational data paths and metadata from1yr_fullchem_benchmark.yml
- Moved benchmark code from
gcpy/
togcpy/benchmark/modules/
- Benchmark functions now call
rename_speciesconc_to_speciesconcvv
- Create radionuclide, STE flux, and mass conservation tables for Ref and Dev versions in TransportTracers benchmarks
- Use new function
copy_file_to_dir
to copy the benchmark script and configuration file to the benchmark results folders - Updated GitHub stalebot config file
stale.yml
with new issue/PR labels that should not go stale - Updated benchmark driver scripts and config files to print GCClassic & GCHP timing information
- Updated documentation for GCPy 1.5.0 release
- Converted Github issue templates to issue forms using YAML definition files
Fixed
- CS inquiry functions in
gcpy/cstools.py
now work properly forxr.Dataset
andxr.DataArray
objects - Prevent an import error by using
seaborn-v0_8-darkgrid
ingcpy/benchmark/modules/benchmark_models_vs_obs.py
gcpy/file_regrid.py
now creates GCHP files withDELP_DRY
instead ofDELPDRY
- Fixed bugs in GCHP vs GCHP sections of 1-yr benchmark run scripts to allow comparison of GCHP runs with different grid resolutions
- Fixed silent bug in transport tracer benchmark GCC vs GCHP mass
tables preventi ng them from being generated - Import error in
gcpy/examples/diagnostics/compare_diags.py
- Added missing
n_cores
togcpy/examples/diagnostics/compare_diags.yml
- Added missing
plot_drydep
option togcpy/gcpy/benchmark/config/1yr_ch4_benchmark.yml
- Add
docs/requirements.txt
symbolic link todocs/environment_files/read_the_docs_requirements.txt
for RTD builds gcpy/file_regrid.py
now tests iflon_bnds
,lat_bnds
are in the dataset before trying to drop them
Removed
- Example script
gcpy/examples/plotting/mda8_o3_timeseries.py
- Removed
Pylint
GitHub action - Environment file
docs/environment_files/environment.yml
- Environment file
docs/environment_files/requirements.txt
- Removed
awscli
from the GCPy environment; version 2 is no longer available on conda-forge or PyPi - GitHub config files
.github/stale.yml
and.github/no-response.yml
- Routine
make_benchmark_mass_conservation_table
inbenchmark_funcs.py
; this is now obsolete
Pull Requests Included
- Bump pypdf from 3.16.1 to 3.17.0 by @dependabot in #293
- Add option to create drydep velocity plots from benchmark output by @yantosca in #280
- Add a GitHub action to auto-push GCPy releases directly to PyPi by @yantosca in #294
- file_regrid.py now uses
DELP_DRY
for delta-dry pressure variable name when creating GCHP files by @yantosca in #297 - Fix bugs in 1-yr benchmarks for different GCHP grid resolutions by @lizziel in #298
- Fix bugs in GCC vs GCHP transport tracer benchmark mass tables by @lizziel in #300
- Implement several minor bug fixes (matplotlib 3.8+, GitHub actions, remove obsolete features) by @yantosca in #283
- Split python packages needed for RTD documentation builds out of the GCPy conda environment and into a separate environment; remove awscli by @yantosca in #295
- Bug fix for operations budget name in transport tracer benchmark run script by @lizziel in #301
- Add inquiry functions to return nearest model data to a (lat,lon) location; Update benchmark model vs. obs scripts; Add models vs sondes output by @yantosca in #277
- Add fixed level diagnostic to operations budget table by @lizziel in #304
- Added missing options to 1yr_ch4_benchmark.yml config file by @msulprizio in #307
- Move remaining benchmark-related code out of gcpy and into gcpy/benchmark/modules folder (plus other improvements) by @yantosca in #305
- Replace stalebot with "stale" GitHub action by @yantosca in #315
- Fix issues in cubed-sphere regridding by @yuanjianz in #311
- Add example script to create mask files by @yantosca in #317
- Add HCl to emissions_species.yml for GEOS-Chem 14.4.0 by @msulprizio in #320
- Add benchmark scripts to scrape timing information from log files by @yantosca in #319
- Update mass conservation tables to include Ref & Dev in the same file by @yantosca in #309
- Bump requests from 2.31.0 to 2.32.0 by @dependabot in #321
- Update Github issue templates to use issue forms by @msulprizio in #323
- Bump requests from 2.31.0 to 2.32.2 in /docs/environment_files by @dependabot in #324
New Contributors
- @yuanjianz made their first contribution in #311
Full Changelog: 1.4.2...1.5.0