Install#
Prerequisites#
WIFA requires Python 3.9-3.11. We recommend using uv for fast, reliable Python environment management.
Install uv:
curl -LsSf https://astral.sh/uv/install.sh | sh
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
pip install uv
WIFA#
Create environment and install (recommended):
# Create a new virtual environment with Python 3.11
uv venv --python 3.11
source .venv/bin/activate # Linux/macOS
# .venv\Scripts\activate # Windows
# Install WIFA
uv pip install wifa
From source (for development):
git clone https://github.com/EUFLOW/WIFA.git
cd WIFA
uv venv --python 3.11
source .venv/bin/activate
uv pip install -e ".[dev,test]"
Note
WIFA depends on windIO (an EU-FLOW fork) which is installed automatically. Each modeling tool (PyWake, foxes, wayve, code_saturne) can be installed independently. If you don’t install one of them, that specific flow model will not be available, but other models will still work.
WindIO#
WindIO is installed automatically with WIFA. For manual installation:
uv pip install "windIO @ git+https://github.com/EUFLOW/windIO.git"
Or clone the windIO fork and install:
git clone https://github.com/EUFLOW/windIO.git
cd windIO
uv pip install -e .
FOXES#
The installation of FOXES is described here in the documentation.
For the latest release:
uv pip install foxes
For the latest developments:
git clone https://github.com/FraunhoferIWES/foxes.git -b dev
cd foxes
uv pip install -e .
PyWake#
The installation of PyWake is described in the PyWake documentation.
For the latest release:
uv pip install py_wake
For the latest developments:
git clone https://github.com/DTUWindEnergy/PyWake.git
cd PyWake
uv pip install -e .
WAYVE#
WAYVE can be downloaded and installed from GitLab:
uv pip install "wayve @ git+https://gitlab.kuleuven.be/TFSO-software/wayve@dev_foxes"
Or clone and install:
git clone git@gitlab.kuleuven.be:TFSO-software/wayve.git
cd wayve
uv pip install -e .
code_saturne and salome#
code_saturne and salome should be installed independently, prior to using code_saturne through the WIFA API.
code_saturne:
Source code and prerequisites for version 8.0 can be found at the code_saturne download page, including the GitHub repository with a Python script for semi-automated installation.
salome:
Salome can be installed in two ways:
Stand-alone direct download
Building the salome_cfd extension
Configuration:
Once installed, specify the executable paths in wifa/cs_api/__init__.py:
# Required: add your path to code_saturne executable
cs_exe_path = "/path/to/code_saturne"
# Required: add your path to salome executable
salome_exe_path = "/path/to/salome"
# Optional: add any environment commands needed to run salome
salome_env_command = "module load Miniforge3 && conda activate myenv"
Using pip Instead of uv#
All commands in this documentation use uv pip but work identically with standard pip:
# Using uv (recommended)
uv pip install wifa
# Using pip
pip install wifa
The main advantages of uv are faster installation, better dependency resolution, and built-in virtual environment management.