da-message-passing
README.md

Scalable Data Assimilation via Message Passing

Distributed message passing to infer marginal distributions efficiently in large scale data assimilation problems. To date purely spatial problems are considered with emphasis on the Stochastic Helmholtz equation.

Usage

Various types of data assimilation techniques can run:

  • Message Passing (single and multi-grid) experiments/mp_demo.py and experiments/mp_multigrid.py
  • 3DVar experiments/threedvar_demo.py
  • INLA experiments/inla_demo.py

and their convergence behavior can be compared by running experiments/convergence.py.

To set up the environment:

  • Install Python 3.11 (e.g. using pyenv)
  • Install Poetry
  • Run poetry install

Development tools:

  • Format:
    • black **/*.py
    • isort **/*.py
  • Run tests: pytest
  • Run type checker:
    • mypy -p damp
    • mypy src/experiments