A comprehensive Python package for micrometeorological footprint analysis
Project description
Flux-footprints
FluxFootprint is a fast, fully‑featured Python implementation of the Kljun et al. (2015) flux‑footprint parameterisation for eddy‑covariance research. It provides vectorised and xarray‑enabled utilities to compute per‑timestamp footprints, aggregate footprint climatologies, extract source‑area contours, and visualise results—scaling seamlessly from single towers to multi‑year datasets.
Table of Contents
- Key Features
- Installation
- Quick‑start Example
- Command‑line Interface
- Documentation
- Input Requirements
- Citing & Referencing
- Contributing
- Development Road‑map
- License
Key Features
| Category | Highlights |
|---|---|
| Core model | • Implements Eq. 14 & 17 of Kljun et al. (2015) with stability‑specific coefficients • Optional roughness‑sublayer corrections • Supports per‑footprint filtering based on theoretical validity limits |
| Performance | • Pure NumPy + xarray for vectorised calculations • Lazy computation and Dask compatibility for large archives |
| I/O & preprocessing | • Pandas helpers to map tower log fields automatically • Quality‑control filters for u* ≥ 0.1 m s⁻¹, finite σᵥ, etc. |
| Analysis tools | • Aggregate footprint climatologies • Compute r% source‑area contours (10–90 %) • Functions to derive transects, footprint peak statistics, and 80 % area coverage |
| Visualisation | • Matplotlib helpers for heat‑maps & contour overlays • Geospatial export to GeoTIFF / shapefile (EPSG aware) |
| Extensibility | • Modular class design (FFPModel, FFPClimatology)• Plug‑in hooks for alternative parameter sets or dispersion schemes |
| Reproducibility | • 100 % test coverage with pytest• Pre‑commit hooks (black, ruff, isort, doc8) |
Installation
# Stable release (PyPI)
pip install fluxfootprints
# Development version (GitHub)
pip install git+https://github.com/YourOrg/fluxfootprint.git
Minimum Python 3.9. Core dependencies:
numpy,pandas,xarray,scipy,matplotlib. Optional:dask,rioxarray,pyprojfor advanced geospatial export.
Documentation
Full API docs, tutorials, and example notebooks are hosted at Read the Docs:
https://fluxfootprints.readthedocs.io/en/latest/
To build locally:
pip install -r docs/requirements.txt
sphinx-build -M html docs/ docs/_build
Input Requirements
| Column | Units | Description |
|---|---|---|
USTAR |
m s⁻¹ | Friction velocity, u* |
V_SIGMA |
m s⁻¹ | Lateral velocity std. dev., σᵥ |
MO_LENGTH |
m | Monin–Obukhov length, L |
WD |
° | Wind direction (0–360) |
WS |
m s⁻¹ | Mean wind speed at zₘ |
(optional) crop_height |
m | Canopy height, h_c |
(optional) atm_bound_height |
m | Boundary‑layer height, h |
Any additional columns are ignored unless you plug in custom routines.
Citing & Referencing
If you use Flux-Footprints in a publication, please cite the original parameterisation:
Kljun, N., Calanca, P., Rotach, M.W., & Schmid, H.P. (2015). A simple two‑dimensional parameterisation for flux footprint prediction (FFP). Geoscientific Model Development, 8(11), 3695–3713. https://doi.org/10.5194/gmd-8-3695-2015
You may also cite the software directly (see CITATION.cff).
Contributing
- Fork → 2. Create branch → 3. Commit changes
- Run tests (
pytest) & linters (pre‑commit run --all-files) - Open a pull‑request
All contributions—bug reports, suggestions, or code—are welcome!
Development Road‑map
- Footprint uncertainty quantification via Monte‑Carlo resampling
- GPU acceleration using CuPy
- Footprint aggregation across different time periods
- QGIS plug‑in for in‑map footprint visualisation
License
This project is licensed under the MIT License – see the
LICENSE file for details.
Happy footprinting!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file fluxfootprints-0.2.0.tar.gz.
File metadata
- Download URL: fluxfootprints-0.2.0.tar.gz
- Upload date:
- Size: 25.5 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bc00dbfbd1910ed90fc597b9dc46279c2c385c8c6a3b91849df273df95482420
|
|
| MD5 |
b01b48ad28e364eef8275065b7fb1297
|
|
| BLAKE2b-256 |
8f7df0c2577ad5776ec44bc73cc6ca74430e3707c1364bed17bf6aa1a68ee4de
|
File details
Details for the file fluxfootprints-0.2.0-py3-none-any.whl.
File metadata
- Download URL: fluxfootprints-0.2.0-py3-none-any.whl
- Upload date:
- Size: 82.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bf2e575ccfe8a66f9929b80eb04b0885ed36a2405dbfea4ced98bc11e53792c5
|
|
| MD5 |
85435bbfccbd095780d32dfb327c2485
|
|
| BLAKE2b-256 |
ec662cbb8a7741141c096efcfef3ed225142d56b07162728758f0c823481dcb5
|