SOLA-base
Introduction
SOLA-base solves linear inverse problems of the form d = G m + n for given target resolution, tradeoff parameter, and data uncertainty using the Backus-Gilbert-based SOLA method. For a given model parameter, it produces model estimate, model uncertainty and model resolution. It comes with tools to handle a given parameterisation, design target resolution, and to produce some plots.
Links
Installation
pip install sola-base
Usage
Each routine reads its settings from a parameter file (template below). ksfile is a text file listing the indices of the model parameters to solve for, one per line.
from sola_base.sola_preproc import sola_preproc
from sola_base.sola_lsqr import sola_lsqr
from sola_base.sola_postproc import sola_postproc
from sola_base.sola_ak import sola_ak
sola_preproc( 'path_to_parameterfile')
sola_lsqr( 'path_to_parameterfile', 'path_to_ksfile')
sola_postproc( 'path_to_parameterfile')
sola_ak( 'path_to_parameterfile', 'path_to_ksfile')
sola_preproc: From the data, data uncertainty, sensitivity matrix, tradeoff parameter, and cell volumes, builds secondary inputs necessary for inversion.sola_lsqr: For parameters specified by their indices in ksfile, computes the associated rows of the generalised inverse of G.sola_postproc: Computes the model estimates and model uncertainty of parameters for which the generalised inverse rows are available.sola_ak: For parameters specified by their indices in ksfile, computes the averaging kernels using the associated rows of the generalised inverse of G.
Parameter file
Folder paths are relative to the directory Python is run from. The grid
sections are only needed by the corresponding grid classes in
sola_base.parameterizations.
# Parameter file for the whole package.
# Parameters required are in the [inversion] section.
# Parameters for the grid are grid type dependent and only needed for grid classes.
[inversion]
solver = scipy
eta = 100
iters = 100
dumpiter = 50
# LSQR convergence criteria, passed to the scipy solver. Zero disables a
# criterion, so 0/0/0 runs exactly 'iters' iterations.
atol = 0
btol = 0
conlim = 0
[folders]
input=./sola_inputs
output=./sola_outputs
[xy_grid]
xll = 0
yll = 0
xur = 32
yur = 32
xstep = 1
ystep = 1
[latlon_grid]
latstep = 2
lonstep = 2
radius = 6371
[latlonrad_grid]
latstep = 2
lonstep = 2
radstep = 25
radmin = 3471
radmax = 6371
Citing and license
- Zaroli 2016, (https://doi.org/10.1093/gji/ggw315)
- A software paper is in preparation and will be added once published.
- License: MIT, see LICENSE
Metadata
Release files for sola-base 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| sola_base-0.1.0.tar.gz | 55.3 kB | Without provenance | Details for sola_base-0.1.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| sola_base-0.1.0-py3-none-any.whl | Python 3 | none | any | Details for sola_base-0.1.0-py3-none-any.whl |
Total release size: 84.9 kB
Release files / sola_base-0.1.0.tar.gz
| Download URL | sola_base-0.1.0.tar.gz |
|---|---|
| Size | 55.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6cafb213e2083f33e6b0e5d2348352cab436a0b712a327c36878063523a6522a
|
|
BLAKE2b-256 checksum How to use checksums |
cd41ab6f71d3871953bf4b3f8f23c949bb951cc8aecda1231fa2a4ad6c46103e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Release files / sola_base-0.1.0-py3-none-any.whl
| Download URL | sola_base-0.1.0-py3-none-any.whl |
|---|---|
| Size | 29.6 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d2e1e24b8a9ecda55c26fe960816d2fe5f678cb5328cd95f058ee67a92ea5f39
|
|
BLAKE2b-256 checksum How to use checksums |
ca51f6cc350538890c1b5495d0bbea048468aa2d30bcd60473c47f69fbb576a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.13
|
Security for sola-base 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.