-
Notifications
You must be signed in to change notification settings - Fork 20
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
1 changed file
with
33 additions
and
43 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -30,35 +30,36 @@ facilitate the acceptance and application of this method by the broader | |
scientific community. Each of these implementations has its own strengths, | ||
which need to be highlighted (please `let me know`_, if I forgot any): | ||
|
||
|
||
EOF models | ||
+++++++++++++ | ||
----------- | ||
|
||
===================== ========== ========== ========== ========== ========== ========== | ||
Package eofs_ pyEOF_ xeof_ xMCA_ xmca_ xeofs_ | ||
===================== ========== ========== ========== ========== ========== ========== | ||
EOF analysis ✅ ✅ ✅ ✅ ✅ ✅ | ||
Rotated EOF analysis :red:`❌` ✅ ⤧ ⤧ ✅ ✅ | ||
Complex EOF analysis ⤧ :red:`⤧` ⤧ ⤧ ✅ ⤧ | ||
Multivariate EOF ✅ ⤧ ⤧ ⤧ ⤧ ⤧ | ||
MCA ⤧ ⤧ ⤧ ✅ ✅ ⤧ | ||
Rotated MCA ⤧ ⤧ ⤧ ⤧ ✅ ⤧ | ||
Complex MCA ⤧ ⤧ ⤧ ⤧ ✅ ⤧ | ||
Multivariate MCA ⤧ ⤧ ⤧ ⤧ ⤧ ⤧ | ||
Rotated EOF analysis ❌ ✅ ❌ ❌ ✅ ✅ | ||
Complex EOF analysis ❌ ❌ ❌ ❌ ✅ ❌ | ||
Multivariate EOF ✅ ❌ ❌ ❌ ❌ ❌ | ||
MCA ❌ ❌ ❌ ✅ ✅ ❌ | ||
Rotated MCA ❌ ❌ ❌ ❌ ✅ ❌ | ||
Complex MCA ❌ ❌ ❌ ❌ ✅ ❌ | ||
Multivariate MCA ❌ ❌ ❌ ❌ ❌ ❌ | ||
===================== ========== ========== ========== ========== ========== ========== | ||
|
||
|
||
Additional features | ||
++++++++++++++++++++ | ||
---------------------- | ||
|
||
===================== ========== ========== ========== ========== ========== ========== | ||
Package eofs_ pyEOF_ xeof_ xMCA_ xmca_ xeofs_ | ||
===================== ========== ========== ========== ========== ========== ========== | ||
``numpy`` interface ✅ ⤧ ⤧ ⤧ ✅ ✅ | ||
``pandas`` interface ⤧ ⤧ ⤧ ⤧ ⤧ ✅ | ||
``numpy`` interface ✅ ❌ ❌ ❌ ✅ ✅ | ||
``pandas`` interface ❌ ❌ ❌ ❌ ❌ ✅ | ||
``xarray`` interface ? ✅ ✅ ✅ ✅ ✅ | ||
Fast algorithm ⤧ ✅ ⤧ ⤧ ⤧ ✅ | ||
Dask support ✅ ⤧ ✅ ⤧ ⤧ ⤧ | ||
Arbitrary dimensions ⤧ ⤧ ⤧ ⤧ ❌ ✅ | ||
Fast algorithm ❌ ✅ ❌ ❌ ❌ ✅ | ||
Dask support ✅ ❌ ✅ ❌ ❌ ❌ | ||
Arbitrary dimensions ❌ ❌ ❌ ❌ ❌ ✅ | ||
===================== ========== ========== ========== ========== ========== ========== | ||
|
||
|
||
|
@@ -71,9 +72,8 @@ Arbitrary dimensions ⤧ ⤧ ⤧ ⤧ | |
.. _let me know: [email protected] | ||
|
||
|
||
********** | ||
Goal | ||
********** | ||
Why ``xeofs``? | ||
---------------------- | ||
|
||
The goal of ``xeofs`` is to merge these different implementations and to simplify the integration of other existing and future variants of EOF analysis thanks to its modular code structure. | ||
The official name is deliberately chosen to be similar to the other implementations to make it clear that ``xeofs`` is initially nothing revolutionary new in itself. The point is not to distinguish this implementation from the others, but rather to unify (+ extend) already existing implementations. | ||
|
@@ -84,43 +84,33 @@ If you are interested, just `contact me`_ or open an `Issue`_. | |
.. _contact me: [email protected] | ||
.. _Issue: https:/nicrie/xeofs/issues | ||
|
||
************************************* | ||
Current features (work in progress) | ||
************************************* | ||
This package currently supports: | ||
|
||
+ Interface to NumPy_, pandas_ and xarray_ | ||
+ EOF analysis | ||
+ Rotated_ EOF analysis (Varimax, Promax) | ||
|
||
Further features: | ||
|
||
+ Perform EOF analyis over arbitrary multi-dimensions using the ``axis`` or ``dim`` parameter. Check out the examples e.g. for S-mode_ or T-mode_ analysis. | ||
+ General weights, including some shorthands_ for: | ||
|
||
+ Standardized EOF analysis ``norm=True`` | ||
+ Area weighting based on cosine of latitude (``weights='coslat'``) | ||
|
||
.. _T-mode: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_eof-tmode.html#sphx-glr-auto-examples-1uni-plot-eof-tmode-py | ||
.. _S-mode: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_eof-smode.html#sphx-glr-auto-examples-1uni-plot-eof-smode-py | ||
.. _shorthands: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_weighted_eof.html#sphx-glr-auto-examples-1uni-plot-weighted-eof-py | ||
.. _Rotated: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_rotated_eof.html#sphx-glr-auto-examples-1uni-plot-rotated-eof-py | ||
|
||
|
||
************************ | ||
Installation | ||
************************ | ||
---------------------- | ||
|
||
The package can be installed via | ||
|
||
.. code-block:: ini | ||
pip install xeofs | ||
************************ | ||
How to use it? | ||
************************ | ||
Documentation_ is work in progress. Meanwhile check out some examples_ to get started. | ||
---------------------- | ||
Documentation_ is work in progress. Meanwhile check out some examples_ to get started: | ||
|
||
Examples: | ||
|
||
+ EOF analysis (S-mode_) | ||
+ EOF analysis (T-mode_) | ||
+ Rotated_ EOF analysis (Varimax, Promax) | ||
+ Weighted_ EOF analysis | ||
|
||
.. _T-mode: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_eof-tmode.html#sphx-glr-auto-examples-1uni-plot-eof-tmode-py | ||
.. _S-mode: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_eof-smode.html#sphx-glr-auto-examples-1uni-plot-eof-smode-py | ||
.. _Weighted: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_weighted_eof.html#sphx-glr-auto-examples-1uni-plot-weighted-eof-py | ||
.. _Rotated: https://xeofs.readthedocs.io/en/latest/auto_examples/1uni/plot_rotated_eof.html#sphx-glr-auto-examples-1uni-plot-rotated-eof-py | ||
.. _Documentation: https://xeofs.readthedocs.io/en/latest/ | ||
.. _examples: https://xeofs.readthedocs.io/en/latest/auto_examples/index.html | ||
|
||
|