Skip to content

Releases: brightbandtech/ExtremeWeatherBench

v1.0.0

27 Jan 00:19
f4f882e

Choose a tag to compare

What's Changed

  • v1.0.0 PR in #325 for reference
  • Updated API to utilize import extremeweatherbench as ewb, simplifying the import approaches
  • Added a golden test module for use to confirm with significant version changes to the codebase

Full Changelog: v0.3.0...v1.0.0

v0.3.0

26 Jan 20:02
3a4debd

Choose a tag to compare

Full Changelog: v0.2.0...v0.3.0

Note: Due to cleaning up the repository using git-filter-repo and the subsequent rebase, automated comparison between 0.2.0 and 0.3.0 isn't possible. The changelog will be hard to follow as a result; key updates are in #322:

  • Remove IndividualCaseCollection
  • Fix DurationMeanError and IBTrACS memory issues
  • Add wrapper for custom xarray Datasets
  • Simply YAML to be a list of dicts instead of a dict of a list of dicts
  • Fix geopotential calculations to properly reflect geopotential height conversion
  • Add CIRA Icechunk store
  • Update readthedocs and docstrings throughout repo

v0.2.0

03 Dec 04:09

Choose a tag to compare

Key Changes

  • All 5 events (heatwave, freeze, atmospheric river, tropical cyclone, severe convection) available to run, new MLCAPE calculation by @darothen
  • Metrics updated: binary threshold metrics, landfall metrics, duration mean error, all included in update. Metric names made more explicit
  • New API for running an evaluation, simplifying and abstracting parallelism using joblib
  • Simplified DerivedVariable creation, requiring variables and including an optional output_variables argument on instantiation to include one or more outputs if multiple variables are calculated
  • New sources module using Protocols to determine incoming data type for pipeline
  • More efficient checking of data availability in forecast and target data earlier in pipeline
  • Improved docstrings, comments, and formatting throughout repository
  • Utilization of sparse library for point obs data such as GHCNh
  • Changes to case bounds and reference scripts to generate them
  • Scripts included to reproduce generation of certain datasets e.g. local storm reports

