Installation
MODULO requires Python 3.10 or newer. The standard installation is pure Python and works without a Fortran compiler, including on Windows:
python -m pip install modulo_vki
To install the current source tree instead:
git clone https://github.com/mendezVKI/MODULO.git
cd MODULO
python -m pip install -e ".[tutorials]"
This editable tutorial installation includes an IPython kernel and
nbconvert so the notebooks can be opened in an IDE or executed from the
command line.
Optional dependencies
Tutorial and VTK dependencies are deliberately kept out of the base package:
python -m pip install "modulo_vki[tutorials]"
python -m pip install "modulo_vki[vtk_utils]"
Optional Fortran acceleration
Fast mPOD uses the NumPy implementation by default. The optional Fortran
extension is never compiled or imported during a normal installation. This is
the recommended configuration on Windows and is selected with the default
useFortran=False argument.
Linux and macOS users who want to build the accelerator need a GNU-compatible Fortran compiler and OpenBLAS in addition to the Python build tools:
python -m pip install "modulo_vki[fortran]"
python -m modulo_vki.fortran.compile_fortran
The build helper accepts explicit BLAS linker flags when OpenBLAS cannot be detected automatically. For example:
python -m modulo_vki.fortran.compile_fortran --blas "-L/path/to/lib -lopenblas"
After a successful build, opt in for a supported K-based backend:
model = ModuloVKI(data, n_Modes=10, dtype="float64")
phi, psi, sigma = model.fastmPOD(
frequency_splits,
sampling_frequency,
mode="bandK",
useFortran=True,
)
The MODULO build helper intentionally does not compile the extension on
Windows. Windows users should install the base package and retain
useFortran=False.
Development installation
For tests and documentation builds:
python -m pip install -r requirements-dev.txt
python -m pip install -e .
python -m pytest -q
python -m sphinx -W -b html docs/source docs/build/html