Changelog History¶
xskillscore v0.0.21 (2021-XX-XX)¶
xskillscore v0.0.20 (2021-05-08)¶
Features¶
Specify category distribution type with
input_distributions
inrps()
ifcategory_edges==None
that forecasts and observations are probability distributionsp
or cumulative distributionssc
. Seerps()
docstrings and doctests for examples. (GH#300) Aaron SpringAdded slope of linear fit
linslope()
. (GH#307) Ray Bell
Internal Changes¶
Use
pytest-xdist
andmatplotlib-base
in environments to speed up CI. (GH#283) Aaron Springrps()
does not break from masking NaNs anymore.rps()
expilicty checks forbin_dim
ifcategory_edges==None
. (GH#287) Aaron SpringRemoved a call to compute weights in testing. (GH#306) Ray Bell
xskillscore v0.0.19 (2021-03-12)¶
Features¶
Added mean error
me()
. (GH#202, GH#200) Andrew Huangbrier_score()
andrps()
now contain keywordfair
to account for ensemble-size adjustments, but defaults toFalse
.brier_score()
also accepts binary or boolean forecasts when amember_dim
dimension is present. (GH#162, GH#211) Aaron SpringAdded MAE significance test
mae_test()
from Jolliffe and Ebert https://www.cawcr.gov.au/projects/verification/CIdiff/FAQ-CIdiff.html (GH#192, GH#209) Aaron Springresample_iterations()
and fasterresample_iterations_idx()
for resampling with and without replacement. (GH#215, GH#225) Aaron SpringAdded receiver operating characteristic (ROC)
roc()
. (GH#114, GH#256, GH#236, GH#259) Aaron SpringAdded many options for
category_edges
inrps()
, which allows multi-dimensional edges.rps()
now requires dimensionmember_dim
in forecasts. (GH#275, GH#277) Aaron Spring
Breaking changes¶
Aligned output of
sign_test()
withmae_test()
. Now tests from comparative.py return more than one object including a boolean indicatingsignficance
based onalpha
. (GH#209) Aaron Spring
Bug Fixes¶
sign_test()
now works forxr.Dataset
inputs. (GH#198, GH#199) Aaron Springthreshold_brier_score()
does not average over thresholds whendim==None
. Now also carriesthreshold
as coordinate. (GH#255, GH#211) Aaron SpringPassing weights no longer triggers eager computation. (GH#218, GH#224). Andrew Huang
rps()
not restricted to[0, 1]
. (GH#266, GH#277) Aaron Spring
Internal Changes¶
Added Python 3.7 and Python 3.8 to the CI. Use the latest version of Python 3 for development. (GH#21, GH#189) Aaron Spring
Update mape algorithm from scikit-learn v0.24.0 and test against it. (GH#160, GH#230) Ray Bell
Refactor
asv
benchmarks. (GH#231) Aaron SpringAdded tests for nans in correlation metrics (GH#246, GH#247) Ray Bell
Added tests for weighted metrics against scikit-learn (GH#257) Ray Bell
Pin
xhistogram
to>=0.1.2
and adjust code/documentation so that, as in np.histogram, right-most bin is right-edge inclusive where bins are specified (GH#269) Dougie SquireReduce warnings. (GH#41, GH#268) Aaron Spring
Use
raise_if_dask_computes
from xarray. (GH#272, GH#273) Ray Bellthreshold_brier_score()
now carries threshold values as coordinates. (GH#279) Aaron Spring
xskillscore v0.0.18 (2020-09-23)¶
Features¶
Added the sign test described in DelSole and Tippett 2016:
sign_test()
. (GH#133, GH#176) Aaron Spring and Dougie Squire
Internal Changes¶
Removed an unused variable in
_rmse
, resulting in 2x speedup (GH#182). Andrew HuangRequire
xarray=0.16.1
(GH#183, GH#184) Aaron Spring
Bug Fixes¶
Fix incompatibility with
xarray=0.16.1
inapply_ufunc
(GH#183, GH#184) Aaron Spring
xskillscore v0.0.17 (2020-09-06)¶
Features¶
Added contingency table
Contingency()
and associated metrics (GH#119, GH#153). Dougie SquireAdded
rank_histogram()
anddiscrimination()
to probabilistic metrics (GH#136). Dougie SquireAdded
reliability()
to probabilistic metrics (GH#164). Dougie SquireAdded
dim
andweights
kwargs for probabilistic metrics. (GH#121) Aaron SpringAdded
keep_attrs
kwarg for all metrics. (GH#122) Andrew HuangAdded ranked probability score
rps()
. (GH#163) Aaron SpringDeterministic metrics now automatically broadcast any non-core dimensions. E.g., a single time series can be compared to a gridded product spanning that same time span. (GH#165, GH#71, GH#156, GH#166) Aaron Spring
Breaking Changes¶
Renamed
dim
tomember_dim
in probabilistic metrics. (GH#121) Aaron SpringArgument
dim
becomes keyworddim=None
in all metrics. (GH#137, GH#143) Aaron Springdim=None
reduces all dimensions as inxr.mean(dim=None)
. (GH#137, GH#143) Aaron Spring
Bug Fixes¶
Fixes
weights=None
type issue with latest version ofdask
. (GH#168, GH#171) Andrew Huang
Documentation¶
Added
sphinx
documentation with full API and a quick start notebook. (GH#127) Riley X. Brady and Ray Bell.
Internal Changes¶
Added
utils
module to house utilities shared across multiple modules (GH#119). Dougie SquireAdded
conftest.py
to gather allpytest.fixtures
. (GH#126, GH#159). Aaron Spring and Ray BellRemoved
test_np_deterministic
covered bytest_metric_results_accurate
. (GH#159) Aaron Spring
xskillscore v0.0.16 (2020-07-18)¶
Internal Changes¶
Add community support documents:
HOWTOCONTRIBUTE.rst
, issue template and pull request template. Aaron Spring and Ray BellReplace
pandas
withcftime
in examples and tests. Aaron Spring and Ray BellAdd coveralls for tests coverage. Aaron Spring and Ray Bell
Add
black
,flake8
,isort
,doc8
andpre-commit
for formatting similar toclimpred
. Aaron Spring and Ray Bell
Bug Fixes¶
Avoid mutating inputted arrays when skipna=True. (GH#111) Riley X. Brady.
Avoid read-only error that appeared due to not copying input arrays when dealing with NaNs. (GH#111) Riley X. Brady.
xskillscore v0.0.15 (2020-03-24)¶
xskillscore v0.0.14 (2020-03-20)¶
xskillscore v0.0.13 (2020-03-17)¶
Bug Fixes¶
Fixes https://github.com/xarray-contrib/xskillscore/issues/79 assignment destination is read-only error when
skipna=True
and weights are passed. Andrew Huang
xskillscore v0.0.12 (2020-01-09)¶
Internal Changes¶
~30-50% speedup for deterministic metrics when
weights=None
. Aaron Spring
xskillscore v0.0.11 (2020-01-06)¶
Features¶
Add
effective_sample_size
,pearson_r_eff_p_value
, andspearman_r_eff_p_value
for computing statistical significance for temporally correlated data with autocorrelation. Riley X. Brady
xskillscore v0.0.10 (2019-12-21)¶
Deprecations¶
mad
no longer works and is replaced bymedian_absolute_error
. Riley X. Brady
Bug Fixes¶
skipna
forpearson_r
andspearman_r
and their p-values now reports accurate results when there are pairwise nans (i.e., nans that occur in different indices ina
andb
) Riley X. Brady
Testing¶
Test that results from grid cells in a gridded product match the same value if their time series were input directly into functions. Riley X. Brady
Test that metric results from
xskillscore
are the same value as an external package (e.g.numpy
,scipy
,sklearn
). Riley X. BradyTest that
skipna=True
works properly with pairwise nans. Riley X. Brady