GCPy 1.4.0
From CHANGELOG.md
Added
- Added C2H2 and C2H4 to
emission_species.yml - Updated
species_database.ymlfor consistency with GEOS-Chem 14.2.0 - Added
.github/ISSUE_TEMPLATE/config.ymlfile w/ Github issue options - Added
CONTRIBUTING.mdandSUPPORT.md, replacingdocs/source/Contributing.rstanddocs/source/Report_Request.rst - Added option to pass the benchmark type to plotting routines
- Updated
AUTHORS.txtas of Apr 2023 (concurrent w/ GEOS-Chem 14.2.0) - Added ReadTheDocs badge in
README.md - Added
.readthedocs.yamlto configure ReadTheDocs builds - Added cloud benchmarking YAML configuration files to
benchmark/cloudfolder - Added
README.mdfiles ingcpy/benchmarkdirectory structure - Added
benchmark/modules/benchmark_models_vs_obs.pyscript - Added
benchmark/modules/GC_72_vertical_levels.csvfile - Added
multi_index_latkeyword toreshape_MAPL_CSfunction ingcpy/util.py - Added FURA to
emission_species.ymlandbenchmark_categories.yml - Added new routine
format_number_for_tableingcpy/util.py - Added module
gcpy/cstools.pywith utility functions for cubed-sphere grids - Added new routine
verify_variable_typefunction ingcpy/util.py - Added new routine
format_number_for_tableinutil.py - Added BrSALA and BrSALC to
emission_species.yml - Added
options:n_coresto all benchmark YAML config files - Added
__init__.pyfiles in subfolders ofgcpy/gcpy gcpy/benchmark/modules/*.pyscripts are now chmod 644- Added
ENCODING = "UTF-8"togcpy/constants.py - Added statement
from dask.array import Array as DaskArrayingcpy plot.py - Added SLURM run script
gcpy/benchmark/benchmark_slurm.sh - Added
gcpy/plot/gcpy_plot_stylestyle sheet for title and label default settings - Added
gcpy/gcpy_plot_stylestyle sheet for title and label default settings - Added new cubed-sphere grid inquiry functions to
gcpy/cstools.py - Added functions
get_ilev_coordandget_lev_coordtogcpy/grid.py - Add
tkpackage todocs/environment_files/environment.yml
Changed
- Simplified the Github issues templates into two options:
new-feature-or-discussion.mdandquestion-issue.md - The GitHub PR template is now named
./github/PULL_REQUEST_TEMPLATE.md - Updated badge links in
README.md - Construct ops budget table filename without using the
labelargument - Updated species_database.yml for consistency with GEOS-Chem 14.2.0
- Renamed TransportTracers species in
benchmark_categories.yml,run_1yr_tt_benchmark.py, and in documentation - YAML files in
benchmark/have been moved tobenchmark/config - Models vs. O3 obs plots are now arranged by site latitude from north to south
- Routine
print_totalsnow prints small and/or large numbers in scientific notation - Truncate names in benchmark & emissions tables to improve readability
- Add TransportTracers species names to
gcpy/emissions_*.ymlfiles - Now pass
n_job=config["options"]["n_cores"]to benchmark plotting routines - Script
benchmark.pytobenchmark_funcs.pyto remove a name collision - Folder
gcpy/benchmarkis nowgcpy/gcpy/benchmark - Folder
benchmark/modulesis nowgcpy/gcpy/benchmark/modules - Folder
gcpy/examplesis nowgcpy/gcpy/examples - Pass
sys.argvto themain()routine ofrun_benchmark.py,compare_diags.py - Updated
docs/environment_files/environment.ymlfor MambaForge (also addedgridspec) - Now use
pypdfinstead ofPyPDF2inplot.pyandutil.py - Added coding suggestions made by
pylintwhere possible - Abstracted and never-nested code from
six_plotinto functions (inplot.py) - Added
main()routine togcpy/file_regrid.py; Also added updates suggested by Pylint - Fixed broken regridding code in
gcpy/file_regrid.py; also refactored for clarity - Rewrote
Regridding.rstpage; Confirmed that regridding examples work properly - Now allow
plot_valto be of typedask.array.Arrayinplot.pyroutinessix_plotandsingle_panel - Now add
ifstatements to turn ofParallel()commands whenn_jobs==1. - Do not hardwire fontsize in
gcpy/plot.py; get defaults fromgcpy_plot_style gcpy/plot.pyhas been split up into smaller modules in thegcpy/plotfolder- Updated and cleaned up code in
gcpy/regrid.py - Example scripts
plot_single_levelandplot_comparisonscan now accept command-line arguments - Example scripts
plot_single_level.py,plot_comparisons.py,compare_diags.pynow handle GCHP restart files properly - Now specify the X11 backend with by setting the
MPLBACKENDenvironment variable
Fixed
- Generalized test for GCHP or GCClassic restart file in
regrid_restart_file.py - Fixed bug in transport tracer benchmark mass conservation table file write
- Routine
create_display_namenow splits on only the first_in species & diag names - Prevent plot panels from overlapping in six-panel plots
- Prevent colorbar tick labels from overlapping in dynamic-range ratio plots
- Updated
seabornplot style names to conform to the latest matplotlib - Set
lev:positiveand/orilev:positiveproperly inregrid_restart_file.pyandfile_regrid.py - Prevent overwriting of
levcoord infile_regrid.pyat netCDF write time - Fixed bug in option to allow different units when making comparison plots
Removed
- Removed
gchp_is_pre_13_1arguments & code from benchmarking routines - Removed
is_pre_13_1tags from*_benchmark.ymlconfig files - Removed
benchmark_emission_totals.ipynb, this is obsolete - Replaced
gcpy/benchmark/READMEwithREADME.md - Removed
gcpy_test_diroption fromexamples/diagnostics/compare_diags.* - Removed
docs/environment_files/gchp_regridding.ymlenvironment file - Removed
gcpy/gcpy/benchmark/plot_driver.sh - Made benchmark configuration files consistent
Pull Requests Included
- Add C2H2 and C2H4 to emissions_species.yml by @msulprizio in #208
- Simplify Github issue and pull request templates by @msulprizio in #209
- Update run_benchmark.py to allow for other benchmark types by @msulprizio in #212
- Allow for other benchmark types for GCHP plotting as well by @msulprizio in #213
- Bump requests from 2.26.0 to 2.31.0 by @dependabot in #221
- Optional mass accumulation table in 1-month benchmark by @lizziel in #216
- Feature/benchmark cloud plotting templates by @laestrada in #223
- Bug fixes in transport tracer benchmark code by @lizziel in #224
- Remove references to gcpy_test and gchp_is_pre_13_1 from benchmarking routines and config files by @yantosca in #222
- Remove gcpy_test YAML key from benchmark config files by @yantosca in #226
- Shorten the filename of the benchmark operations budget table by @yantosca in #227
- Update species database and benchmark categories for TransportTracer changes in GEOS-Chem 14.2.0 by @msulprizio in #225
- Add capability to plot GEOS-Chem Classic and/or GCHP data vs. O3 model observations by @yantosca in #234
- Add lumped furans to emission_species.yml and benchmark_categories.yml by @msulprizio in #235
- Arrange models vs. observations plots from north to south by site latitude by @yantosca in #236
- Fix formatting of mass & emission tables; add mass table option to 1-year TransportTracers benchmarks by @yantosca in #238
- GCGridObj tools for cubed-sphere grids by @lizziel in #239
- Fix issue where wrong GCHP grid boxes were being looked up in models vs. obs plots by @yantosca in #240
- Now use a consistent width for columns in emissions tables and mass table output by @yantosca in #248
- Update gcpy_env environment to install with MambaForge and to use latest package versions; Update scripts accordingly by @yantosca in #251
- Fixed broken regridding code in file_regrid.py; Updated GCPy regridding documentation by @yantosca in #253
- Peg xarray to version 2023.2.0 in the environment.yml file by @yantosca in #255
- Rename PassiveTracers to TransportTracers in run_1yr_tt_benchmark.py by @msulprizio in #256
- Update plot.py for more recent xarray; also allow dask arrays to be passed to single_panel, six_plot routines by @yantosca in #257
- Now allow specification of the number of cores for benchmark plotting jobs by @yantosca in #246
- Rearrange folders according to Python packaging best practices by @yantosca in #250
- Prevent subplots from overlapping in 6-panel plots; Prevent colorbar labels from overlapping by @yantosca in #260
- Make benchmark configuration files consistent by @msulprizio in #264
- Fixed online regridding code (file_regrid.py) for restart-to-restart file regridding only by @yantosca in #266
- Add GitHub actions: CodeQL, Pylint, Stale by @yantosca in #268
- Fix several issues in file regridding; Also prevent double-flipping of vertical indices by @yantosca in #270
- Abstract routines out of gcpy/plot.py into smaller modules within the gcpy/plot folder by @yantosca in #263
- Fix bug preventing comparison plots of ref and dev with different units by @lizziel in #271
- Now let user specify X11 backend with "export MPLBACKEND="tkagg" (or "MacOSX") by @yantosca in #275
Full Changelog: 1.3.3...1.4.0