Package overview

BLDFM provides a modular framework for modelling atmospheric dispersion and flux footprints in the planetary boundary layer (PBL). It numerically solves the three-dimensional steady-state advection-diffusion equation and computes Green’s function footprints for flux tower networks.

Core modules

  1. bldfm.pbl_model

    Computes vertical profiles of horizontal wind and eddy diffusivity using Monin-Obukhov Similarity Theory (MOST).

    Key functions:
  2. bldfm.solver

    Solves the steady-state advection-diffusion equation using FFT-based methods with linear shooting for the vertical boundary value problem.

    Key functions:
  3. bldfm.utils

    Utility functions for wind field construction, source generation, and diagnostics.

    Key functions:

Configuration and interface

  1. bldfm.config_parser

    YAML-based configuration with dataclass schema. Defines BLDFMConfig, TowerConfig, DomainConfig, MetConfig, and related classes.

  2. bldfm.interface

    High-level functions that encapsulate the full workflow:

  3. bldfm.cli

    Command-line interface: bldfm run config.yaml [--dry-run].

Data and I/O

  1. bldfm.synthetic

    Generates synthetic meteorological timeseries and tower configurations for testing and prototyping.

  2. bldfm.io

    NetCDF export and import of footprint results using xarray with CF-1.8 metadata.

  3. bldfm.cache

    Disk-based cache for Green’s function results using SHA-256 keyed .npz files.

Plotting

  1. bldfm.plotting

    Visualisation functions for footprint fields, geospatial map overlays, wind roses, and temporal footprint evolution.

Module interactions

API reference

For detailed information on functions and usage, refer to the API Documentation.