Skip to main content

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.

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

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)

Source distribution for sola-base 0.1.0
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)

Table of built distributions (wheels) for sola-base 0.1.0
File Interpreter ABI Platform Actions
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.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page