Planetary crustal thickness, displacement, stress and strain calculations in spherical harmonics.
Project description
Displacement_strain_planet
Planetary crustal thickness, displacement, stress, and strain calculations in spherical harmonics.
Description
Displacement_strain_planet provides several functions and example scripts for generating crustal thickness, displacement, gravity, lateral density variations, stress, and strain maps on a planet given a set of input constraints such as from observed gravity and topography data.
These functions solve the Banerdt (1986) system of equations under different assumptions. Various improvements have been made to the model including the possibility to account for finite-amplitude correction and filtering (Wieczorek & Phillips, 1998), lateral density variations at any arbitrary depth and within the surface or moho-relief (Wieczorek et al., 2013), and density difference between the surface topography and crust (Broquet & Wieczorek, 2019).
Comments
We note that some of these functions rely heavily on the pyshtools package of Wieczorek & Meschede (2018) that is used to perform the spherical harmonic transforms, Legendre polynomial expansions, and finite-amplitude calculations.
This code is still under development and benchmarking. If you find any bugs or errors in the code, please report them in GitHub or to adrien.broquet at oca.eu.
Benchmarks
Moho-relief calculations have been benchmarked to the ctplanet package of Mark Wieczorek.
Displacement calculations have been benchmarked to the analytical model of Broquet & Wieczorek (2019).
Strain calculations reproduce results published in the literature (e.g., Banerdt & Golombek 2000).
Methods
Thin_shell_matrix Solve the Banerdt (1986) system of 5 equations under the mass-sheet approximation and assuming that potential internal density variations are contained within a spherical shell. The system links 8 parameters expressed in spherical harmonics: the topography, geoid at the surface, geoid at the moho depth, net acting load on the lithosphere, tangential load potential, flexure of the lithosphere, isostatic crustal root variations, and internal density variations. Minor corrections have been made in the geoid equations.
Thin_shell_matrix_nmax Solve the Banerdt (1986) system of 5 equations with finite-amplitude correction and accounting for the potential presence of density variations within the surface or moho reliefs.
DownContFilter Compute the downward minimum-amplitude or -curvature filter of Wieczorek & Phillips (1998).
corr_nmax_drho Calculate the difference in gravitational potential exterior to relief referenced to a spherical interface (with or without laterally varying density) between the mass-sheet case and when using the finite-amplitude algorithm of Wieczorek & Phillips (1998).
SH_deriv Compute on the fly first and second-order spherical harmonic derivatives with respect to colatitude and longitude.
SH_deriv_store Compute and store first and second-order spherical harmonic derivatives with respect to colatitude and longitude.
Displacement_strains Calculate the Banerdt (1986) equations to determine strains from displacements with a correction to the shearing and twisting deformations.
Principal_strainstress_angle Calculate principal strains, stresses and their principal angles.
Plt_tecto_Mars Plot the Knampeyer et al. (2006) dataset of extensional and compressional tectonic features on Mars.
Example scripts
Run_demo A jupyter notebook that contains example scripts to determine flexure, moho-relief, and strains on Mars under different assumptions, including Airy and Pratt isostasy, or due to the sole presence of a mantle plume.
Mars_crust_displacement A script that demonstrates how to calculate the moho-relief and strains on Mars, as a function of the mean planetary crustal thickness and elastic thickness. The contributions from isostatic crustal root variations and displacement are shown assuming an elastic thickness of the lithosphere. We make use of the inferred displacement to predict the principal horizontal strains and principal angle, which are compared to extensional tectonic features mapped by Knampeyer et al. (2006).
How to install and run Displacement_strain_planet
If you would like to modify the source code, download the Displacement_strain_planet repository and install using pip (or pip3 depending on your installation).
git clone https://github.com/AB-Ares/Displacement_strain_planet.git
cd Displacement_strain_planet/
pip install .
Alternatively, you can install Displacement-strain-planet via pip
pip install Displacement-strain-planet
To run the example scripts
cd examples
jupyter notebook Run_demo.ipynb
python Mars_crust_displacement.py
Author
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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file Displacement_strain_planet-0.1.0.tar.gz.
File metadata
- Download URL: Displacement_strain_planet-0.1.0.tar.gz
- Upload date:
- Size: 35.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
28dc0c80162ab91af917cddd38ded33517a73b1420422227d93fa1bae4089aa4
|
|
| MD5 |
213eca30004ac655406f0b15460fbdcf
|
|
| BLAKE2b-256 |
bf626df591012ef4dc06a32b7f817e4c95188cc72c44668034ed839f954376f9
|
File details
Details for the file Displacement_strain_planet-0.1.0-py3-none-any.whl.
File metadata
- Download URL: Displacement_strain_planet-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2e81aebff0b374e456ba55b3a9fd5c5f096d5ebf723b6b8db958f0b9f4b028a2
|
|
| MD5 |
a70bafd193005e6a6ecbedeede8dfb30
|
|
| BLAKE2b-256 |
5282f2fceaff4616a1ea03e931b1d66e657b42c8ba6cc57e714fd3ae43df01ea
|