Giter VIP home page Giter VIP logo

plateflex's Introduction

PlateFlex: Software for mapping the effective elastic thickness of the lithosphere

The flexure of elastic plates is a central concept in the theory of plate tectonics, where the Earth's lithosphere (crust and uppermost mantle) reacts to applied loads by bending, a process referred to as flexural isostasy. The plate elasticity is parameterized by the flexural rigidity, which is proportional to the product of Young's modulus with the cube of the elastic plate thickness. Estimating the effective elastic thickness (Te) of the lithosphere (thickness of an equivalent ideal elastic plate) gives important clues on the rheology of the lithosphere and its thermal state.

Estimating Te can be done by modeling the cross-spectral properties (admittance and coherence) between topography and gravity anomaly data, which are proxies for the distribution of flexurally compensated surface and subsurface loads. These spectral properties can be calculated using different spectral estimation techniques - however, to map Te variations it is important to use analysis windows small enough for good spatial resolution, but large enough to capture the effect of flexure at long wavelengths. The wavelet transform is particularly well suited for this analysis because it avoids splitting the grids into small windows and can therefore produce cross-spectral functions at each point of the input grid.

This package contains python and fortran modules to calculate the wavelet spectral and cross-spectral quantities of 2D gridded data of topography and gravity anomalies. Once obtained, the wavelet cross-spectral quantities (admittance and coherence) are used to determine the parameters of the effectively elastic plate, such as the effective elastic thickness (Te), the initial subsurface-to-surface load ratio (F) and optionally the initial phase difference between surface and subsurface loads (alpha). The software uses the analytical functions with uniform F and alpha to fit the admittance and/or coherence functions. The estimation can be done using non-linear least-squares or probabilistic (i.e., bayesian) inference methods.

The analysis can be done using either the Bouguer or Free air gravity anomalies, and over land or ocean areas. Computational workflows are covered in the Jupyter notebooks bundled with this package. The software contains methods to make beautiful and insightful plots using the seaborn package.

NOTE: The cross-spectral quantities calculated here are the real-valued admittance and squared-real coherency, as discussed in the references

Installation

Dependencies

The current version was developed using Python3.7 Also, the following packages are required:

Conda environment

We recommend creating a custom conda environment where plateflex can be installed along with its dependencies.

conda create -n flex python=3.7 numpy pymc3 matplotlib seaborn scikit-image -c conda-forge

Activate the newly created environment:

conda activate flex

Installing from source

Download or clone the repository:

git clone https://github.com/paudetseis/PlateFlex.git
cd PlateFlex

Next we recommend following the steps for creating a conda environment (see above). Then install using pip:

pip install .

Usage

Documentation

The documentation for all classes and functions in plateflex can be accessed from https://paudetseis.github.io/PlateFlex/.

Jupyter Notebooks

Included in this package is a set of Jupyter Notebooks, which give examples on how to create Grid objects and estimate the flexural parameters over whole grids. The Notebooks describe how to produce pulication quality results that closely match those published in Audet (2014) and Kirby and Swain. (2009) for North America, as well as those of Kalnins and Watts (2009) for the NW Pacific.

After installing plateflex, these notebooks can be locally installed (i.e., in a local folder Examples) from the package by running:

from plateflex import doc
doc.install_doc(path='Examples')

To run the notebooks you will have to further install jupyter:

conda install jupyter

Then:

unzip data.zip
cd Examples
jupyter notebook

You can then save the notebooks as python scripts and you should be good to go!

How to make new gridded data sets

Although the examples above work as advertised, making new grids for your own project can be a daunting task. In the wiki page we provide examples of how to reproduce the data sets used in the Jupyter notebooks from publicly available topography and gravity models.

References

  • Audet, P. (2014). Toward mapping the effective elastic thickness of planetary lithospheres from a spherical wavelet analysis of gravity and topography. Physics of the Earth and Planetary Interiors, 226, 48-82. https://doi.org/10.1016/j.pepi.2013.09.011

  • Kalnins, L.M., and Watts, A.B. (2009). Spatial variations in effective elastic thickness in the Western Pacific Ocean and their implications for Mesozoic volcanism. Earth and Planetary Science Letters, 286, 89-100. https://doi.org/10.1016/j.epsl.2009.06.018

  • Kirby, J.F., and Swain, C.J. (2009). A reassessment of spectral Te estimation in continental interiors: The case of North America. Journal of Geophysical Research, 114, B08401. https://doi.org/10.1029/2009JB006356

  • Kirby, J.F. (2014). Estimation of the effective elastic thickness of the lithosphere using inverse spectral methods: The state of the art. Tectonophysics, 631, 87-116. https://doi.org/10.1016/j.tecto.2014.04.021

plateflex's People

Contributors

paudetseis avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.