pet

PET for data assimilation and optimization

https://github.com/python-ensemble-toolbox/pet

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 10 DOI reference(s) in README
  • Academic publication links
    Links to: sciencedirect.com
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.5%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

PET for data assimilation and optimization

Basic Info
Statistics
  • Stars: 22
  • Watchers: 3
  • Forks: 14
  • Open Issues: 7
  • Releases: 0
Created about 3 years ago · Last pushed 6 months ago
Metadata Files
Readme License Citation

README.md

PET: Python Ensemble Toolbox


PET is a toolbox for ensemble-based Data Assimilation and Optimisation. It is developed and maintained by the eponymous group at NORCE Norwegian Research Centre AS.

CI status

Installation

Before installing ensure you have python3 pre-requisites. On a Debian system run:

sudo upt-get update sudo apt-get install python3 sudo apt-get install python3-pip sudo apt-get install python3-venv

To install PET, first clone the repo (assuming you have added the SSH key)

sh git clone git@github.com:Python-Ensemble-Toolbox/PET.git PET

Make sure you have the latest version of pip and setuptools:

sh python3 -m pip install --upgrade pip setuptools

Optionally (but recommended): Create and activate a virtual environment:

sh python3 -m venv venv-PET source venv-PET/bin/activate

Some additional features might be not part of your default installation and need to be set in the Python (virtual) environment manually:

python3 -m pip install wheel python3 setup.py bdist_wheel

If you do not install PET inside a virtual environment, you may have to include the --user option in the following (to install to your local Python site packages, usually located in ~/.local).

Inside the PET folder, run

sh python3 -m pip install -e .

  • The dot is needed to point to the current directory.
  • The -e option installs PET such that changes to it take effect immediately (without re-installation).

Examples

PET needs to be set up with a configuration file. See the example folder for inspiration.

Tutorials

  • A PIPT tutorial is found here
  • A POPT tutorial is found here

Suggested readings:

If you use PET in a scientific publication, we would appreciate it if you cited one of the first papers where the PET was introduced. Each of them describes some of the PET's functionalities:

Bayesian data assimilation with EnRML and ES-MDA for History-Matching Workflow with AI-Geomodeling

Cite as

Fossum, Kristian, Sergey Alyaev, and Ahmed H. Elsheikh. "Ensemble history-matching workflow using interpretable SPADE-GAN geomodel." First Break 42.2 (2024): 57-63. https://doi.org/10.3997/1365-2397.fb2024014

@article{fossum2024ensemble, title={Ensemble history-matching workflow using interpretable SPADE-GAN geomodel}, author={Fossum, Kristian and Alyaev, Sergey and Elsheikh, Ahmed H}, journal={First Break}, volume={42}, number={2}, pages={57--63}, year={2024}, publisher={European Association of Geoscientists \& Engineers}, url = {https://doi.org/10.3997/1365-2397.fb2024014} }

Bayesian inversion technique, localization, and data compression for history matching of the Edvard Grieg field using 4D seismic data

Cite as

Lorentzen, R.J., Bhakta, T., Fossum, K. et al. Ensemble-based history matching of the Edvard Grieg field using 4D seismic data. Comput Geosci 28, 129–156 (2024). https://doi.org/10.1007/s10596-024-10275-0

@article{lorentzen2024ensemble, title={Ensemble-based history matching of the Edvard Grieg field using 4D seismic data}, author={Lorentzen, Rolf J and Bhakta, Tuhin and Fossum, Kristian and Haugen, Jon Andr{\'e} and Lie, Espen Oen and Ndingwan, Abel Onana and Straith, Knut Richard}, journal={Computational Geosciences}, volume={28}, number={1}, pages={129--156}, year={2024}, publisher={Springer}, url={https://doi.org/10.1007/s10596-024-10275-0} }

Offshore wind farm layout optimization using ensemble methods

Cite as

Eikrem, K.S., Lorentzen, R.J., Faria, R. et al. Offshore wind farm layout optimization using ensemble methods. Renewable Energy 216, 119061 (2023). https://www.sciencedirect.com/science/article/pii/S0960148123009758

@article{Eikrem2023offshore, title = {Offshore wind farm layout optimization using ensemble methods}, journal = {Renewable Energy}, volume = {216}, pages = {119061}, year = {2023}, issn = {0960-1481}, doi = {https://doi.org/10.1016/j.renene.2023.119061}, url = {https://www.sciencedirect.com/science/article/pii/S0960148123009758}, author = {Kjersti Solberg Eikrem and Rolf Johan Lorentzen and Ricardo Faria and Andreas St{\o}rksen Stordal and Alexandre Godard}, keywords = {Wind farm layout optimization, Ensemble optimization (EnOpt and EPF-EnOpt), Constrained optimization, Levelized cost of energy (LCOE), Floating offshore wind}, }

Owner

  • Name: PET
  • Login: Python-Ensemble-Toolbox
  • Kind: organization
  • Location: Norway

The Python Ensemble Toolbox

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: Python Ensemble Toolbox (PET)
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Data assimilation and optimization group
    family-names: NORCE Energy
    email: info@data-assimilation.no
repository-code: 'https://github.com/Python-Ensemble-Toolbox/PET'
abstract: >-
  PET is a toolbox for ensemble based Data-Assimilation
  developed and maintained by the data-assimilation and
  optimization group at NORCE Norwegian Research Centre AS.
keywords:
  - Data assimlation
  - Optimization
  - Ensemble methods
license: GPL-3.0

GitHub Events

Total
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 1
  • Push event: 59
  • Pull request review event: 2
  • Pull request event: 45
  • Fork event: 1
  • Create event: 2
Last Year
  • Issues event: 1
  • Watch event: 3
  • Issue comment event: 1
  • Push event: 59
  • Pull request review event: 2
  • Pull request event: 45
  • Fork event: 1
  • Create event: 2

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 1
  • Total pull requests: 22
  • Average time to close issues: N/A
  • Average time to close pull requests: 17 minutes
  • Total issue authors: 1
  • Total pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 22
  • Average time to close issues: N/A
  • Average time to close pull requests: 17 minutes
  • Issue authors: 1
  • Pull request authors: 4
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.0
  • Merged pull requests: 16
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • KriFos1 (5)
  • patnr (1)
Pull Request Authors
  • rolfjl (14)
  • mlienorce (6)
  • MathiasMNilsen (5)
  • KriFos1 (3)
  • patnr (3)
  • alin256 (2)
  • Ninjahh83 (1)
  • kjei (1)
  • svenn-t (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/deploy-docs.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
.github/workflows/tests.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
setup.py pypi
  • PyWavelets *
  • h5py *
  • mako *
  • mat73 *
  • matplotlib *
  • numpy *
  • opencv-python *
  • p_tqdm *
  • pandas *
  • pdoc3 *
  • psutil *
  • pytest *
  • pyyaml *
  • rips *
  • scipy *
  • tomli *
  • tomli-w *
  • tqdm *