Earth Science PRoblems for the Evaluation of Strategies, Solvers and Optimizers
Project description
Espresso
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 (coming soon).
Installation
$ pip install cofi-espresso
Check Espresso documentation - installation page for details on dependencies and setting up with virtual environments.
Basic usage
Once installed, each test problem can be imported using the following command:
from cofi_espresso import <testproblem>
Replace <testproblem>
with one of the following currently available problems:
GravityDensity
SimpleRegression
XrayTomography
Once a problem is imported, its main functions can be called using the same structure for each problem. For instance:
from cofi_espresso import GravityDensity
problem = GravityDensity(example_number=1)
model = problem.good_model
data = problem.data
pred = problem.forward(model)
fig_model = problem.plot_model(model)
fig_data = problem.plot_data(data, pred)
You can access related metadata programatically:
print(GravityDensity.problem_title)
print(GravityDensity.problem_short_description)
print(GravityDensity.author_names)
Other problem-specific parameters can be accessed through the problem instance. For instance:
print(problem.m)
print(problem.rec_coords)
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for cofi_espresso-0.1.0.dev0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bcbeddc6f5642617343ec6a00b03b81c07af3a7a0f2fb06b05698a8f2bbdfc4 |
|
MD5 | 9fc5abbb86a8af527e99cd51def6d25d |
|
BLAKE2b-256 | 2d8a13d9095cd51d38afc23452eea67fd8b2f97352d7b2b193e4160caa47ae9b |