Skip to main content

Earth Science PRoblems for the Evaluation of Strategies, Solvers and Optimizers

Project description

Espresso

PyPI version build Documentation Status Slack

Related repositories by InLab

Introduction

Earth Science PRoblems for the Evaluation of Strategies, Solvers and Optimizers (Espresso) is a collection of datasets, and associated simulation codes, spanning a wide range of geoscience problems. Together they form a suite of real-world test problems that can be used to support the development, evaluation and benchmarking of a wide range of tools and algorithms for inference, inversion and optimisation. All problems are designed to share a common interface, so that changing from one test problem to another requires changing one line of code.

The Espresso project is a community effort - if you think it sounds useful, please consider contributing an example or two from your own research. The project is currently being coordinated by InLab, with support from the CoFI development team.

For more information, please visit our documentation.

Installation

$ pip install geo-espresso

Check Espresso documentation - installation page for details on dependencies and setting up with virtual environments.

Building espresso from source

This is a temporary workaround that should result in a usable espresso. Please note that pip install and python espresso_machine/build_package/build.py do indeed need to be run twice...

git clone https://github.com/inlab-geo/espresso.git espresso.git
cd espresso.git
pip install .
python espresso_machine/build_package/build.py all
pip install .
python espresso_machine/build_package/build.py all

This also assumes that you have the python packages pytest, versioningit and tqdm installed in addition to the packages listed in pyporject.toml. If not the installation script will report them as missing and you need to install them using pip. It also assumes that you have cmake and the gnu compilers installed i.e. gcc and gfortran

Basic usage

Once installed, each test problem can be imported using the following command:

from espresso import <testproblem>

Replace <testproblem> with an actual problem class in Espresso, such as SimpleRegression and FmmTomography. See here for a full list of problems Espresso currently includes.

Once a problem is imported, its main functions can be called using the same structure for each problem. For instance:

from espresso import FmmTomography

problem = FmmTomography(example_number=1)
model = problem.good_model
data = problem.data
pred = problem.forward(model)
fig_model = problem.plot_model(model)

You can access related metadata programatically:

print(FmmTomography.metadata["problem_title"])
print(FmmTomography.metadata["problem_short_description"])
print(FmmTomography.metadata["author_names"])

Other problem-specific parameters can be accessed through the problem instance. For instance:

print(problem.extent)
print(problem.model_shape)

Which additional values are set is highly problem-specific and we suggest to consult the Espresso Documentation on the problems.

Contributing

Interested in contributing? Please check out our contributor's guide.

Licence

Espresso is a community driven project to create a large suite of forward simulations to enable researchers to get example data without the need to understand each individual problem in detail.

Licensing is done individually by each contributor. If a contributor wants to freely share their code example we recommend the MIT licence or a 2-clause BSD licence. To determine the licence of an existing Espresso problem, please consult the documentation section of that problem.

All the other core functions of Espresso written by InLab Espresso developer team are distributed under a 2-clause BSD licence. A copy of this licence is provided with distributions of the software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geo_espresso-0.3.19.tar.gz (73.4 MB view details)

Uploaded Source

Built Distributions

geo_espresso-0.3.19-cp313-cp313-manylinux_2_28_x86_64.whl (74.7 MB view details)

Uploaded CPython 3.13 manylinux: glibc 2.28+ x86-64

geo_espresso-0.3.19-cp313-cp313-macosx_14_0_arm64.whl (74.4 MB view details)

Uploaded CPython 3.13 macOS 14.0+ ARM64

geo_espresso-0.3.19-cp312-cp312-manylinux_2_28_x86_64.whl (74.7 MB view details)

Uploaded CPython 3.12 manylinux: glibc 2.28+ x86-64

geo_espresso-0.3.19-cp312-cp312-macosx_14_0_arm64.whl (74.4 MB view details)

Uploaded CPython 3.12 macOS 14.0+ ARM64

geo_espresso-0.3.19-cp311-cp311-manylinux_2_28_x86_64.whl (74.7 MB view details)

Uploaded CPython 3.11 manylinux: glibc 2.28+ x86-64

geo_espresso-0.3.19-cp311-cp311-macosx_14_0_arm64.whl (74.4 MB view details)

Uploaded CPython 3.11 macOS 14.0+ ARM64

geo_espresso-0.3.19-cp310-cp310-manylinux_2_28_x86_64.whl (74.7 MB view details)

Uploaded CPython 3.10 manylinux: glibc 2.28+ x86-64

