v1.0.0 (2024-04-14)
Breaking
-
feat!: inverse transform for unseen data (xarray-contrib#102) (
4974844
) -
feat!: inverse_transform scores arg (
7c1dc16
) -
feat!: v1.0.0
BREAKING CHANGE: drop pandas support; add support for dask, complex EOF and flexible inputs (ec70e8a
)
-
fix!: rename n_rot to n_modes (
5b39cd4
) -
fix!: n_components instead of n_modes (
5d282b1
) -
fix!: change parameter dims to dim (
70fe651
) -
refactor(pandas)!: drop support for pandas (
96196e5
)
Build
-
build: install build in semantic release (xarray-contrib#161) (
185dba8
) -
build: use
uv
andruff
(xarray-contrib#160) (a9ba9ff
) -
build: constrain xarray version (xarray-contrib#155) (
8158657
) -
build: loose version constraints of dependencies (xarray-contrib#137) (
1a0efe1
) -
build: declare dev docs as optional groups (
52070d3
) -
build: no support for 3.12 (
a0ca2ac
) -
build: add pre-commit as dev dependency (
3219562
) -
build: update env (
572cead
) -
build: docs require rpy2 package (
edd69e2
) -
build: add ipykernel as dependency (xarray-contrib#92) (
7fb4b62
) -
build: add ipykernel as dependency
Include ipykernel in the doc environment which is required
to build documentation on readthedocs (066dc2a
)
- build: add typing-extensions
Adds Self in python3.10 (fb85abe
)
-
build: add cca-zoo as dev dependency (
47e6909
) -
build: py3.10 requires typing_extension for Self (
10faa03
) -
build: Merge branch 'main' into cca (
a7df1b8
) -
build: add black as dev dependency
needed for the Github Action to run black successfully (81ccaa8
)
- build: remove cartopy from dev dependencies
cartopy crashes during build with poetry.
Don't know how to force conda for installation so I'll
go without cartopy for now. (c95f658
)
-
build: specify cartopy version (
ec15384
) -
build: update poetry lock (
7edfdc9
) -
build: add cartopy and ipywidgets as dev depends
Additional examples in online documentation require
advanced plotting and interactivity (4d4dcd4
)
-
build: revert errorenous upgrade to v2 (
ca22aa4
) -
build: drop 3.9 support (
4552fa9
) -
build: remove python 3.8 support (
2b408e7
) -
build: add dask (
fef6509
) -
build: adapt dev versions (
9dba9c4
) -
build: add sphinx theme (
5b61bcd
) -
build: update to most recent versions (
3a06022
) -
build: update environment to Python 3.11 (
5947194
) -
build: update poetry.lock to newer versions (
1215e57
) -
build: remove numba dependency (
0979fcf
) -
build: add numba as dependency (
f627d92
) -
build: change conf (
a73ef85
) -
build: docs do not compile properly, try changing version in conf.py (
0a73edb
) -
build: remove defaults from anaconda channels when building readthedocs (
0dbcf81
) -
build: repair missing tqdm dependency (
46fd5f2
) -
build: add tqdm as dependency (
0de85e5
) -
build: loose numpy version constrain (
375d675
) -
build: migrate to poetry (
f7def8a
)
Chore
-
chore(release): v2.3.2 (
5c554a6
) -
chore(release): v2.3.1 (
a3cb204
) -
chore(release): v2.3.0 (
1f54401
) -
chore(release): v2.2.6 (
66b31fb
) -
chore(release): v2.2.5 (
b5d04cc
) -
chore(release): v2.2.4 (
bde4456
) -
chore(release): v2.2.3 (
b149477
) -
chore(release): v2.2.2 (
a58d0ad
) -
chore(release): update PSR version (
0f5524f
) -
chore(release): Updated semantic-release
configuration (320dbcb
) -
chore: release v2.2.0 (xarray-contrib#128) (
ef40a8a
) -
chore: Merge branch 'main' into develop (
607d25b
) -
chore: merge branch 'main' into develop (
f9ef729
) -
chore: fix config of all-contributor bot (
1eedf4f
) -
chore: bring all-contributors bot back to life
Implement solution suggested in all-contributors/app#485 (8929ed5
)
-
chore: merge branches (
4447b07
) -
chore: release 2.1.0 (xarray-contrib#114) (
acc62ff
) -
chore: merge branches (
c36eca5
) -
chore: release v2.0.0 (xarray-contrib#104) (
226efc7
) -
chore: Merge branch 'main' into develop (
0edb852
) -
chore: release 1.2.2 (xarray-contrib#99) (
17cb471
) -
chore: release 1.2.1 (xarray-contrib#96) (
2c9b9a3
) -
chore: Merge branch 'main' into develop (
b08e2c3
) -
chore: Release v1.2.0 (xarray-contrib#91) (
d8fc3f3
) -
chore(release): v1.1.0 (xarray-contrib#80) (
f576cb1
) -
chore: cosmetic changes (xarray-contrib#72) (
9f44357
) -
chore(release): bump version (xarray-contrib#71) (
58ae844
) -
chore(release): bump version
last release did not trigger PSR action to publish to PyPI.
Therefore version number lags behid the release number.
To resolve PSR error bump version by hand. (8ba42d3
)
-
chore(release): 1.0.5 (xarray-contrib#70) (
1dc9ce6
) -
chore: internal design (xarray-contrib#69) (
b39bdaf
) -
chore: Merge branch 'hotfix-mca-scores' into develop (
f380aed
) -
chore: correct package version (
9070851
) -
chore: merge branch 'main' into develop (
e0e8d93
) -
chore: merge main into develop (
9f50392
) -
chore: merge branch 'main' of nicrie/xeofs (
efb5ab9
) -
chore: Merge branch 'main' into develop (
bc4e87d
) -
chore: Merge develop of nicrie/xeofs into develop (
f31e56e
) -
chore: Merge branch 'main' into develop (
d1896d6
) -
chore: merge 'main' of github.com:nicrie/xeofs (
cfc164b
) -
chore: Merge branch 'main' into develop (
14839d4
) -
chore: Merge branch 'main' of github.com:nicrie/xeofs into main (
00eb862
) -
chore: Merge branch 'main' into develop (
e1c3534
) -
chore: add netcdf4 as dev-dependency (
4c4897c
) -
chore: Merge branch 'main' into develop (
f51e4d2
) -
chore: upload package to pypi (
989a278
) -
chore: Merge branch 'main' into develop (
9cdef9b
)
Ci
-
ci: add password input for PyPI token (
600b43e
) -
ci: specify Python Semantic Release version v8.0.0 (
c7c79e4
) -
ci: add workflow dispatch to Github Action (
26f8345
) -
ci: install dev dependencies (
be8bffd
) -
ci(black): specify version and target directory
Black linted all files in repo including examples. Main folder xeofs
is sufficient though. (7919090
)
- ci: update Github Action workflows
New structure separates workflows into
separate workflows: ci, PR linting, black formatting and creating
release. The latter is only triggered
after a PR has been merged. All others are triggered when
a PR on main/develop is opened, edited or synchronized. (25211eb
)
-
ci: lock PSR to 7.x (
b5b94e3
) -
ci: update python-semantic-release to v8 (
0887579
) -
ci: remove redundant file (
4699a56
) -
ci: do not run on PR (
9829517
) -
ci: Update semantic_release.yml (
7f1b2b4
) -
ci: python 3.10 bug (
0dd2a18
) -
ci: test also against python 3.9, 3.10 and 3.11 (
29d0ae0
) -
ci: add action for semantic pull request (
2af2456
) -
ci: update to Node 16 (
7373b8a
) -
ci: migrate python-semantic-release to github workflows (
c27de9a
) -
ci: semantic-release is triggered for PR on main (
e9077a2
) -
ci: fix incorrect call of coverage (
d9ee80e
) -
ci: use pre-commit hooks to ensure conventional commits (
1c04785
) -
ci: migrate to poetry (
a5db259
)
Documentation
- docs: new changelog (xarray-contrib#141)
Co-authored-by: Niclas Rieger <[email protected]> (35b9ef7
)
-
docs: update xeofs citation (xarray-contrib#145) (
4cf84cf
) -
docs: add CITATION.cff (xarray-contrib#144) (
787c598
) -
docs: automatically sync quickstart tutorial with codebase (xarray-contrib#136) (
48e63a0
) -
docs: use doctest to test README examples (xarray-contrib#135) (
382f6c7
) -
docs: show contributors in readme (xarray-contrib#140) (
0c12fa5
) -
docs: remove all-contributor config file (
f5234fc
) -
docs: add required dependencies (xarray-contrib#138) (
7ec694f
) -
docs: add required dependencies (
ce6b93a
) -
docs: fix link to perf scripts (xarray-contrib#131) (
e2b3276
) -
docs: Update link to contributing guide (xarray-contrib#129) (
21b8d3d
) -
docs: show contributors in README (
049e654
) -
docs(CHANGELOG): update release notes (
42b5c5e
) -
docs(changelog): use PAT instead of GITHUB_TOKEN (
fa58532
) -
docs: reactivate CHANGELOG (xarray-contrib#121) (
6a4370b
) -
docs: reactivate CHANGELOG (
06a2014
) -
docs: fix broken link (
de49038
) -
docs: acknowledge contributors in README (xarray-contrib#116) (
1a88379
) -
docs: acknowledge contributors in README (xarray-contrib#115) (
f2781d8
) -
docs: remove dead files (
6c4842e
) -
docs: update authors and description (xarray-contrib#100) (
49c4367
) -
docs: update authors and description (
3e39eda
) -
docs: add performance tests (
42d8e75
) -
docs: fix link (
c6a595b
) -
docs: minor tweaks in documentation (
977a89e
) -
docs: build with Python 3.11 (
c181972
) -
docs: complete overhaul (
47e13ea
) -
docs: add CoC (
70f10b2
) -
docs: update doc environment (xarray-contrib#94) (
9592dbc
) -
docs: update env (
e8f72d5
) -
docs: repair gallery (
fa647d8
) -
docs: update examples (xarray-contrib#93) (
9f3c0c1
) -
docs: update some docstrings (
2795c54
) -
docs: fix reference hyperlinks (
38cadb9
) -
docs: fix up minor errors (
ef3fe8a
) -
docs: fix broken example (
ecc114e
) -
docs: fix broken example
EOF class now computes 2 modes by default,
not 10 as before. Specify the number of modes to be
computed in the example to avoid issues (b58d985
)
-
docs: provide top-level type hints (
6be8923
) -
docs: more instructive quickstart (xarray-contrib#75) (
58c2f09
) -
docs: correct typo in README (
3b88d5e
) -
docs: add quickstart example and point to methods (
f741199
) -
docs: update location of Action workflow for badge (
650a8c8
) -
docs: update location of Action workflow for badge (
878c5f5
) -
docs: update badges (
51113e4
) -
docs: add Black badge to README (
759b011
) -
docs: remove interactivity
In html, interactivity is not straightforward.
For simplicity remove all interactive features in the documentation. (6e99b8e
)
-
docs: add mamba to RTD config (
33d040b
) -
docs: use mamba to create doc env
Documentation build fails due to excessive memory usage.
Potential solution could be using mamba
instead of conda, the former is less memory intensive. (610facf
)
-
docs: add a Project description to conf.py (
0a5cfe3
) -
docs: improve documentation
Restructure documentation, add model section and some more background (ea32e7e
)
- docs: extend and streamline doc strings of methods
More information added to classes and methods,
including references, notes and examples. (a70b9d0
)
-
docs(bootstrapper): update to new design pattern (
d61525b
) -
docs: update changelog (
ace7ac9
) -
docs: add ipython to env to use syntax highlight (
6b2d16b
) -
docs: minor improvements (xarray-contrib#50) (
00ac5b3
) -
docs: citation in bibtex format (
f33f2d5
) -
docs: updates examples (
f31024b
) -
docs: citation (
4054e15
) -
docs: set color styling (
59213dc
) -
docs: add pydata-sphinx-theme as doc dependency (xarray-contrib#49) (
976d390
) -
docs: add pydata-sphinx-theme as doc dependency (
15c5a3e
) -
docs: improve documentation (xarray-contrib#48) (
378aae8
) -
docs: move to pydata sphinx theme (
9e92920
) -
docs: add comparison to other packages (
7985585
) -
docs: fix broken badge (
9d9b5d8
) -
docs: add dev-dependeny for readthedocs (xarray-contrib#46) (
e1e6379
) -
docs: add sphinx related packages to env (
6e07d3b
) -
docs: improve documentation (
b7c6680
) -
docs: add more docstrings (
84ebb5a
) -
docs: add docstrings (
0fe6e24
) -
docs: bibtex not showing up on Github ;) (
0c2a663
) -
docs: add bibtex (
1428ebf
) -
docs: fix some minor errors (
d5d3f73
) -
docs: update README (
2d28995
) -
docs: change examples (
1c69645
) -
docs: adding example for ROCK PCA (
8c6da93
) -
docs: update ROCK PCA to documentation (
3a7394d
) -
docs: update README (
9e3210d
) -
docs: add example and update docs (
8bed38a
) -
docs: some minor corrections in docstrings (
75eed31
) -
docs: more text (
0f9c32e
) -
docs: fix docs (
19bb84e
) -
docs: minor restructuring (
dbdc885
) -
docs: remove some old examples (
625dd08
) -
docs: minor changes in text and example arrangements (
b7f1628
) -
docs: update documentation and docstrings (
b8fffdc
) -
docs: add MCA example (
4fb881e
) -
docs: reorganize examples (
68d9db0
) -
docs: add figure to bootstrapping example (
69894a0
) -
docs: add docstrings to bootstrapping methods (
9c8145c
) -
docs: add simple example for bootstrapping (
ba62057
) -
docs: add install instructions for conda (
ef293e5
) -
docs: add zenodo badge (
4f338ef
) -
docs: update README (
fdc76ee
) -
docs: add example for multivariate EOF analysis (
59a1f1b
) -
docs: add example (
07b3bb8
) -
docs: add example for multivariate EOF analysis (
7ae2ae8
) -
docs: add zenodo badge (
7792953
) -
docs: update README (
5693fe9
) -
docs: fix typo (
d5505c6
) -
docs: update README (
982d7e3
) -
docs: update README (
c52763b
) -
docs: update README (
2d00a71
) -
docs: update README (
8c8cb29
) -
docs: update README (
58f539b
) -
docs: add project_onto_eofs to autosummary (
af7d1f2
) -
docs: update docs (
28e248b
) -
docs: add eofs as correlations (
64c60c1
) -
docs: update README (
29f1b4d
) -
docs: remove older version of sphinx-gallery (
938f294
) -
docs: too many "install" ;) (
ea66ba6
) -
docs: forgot to specifiy master branch (
2c827ba
) -
docs: install current master branch of sphinx-gallery (
8426033
) -
docs: update links to examples (
44a4353
) -
docs: add matplotlib to environment to generate example (
2346fcb
) -
docs: update examples (
5795ffa
) -
docs: add example for rotated EOF analysis (
efc364a
) -
docs: add example for weigted EOF analysis (
9dedab2
) -
docs: some minor changes in examples (
9611eea
) -
docs: add EOF s-mode and t-mode gallery example (
5f371b7
) -
docs: add download badge (
9a96fd1
) -
docs: solve readthedoc version issue by installing xeofs first (
7afdd78
) -
docs: try to solve the readthedocs issue with importlib (
b4cdd9e
) -
docs: try to solve readthedoc version number (
981bcdd
) -
docs: update docstrings (
e02b6ec
) -
docs: update docs (
7b19b5b
) -
docs: add installation instructions (
43e2563
) -
docs: remove conflicting package versions (
49636ae
) -
docs: repair docs due to importlib being installed twice (
0e21ebd
) -
docs: place badges on same line (
e2d4dc3
) -
docs: add installation instruction (
9512d34
) -
docs: add batches and link to documentation (
a7dd2d0
) -
docs: update dependencies (
05ceb68
)
Feature
-
feat: support complex input data (xarray-contrib#152) (
c6ce4e1
) -
feat: normalized option in inverse_transform (xarray-contrib#124) (
4ad2791
) -
feat: support saving to netcdf (xarray-contrib#123) (
8d06153
) -
feat: normalized option in inverse_transform (
e7d6d90
) -
feat: lazy execution mode (xarray-contrib#110) (
314901e
) -
feat: add EEOF inverse_transform() (xarray-contrib#111) (
ab6e3cc
) -
feat: serialization methods (xarray-contrib#103)
Co-authored-by: Niclas Rieger <[email protected]> (69df4d9
)
- feat: provide standard kwarg for random_state
resolves xarray-contrib#90 (cf8b641
)
-
feat: add Extended EOF Analysis (
2db736c
) -
feat: parameter normalized scores
Returned scores were always (L2) normalized which can lead to confusion
when compared to the scores of other packages
like sklearn or eofs.
Now users can decide whether to return normalized or "raw" scores. (f0dcb34
)
-
feat: add GWPCA support (
58c2dbe
) -
feat: add CCA support (
79e82cc
) -
feat: choose name of sample and feature dim (
4d521f8
) -
feat: add Optimal Persistence Analysis (OPA) (
2482110
) -
feat: add Canonical Correlation Analysis (
782e624
) -
feat(MCA): provide optional PCA preprocessing
This can greatly increase computation speed (100f40d
)
- feat: choose the SVD solver
Following the PCA implementation of scikit-learn,
the use can now choose whether full SVD decomposition or randomzied SVD
is to be used. Defaults to 'auto' which uses full SVD for small datasets
and randomized SVD for large datasets. (50c2386
)
-
feat: complex MCA amplitude and phase (
55ce3b1
) -
feat: add meta data to model output (
083a8e0
) -
feat: skeleton of Bootstrapper class (
4934b31
) -
feat: Rotation supports dask input (
78360cf
) -
feat: add complex MCA (
13f8bbc
) -
feat: RotatorFactory to access rotator classes (
90b2db6
) -
feat: EOF class transform, inverse_trans and corr (
fb71ffe
) -
feat: add support for complex EOF (
6bff6af
) -
feat: add support for ROCK-PCA (
202844d
) -
feat: Merge branch 'develop' into rock-pca (
6a5bda8
) -
feat: add ROCK PCA (
0ba0660
) -
feat: Add Rotator class for MCA (
0e9e8f9
) -
feat: add Rotator class for MCA (
6adf45f
) -
feat: add MCA (
34a82d1
) -
feat: add MCA support for xarray (
e816e36
) -
feat: add MCA support for pandas (
834d7dd
) -
feat: add MCA support for numpy (
8ded4df
) -
feat: add MCA base class (
58612e4
) -
feat: add bootstrap methods (
d5f6797
) -
feat: bootstrapper for xarray (
f807ea6
) -
feat: bootstrapper for pandas (
a32b1d3
) -
feat: bootstrapper for numpy class (
c5923b3
) -
feat: bootstrapper base class (
f4ee31a
) -
feat: add support for multivariate EOF analysis (
53961d9
) -
feat: Merge branch 'main' into develop (
6d2d646
) -
feat: add support for multivariate EOF analysis (
fa9503a
) -
feat: add base and xarray class for multivariate EOF analysis (
5ba07f0
) -
feat: project new data onto EOFs and rotated EOFs (
d8b0e57
) -
feat: project unseen data onto rotated EOFs (
63b2d3a
) -
feat: project unseen data onto EOFs (
341546b
) -
feat: project unseen data onto EOFs (
64e38b1
) -
feat: allow to reconstruct original data with arbitrary mode combination (
be095d7
) -
feat: reconstruct input data after rotation (
0c9479e
) -
feat: reconstruct input data for EOF analysis (
7ed306a
) -
feat: allow different scalings of EOFs an PCs (
ea39f02
) -
feat: add scaling for PCs and EOFs (
c2c6fe1
) -
feat: add eofs as correlation (
85960ab
) -
feat: eofs as correlation for rotated EOF analysis (
cb8c472
) -
feat: eofs as correlation for EOF analysis (
e53d449
) -
feat: add Varimax and Promax rotation (
b42ba16
) -
feat: add Rotator interface for numpy, pandas, xarray (
050b883
) -
feat: add varimax and promax algorithms (
f1e928f
) -
feat: add Rotator base class (
d024d81
) -
feat: Add support for weighted EOF analysis including coslat weighting (
654b437
) -
feat: add weight support to EOF classes (
8821108
) -
feat: add weight transformer (
52b98e6
) -
feat: add support for multidimensional axes
EOF analysis can now be performed along more than one axis/dimension (S-mode, T-mode EOF analysis) (7c31c58
)
Fix
-
fix: handle indexing changes in new xarray versions (xarray-contrib#159) (
7d07d30
) -
fix: correct inverse transform of unseen scores (xarray-contrib#154) (
5f0f7a5
) -
fix: inverse_transform fails with single mode and normalized pcs (xarray-contrib#151) (
9ea7547
) -
fix: incorrect explained variance in CCA (xarray-contrib#147) (
f825c68
) -
fix: bump new release for JOSS (xarray-contrib#143)
Co-authored-by: Sam Levang <[email protected]> (c3e4780
)
-
fix: serialization for dataset (xarray-contrib#139) (
93fce38
) -
fix: test serialization roundtrip with dataset (
ff9a1be
) -
fix: handle preprocessor serialization for dataset (
5bcdf5c
) -
fix: trigger new release (
c79a116
) -
fix: trigger new release (
58250b9
) -
fix: update to handle v8 semantic release GH action (xarray-contrib#127) (
5b8c6d8
) -
fix: test loaded model vs transform not scores (
a9d6bdf
) -
fix: update default power iterations for improved accuracy (xarray-contrib#122) (
9045bc6
) -
fix: only sort transform if model is already sorted (xarray-contrib#118) (
dfe0001
) -
fix: remove poetry io group (xarray-contrib#113) (
23cca05
) -
fix: safe default zarr write mode (xarray-contrib#107) (
3003f5a
) -
fix: safe default zarr write mode (
0f95d04
) -
fix: circumvent pypi block with v2.0.1 release (xarray-contrib#105) (
dbad76a
) -
fix: circumvent pypi block with v2.0.1 release
Previously, an accidental release marked v2.0.0 was published to pypi.
Though it was stashed, the tag persisted, obstructing our official
v2.0.0.
We're addressing this by incrementing to v2.0.1, enabling the correct
release to be published on both pypi and conda without conflict. (d014c87
)
- fix: reindexing transformed scores
Resolved an issue where the coordinates of transformed scores were
incorrectly reindexed using the fitted data's reference frame. The indexing now correctly
utilizes the coordinates from the
tansformed data itself, ensuring accurate
alignment with the original dataset (closes xarray-contrib#98). (a8e458e
)
- fix: parameter to show dask progress bar
By default, dask progress bar is turned of but can be activated by setting verbose=True
in EOF and Complex EOF models (3482fa4
)
-
fix(Bootstrapper): correct scaling of PCs (
ed59dd9
) -
fix(CCA): add checks for edge cases (
76c0b1b
) -
fix: streamline model attribute types
Boolean or None values cannot be serialized by xarray which required
manual conversion of attributes before to_netcdf can be used. Now model
attributes are streamlined internally by converting any boolean or None
values to strings (resolves xarray-contrib#89 ) (98c5cef
)
- fix(GWPCA): raise error in scores
scores aren't (yet) supported by GWPCA (43e9274
)
-
fix(Bootstrapper): avoid pertubating sample coords (
ffd11fc
) -
fix: score coordinates in T-mode EOF analysis (
731eec2
) -
fix: PCA preprocessing before Hilbert transform
In Complex MCA, PCA preprocessing must happen before Hilbert transform
(fix xarray-contrib#85) (2bbcb69
)
- fix(ListStacker): use DA Stacker to unstack scores
Use the inverse_transform_scores
of the individual DataArrayStacker
to unstack the scores within the
ListDataArrayStacker. This will help catching special cases where the
sample dimension is of length one. (c6479cf
)
-
fix: MCA covariance (fraction) (
3e4558d
) -
fix: remove **kwargs from BaseModel classes (
555d0db
) -
fix: inverse_transform enforces real output (
5e97160
) -
fix: add missing conj for PCA inverse transform (
e9d6fe1
) -
fix: transform of rotator classes (
3368ed0
) -
fix: weigh modes with norm before reconstructing (
13f42e0
) -
fix: correct MCA scores and SCF (xarray-contrib#66) (
f6ecc49
) -
fix: consistent (squared) covariance for MCA (
8e43d15
) -
fix: use conjugate for squared total variance (
597ba77
) -
fix: issue with dot product in rotation (
ab28cca
) -
fix: dummy patch to fix package versioning (xarray-contrib#53) (
89d128d
) -
fix(method): remove bias in Hilbert transform after padding (xarray-contrib#52) (
f65f54b
) -
fix(method): remove bias in Hilbert transform after padding (
8e199ef
) -
fix: correct bias in Hilbert trans when padding (xarray-contrib#51) (
ef37dd3
) -
fix: correct bias in Hilbert trans when padding (
c0183df
) -
fix: build and ci (xarray-contrib#45) (
7d1a88b
) -
fix: add dependency statsmodels (
87e7e1d
) -
fix: add dask as dependency (xarray-contrib#42) (
2bb2b6b
) -
fix: add components and pattern method to MCA (
849059b
) -
fix: Merge 'release-v1.0.0' into bootstrapper (
e6ea275
) -
fix: stacker in T-mode (
2f9be99
) -
fix: supress warning when unstacking coords (
2f01695
) -
fix: number of modes to be rotated defaults 10 (
b13c833
) -
fix: phase of complex methods returns np.ndarray (
dfb050d
) -
fix: complex decomposition not used (
2086546
) -
fix: added missing import (
207af0a
) -
fix: remove unecessary dimensions in scores (
63e2204
) -
fix: reindex data to ensure deterministic output (
60c382b
) -
fix: ListStacker correctly unstacks (
e363357
) -
fix: define names of output arrays (
c826aa8
) -
fix: FutureWarning in coslat check (xarray-contrib#37) (
285fe0f
) -
fix: allow newer xarray version (
49723c0
) -
fix: add stabilizer for communalities during rotation (
462f2fe
) -
fix: numpy and pandas classes did not consider axis parameter (
8b75271
) -
fix: set informative names of Dataframes and DataArrays (
b5b5286
) -
fix: fix incorrect dof for rotated PC scaling (
addeb82
) -
fix: PC projections was missing -1 correction for degrees of freedom (
a243a26
) -
fix: back_transform automatically add feature coords (
0fef30d
) -
fix: incorrect number of mode index for DataArray caller (
4e610ac
) -
fix: always center data X (
4a58dfc
) -
fix: coslat error was too restrictive (
faece55
) -
fix: add error messages when calling invalid coslat weighting (
6104e69
) -
fix: allow multidimensional axis for decomposition (
e09a420
) -
fix: pandas and xarray eofs back_transform was called twice (
4fa2bfb
) -
fix: typo in CI (
b34ccc5
) -
fix: allow standardized EOF analysis (
6e80f78
) -
fix: wrong pytest version (
774b2d6
) -
fix: add development dependencies (
e1cc1f6
) -
fix: add flake8 dependency (
483cf42
) -
fix: add version (
739ae74
)
Performance
- perf(Decomposer): compute by default
For Dask setting compute=True in svd_compressed avoids that we run out of
memory + increases speed. (1f3b214
)
-
perf(Dask): avoid double computation (
f24cb09
) -
perf(dask): compute SVD result immediately
New parameter allows to choose whether dask models
will be computed immediately after decomposition or not.
Before, all dask objects were delayed until the end
resulting in redundant dask computations. (807b7e8
)
-
perf: use xarray built-in method for variance (
23af4d8
) -
perf: always compute scaling arrays prior to analy (
5b810ce
)
Refactor
-
refactor: set computed attrs via deserialize (xarray-contrib#117) (
1878406
) -
refactor(GenericListTransformer): remove inherit (
2307169
) -
refactor(BaseModel): move input check to utils (
183779a
) -
refactor(Preprocessor): enforce input as list (
ebadaa2
) -
refactor: simplify model data structure
Instead of individual classes that store different model results
use a single DataContainer class that structures results
in a dictionary (resolve xarray-contrib#88). (09415a3
)
- refactor: create hilbert_transform.py
Move Hilbert transform related methods into own file
(resolve refactor: complex utilties xarray-contrib#54) (166e957
)
- refactor(BaseModel): create algorithm methods
Move actual implementation of method into algorithm methods,
while fit, transform, inverse_transform take care of
pre and post-processing (12cfc97
)
-
refactor: generalize preprocessing in MCA (
fe9bd46
) -
refactor: reflect refactoring in Factory (
0ce02f0
) -
refactor: adapt Preprocessor to refactoring (
4a43ce9
) -
refactor: streamline Scaler (
a62fc5a
) -
refactor: Sanitizer removes NaNs (
7b5068b
) -
refactor: Stacker focuses on stacking
Other actions like converting multiindices or removing NaNs
is present in separate classes (9f39f8f
)
-
refactor: add Sanitizer & tests (
508d742
) -
refactor: add MultiIndexConvert & tests (
52935a0
) -
refactor: add MultIndexConverter to preprocessor (
39ee3fb
) -
refactor: generalize hilbert transform over dims
Dimensions were hard coded but we want Hilbert transform to
be performed over any general 2D Arrays (983e0ad
)
- refactor: remove dim checks
Checks were hard coded to ensure dimensions of e.g. sample-feature.
However, we want to allow more general data, with sample and feature
names provided by the user. (79b43cf
)
-
refactor: add class for MultiIndex convertion (
0033359
) -
refactor(decomposer): coercing signs is optional (
bb8a0da
) -
refactor: extra class for renaming (multi)indeces
Helper class to keep track of dimension names. When dimension names of
MultiIndex needs to be changes to avoid name conflicts,
the class provides easy forth-and-back transformations
between new and old dimension names. (80a4c95
)
- refactor(decomposer): remove CrossDecomposer
The core functionality is now provided by Decomposer.
Any further computations have to be done in the method class (52ac245
)
- refactor(decomposer): generalize SVD decomposer
Before, Decomposer either decomposed data arrays with dimensions of either
sample,feature or feature1,feature2, depending on the use case.
Now, decomposition of any 2D DataArray is possible if dimensions are
given. Decomposer also provides now an argument to specify the solver
following the PCA implementation of scikit-learn.
For small data sets, full SVD decomposition is performed
instead of randomized SVD. (8161e6f
)
- refactor(stacker): allow sample feature DataArray
Specifically, test cases for sample-feature DataArray, that test edge cases
when trying to stack/unstack a DataArray
consisting only of sample-feature dimensions (25c2bed
)
- refactor(decomposer): provide kwargs
before only specific parameter were allowed.
Now one can set any parameter available in the given solver. (a75c805
)
-
refactor: init DataContainer in models (
fdd0e78
) -
refactor: use values of modes sorting index (
3925ed6
) -
refactor: align Bootstrapper with design pattern (
f3e2a10
) -
refactor: add DataContainer to model structure (
fc73ccf
) -
refactor: merge Stacker & Scaler into Preprocessor (
8c27b84
) -
refactor: add Scaler and Stacker factories (
5cf719f
) -
refactor: Merge 'main' of github.com:nicrie/xeofs (
93fb010
) -
refactor: bootstrapper (
5525ed1
) -
refactor: version into separate file (
d51d167
) -
refactor: bootstrapper (
7074942
) -
refactor: Merg 'release-v1.0.0' into bootstrapper (
97f57ff
) -
refactor: Stacker.fit to fit_transform (
e949c57
) -
refactor: move standard, complex model in one file (
83f0aad
) -
refactor: reorganize repo (
d109a2c
) -
refactor: clean up (
0d868c6
) -
refactor: clean and move tests (
68392e3
) -
refactor: add CrossDecomposer (
43c9ca4
) -
refactor: add method in tools for computing corr (
4866357
) -
refactor: components as correlations to testing (
be1aed6
) -
refactor: add Rotator class (
58e66d2
) -
refactor: Merge branch 'stacker' into release-v (
aea74c7
) -
refactor: EOF model uses xarray only (
369f40b
) -
refactor: add Decomposer class (
cb76350
) -
refactor: add basic Stacker class (
8d170be
) -
refactor: add Scaler class (
8428471
) -
refactor: add Scaler class (
a202fa5
) -
refactor: Merge branch 'main' of github.com:nicrie/xeofs into develop (
73e2473
) -
refactor: tests for new transformer definition (
cf330ff
) -
refactor: consistent transformer and multi_transformer definition (
9445769
) -
refactor: remove class MultivariateEOF (
4fa1ff8
) -
refactor: consistent class names in tests (
40416fa
) -
refactor: consistent class names (
5d59fad
) -
refactor: dataframe and dataarray transformer return index and coords (
1c6252a
) -
refactor: helper fuction for mode selection (
318e8ea
)
Style
-
style(decomposer): use structural pattern matching (
6f8a9cf
) -
style: update typings (
324c06b
) -
style: add and streamline type hints (
b51f36a
) -
style(tests): streamline test names (
3a1fb91
) -
style(tests): apply Black coding format
use Black default settings (717f5fe
)
- style: integrate Black into repo
pre-hooks and GitHub Actions will use Black. (dd4cd7f
)
-
style: apply Black formatting to repo (
029f6e9
) -
style: apply rotation matrix in a consistent way (
2f5286d
) -
style: remove unnecessary imports (
29954c0
) -
style: streamline arguments (
4af426c
) -
style: ignore some type hints (
0e3cff2
) -
style: ignore some type hints (
dfeb5a0
) -
style: ignore some type hints (
d03553a
) -
style: ignore .vscode files (
2877f1d
) -
style: correct an indent that prevented xeofs being published to pypi (
1ee531c
) -
style: refer to issue why nodefaults is necessary (
2aed6f3
) -
style: remove some comments (
4eae075
) -
style: remove comments (
835951b
) -
style: rename mode_idx to idx_mode (
ac89e3b
) -
style: rename mode_idx to idx_mode (
d0508b1
) -
style: change error message (
ad13409
) -
style: correct invalid typing (
3745308
) -
style: update typings of EOF techniques (
668a375
)
Test
-
test: set random_seed for deterministic output (
9f0058a
) -
test: remove cca-zoo test
Conflict between poetry and torch version that cannot be resolved.
Therefore remove cca-zoo dependency and associated tests. (6ed06f0
)
-
test: isolated NaNs are invalid test cases (
d4b5a77
) -
test(EOF): fix random seed (
4080143
) -
test: add more flexible data generation classes
Support generation of test cases (resolve xarray-contrib#55) (15f0194
)
- test: provide method to create synthetic data
Added three methods for creating synthetic DataArray,
Dataset and list of DataArrays. These methods will slowly replace
mock data currently used. (a737127
)
- test(DatasetStacker): remove failing tests
Unstacking Dataset inadvertently braodcasts dimensions.
Not sure why this happens but reported this unexpected
behaviour at xarray (https://github.com/pydata/xarray/discussions/8063).
No regression, since this issue already exists in current xeofs version,
but the additional test brought this behavour to light.
To be tackled in the future. (3a2411e
)
-
test(MCA): check dimensions of components/scores (
a214801
) -
test(EOF): check dimensions of components/scores (
093cee8
) -
test: test cases for transform, inverse_transform (
bee9b1f
) -
test: add basic test for preprocessor (
aa840b0
) -
test: fix incorrect MCA output (
9a22140
) -
test: add more test cases (
5921eb4
) -
test: add tests for MCA and Rotator (
bc6d1c6
) -
test: add test cases for ComplexEOF (
7b6b29b
) -
test: add EOF test cases (
ba95eb5
) -
test: add simple test cases for MCA Rotator (
900d76e
) -
test: add MCA test wrapper (
eb2a280
) -
test: simple tests for Bootstrapper to compile without error (
ca3141a
) -
test: multivariate EOF analysis (
b0d0b33
) -
test: projection onto EOFs (
49dc6d8
) -
test: add tests for reconstruct_X (
1029f0c
) -
test: add scaling to wrapper tests (
7cad9fe
) -
test: eof as correlation (
d84454c
) -
test: add test for Rotator classes (
bb783e7
) -
test: verify against normalized PCs (
48f054f
) -
test: add simple test for coslat weighting (
793148b
) -
test: add tests for weights (
318b225
) -
test: add array fixtures with arbitrary shapes (
7021ef6
) -
test: update tests for _array_transformer (
47fe5d2
) -
test: add tests for xarray wrapper (
d5f20cb
) -
test: add tests for pandas wrapper (
7a8786d
) -
test: add more test cases for numpy wrapper (
d9ca6ae
) -
test: add EOF numpy interface (
b5ff975
)
Unknown
-
Merge branch 'main' into contrib-rocks (
e8ba057
) -
Fix link to perf scripts (
38ba677
) -
Update link to contributing guide (
11c1208
) -
2.2.1
Automatically generated by python-semantic-release (aba57e0
)
- 2.2.0
Automatically generated by python-semantic-release (901982d
)
-
Merge branch 'main' into develop (
af25e8c
) -
2.1.2
Automatically generated by python-semantic-release (d80a839
)
- 2.1.1
Automatically generated by python-semantic-release (65e9f79
)
- 2.1.0
Automatically generated by python-semantic-release (a3505c9
)
- 2.0.3
Automatically generated by python-semantic-release (e48b3fd
)
- 2.0.2
Automatically generated by python-semantic-release (1f38a5b
)
- 2.0.1
Automatically generated by python-semantic-release (8cf91ea
)
- 2.0.0
Automatically generated by python-semantic-release (ecb92b1
)
- 1.2.2
Automatically generated by python-semantic-release (5aaf7be
)
- 1.2.1
Automatically generated by python-semantic-release (893f2ea
)
Automatically generated by python-semantic-release (0f31950
)
- 1.1.0
Automatically generated by python-semantic-release (7a09efe
)
- Merge pull request xarray-contrib#73 from nicrie:update-workflows
ci: update Github Action workflows (7e679bc
)
- 1.0.5
Automatically generated by python-semantic-release (6d26bb3
)
- 1.0.4
Automatically generated by python-semantic-release (118ad68
)
- 1.0.3
Automatically generated by python-semantic-release (75158c6
)
-
1.0.2 | dummy commit to correct package version (
e3457c0
) -
2.0.0
Automatically generated by python-semantic-release (e33f1c9
)
-
1.0.1 | dummy commit to force semantic release (
08133ef
) -
2.0.0
Automatically generated by python-semantic-release (464d71e
)
- 1.0.1
Automatically generated by python-semantic-release (99f2d28
)
-
Merge branch 'main' into develop (
4e33e86
) -
1.0.0
Automatically generated by python-semantic-release (0533a8e
)
- release v1.0.0 (xarray-contrib#41)
- Enable support for Dask (close provide dask support xarray-contrib#11 )
- Complex EOF (with contributions from @mschulzie) (close xarray-contrib#6 )
- Provide support for DataArray, Dataset and list of DataArrays (close xarray-contrib#39 )
- Mimic structure of sklearn (close xarray-contrib#40 ) (
7235ae2
)
-
Create semantic_release.yml (
0fbfde6
) -
Revert "fix!: n_components instead of n_modes"
This reverts commit 5d282b1. (430a022
)
- 0.7.2
Automatically generated by python-semantic-release (d7c67a5
)
- 0.7.1
Automatically generated by python-semantic-release (c85f116
)
- Merge pull request xarray-contrib#36 from slevang/xarray-version-fix
fix: allow newer xarray version (1e1694f
)
- Merge pull request xarray-contrib#35 from nicrie/revert-34-xarray-version
Revert "allow newer xarray versions" (4d7a230
)
-
Revert "allow newer xarray versions" (
c40100a
) -
Merge pull request xarray-contrib#34 from slevang/xarray-version
allow newer xarray versions (56a6700
)
-
allow newer xarray versions (
6949499
) -
Merge pull request xarray-contrib#27 from aaronspring/patch-1
eofs
has xarray
interface (3d689e8
)
- eofs.xarray
https://ajdawson.github.io/eofs/latest/api/eofs.xarray.html (116de61
)
- 0.7.0
Automatically generated by python-semantic-release (924a97b
)
- Merge pull request xarray-contrib#25 from nicrie/develop
Develop (4ddb5db
)
- Merge pull request xarray-contrib#24 from nicrie/develop
Develop (b79b1cd
)
- 0.6.0
Automatically generated by python-semantic-release (b03704c
)
- Merge pull request xarray-contrib#23 from nicrie/develop
Develop (e9d02a1
)
- Merge pull request xarray-contrib#18 from nicrie/develop
Add conda install instructions (4c0ed49
)
- 0.5.0
Automatically generated by python-semantic-release (501b330
)
- Merge pull request xarray-contrib#17 from nicrie/develop
Release 0.5.0 (a830a54
)
- 0.4.0
Automatically generated by python-semantic-release (934677b
)
- Merge pull request xarray-contrib#16 from nicrie/develop
Develop (6a645c9
)
- Merge pull request xarray-contrib#15 from nicrie/develop
docs: update README (d3bcac2
)
- 0.3.0
Automatically generated by python-semantic-release (fa9c69d
)
- Merge pull request xarray-contrib#13 from nicrie/develop
Develop (0128e40
)
- Merge pull request xarray-contrib#10 from nicrie/develop
docs: add EOF s-mode and t-mode gallery example (a446135
)
-
Merge branch 'main' into develop (
7049abd
) -
0.2.0
Automatically generated by python-semantic-release (0c7fc62
)
- Merge pull request xarray-contrib#9 from nicrie/develop
Develop (c742987
)
- Merge pull request xarray-contrib#8 from nicrie/develop
Develop (c910109
)
- 0.1.2
Automatically generated by python-semantic-release (2e40714
)
- Merge pull request xarray-contrib#3 from nicrie/develop
Develop (6e61f1b
)
- 0.1.1
Automatically generated by python-semantic-release (87931f5
)
-
Merge branch 'main' into develop
chore: merge main into develop (1c79ce1
) -
Merge pull request xarray-contrib#2 from nicrie/develop
Develop (fa79596
)
-
add tests for _Array_Transformer and pandas xarray wrapper (
8d97acf
) -
add pandas and xarray support for standard EOF (
290b87a
) -
update README and docs (
160bd46
) -
add dependencies for readthedocs (
fe96401
) -
add readthedocs (
cc2209d
) -
try again and again (
36870ea
) -
try again (
a775cbd
) -
fix bug in codecov (
6d3548b
) -
update codecov v2 (
50c10eb
) -
structure for test, docs, coverage (
d30ee79
) -
add MIT license (
5d960ae
) -
change output dimensions of EOFs (
0aca5e4
) -
add standard EOF for numpy (
41348d2
) -
first commit (
bc79e3b
)