climpred v2.1.0 (2020-06-08)¶
reference=...keyword. Current options are
'persistence'for a persistence forecast of the observations and
'historical'for some historical reference, such as an uninitialized/forced run. (GH#341) Riley X. Brady.
We now only enforce a union of the initialization dates with observations if
HindcastEnsemble. This is to ensure that the same set of initializations is used by the observations to construct a persistence forecast. (GH#341) Riley X. Brady.
compute_perfect_model()now accepts initialization (
cftimeis now implemented into the bootstrap uninitialized functions for the perfect model configuration. (GH#332) Aaron Spring.
'maximize': Maximize the degrees of freedom by slicing
verifto a common time frame at each lead. (GH#338) Riley X. Brady.
'same_inits': slice to a common init frame prior to computing metric. This philosophy follows the thought that each lead should be based on the same set of initializations. (GH#328) Riley X. Brady.
'same_verifs': slice to a common/consistent verification time frame prior to computing metric. This philosophy follows the thought that each lead should be based on the same set of verification dates. (GH#331) Riley X. Brady.
The major change for this release is a dramatic speedup in bootstrapping functions, led by
Aaron Spring. We focused on scalability with
dask and found many places we could compute
skill simultaneously over all bootstrapped ensemble members rather than at each iteration.
- Properly implemented handling for lazy results when inputs are chunked.
- User gets warned when chunking potentially unnecessarily and/or inefficiently.
- Added a Code of Conduct (GH#285) Aaron Spring.
- Gather all
pytest.fixture``s in ``conftest.py. (GH#313) Aaron Spring.
comparisons.pyin order to avoid circular import dependencies. (GH#315) Aaron Spring.
asvbenchmarks added for
HindcastEnsemble(GH#285) Aaron Spring.
- Ignore irrelevant warnings in
pytestand mark slow tests (GH#333) Aaron Spring.
CONCAT_KWARGSnow in all
xr.concatto speed up bootstrapping. (GH#330) Aaron Spring.
m2ccomparison for probabilistic metrics. (GH#330) Aaron Spring.
compute_perfect_model(). (GH#330) Aaron Spring.
- Changed lead0 coordinate modifications to be compliant with
compute_persistence(). (GH#348) Aaron Spring.
xr.quantile(skipna=False). (GH#348) Aaron Spring.
plot_bootstrapped_skill_over_leadyear(). (GH#351) Aaron Spring.
xskillscore v0.0.15and use their functions for effective sample size-based metrics. (:pr: 353) Riley X. Brady.
- Faster bootstrapping without replacement used in threshold functions of
climpred.stats(GH#354) Aaron Spring.
cftime v1.1.2, which modifies their object handling to create 200-400x speedups in some basic operations. (GH#356) Riley X. Brady.
- Resample first and then calculate skill in
bootstrap_hindcast()(GH#355) Aaron Spring.
- Added demo to setup your own raw model output compliant to
climpred(GH#296) Aaron Spring. See (here).
- Added demo using
climpred(GH#296) Aaron Spring. See (here).
- Added Verification Alignment page explaining how initializations are selected and aligned with verification data. (GH#328) Riley X. Brady. See (here).
climpred v2.0.0 (2020-01-22)¶
- Add support for
seasonsfor lead time resolution.
climprednow requires a
leadattribute “units” to decipher what resolution the predictions are at. (GH#294) Kathy Pegion and Riley X. Brady.
>>> hind = climpred.tutorial.load_dataset('CESM-DP-SST') >>> hind.lead.attrs['units'] = 'years'
.get_observations()methods. These are the same as
.get_reference(), which will be deprecated eventually. The name change clears up confusion, since “reference” is the appropriate name for a reference forecast, e.g. persistence. (GH#310) Riley X. Brady.
.verify()function, which duplicates the
.compute_metric()function. We feel that
.verify()is more clear and easy to write, and follows the terminology of the field. (GH#310) Riley X. Brady.
m2oare now the preferred keywords for comparing hindcast ensemble means and ensemble members to verification data, respectively. (GH#310) Riley X. Brady.
- Updates to
xskillscorev0.0.12 to get a 30-50% speedup in compute functions that rely on metrics from there. (GH#309) Riley X. Brady.
- Stacking dims is handled by
comparisons, no need for internal keyword
metricas argument instead. (GH#290) Aaron Spring.
assign_attrsnow carries dim (GH#290) Aaron Spring.
- “reference” changed to “verif” throughout hindcast compute functions. This is more clear, since “reference” usually refers to a type of forecast, such as persistence. (GH#310) Riley X. Brady.
Comparisonobjects can now have aliases. (GH#310) Riley X. Brady.
climpred v1.2.1 (2020-01-07)¶
madno longer a keyword for the median absolute error metric. Users should now use
median_absolute_error, which is identical to changes in
xskillscoreversion 0.0.10. (GH#283) Riley X. Brady
paccno longer a keyword for the p value associated with the Pearson product-moment correlation, since it is used by the correlation coefficient. (GH#283) Riley X. Brady
msssno longer a keyword for the Murphy’s MSSS, since it is reserved for the standard MSSS. (GH#283) Riley X. Brady
['p_pval_eff', 'pvalue_eff', 'pval_eff']for
['s_pval_eff', 'spvalue_eff', 'spval_eff']for
xarrayversion 0.14.1 so that the
drop_vars()keyword used in our package does not throw an error. (GH#276) Riley X. Brady
- Update to
xskillscoreversion 0.0.10 to fix errors in weighted metrics with pairwise NaNs. (GH#283) Riley X. Brady
pre-committo have consistent formatting on
.rstfiles. (GH#283) Riley X. Brady
Metricclass since it isn’t used anywhere. (GH#283) Riley X. Brady
- Add testing for effective p values. (GH#283) Riley X. Brady
- Add testing for whether metric aliases are repeated/overwrite each other. (GH#283) Riley X. Brady
msess, but keywords allow for
msssstill. (GH#283) Riley X. Brady
climpred v1.2.0 (2019-12-17)¶
>>> hind = climpred.tutorial.load_dataset('CESM-DP-SST') >>> ref = climpred.tutorial.load_dataset('ERSST') >>> hindcast = climpred.HindcastEnsemble(hind) >>> hindcast = hindcast.add_reference(ref, 'ERSST') >>> print(hindcast) <climpred.HindcastEnsemble> Initialized Ensemble: SST (init, lead, member) float64 ... ERSST: SST (time) float32 ... Uninitialized: None >>> print(hindcast.get_initialized()) <xarray.Dataset> Dimensions: (init: 64, lead: 10, member: 10) Coordinates: * lead (lead) int32 1 2 3 4 5 6 7 8 9 10 * member (member) int32 1 2 3 4 5 6 7 8 9 10 * init (init) float32 1954.0 1955.0 1956.0 1957.0 ... 2015.0 2016.0 2017.0 Data variables: SST (init, lead, member) float64 ... >>> print(hindcast.get_reference('ERSST')) <xarray.Dataset> Dimensions: (time: 61) Coordinates: * time (time) int64 1955 1956 1957 1958 1959 ... 2011 2012 2013 2014 2015 Data variables: SST (time) float32 ...
compute_metric()doesn’t drop coordinates from the initialized hindcast ensemble anymore. (GH#258) Aaron Spring.
uaccdoes not crash when
pppnegative anymore. (GH#264) Aaron Spring.
xskillscoreto version 0.0.9 to fix all-NaN issue with
pearson_r_p_valuewhen there’s missing data. (GH#269) Riley X. Brady.
- Add examples notebook for temporal and spatial smoothing. (GH#244) Aaron Spring
- Add documentation for computing a metric over a specified dimension. (GH#244) Aaron Spring
- Update API to be more organized with individual function/class pages. (GH#243) Riley X. Brady.
- Add page describing the
PerfectModelEnsembleobjects more clearly. (GH#243) Riley X. Brady
- Add page for publications and helpful links. (GH#270) Riley X. Brady.
climpred v1.1.0 (2019-09-23)¶
- Write information about skill computation to netcdf attributes(GH#213) Aaron Spring
- Temporal and spatial smoothing module (GH#224) Aaron Spring
- Add metrics brier_score, threshold_brier_score and crpss_es (GH#232) Aaron Spring
- Allow compute_hindcast and compute_perfect_model to specify which dimension dim to calculate metric over (GH#232) Aaron Spring
- Rename .stats.DPP to dpp (GH#232) Aaron Spring
- Add matplotlib as a main dependency so that a direct pip installation works (GH#211) Riley X. Brady.
climpredis now installable from conda-forge (GH#212) Riley X. Brady.
- Fix erroneous descriptions of sample datasets (GH#226) Riley X. Brady.
- Benchmarking time and peak memory of compute functions with asv (GH#231) Aaron Spring
climpred v1.0.1 (2019-07-04)¶
climpred v1.0.0 (2019-07-03)¶
climpred v1.0.0 represents the first stable release of the package. It includes
PerfectModelEnsemble objects to perform analysis with.
It offers a suite of deterministic and probabilistic metrics that are optimized to be
run on single time series or grids of data (e.g., lat, lon, and depth). Currently,
climpred only supports annual forecasts.
- Bootstrap prediction skill based on resampling with replacement consistently in
PerfectModelEnsemble. (GH#128) Aaron Spring
- Consistent bootstrap function for
bootstrap_funcwrapper. (GH#167) Aaron Spring
- many more metrics:
_crpss(GH#128) Aaron Spring
- Documentation built extensively in multiple PRs.
climpred v0.3 (2019-04-27)¶
climpred v0.3 really represents the entire development phase leading up to the
version 1 release. This was done in collaboration between Riley X. Brady,
Aaron Spring, and Andrew Huang. Future releases will have less additions.
init: initialization dates for the prediction ensemble
lead: retrospective forecasts from prediction ensemble; returned dimension for prediction calculations
time: time dimension for control runs, references, etc.
member: ensemble member dimension.
xr_rm_polycan now operate on Datasets and with multiple variables. It also interpolates across NaNs in time series. (GH#94) Andrew Huang
- Travis CI,
pytestall run for automated testing of new features. (GH#98, GH#105, GH#106) Riley X. Brady and Aaron Spring
- Clean up
check_xarraydecorators and make sure that they work. (GH#142) Andrew Huang
- Ensures that
help()returns proper docstring even with decorators. (GH#149) Andrew Huang
- Fixes bootstrap so p values are correct. (GH#170) Aaron Spring
- Adds unit testing for all perfect-model comparisons. (GH#107) Aaron Spring
- Updates CESM-LE uninitialized ensemble sample data to have 34 members. (GH#113) Riley X. Brady
- Adds MPI-ESM hindcast, historical, and assimilation sample data. (GH#119) Aaron Spring
check_xarraywith a decorator for checking that input arguments are xarray objects. (GH#120) Andrew Huang
- Add custom exceptions for clearer error reporting. (GH#139) Riley X. Brady
- Remove “xr” prefix from stats module. (GH#144) Riley X. Brady
- Add codecoverage for testing. (GH#152) Riley X. Brady
- Update exception messages for more pretty error reporting. (GH#156) Andrew Huang
blackcheck in CI. (GH#163) Riley X. Brady
load_dataset. (GH#164) Riley X. Brady
- Remove predictability horizon function to revisit for v2. (GH#165) Riley X. Brady
- Increase code coverage through more testing. (GH#167) Aaron Spring
- Consolidates checks and constants into modules. (GH#173) Andrew Huang
climpred v0.2 (2019-01-11)¶
Name changed to
climpred, developed enough for basic decadal prediction tasks on a
perfect-model ensemble and reference-based ensemble.
climpred v0.1 (2018-12-20)¶
Collaboration between Riley Brady and Aaron Spring begins.