All notable changes to GCPy will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- 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
- 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
- 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
- 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
- Example script
create_test_plot.py
, which can be used to check that GCPy has been installed properly - GitHub action
build-gcpy-environment
which tests installation of the mamba environment specified in indocs/environment_files/environment.yml
- YAML file
docs/environment_files/testing.yml
for building an environment without pegged package versions (for testing) - GitHub action
build-test-environment
to test the environment specified intesting.yml
build-gcpy-environment
GitHub action now runs with several Python versions
- Prevent overwriting of the
results
variable when parallel plotting is deactivated (n_cores: 1
)
- Now use the proper default value for the
--weightsdir
argument togcpy/file_regrid.py
- 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
- 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
- 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
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
- Updated installation documentation, we now recommend users to create
a conda environment using the
environment.yml
file - Benchmark summary table output (intended for 1hr & 1mo benchmarks)
- Species/emissions/inventories that differ between Dev & Ref versions are now printed at the top of the benchmark emissions, inventory, and global mass tables. if there are too many species with diffs, an alternate message is printed.
- New functions in
benchmark.py
andutil.py
to facilitate printing of the species/emissions/inventories that differ between Dev & Ref versions. - Added new RTD documentation for installing Conda 4.12.0 with Miniconda
- Added GCHP regridding environnment file
docs/environment_files/gchp_regridding.yml
- Added new benchmark type CH4Benchmark
- Applied cleanup susggestions from pylint to
benchmark.py
,util.py
,plot.py
,oh_metrics.py
,ste_flux.py
- Replaced format with f-strings in
benchmark.py
,util.py
,plot.py
,oh_metrics.py
,ste_flux.py
- Abstract some common in
benchmark.py
into functions - Replaced direct calls to
yaml.load
withutil.read_config.file
- Restore tag information to benchmark
refstr
anddevstr
labels - Add a newline to diff-of-diffs refstr and devstr if the string is too long.
- Updated GCHP regridding documentation
- Restored
ipython
andjupyter
to environment fileenvironment.yml
- Fixed malformed version declaration for cartopy (use
==
instead of=
) in setup.py. This was preventing upload to conda-forge. - Vertically flip GCHP emissions when computing transport tracers budget
- Bug fix: Remove extraneous character from setup.py
- New features in benchmarking scripts (@lizziel, @yantosca)
- Force garbage collection at end benchmarking functions (@yantosca)
- Extra print statements (@lizziel)
- Diff-of-diffs plots for 1-year benchmarks (@lizziel)
- sparselt is now a GCPy requirement (@lizziel)
- Removed obsolete environment.yml files (@yantosca)
- Added requirements.yml to docs folder for Sphinx/RTD documentation (@yantosca)
- New regridding script
regrid_restart_file.py
(@liambindle)
- Fixed several issues in benchmarking scripts (@laestrada, @lizziel, @yantosca)
- Fixed bug in
budget_ox.py
; The drydep loss of Ox for GCHP was 12x too high - Add OMP_NUM_THREADS and OMP_STACKSIZE in
plot_driver.sh
(@yantosca) - Increase requested memory to 50MB in
plot_driver.sh
(@yantosca) - Benchmark scripts print a message upon completion (@yantosca)
- Linted several benchmarking routines with Pylint (@yantosca)
- Rewrote algorithm of add_lumped_species_to_dataset for speed (@yantosca)
- Can now specify the path to species_database.yml for 1yr benchmarks (@yantosca)
- 1-yr benchmarks now save output in subdirs of the same path (@lizziel)
- Avoid hardwiring restart file paths in benchmark scripts (@yantosca)
- Now use outputs_subdir tag from YAML file for paths to diagnostic files (@yantosca)
- Now use restarts_subdir tag from YAML file for paths to restart files (@yantosca)
- GCPy now uses proper year for dev in 1-yr benchmarks (@laestrada)
- Fixed date string issue in benchmarking scripts (@lizziel)
- Updates for new GCHP restart file format (@lizziel)
- Fixed bug in
- Updated environment.yml with package versions that work together (@yantosca)
- Updated the AUTHORS.txt and LICENSE.txt files (@yantosca)
- Added Parameter for single_panel to support return of all 6 cubedsphere plots
- Added flexible time period for benchmark plotting scripts
- Modified single_panel to vmin/vmax parameters with newer versions of matplotlib (>3.5.0)
- Modified run_benchmark script to select correct species database depending on benchmark type
- Modified filename for Ox budget
- Modified readthedocs build to use mamba instead of conda to fix build failures
- Modified benchmark plotting scripts to use a single run_benchmark.py script
- Modified benchmark categories and species database yaml files
- Fixed bug in mass conservation table percent difference
- Added date_time.py module to help manage datetime utility functions
- Added GLYC, HAC, and pFe to benchmark categories
- Added gcpy/budget_ox.py to compute Ox budgets from 1-yr benchmarks
- Added capability to use GCHP 13.1.0+ or legacy file names in benchmark scripts
- Added new methods dataset_reader and get_dataset_mean to util.py
- Modified benchmarking scripts to use yaml config files.
- Modified dry-run scripts to use yaml config files.
- Updated benchmark/run_1yr_fullchem_benchmark.py to call the budget_ox.py for GCC vs GCC benchmark generation.
- NOTE: we are waiting to make sure that the GCHP benchmarks output wetdep fields before activating this feature for GCHP.
- Modified plotting methods in benchmark.py to compute the mean of datasets over the time dimension, if the "time_mean" keyword is passed.
- This feature is used to generate annual mean plots from 1-yr benchmark output.
- Modified run_1yr_tt_benchmark.py and run_1yr_fullchem_benchmark.py to generate both annual mean and seasonal plots
- Fixed formatting and import order issues in benchmark.py, util.py, budget_ox.py, and the run_*benchmark.py scripts as identified by pylint.
- Modified budget_ox.py to use Ox instead of O3 for computing budget terms
- Automatic benchmark script copying no longer overwrites existing files
- Color scales for non-global plots are no longer calculated from full global data
- Regional datasets can now be plotted with cubed-sphere datasets in plot.compare_single_level
- Added GCPy version number and automatic script copying to benchmark scripts
- Added line clarifying lack of Windows support in ReadTheDocs
- Fixed benchmark month seconds calculation for GCHP in 1-month benchmark script
- Fixed label typo in benchmark script GCHP vs. GCC emission plots
- Fixed grid creation for non-global grids in plot.single_panel
- Fixed issue in get_grid_extents when maxlon was in Western Hemisphere
- Added MSA to Sulfur benchmark category
- Added weightsdir parameter to single_panel()
- Added temporary file creation to file_regrid() to decrease memory consumption during cubed-sphere regridding
- Removed carbon-based units from benchmark emissions tables
- Environment files now request xESMF through conda-forge rather than pip
- Fixed Cubed-Sphere to Lat/Lon regridding for 1-level files.
- Fixed single panel zonal mean axis selection
- Added complete documentation to a new ReadTheDocs site
- Added conda-forge installation support
- Added file regridder for regridding NetCDF restart and output between GEOS-Chem's horizontal grid types
- Plotting now supports automatic regridding between lat/lon, cubed-sphere, and stretched-grid formats
- Added additional 1-year benchmark plotting capabilities for GCHP
- Added oh_metrics.py, which generates output using the new Metrics collection in GEOS-Chem 13.0.0
- Extra keyword arguments not defined in plotting functions are now passed to matplotlib.pyplot
- Added a command line tool for appending grid-box corners to cubed-sphere datasets
- Added support for arbitrary vertical grids in zonal mean plotting
- Added regridding functions for arbitrary vertical grids
- Some constants in constants.py have been tweaked to match GEOS-Chem definitions
- docs/environment.yml, setup.py, and requirements.txt now reflect up-to-date GCPy library requirements
- Most docstrings now use the same format
- Various code formatting changes have been made to align with PEP8 guidelines
- mean_oh_from_logs.py is replaced in functionality by oh_metrics.py for GEOS-Chem versions >=13.0.0
- Installation through pip (from the repositoryand conda now works correctly
- Removed several functions and files that are no longer used, including budget_aer.py and create_budget_table()
- Added instructions on setting PYTHONPATH to include GCPy directory when installing manually
- Added cross-dateline regional plotting capability for both lat/lon and cubed-sphere plots
- Added function to get lev dimension index that matches a requested pressure value
- Added basic up-to-date map plotting examples
- Added pip and tabulate dependencies in gcpy environment yaml file
- Added RRTMG netcdf diagnostics names for converting from bpch to nc
- Added unit string conversion for RRTMG binary diagnostics to compare easily with netcdf
- Temporary PDFs are now generated in the system's temp directory rather than within the working directory
- environment.yml now includes version numbers to ensure compatability
- Fixed single panel zonal mean plotting for GCHP
- Fixed existing non-deleted examples code
- Fixed imports for out-of-scope variables
- Removed several code examples that were out-of-date.
- Add new function to compute budgets and create budget table that incorporates new optional features.
- Require python package tabulate for generating budget tables.
- Added parallel support for mass and budget table creation in 1-year benchmarks.
- Added capability of completely disabling parallel plotting when calling make_benchmark_*_plots functions.
- Added capability of converting concentrations to ug/m3 for benchmark plotting.
- Added new function to make benchmark wet deposition plots, previously done from function to make concentration plots.
- Reorganized functions of GCPy into a more logical and streamlined file structure.
- Updated species_database.yml and benchmark_categories.yml for GEOS-Chem 12.9.2.
- Replaced "Plots" with "Results" in benchmark directory structure. This value is customizable in the benchmark scripts.
- Updated example scripts to use reorganized GCPy functions.
- Updated all benchmark run scripts for consistency, readability, reduced lines of code, and compatibility with reorganized and new GCPy functions
- Fixed documentation and rearranged argument order for diff-of-diffs plot strings.
- Fixed accidental regridding to lat/lon in comparison plots where two cubed-sphere datasets share the same resoltuion.
- Removed budget_ops.py in deference to new make_benchmark_operations_budget function.
- Fixed bugs calculating lumped species with some or all missing constituents.
- Added documentation for newer keyword arguments in benchmark.py
- Added strat/trop exchange fluxes to 1-year benchmark output (gcpy/ste_flux.py)
- Added operations budgets to 1-year benchmark output (gcpy/budget_ops.py)
- Added seasonal mass table output for 1-year FullChemBenchmark.
- Added mean OH from log files for 1-year FullChemBenchmark (GEOS-Chem Classic only).
- Added function gcplot in core.py for creating individual (rather than six-panel) plots of GEOS-Chem data.
- 47-level model output can now be plotted in addition to the standard 72-level output.
- Added Loader=yaml.FullLoader to the yaml.load command to avoid generating excess warnings.
- Add benchmark plotting option to write concentration and emissions plots to one file
- Add gcpy testing mode for all GEOS-Chem benchmark run scripts using test data on gcgrid.
- Add function to flip and rename GCHP restart files to match GCC names and level convention.
- Add capability to generate GCHP vs GCC and GCHP vs GCHP mass tables.
- Add handling in convert_units for datasets without a time dimension.
- Add initial and final mass to GHCP radionuclide budget tables.
- Significant difference files are now written out to the Plots/Sig_Diffs folder for the 1-year benchmarks.
- Updated file names for Pb/Be budget tables in gcpy/budgets_tt.py.
- Created separate driver routines for 1-year FullChem and TransportTracers benchmarks
- Useless warnings when creating benchmark output should now be suppressed
- Can now create benchmark plots in a single file instead of by category.
- Can now plot non-global output files from GEOS-Chem Classic.
- Can now limit plot extents using lat/lon parameters for GEOS-Chem Classic and GCHP.
- L2L regridder filenames now include the grid extent when the regridder does not span the whole globe.
- Input GEOS-Chem Classic data can now be any lat/lon resolution rather than only 4x5, 2x2.5, or 1x1.25.
- Replaced fractional difference plots ((Dev-Ref)/Ref) with ratio plots (Dev/Ref).
- Moved diff-of-diffs functionality from standalone code in the benchmark scripts to benchmark.py.
- The bottom row of diff-of-diffs plotting now shows (Dev2/Dev1)-(Ref2/Ref1) values.
- Paths in example scripts now point to /n/holyscratch01/external_repos/GEOS-CHEM instead of /n/holylfs/EXTERNAL_REPOS/GEOS-CHEM.
- Cleaned up run_1mo_benchmark.py driver scripts
- Operations budgets are now printed as Ref, Dev, Dev-Ref, %diff
- Updated examples/compare_diags.py to point to test benchmark data
- Updated benchmark_categories.yml, species_database.yml, lumped_species.yml, and emission_inventories.yml for recent changes in GEOS-Chem 12.8.0
- Update benchmark run scripts to use version strings rather than subtitle strings in tables filenames.
- Latitude ticks again appear in benchmark zonal mean plots.
- Colorbar tick formatting now never uses offset format, which made colorbar ticks difficult to interpret for small value ranges.
- The list of non-plotted emissions species now populates properly.
- Fixed sig diffs file creation for AOD and JValues.
- Missing values in mass tables are now NaN
- Fix area normalization issues in benchmark plotting functions when using GCHP data.
- Removed runnable docstring content.
- This CHANGELOG file to track notable changes in GCPy.
- Pb210, Be7, and Be10 species are now added to species_database.yml.
- gcpy/budget_aer.py and gcpy/budget_tt.py now get molecular weights from species_database.yml.
- Updated the value of MW_AIR in constants.py to add more precision.
- gcpy/benchmark.py now writes OH metrics output to the Plots/Tables folder.
- Updated CHANGELOG.md for 0.1.1.
- Updated download_data.py to properly obtain 2 x 2.5 and nested data sets.
This is the first labeled version of GCPy. The primary functionality of GCPy is plotting and tabling diagnostics from GEOS-Chem. Main features include:
- Functions for comparing GEOS-Chem benchmark output for multiple versions of GEOS-Chem, including 2D plots and mass and budget table creation.
- Support for plotting benchmark output for both GEOS-Chem Classic (lat/lon data) and GCHP (cubed-sphere data).
The first official release version of GCPy, v1.0.0, will correspond with the release of GEOS-Chem 13.0.0.