Metadata-Version: 2.4
Name: pyfuga
Version: 0.2.0
Summary: Linearised CFD wake model (PyFuga)
Author-email: PyFuga team <lalc@dtu.dk>
License-Expression: MIT
Project-URL: Repository, https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga
Project-URL: Documentation, https://topfarm.pages.windenergy.dtu.dk/PyFuga/
Project-URL: Issues, https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/-/issues
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: POSIX :: Linux
Classifier: Operating System :: Microsoft :: Windows
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.15,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: numpy>=1.26
Requires-Dist: scipy>=1.10
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: xarray>=2025.6.1
Requires-Dist: tqdm>=4.67.3
Requires-Dist: h5netcdf>=1.8.1
Requires-Dist: h5py>=3.15.1
Requires-Dist: numba>=0.63.1
Provides-Extra: tests
Requires-Dist: pytest>=8.3; extra == "tests"
Requires-Dist: pytest-cov>=6.0; extra == "tests"
Requires-Dist: pytest-xdist>=3.0; extra == "tests"
Requires-Dist: memory_profiler>=0.61.0; extra == "tests"
Requires-Dist: line_profiler>=5.0.0; extra == "tests"
Requires-Dist: nbconvert<8,>=7.16.6; extra == "tests"
Requires-Dist: ipykernel<8,>=6.29; extra == "tests"
Requires-Dist: jupyter_client<9,>=8.6; extra == "tests"
Provides-Extra: lint
Requires-Dist: ruff>0.14; extra == "lint"
Requires-Dist: black[jupyter]>=26.1.0; extra == "lint"
Requires-Dist: mypy>=1.19.1; extra == "lint"
Provides-Extra: docs
Requires-Dist: sphinx==7.4.7; extra == "docs"
Requires-Dist: sphinx-autobuild==2024.10.3; extra == "docs"
Requires-Dist: sphinx-rtd-theme==3.1.0; extra == "docs"
Requires-Dist: sphinx-rtd-dark-mode==1.3.0; extra == "docs"
Requires-Dist: nbsphinx==0.9.8; extra == "docs"
Requires-Dist: sphinxcontrib-bibtex==2.6.5; extra == "docs"
Requires-Dist: sphinx-multiversion==0.2.4; extra == "docs"
Requires-Dist: sphinx-copybutton==0.5.2; extra == "docs"
Requires-Dist: ipykernel==7.2.0; extra == "docs"
Provides-Extra: dev
Requires-Dist: pyfuga[docs,lint,tests]; extra == "dev"
Requires-Dist: pre-commit; extra == "dev"
Requires-Dist: build<2,>=1.4.0; extra == "dev"
Dynamic: license-file

<p align="center">
  <img width="460" height="300" src="https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/-/raw/main/docs/_static/logo_icon_text.svg">
</p>

**PyFuga** is the Python implementation of the **Fuga** look-up table (LUT) generator for wind turbine wakes, previously computed in FORTRAN and with the Windows Fuga GUI.

PyFuga is part of the [**PyWake**](https://gitlab.windenergy.dtu.dk/TOPFARM/PyWake) ecosystem and provides the LUTs required to run PyWake's Fuga wake deficit model.

[![pipeline status](https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/badges/main/pipeline.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/-/commits/main)
[![coverage report](https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/badges/main/coverage.svg)](https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/-/commits/main)
[![documentation](https://img.shields.io/badge/docs-latest-brightgreen.svg)](https://topfarm.pages.windenergy.dtu.dk/PyFuga/main/index.html)
<!-- Replace 000000000 with the Zenodo badge id after first deposit -->
[![DOI](https://zenodo.org/badge/000000000.svg)](https://zenodo.org/badge/latestdoi/000000000)

## Installation

Install via pip:

```bash
pip install pyfuga
```

or from conda-forge with conda:

```bash
conda install conda-forge:pyfuga
```

or Pixi:

```bash
pixi add pyfuga
```

A minimal example to get you started is available in **[the QuickStart Jupyter notebook](docs/examples/01_QuickStart.ipynb)**.

## Documentation

Learn more about PyFuga at the **[official documentation](https://topfarm.pages.windenergy.dtu.dk/PyFuga/main/index.html)**.

## Release history

See **[CHANGELOG.md](CHANGELOG.md)** for release notes and version history.

## Contributing

Read more at **[CONTRIBUTING.md](CONTRIBUTING.md)**.

## Support

Issues and feature requests can be submitted through the project's [**GitLab issue tracker**](https://gitlab.windenergy.dtu.dk/TOPFARM/PyFuga/-/issues).

## Citing PyFuga

Please cite both the underlying Fuga theory and the PyFuga software implementation. See the "Citing PyFuga" section in the documentation for recommended references and BibTeX entries.

## Authors and acknowledgements

PyFuga is developed at **DTU Wind and Energy Systems** and builds on the Fuga model described in the technical report by Søren Ott, Mads Mølgaard Pedersen, Gunnar Chr. Larsen, Leonardo Alcayaga, Nils Gaukroger, Elvira Jarmbæk Jacobsen, and colleagues.

The PyFuga project would like to acknowledge **Equinor ASA** for their support of the project over many years.

## Licence

This project is released under the terms of the licence in the [`LICENSE`](LICENSE) file.

## Project status

Active development as part of the PyWake suite. PyFuga continues to evolve alongside ongoing improvements to the Fuga model and its numerical implementation.
