https://github.com/ucl/neso-calibration
Examples of calibrating Neptune Exploratory Software (NESO) models
https://github.com/ucl/neso-calibration
Last synced: 11 months ago
JSON representation
Examples of calibrating Neptune Exploratory Software (NESO) models
- Host: GitHub
- URL: https://github.com/ucl/neso-calibration
- Owner: UCL
- License: mit
- Created: 2023-07-24T18:36:48.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-12-04T11:24:04.000Z (over 2 years ago)
- Last Synced: 2025-08-03T21:42:59.662Z (11 months ago)
- Language: Python
- Size: 10.8 MB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# NESO calibration
[](https://github.com/pre-commit/pre-commit)
[](https://github.com/UCL/neso-calibration/actions/workflows/tests.yml)
[](https://github.com/UCL/neso-calibration/actions/workflows/linting.yml)
[](https://github-pages.ucl.ac.uk/neso-calibration/)
[![Licence][licence-badge]](./LICENCE.md)
[actions-badge]: https://github.com/UCL/neso-calibration/workflows/CI/badge.svg
[actions-link]: https://github.com/UCL/neso-calibration/actions
[licence-badge]: https://img.shields.io/badge/License-MIT-yellow.svg
The aim is for this repository to illustrate examples of calibrating
[Neptune Exploratory Software (NESO)](https://github.com/ExCALIBUR-NEPTUNE/NESO) models.
To facilitate this, this repository contains a Python package `nesopy` which provides a
simple interface for executing NESO solvers with specified parameter values and
extracting the generated outputs.
An example of using this interface to run and extract outputs from a NESO solver built and
installed in a Docker image is given in
[a tutorial notebook](examples/two_stream/docker_example.ipynb) and an example of inferring
the posterior on parameters of a model using a NESO solver in a simulated data setting
using [the PyVBMC package](https://acerbilab.github.io/pyvbmc/index.html) is given in
[a separate notebook](examples/two_stream/pyvbmc_calibration_example.ipynb).
This project is developed in collaboration with the
[Centre for Advanced Research Computing](https://ucl.ac.uk/arc), University College London.
## About
### Project team
- Matt Graham ([matt-graham](https://github.com/matt-graham))
- Serge Guillas ([sguillas](https://github.com/sguillas))
### Research software engineering contact
Centre for Advanced Research Computing, University College London ([arc.collaborations@ucl.ac.uk](mailto:arc.collaborations.@ucl.ac.uk))
## Getting started
### Prerequisites
The `nesopy` package requires Python 3.10 or above. To use the NESO model wrapper
classes you will need to either locally build the required NESO solvers or build NESO
within a Docker image. If you wish to run the solver in parallel using MPI you will need
to build NESO against an appropriate MPI implementation.
### Installation
To install the latest development version of `nesopy` using `pip` run
```sh
pip install git+https://github.com/UCL/neso-calibration.git
```
Alternatively create a local clone of the repository with
```sh
git clone https://github.com/UCL/neso-calibration.git
```
and then install in editable mode by running
```sh
pip install -e .
```
from the root directory of your clone of the repository.
### Running tests
Tests can be run across all compatible Python versions in isolated environments using
[`tox`](https://tox.wiki/en/latest/) by running
```sh
tox
```
To run tests manually in a Python environment with `pytest` installed run
```sh
pytest tests
```
again from the root of the repository.
## Acknowledgements
This work was funded by a grant from the ExCALIBUR programme.