# 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](https://github.com/pyenv/pyenv)) - Install [Poetry](https://python-poetry.org/) - Run `poetry install` ## Development tools: - Format: - `black **/*.py` - `isort **/*.py` - Run tests: `pytest` - Run type checker: - `mypy -p damp` - `mypy src/experiments`