pyDINEOF is a Python version of DINEOF.
DINEOF is an EOF-based method to fill in missing data from geophysical fields, such as clouds in sea surface temperature, and is available as compiled Fortran code.
For more information on how DINEOF works, please refer to Alvera-Azcarate et al. (2005) and Beckers and Rixen (2003). The multivariate application of DINEOF is explained in Alvera-Azcarate et al. (2007), and in Beckers et al. (2006) the error calculation using an optimal interpolation approach is explained. For more information about the Lanczos solver, see Toumazou and Cretaux (2001).
- Python (3.10 or later)
- numpy
- pandas
- scipy
- xarray
pyDINEOF is a pure Python package. The easiest way to get it installed is to use pip:
$ python -m pip install pyDINEOFpyDINEOF can also be installed from source. To do so, you will first have to clone the GitHub repository:
$ git clone https://github.com/acoque/pyDINEOF.git
$ cd pyDINEOFThen, you will need to create a virtual environment (optional, but strongly advised) and install pyDINEOF.
- using conda/mamba (recommended):
$ mamba env create -f environment.yml
$ mamba activate pyDINEOF
$ pip install .- using venv and pip:
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install -U .Finally, you can use pyDINEOF as a Python package or through its CLI:
$ pyDINEOF run <file>Most variables and functions have names similar to those in DINEOF for the sake of "continuity".
Like DINEOF, pyDINEOF is distributed under the terms of the GNU General Public License version 3 license.