Recent Releases of gcpy
gcpy - GCPy 1.7.1
From CHANGELOG.md
Changed
- Bumped
pipto version 26.0 insetup.pyand environment files
Fixed
- Fixed error in
get_input_resfor numpy 2.x versions; we first copy the lon and lat arrays before sorting
Pull requests included
- Bump pip from 25.2 to 25.3 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/407
- Bump pip from 25.2 to 26.0 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/408
Full Changelog: https://github.com/geoschem/gcpy/compare/1.7.0...1.7.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca 4 months ago
gcpy - GCPy 1.7.0
From CHANGELOG.md
Added
- Added
gcpy/profile/vtune_plot_hotspots.pyto plot a bargraph of hotspots from Intel VTune reports - Added ReadTheDocs documentation for plotting hotspots from Intel VTune reports
- Added "Lint" GitHub Action to check other actions for security issues
- Added
gcpy_environment_py314.ym1to specify the GCPy environment packages with Python 3.14 - Added GitHub action
build-gcpy-environment-py314.ymlto test building the GCPy environment with Python 3.14 - Added call to drop GC-Classic variables when regridding a GC-Classic restart file to cubed-sphere
- Added
ApandBpparameters for GCAP2 vertical grids - Added new constants for default lon/lat and stretched-grid settings in
gcpy/constants.py - Added PyDoc headers in routines where they were missing
- Added
examples/grids/display_gcclassic_grid_info.pyto display info about a GEOS-Chem Classic horizontal grid - Added functions
get_molwt_from_metadataandread_species_metadatatogcpy/util.py - Added function
get_species_database_filestogcpy/benchmark/modules/benchmark_utils.py - Added constant
SPECIES_DATABASEtogcpy/benchmark/modules/benchmark_utils.py - Added manual garbage collection in
create_regridders,compare_single_level, andcompare_zonal_meanfunctions. - Added helpful tips to the
gcpy/benchmark/benchmark.slurm.shscript - Added function
datetime64_to_strtogcpy/date_time.py - Added keyword arguments
ref_hdr_labelanddev_hdr_labeltomake_benchmark_mass_tables - Added "HEMCO Examples" chapter to ReadTheDocs documentation
Changed
- Modified criteria for terminating read of log files in
benchmark_scrape_gcclassic_timers.pyto avoid being spoofed by output that is attached by Intel VTune - Moved
gprofng_text_to_data_unitsto functiontext_to_data_unitsingcpy/plot/core.pyso that it can be used bygprofng_functionsandvtune_plot_hotspots - Updated GitHub badges in
README.mdanddocs/source/index.rst - Expanded possible stretched grid attribute names to include
STRETCH_FACTOR,TARGET_LAT, andTARGET_LON - Changed regridding for plots to always compare stretched-grid to uniform CS grid on the uniform CS grid rather than whatever grid is ref
- Updated PDF writing algorithm in
compare_single_levelandcompare_zonal_meanto usePdfReaderandPdfWriterinstead ofPdfMerger - Bumped
pypdffrom version 4.2.0 to 6.6.2 insetup.pyand environment files - Moved
ApandBpparameters that define vertical grids fromgrid.pytovgrid_defs.py - Replaced hardwired default lon/lat and stretched-grid settings with new constants from
gcpy/constants.py - Modified code in several modules as directed by Pylint to better conform to the Python style guide
- Renamed grid routines to use all lower-case letters in order to conform to Python snake-case convention
- Remamed
vert_gridclass ingcpy/grid.pytoVertGridto conform to PascalCase naming convention - Replaced
hashlib.sha1withhashlib.sha256in routinesg_hashingcpy/regrid.py - Bumped
pipto version 25.2 as suggested by Dependabot - Required passing template output file to offline restart regridding that has grid dimensions that do not match target restart grid
- Changed offline restart regridding to preserve source restart file precision
- Changed
mambatocondainbenchmarks/benchmark_slurm.sh - Separated plot and table options for clarity in
benchmarks/config/*ymlandbenchmarks/cloud/*.yml - Clarified the GCPy installation process in ReadTheDocs documentation
- Updated the instructions in the "Create a Test Plot" example in ReadTheDocs documentation
- Updated default GCPy Python environment to use Python 3.13 (instead of 3.12)
- Benchmark routines now look for
species_database.ymlin theRefandDevrun directories - Replaced
get_species_database_dirwithget_species_database_filesingcpy/benchmark/modules/benchmark_funcs.py - Updated
gcpy/benchmark/modules/benchmark_scrape_gchp_timers.pyto look for GCHP timers inallPEs.logif not found in the log file - Updated routine
make_benchmark_aerosol_tablesto include all dust species in the aerosol burdens table - Optimized function
get_diff_of_diffs(ingcpy/util.py) for performance - Optimized function
add_lumped_species_to_dataset(ingcpy/benchmark/modules/benchmark_utils.py) for performance - Optimized the algorithm to generate
varlistinmake_benchmark_conc_plots. Also truncated datasets to only contain variables invarlist. - Updated
make_benchmark_aod_plotsto include column AOD plots for DSTbin1..DSTbin7 species - Updated
benchmark/modules/aod_species.pywith metadata for DSTbin1..DSTbin7 species - Updated
make_benchmark_mass_tablesandcreate_global_mass_tableto allow Ref and Dev to have different dates if so chosen - Updated
run_benchmark.pyto generate mass tables at start and end of the simulation - Updated
run_1yr_fullchem_benchmark.pyandrun_1yr_tt_benchmark.pyto generate mass tables at the 1st day of each month from Jan 2019 thru Jan 2020 - Updated
run_benchmark.pyto take theAREAfield from the GCHP restart file at the end of the month when computing mass tables for 1hr/1mon benchmarks - Updated routine
convert_unitsto reshape the area variable tomatch input data on the GCHP checkpoint grid
Fixed
- Fixed grid area calculation scripts of
grid_areaingcpy/gcpy/cstools.py - Fixed various security issues in GitHub Actions workflows
- Fixed colorbar bounds for case of comparing cubed-sphere grids
- Fixed the restart regridding for stretched GCHP when target lat/lon is exactly 0.0 in
gcpy/regrid_restart_file.py - Fixed computation of the global AOD benchmark table caused by hardwired species names
- Fixed error in
create_benchmark_emissions_tablewhere all species were assumed to be in Ref and Dev even if they were not - Fixed error that caused the GCHP vs GCC diff-of-diffs AnnualMean plots to be computed as a difference of means instead of a mean of differences
Removed
- Removed
PdfMerger()fromcompare_single_levelandcompare_zonal_mean, it has been removed in pypdf >= 5.0.0 - Removed
.load()statements from xarray Datasets to improve performance - Removed
paths:spcdb_dirYAML tag in benchmark configuration files - Removed
st_Oxfrombenchmark_categories.yml; this species is no longer used in TransportTracers simulations - Removed keyword argument
labelfrommake_benchmark_mass_tables
Pull requests included
- Add script to plot hotspots from Intel VTune reports by @yantosca in https://github.com/geoschem/gcpy/pull/364
- Update the "end of search" criteria in benchmark_scrape_classic_timers.py to avoid being spoofed by output from Intel VTune by @yantosca in https://github.com/geoschem/gcpy/pull/365
- Fix grid area calculation by @1Dandan in https://github.com/geoschem/gcpy/pull/367
- Add "Lint" GitHub actions and fixed security issues in other actions by @yantosca in https://github.com/geoschem/gcpy/pull/370
- Bug fixes for stretched grid comparison plots by @lizziel in https://github.com/geoschem/gcpy/pull/371
- Rewrite algorithm to save PDF output to avoid using PdfMerger; Use PdfReader and PdfWriter instead by @yantosca in https://github.com/geoschem/gcpy/pull/373
- Bump pypdf from 4.2.0 to 6.0.0 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/375
- Bug fixes for stretched grid restart file generation and benchmarking by @lizziel in https://github.com/geoschem/gcpy/pull/377
- Update pypdf to 6.0.0 by @yantosca in https://github.com/geoschem/gcpy/pull/376
- Add vertical grid information for the GCAP2 102-level, 74-level, and 40-level grids by @yantosca in https://github.com/geoschem/gcpy/pull/378
- Bump pip from 24.0 to 25.2 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/380
- Fixes for offline regridding and stretched grid plotting by @lizziel in https://github.com/geoschem/gcpy/pull/381
- Use conda in benchmark_slurm.sh; Separate plot & table options in benchmark template files by @yantosca in https://github.com/geoschem/gcpy/pull/382
- Bump pypdf from 4.2.0 to 6.1.3 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/383
- Add constants for stretched-grid and lat-lon parameters; Modify code according to suggestions from Pylint by @yantosca in https://github.com/geoschem/gcpy/pull/374
- Add example script to display lons & lats for GEOS-Chem Classic horizontal grids by @yantosca in https://github.com/geoschem/gcpy/pull/379
- Update GCPy conda env to use Python 3.13 instead of 3.12 by @yantosca in https://github.com/geoschem/gcpy/pull/387
- Update "benchmark_scrape_gchp_timers.py" to look for timing information in "allPEs.log" if not found in the GCHP log file by @yantosca in https://github.com/geoschem/gcpy/pull/388
- Bump pypdf from 6.4.0 to 6.6.0 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/391
- Remove xr.Dataset.load() commands to improve performance by @yantosca in https://github.com/geoschem/gcpy/pull/395
- Allow args to create_regridders to be xr.Dataset or xr.DataArray by @yantosca in https://github.com/geoschem/gcpy/pull/396
- Modify benchmark scripts to look for species_database.yml files in Ref and Dev rundirs by @yantosca in https://github.com/geoschem/gcpy/pull/389
- Fix errors in annual mean GCHP vs GC-Classic "diff-of-diffs" plots by @yantosca in https://github.com/geoschem/gcpy/pull/397
- Bump pypdf from 4.2.0 to 6.6.2 by @dependabot[bot] in https://github.com/geoschem/gcpy/pull/399
- Optimize get_diff_of_diffs and add_lumped_species_to_dataset by @yantosca in https://github.com/geoschem/gcpy/pull/402
- Generate AOD plots for DSTbin1..7 species by @yantosca in https://github.com/geoschem/gcpy/pull/398
- Generate monthly mass tables in 1-yr benchmarks; Generate mass tables at beginning & end of 1-month benchmarks by @yantosca in https://github.com/geoschem/gcpy/pull/403
- Hotfix: Get AREA from end-of-run restart files for mass tables in 1hr/1mon benchmarks by @yantosca in https://github.com/geoschem/gcpy/pull/406
- Fix the regridding error when the target latitude or longitude is exactly 0.0 by @1Dandan in https://github.com/geoschem/gcpy/pull/385
- GCPy 1.7.0 release by @yantosca in https://github.com/geoschem/gcpy/pull/404
New Contributors
- @1Dandan made their first contribution in https://github.com/geoschem/gcpy/pull/367
Full Changelog: https://github.com/geoschem/gcpy/compare/1.6.2...1.7.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca 4 months ago
gcpy - GCPy 1.6.2
From CHANGELOG.md
Added
- Added
create_benchmark_sanity_check_tableroutine togcpy/benchmark/benchmark_funcs.pyto test if variables are all zero or NaN - Added a chapter on using code profiling tools in the ReadTheDocs documentatio
n - Added code profiling scripts (in
gcpy/gcpy/profile) to read and display output from gprofng and Intel VTune profilers - Added
check_gchp_emission_diags.pyexample script and documentation - Added new benchmark functions
make_benchmark_collection_2d_var_plotsandmake_benchmark_collection_3d_var_plotswhich can be used with any GEOS-Chem output collection - Added 1-month benchmark comparison plot options for
Budget,UVFlux, andStateMetcollections (2D and 3D vars separately) which are off by default - Added
export MPLBACKEND=aggtogcpy/benchmark/modules/benchmark_slurm.shto request a non-interactive MatPlotLib backend - Added
methodkeyword argument tomake_regridder_*routines inregrid.py, with default valueconservative
Changed
- Updated
gcpy_environment_py313.ymlto useesmf==8.8.1andesmpy==8.8.1to fix package inconsistency issues
Fixed
- Fixed logic error in
compare_varnamesthat caused 2D data variables to be flagged as 3D (esp. for GCHP vs GCC comparisons) - Replaced incorrect collection name
AODwithAerosolsin the GCC vs. GCC 1-month AOD plots - Fix the logic of ravel_1D that creates orbit file for 1D GCHP diagnostic
Pull Requests Included
- Add benchmark diagnostic sanity check table by @yantosca in https://github.com/geoschem/gcpy/pull/356
- Now use esmf/esmpy 8.8.1 in the GCPy environment based on Python 3.13 by @yantosca in https://github.com/geoschem/gcpy/pull/358
- Add profiling routines to display output from GNU gprofng and Intel Vtune profilers by @yantosca in https://github.com/geoschem/gcpy/pull/359
- Add example script to check GCHP emission diagnostics entries in HISTORY.rc and HEMCO_Diagn.rc by @yantosca in https://github.com/geoschem/gcpy/pull/357
- Expand 1-month benchmark plot options by @lizziel in https://github.com/geoschem/gcpy/pull/350
- Fix logic for orbit direction time offset by @yuanjianz in https://github.com/geoschem/gcpy/pull/360
- Add "method" keyword argument to make_regridder_* routines in gcpy/regrid.py by @yantosca in https://github.com/geoschem/gcpy/pull/362
- Bump requests from 2.32.3 to 2.32.4 by @dependabot in https://github.com/geoschem/gcpy/pull/363
Full Changelog: https://github.com/geoschem/gcpy/compare/1.6.1...1.6.2
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca 12 months ago
gcpy - GCPy 1.6.1
From CHANGELOG.md
Added
- Added GCPy environment file
docs/environment_files/gcpy_environment_py313.yml, which is based on Python 3.13 - Added GitHub Actions config file
.github/workflows/build-gcpy-environment-py313.yml - Added
Install-Mamba-Conda.rstReadTheDocs supplmental guide for Mamba/Conda installation - Added Anaconda, PyPI, Platforms, Downloads badges to
README.mdanddocs/source/index.rst
Changed
- Updated paths to regridding weights in
benchmark/config/*.ymlandexamples/diagnostics/compare_diags.ymlfiles - Renamed
docs/environment_files/gcpy_environment.ymltogcpy_environment_py312.yml - Updated symbolic link
environment.ymlto point todocs/source/gcpy_environment_py312.yml - Renamed GitHub Actions config file
.github/workflows/build-gcpy-environment.ymltobuild-gcpy-environment-py312.yml - Updated package version information in ReadTheDocs documentation
- Bumped dask from version 2024.5.2 to 2025.3.0 to fix a security issue (raised by @dependabot)
- Bumped jinja2 from version 3.1.5 to 3.1.6 to fix a security issue (raised by @dependabot)
- Edited installation instructions via Mamba/Conda to more accurately reflect the needed commands
- Updated the ReadTheDocs "Releasing new versions" guide with info on conda-forge
Removed
- Removed PyPi configuration file
docs/environment_files/gcpy_requirements.txtand symbolic link./requirements.txt - Removed Python 3.8 from the
python-versionlist in.github/workflows/*.ymlfiles - Remove Mamba/Conda installation instructions from
Getting-Started-from-GCPy.rst - Removed "Latest pre-release" bade from
README.mdanddocs/source/index.rst
Pull requests included
- Update default paths to regridding weights in YAML files by @yantosca in https://github.com/geoschem/gcpy/pull/351
- Add support for Python 3.13 -- update environment files and GitHub Actions by @yantosca in https://github.com/geoschem/gcpy/pull/353
- Update to dask 2025.3.0 and jinja2 3.1.6 to fix security issues identified by dependabot by @yantosca in https://github.com/geoschem/gcpy/pull/354
Full Changelog: https://github.com/geoschem/gcpy/compare/1.6.0...1.6.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca about 1 year ago
gcpy - GCPy 1.6.0
From CHANGELOG.md
Added
- Added example script
gcpy/examples/hemco/make_hemco_sa_spec.py(creates the HEMCO standalone configuration fileHEMCO_sa_Spec.rc) - Added module
benchmark_gcclassic_stats.pyfor scraping statistics from GEOS-Chem Classic cloud benchmarks - Added dry deposition velocity comparison plots in 1-month cloud benchmarks
- Added
gcpy/benchmark/modules/benchmark_species_changes.pyto compute the table of species changes between versions - Added
gcpy/kpp/folder containing scripts to plot output from the KPP-Standalone box model
Changed
- Changed format of
% diffcolumn from12.3eto12.3fin benchmark timing tables - Updated
gcpy/benchmark/modules/emission_species.ymlfile with emission species for GEOS-Chem 14.5.0 - Updated
gcpy/benchmark/modules/benchmark_categories.ymlwith the latest categories for GEOS-Chem 14.5.0 - Updated
gcpy/benchmark/modules/lumped_species.ymlwith speciations for GEOS-Chem 14.5.0 - Add
DryDepto list of collections included in benchmark summary table - Updated
checkoutGitHub action to v4 - Updated
CodeQLGitHub action to v3 - Updated
publish-pythonGitHub action to v5 - In environment files
gcpy_environment.ymlandgcpy_requirements.txt:- Update
pythonto 3.12.0 - Update
xesmfto 0.8.5 - Update
esmfandesmpyto 8.6.1
- Update
- In environment files
read_the_docs_environment.ymlandread_the_docs_requirements.txt- Update
jinjato 3.1.5 (fixes a security issue)
- Update
- Update
gcpy/setup.pywith the new Python package version numbers - Updated code in
gcpy/benchmark/modules/to replace whitespace in Ref and Dev labels with underscores
Fixed
- Fixed formatting error in
.github/workflows/stale.ymlthat caused the Mark Stale Issues action not to run - Now flag differences greater than +/- 10% in benchmark timing table outputs
- Fixed error in computation of dynamic ratio plot min & max values in
plot/six_plot.py - Fixed erroneous species classification in
gcpy/benchmark/modules/benchmark_categories.yml - Fixed type errors in
calc_rectilinear_lon_edgeandcalc_rectangular_lat_edgeby casting the length of the output array fromfloattoint
Removed
- Removed
gcpy/benchmark/modules/species_database.ymlfile and corresponding code pointing to this
Pull requests included
- Now use comma-separated list for
exempt-issue-labelsYAML tag instale.ymlby @yantosca in https://github.com/geoschem/gcpy/pull/327 - Now flag GEOS-Chem Classic/GCHP timers that differ by more than 10% in the benchmark timing tables by @yantosca in https://github.com/geoschem/gcpy/pull/332
- Add
make_hemco_sa_spec.pyexample script by @yantosca in https://github.com/geoschem/gcpy/pull/334 - Update benchmark YAML files with new species for GEOS-Chem 14.5.0 by @yantosca in https://github.com/geoschem/gcpy/pull/331
- Add script for scraping stats from GCClassic cloud benchmarks by @yantosca in https://github.com/geoschem/gcpy/pull/335
- Add the DryDep collection to the benchmark summary table, and DryDepVel plots to 1-mon cloud benchmarks by @yantosca in https://github.com/geoschem/gcpy/pull/336
- Update package versions used in the GCPy environment; Also update GitHub actions to avoid deprecation warnings by @yantosca in https://github.com/geoschem/gcpy/pull/329
- Remove the default gcpy/benchmark/modules/species_database.yml file by @yantosca in https://github.com/geoschem/gcpy/pull/339
- Fix missing headers in aerosol table by @yuanjianz in https://github.com/geoschem/gcpy/pull/341
- Replace whitespace in Ref and Dev version labels in benchmarking code by @yantosca in https://github.com/geoschem/gcpy/pull/340
- Hotfix: Restore stale workflow functionality by @msulprizio in https://github.com/geoschem/gcpy/pull/342
- Use ALK6 species name for >= C6 alkanes instead of ALK7 by @msulprizio in https://github.com/geoschem/gcpy/pull/343
- Add benchmark script to create species changes tables for GEOS-Chem wiki by @yantosca in https://github.com/geoschem/gcpy/pull/337
- Fix computation of dynamic ratio colorbar min/max values in six_plot.py by @yantosca in https://github.com/geoschem/gcpy/pull/344
- Fix incorrect species classification in benchmark_categories.yml by @yantosca in https://github.com/geoschem/gcpy/pull/345
- Fix type errors in calc_rectilinear_lon_edge and calc_rectilinear_lat_edge in grid.py by @yantosca in https://github.com/geoschem/gcpy/pull/347
- Bump jinja2 to 3.1.5 as suggested by Dependabot by @yantosca in https://github.com/geoschem/gcpy/pull/348
- Add scripts to plot vertical profiles from the KPP-Standalone box model by @yantosca in https://github.com/geoschem/gcpy/pull/346
Full Changelog: https://github.com/geoschem/gcpy/compare/1.5.0...1.6.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 1 year ago
gcpy - GCPy 1.5.0
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.
CHANGELOG
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_drydepingcpy/benchmark/config/*.ymlfiles - Badge for
build-gcpy-environmentGitHub 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.txtanddocs/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_speciesconcvvingcpy/benchmark/modules/benchmark_utils.py - Function
copy_file_to_diringcpy/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.pyfrom @hannahnesser - Added
gcpy/examples/hemco/format_hemco_demo.pyfrom @hannahnesser - Added HCl to
gcpy/benchmark/modules/emission_species.ymland GTChlorine togcpy/benchmark/modules/emission_inventories.ymlfor GEOS-Chem 14.4.0 - Example script
gcpy/examples/working_with_files/make_mask_file.py - Convenience function
replace_whitespaceingcpy/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_filepathsingcpy/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_filenamesingcpy/benchmark/modules/benchmark_utils.py - Function
replace_whitespaceingcpy/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_budgetis nowops_budget_tableingcpy/benchmark/config/1yr_tt_benchmark.yml - Now require
matplotlib=3.8.0indocs/environment_files/environment.yml(with other pegged versions) - Now run the
staleGitHub action at 00:00 UTC on the 1st of each month - Renamed
docs/environment_files/environment.ymltogcpy_environment.yml environment.ymllinks todocs/environment_files/gcpy_environment.ymlrequirements.txtlinks todocs/environment_files/requirements.txt- Python packages for RTD documenation builds from
docs/environment_files/environment.yml - Script
benchmark_model_vs_obs.pynow uses grid inquiry functions fromgrid.pyto return data nearest to a (lat,lon) location - Moved routine
get_geoschem_level_metadatatogcpy/benchmark/modules/benchmark_utils.py - Refactored
get_vert_grid.py(ingcpy/grid.py) to accept thep_sfcargument; Also never-nested the if-block logic. benchmark_slurm.shscript now saves output to a log file with the same base name as the YAML config filebenchmark_models_vs_obs.pynow 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_dirto copy the benchmark script and configuration file to the benchmark results folders - Updated GitHub stalebot config file
stale.ymlwith 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.pynow work properly forxr.Datasetandxr.DataArrayobjects - Prevent an import error by using
seaborn-v0_8-darkgridingcpy/benchmark/modules/benchmark_models_vs_obs.py gcpy/file_regrid.pynow creates GCHP files withDELP_DRYinstead 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_corestogcpy/examples/diagnostics/compare_diags.yml - Added missing
plot_drydepoption togcpy/gcpy/benchmark/config/1yr_ch4_benchmark.yml - Add
docs/requirements.txtsymbolic link todocs/environment_files/read_the_docs_requirements.txtfor RTD builds gcpy/file_regrid.pynow tests iflon_bnds,lat_bndsare in the dataset before trying to drop them
Removed
- Example script
gcpy/examples/plotting/mda8_o3_timeseries.py - Removed
PylintGitHub action - Environment file
docs/environment_files/environment.yml - Environment file
docs/environment_files/requirements.txt - Removed
awsclifrom the GCPy environment; version 2 is no longer available on conda-forge or PyPi - GitHub config files
.github/stale.ymland.github/no-response.yml - Routine
make_benchmark_mass_conservation_tableinbenchmark_funcs.py; this is now obsolete
New Contributors
- @yuanjianz made their first contribution in https://github.com/geoschem/gcpy/pull/311
Full Changelog: https://github.com/geoschem/gcpy/compare/1.4.2...1.5.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca about 2 years ago
gcpy - GCPy 1.4.2
Release date 26 Jan 2024
CHANGELOG
- Add GitHub action to build GCPy environment and test installation by @yantosca in https://github.com/geoschem/gcpy/pull/286
- Fix dictionary key error when benchmark plots are generated sequentially by @yantosca in https://github.com/geoschem/gcpy/pull/287
- Use pegged version numbers for the GCPy environment; Also add testing environment without pegged versions; Updated GitHub actions by @yantosca in https://github.com/geoschem/gcpy/pull/289
Full Changelog: https://github.com/geoschem/gcpy/compare/1.4.1...1.4.2
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 2 years ago
gcpy - GCPy 1.4.1
Release date 08 Dec 2023
CHANGELOG
Fixed
- Now use the proper default value for the
--weightsdirargument togcpy/file_regrid.py
Full Changelog: https://github.com/geoschem/gcpy/compare/1.4.0...1.4.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 2 years ago
gcpy - GCPy 1.4.0
CHANGELOG
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
Full Changelog: https://github.com/geoschem/gcpy/compare/1.3.3...1.4.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 2 years ago
gcpy - GCPy 1.3.3
CHANGELOG
Added
- Add capability to generate CH4 benchmark output by @msulprizio in #186
- Added documentation for installing Conda 4.12.0 with Miniconda by @yantosca
- Add stretching parameters to GCHP regridding example by @kilicomu in #206
Changed
- Update SpeciesConc variable name to SpeciesConcVV for consistency with GEOS-Chem 14.1.0 updates by @msulprizio in #187
- Update benchmark table output to better show which diagnostics have Ref = Dev by @yantosca in #200
- Updated GCHP regridding documentation by @kilicomu in #205
- Additional cleanup of gcpy routines by @yantosca in #204
Fixed
- Fix bug in GCHP transport tracer budget table by @lizziel in #192
- Fixed GCHP regridding issues by @kilicomu in #190
Full Changelog: https://github.com/geoschem/gcpy/compare/1.3.2...1.3.3
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca about 3 years ago
gcpy - GCPy 1.3.2
Release date: 26 Oct 2022
Changed
- Bug fix: Fixed malformed version declaration for cartopy (use
==instead of=) in setup.py. This was preventing upload to conda-forge.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 3 years ago
gcpy - GCPy 1.3.1
Release date 26 Oct 2022
What Changed:
- Bug fix in setup.py, removed extraneous character
- Updated version numbers in various files
Full Changelog: https://github.com/geoschem/gcpy/compare/1.3.0...1.3.1
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 3 years ago
gcpy - GCPy 1.3.0
What's New
- 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)
- Added regrid_restart_file.py by @LiamBindle in https://github.com/geoschem/gcpy/pull/159
- Add fix for GEOS-Chem Classic restart file path by @msulprizio in https://github.com/geoschem/gcpy/pull/160
What's Changed
- Fixed several issues in benchmarking scripts (@laestrada, @lizziel, @yantosca), also see PR #164
- Updates for new GCHP restart file format by @lizziel in https://github.com/geoschem/gcpy/pull/151
- 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)
- Updated environment.yml with package versions that work together (@yantosca)
- Updated the AUTHORS.txt and LICENSE.txt files (@yantosca)
Full Changelog: https://github.com/geoschem/gcpy/compare/1.2.0...1.3.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca over 3 years ago
gcpy - GCPy: 1.2.0
Added
- Added Parameter for single_panel to support return of all 6 cubedsphere plots
- Added flexible time period for benchmark plotting scripts
Changed
- 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
For installation instructions, please see our GCPy manual at https://gcpy.readthedocs.io.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by laestrada about 4 years ago
gcpy - GCPy: 1.1.0
Added
- 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
Changed
- 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
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by laestrada over 4 years ago
gcpy - GCPy 1.0.3
Fixed
- 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
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns about 5 years ago
gcpy - GCPy 1.0.2
Added
- Added GCPy version number and automatic script copying to benchmark scripts
- Added line clarifying lack of Windows support in ReadTheDocs
Fixed
- 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
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns about 5 years ago
gcpy - GCPy 1.0.1
Added
- 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
Changed
- Removed carbon-based units from benchmark emissions tables
- Environment files now request xESMF through conda-forge rather than pip
Fixed
- Fixed Cubed-Sphere to Lat/Lon regridding for 1-level files
- Fixed single panel zonal mean axis selection
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns over 5 years ago
gcpy - GCPy 1.0.0
This if the first official version of GCPy.
Added
- 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
Changed
- 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
Deprecated
- mean_oh_from_logs.py is replaced in functionality by oh_metrics.py for GEOS-Chem versions >=13.0.0
Fixed
- Installation through pip (from the repositoryand conda now works correctly
Removed
- Removed several functions and files that are no longer used, including budget_aer.py and create_budget_table()
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns over 5 years ago
gcpy - 1.0.0-beta.0
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns over 5 years ago
gcpy - GCPY 0.3.1
Added
- 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
Changed
- 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
- Fixed single panel zonal mean plotting for GCHP
- Fixed existing non-deleted examples code
- Fixed imports for out-of-scope variables
Removed
- Removed several code examples that were out-of-date.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns almost 6 years ago
gcpy - GCPy 0.3.0
Added
- 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.
Changed
- 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
- 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
- Removed budget_ops.py in deference to new make_benchmark_operations_budget functi
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns almost 6 years ago
gcpy - GCPy 0.2.1
- Fixed bugs calculating lumped species with some or all missing constituents.
- Added documentation for newer keyword arguments in benchmark.py
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns about 6 years ago
gcpy - GCPy 0.2.0
Added
- 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.
Changed
- 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.
Fixed
- 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
- Removed runnable docstring content.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns about 6 years ago
gcpy - GCPy 0.1.1
- 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.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by yantosca about 6 years ago
gcpy - GCPy 0.1.0
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.
Atmosphere - Atmospheric Chemistry and Aerosol
- Jupyter Notebook
Published by WilliamDowns over 6 years ago