geo_espresso-0.3.19-cp310-cp310-macosx_14_0_arm64.whl (74.4 MB view details)

Uploaded CPython 3.10 macOS 14.0+ ARM64

geo_espresso-0.3.19-cp39-cp39-manylinux_2_28_x86_64.whl (74.7 MB view details)

Uploaded CPython 3.9 manylinux: glibc 2.28+ x86-64

geo_espresso-0.3.19-cp39-cp39-macosx_14_0_arm64.whl (74.4 MB view details)

Uploaded CPython 3.9 macOS 14.0+ ARM64

File details

Details for the file geo_espresso-0.3.19.tar.gz.

File metadata

  • Download URL: geo_espresso-0.3.19.tar.gz
  • Upload date:
  • Size: 73.4 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.8.20

File hashes

Hashes for geo_espresso-0.3.19.tar.gz
Algorithm Hash digest
SHA256 e9f4eea018bd714563161d70342fcae8a57d2543bb2bbb5efffca081721f9245
MD5 c08d6d0c86c6dcc5f942e6e52998b0f8
BLAKE2b-256 3dd416a9609edae797f25e9f2b3940db04cde80c885d4695397c48756eb1be8d

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp313-cp313-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp313-cp313-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4d18b8dec1fcdab2cf524e886ba091d70060c82c027ce9ec6a2b4a42fb7fa181
MD5 cdd9d66602af47a00d031cdd5f51848a
BLAKE2b-256 741b7a0a99816d8b4f253b94a9ffc6307acc53fa8a3bc55b89de76fcb223c319

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 7af9c732cb1173bc183882dfa03dbedd4b4cce9ca654c42755e4152bcb8be573
MD5 d503ce720f57b61c66ba94b091cff0fb
BLAKE2b-256 373ae2ef5d14da2cffb98fcb39a0368d341ff1c54c27a346bb684f4272017028

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 10ee05eb6b3540e85fba00d5db9ab60c4ef876c711493d83a8e9ad6ca97f9473
MD5 fe21e100cba53a05b411c70d834ceed0
BLAKE2b-256 7e9bcdaf4cdf105e5a5e15bbd466467a2352b83d6569a9d1f506cc78d9a1b3ea

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 2a52b68183b185c1d4c85ee141e7d465547f451c38c136f319eff820ff4d56eb
MD5 a85791edcdd400af0f6d6e258317fdec
BLAKE2b-256 634d0fa5d20e8e3b3111862d0434b5684cb55fa58abb38da4f4cdbb1edbf064b

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6c76a8e1ead04d0f7efd149f451ec1ae9eb1553990d7a2d90ae18c27072668a
MD5 ed089fb6c314a1f758795fb728331380
BLAKE2b-256 eea2117ef50042936f4027cb59ac9fc9349d619bf7e88c84d18a937c63346725

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 d572632de1b674f46056254815c7f261f2fd22bbe488b479df88fdcf0432c78c
MD5 88eca83d3ac4391c6277fbb3b3a87fae
BLAKE2b-256 925e69aa45a70c2b7aae05d58a11a2775b62f75fa5bdce414eddc16642dafbd8

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5fb5ba5d86a817a046da7841daa77525c3f0700c8ec57aa10dd9e8da5394b228
MD5 f5cbd5b4c2219f419884694cfd0a41b5
BLAKE2b-256 7b5fb4e593a5dc3259b795e1dcb8c820c89e7b9f824076949deb8e54ad083799

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 f7d68064041ae94b769d5b5ee79b6eb7eca2922f6e4dc7db7df5a349794a56da
MD5 b571670c4616100b976b55c9239b89d7
BLAKE2b-256 f0a375763d7ea8a0d0603c267d7edec5cd3b1356fbc1f391edf2fa4bcbad7892

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3fb510415b61c3b72a16fc34ff25d65516cd47f620900a4cdae61639399222db
MD5 1d5a4afd4906daac8e8a4203552a0762
BLAKE2b-256 f8d87c34b0a96239e330e05f27ed82fdab60d32d3334a9bf21b08f3f5ab0de4c

See more details on using hashes here.

File details

Details for the file geo_espresso-0.3.19-cp39-cp39-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for geo_espresso-0.3.19-cp39-cp39-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 57abe4fdf763f3dc5bb28996aa71a2a3cb6c16692866e8cc8a4729099bcefdb9
MD5 170d23323e77ecc2823daa65526bf2c2
BLAKE2b-256 62581875a456f03e02caf565076c21461a8186cf4e71a10264d62304ff197d70

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page