What's Changed (Auto-Generated)

  • clarified and cleaned up some of the metrics; documentation and naming by @aaTman in #30
  • Taylor/ope-65-fix-mypy-testing-issues by @aaTman in #33
  • Taylor/ope-64-metric-testing by @aaTman in #35
  • set up logging in main evaluate function w/ basic receipt by @aaTman in #36
  • Amy/ope 69 case information publicized on repository by @amymcgovern in #42
  • Taylor/ope-66-update-mae-metrics-to-limit-potential-forecast-deviation-by by @aaTman in #37
  • Taylor/ope-71-running-ewb-when-installed-via-conda-fails-due-to-path-issue by @aaTman in #44
  • change package-data paths by @aaTman in #51
  • Taylor/ope-73-dependency-cleanup by @aaTman in #52
  • Updated the main case study entry page to be much easier to read and … by @amymcgovern in #56
  • Taylor/ope-67-point-sources-generated-for-each-case by @aaTman in #46
  • Taylor/ope-91-create-better-handling-approach-to-evaluating-point-and by @aaTman in #70
  • renaming by @aaTman in #71
  • add pathlib to config links by @aaTman in #72
  • remove data from repo that now exists on public bucket by @aaTman in #73
  • Renaming-cf-vars by @aaTman in #75
  • Taylor/ope-88-add-core-point-subsetting-logic by @aaTman in #66
  • Taylor/ope-89-update-evaluate-code-to-include-point-obs by @aaTman in #69
  • Add point obs to EWB by @aaTman in #77
  • Speed up point obs processing when forecast data already loaded into memory by @aaTman in #79
  • Dataframe groupby optimization for point obs by @aaTman in #80
  • Restructuring docs by @amymcgovern in #81
  • Simplify evaluate output by @aaTman in #82
  • Modularize data loading by @aaTman in #78
  • Taylor/ewb-23-reconfigure-dry-run-to-more-clearly-return-case-metadata by @aaTman in #85
  • add nonetype check to load_data by @aaTman in #88
  • Add-point-obs-schema by @aaTman in #89
  • Move mapping function outside of loop by @aaTman in #91
  • Taylor/ewb-25-point-obs-fails-out-when-data-is-missing by @aaTman in #90
  • Consolidate schemas into main config by @aaTman in #92
  • Command Line Initialization by @aaTman in #93
  • Update GHCN URI by @aaTman in #96
  • change all instances of id to case_id_number by @aaTman in #98
  • Bounding Box + Shapefile Functionality by @aaTman in #99
  • Longitude Ordering Hotfix by @aaTman in #100
  • Manage Longitude Conversions and Plotting (Indirectly) by @aaTman in #101
  • EWB Refactor by @aaTman in #108
  • Update tropical cyclone metadata by @aaTman in #109
  • Fix tc dates and add pre-commit check by @aaTman in #112
  • Separate output columns by @aaTman in #119
  • Add in derived variable name catch by @aaTman in #122
  • add slow pytest marker by @aaTman in #126
  • Update haversine function by @aaTman in #127
  • Default name attributes + setter for input classes by @aaTman in #128
  • add input type attribute + tests by @aaTman in #130
  • Clean up calc in prep for TCs by @aaTman in #131
  • remove unused calc function by @aaTman in #132
  • Catch maybe_derive_variable scenarios by @aaTman in #123
  • Hotfix/cli-errors by @aaTman in #136
  • Clarify naming for metric vars by @aaTman in #135
  • Remove placeholder DerivedVariables by @aaTman in #137
  • Replace duplicate case 16 with South Asia heatwave by @aaTman in #143
  • Update GHCNh dataset by @aaTman in #144
  • Remove local file paths by @aaTman in #145
  • Move case functions to cases.py by @aaTman in #146
  • Fix exception when target data has more than one time resolution by @aaTman in #147
  • Swap from len() to .size for xarray objects by @aaTman in #149
  • Add an extra check for an empty sizes dict by @aaTman in #151
  • Add sort in GHCN polars function and test to confirm functionality by @aaTman in #150
  • Handle metric edge cases with multiple valid timesteps by @aaTman in #152
  • build_case_operators uses both a dict and IndividualCaseCollection by @aaTman in #153
  • Update duplication handling in GHCN data by @aaTman in #157
  • Pandas concatenation helper function by @aaTman in #158
  • Remove logging setlevels from modules by @aaTman in #159
  • Remove medicanes (for now) by @aaTman in #160
  • Add severe convection cases from 2020-2023 by @aaTman in #162
  • joblib parallelism abstracted into ExtremeWeatherBench by @aaTman in #155
  • Add default attributes to era5, ghcn, pph, lsr, ibtracs by @aaTman in #163
  • Evaluate types, documentation, grammar, logs by @aaTman in #164
  • Update readme by @aaTman in #166
  • Update heat wave and freeze event case bounds by @aaTman in #167
  • Prep tropical cyclone cases and bounding script by @aaTman in #168
  • Update freeze event bounds by @aaTman in #169
  • Update 100m wind mapping name by @aaTman in #171
  • Add genera...
Read more

Preview Release v0.1.0

15 Jan 19:05

Choose a tag to compare

The preview release of ExtremeWeatherBench provides initial functionality alongside sample forecast datasets to test out core functionality, specifically oriented on three metrics and two event types:

Events: Heat waves and freezes (cold snaps).

Metrics: Regional RMSE, Maximum temperature MAE (for heat waves), and Maximum, or highest, Minimum temperature MAE (also for heat waves).

Within this release also has 29 heat wave events and 6 freeze events identified and included in the events.yaml file within assets/data.

We encourage any issues, thoughts, discussions, etc. as we continue to build the core and extended functionality of EWB!