Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/patnr/HistoryMatching
Notebooks on production optimisation and history matching
https://github.com/patnr/HistoryMatching
data-assimilation history-matching optimization pde-constrained-optimization reservoir-characterization
Last synced: about 2 months ago
JSON representation
Notebooks on production optimisation and history matching
- Host: GitHub
- URL: https://github.com/patnr/HistoryMatching
- Owner: patnr
- License: mit
- Created: 2020-06-14T19:02:16.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2024-02-12T10:12:50.000Z (7 months ago)
- Last Synced: 2024-05-16T10:08:20.606Z (4 months ago)
- Topics: data-assimilation, history-matching, optimization, pde-constrained-optimization, reservoir-characterization
- Language: Jupyter Notebook
- Homepage:
- Size: 1.7 MB
- Stars: 20
- Watchers: 2
- Forks: 12
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README
# History matching tutorial
![Screenshots](./screenshots.png)
## Run in the cloud (no installation required)
- on Colab (requires Google login):
[![Open In Colab](https://colab.research.google.com/assets/colab-badge.svg)](http://colab.research.google.com/github/patnr/HistoryMatching)
- on a NORCE server (not generally available):
[![JupyterHub](https://img.shields.io/static/v1?label=JupyterHub&message=by%20DIGIRES&logo=jupyter&color=blue)](https://jupyterhub.fredagsmorgen.no/hub?next=%2Fuser-redirect%2Fgit-pull?repo%3Dhttps%253A%252F%252Fgithub.com%252Fpatricknraanes%252FHistoryMatching%26branch%3Dmaster)## OR: install
Use this option for development, or if you simply want faster computations
(your typical laptop is 10x faster than Google's free offering).#### Prerequisite: Python>=3.10
If you're an expert, setup a python environment however you like.
Otherwise:
Install [Anaconda](https://www.anaconda.com/download), then
open the [Anaconda terminal](https://docs.conda.io/projects/conda/en/latest/user-guide/getting-started.html#starting-conda)
and run the following commands:```bash
conda create --yes --name my-env python=3.10
conda activate my-env
python --version
```Ensure the printed version is 3.10 or higher.
*Keep using the same terminal for the commands below.*#### Install
- `git clone` this repository (see the green button up top).
*You could instead download & unzip, but then you will
have to manually download any later updates.*
- Move the resulting folder wherever you like
- `cd` into the folder
- Install requirements:
`pip install -r [path/to/]requirements-dev.txt`#### Launch
- Launch the "notebook server" by executing:
`jupyter notebook`
This will open up a page in your web browser that is a file navigator.
- Click on `HistoryMatch.ipynb`.## Developer guide
I prefer to develop mostly in the format of standard python script,
which is why each notebook corresponds to a `.py` file synced via [jupytext](https://jupytext.readthedocs.io/en/latest/).
The synchronization is done whenever the notebook is saved.
Also, if you run `pre-commit install`,
then the notebooks will get synced with the `.py` files before committing.Linting (which is, as of now, just a suggestion) can be run with
`ruff check --output-format=grouped`.## Contributors
This work has been developed by *Patrick N. Raanes*, researcher at *NORCE*.
The project has been funded by *DIGIRES*,
a project sponsored by industry partners
and the *PETROMAKS2* programme of the *Research Council of Norway*.