GCPy 1.4.0
From CHANGELOG.md
Added
- Added C2H2 and C2H4 to
emission_species.yml
- Updated
species_database.yml
for consistency with GEOS-Chem 14.2.0 - Added
.github/ISSUE_TEMPLATE/config.yml
file w/ Github issue options - Added
CONTRIBUTING.md
andSUPPORT.md
, replacingdocs/source/Contributing.rst
anddocs/source/Report_Request.rst
- Added option to pass the benchmark type to plotting routines
- Updated
AUTHORS.txt
as of Apr 2023 (concurrent w/ GEOS-Chem 14.2.0) - Added ReadTheDocs badge in
README.md
- Added
.readthedocs.yaml
to configure ReadTheDocs builds - Added cloud benchmarking YAML configuration files to
benchmark/cloud
folder - Added
README.md
files ingcpy/benchmark
directory structure - Added
benchmark/modules/benchmark_models_vs_obs.py
script - Added
benchmark/modules/GC_72_vertical_levels.csv
file - Added
multi_index_lat
keyword toreshape_MAPL_CS
function ingcpy/util.py
- Added FURA to
emission_species.yml
andbenchmark_categories.yml
- Added new routine
format_number_for_table
ingcpy/util.py
- Added module
gcpy/cstools.py
with utility functions for cubed-sphere grids - Added new routine
verify_variable_type
function ingcpy/util.py
- Added new routine
format_number_for_table
inutil.py
- Added BrSALA and BrSALC to
emission_species.yml
- Added
options:n_cores
to all benchmark YAML config files - Added
__init__.py
files in subfolders ofgcpy/gcpy
gcpy/benchmark/modules/*.py
scripts are now chmod 644- Added
ENCODING = "UTF-8"
togcpy/constants.py
- Added statement
from dask.array import Array as DaskArray
ingcpy plot.py
- Added SLURM run script
gcpy/benchmark/benchmark_slurm.sh
- Added
gcpy/plot/gcpy_plot_style
style sheet for title and label default settings - Added
gcpy/gcpy_plot_style
style sheet for title and label default settings - Added new cubed-sphere grid inquiry functions to
gcpy/cstools.py
- Added functions
get_ilev_coord
andget_lev_coord
togcpy/grid.py
- Add
tk
package todocs/environment_files/environment.yml
Changed
- Simplified the Github issues templates into two options:
new-feature-or-discussion.md
andquestion-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
label
argument - 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_totals
now 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_*.yml
files - Now pass
n_job=config["options"]["n_cores"]
to benchmark plotting routines - Script
benchmark.py
tobenchmark_funcs.py
to remove a name collision - Folder
gcpy/benchmark
is nowgcpy/gcpy/benchmark
- Folder
benchmark/modules
is nowgcpy/gcpy/benchmark/modules
- Folder
gcpy/examples
is nowgcpy/gcpy/examples
- Pass
sys.argv
to themain()
routine ofrun_benchmark.py
,compare_diags.py
- Updated
docs/environment_files/environment.yml
for MambaForge (also addedgridspec
) - Now use
pypdf
instead ofPyPDF2
inplot.py
andutil.py
- Added coding suggestions made by
pylint
where possible - Abstracted and never-nested code from
six_plot
into 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.rst
page; Confirmed that regridding examples work properly - Now allow
plot_val
to be of typedask.array.Array
inplot.py
routinessix_plot
andsingle_panel
- Now add
if
statements to turn ofParallel()
commands whenn_jobs==1
. - Do not hardwire fontsize in
gcpy/plot.py
; get defaults fromgcpy_plot_style
gcpy/plot.py
has been split up into smaller modules in thegcpy/plot
folder- Updated and cleaned up code in
gcpy/regrid.py
- Example scripts
plot_single_level
andplot_comparisons
can now accept command-line arguments - Example scripts
plot_single_level.py
,plot_comparisons.py
,compare_diags.py
now handle GCHP restart files properly - Now specify the X11 backend with by setting the
MPLBACKEND
environment 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_name
now 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
seaborn
plot style names to conform to the latest matplotlib - Set
lev:positive
and/orilev:positive
properly inregrid_restart_file.py
andfile_regrid.py
- Prevent overwriting of
lev
coord infile_regrid.py
at netCDF write time - Fixed bug in option to allow different units when making comparison plots
Removed
- Removed
gchp_is_pre_13_1
arguments & code from benchmarking routines - Removed
is_pre_13_1
tags from*_benchmark.yml
config files - Removed
benchmark_emission_totals.ipynb
, this is obsolete - Replaced
gcpy/benchmark/README
withREADME.md
- Removed
gcpy_test_dir
option fromexamples/diagnostics/compare_diags.*
- Removed
docs/environment_files/gchp_regridding.yml
environment 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