pyrocko.dataset.ep_crust

Interface to use EPcrust 0.5x0.5 model by Molinari, Morelli.

Created on Wed May 26 09:10:31 2021 Modified after crust2x2.py @author: Marin GOvorcin

All functions defined in this module return SI units (m, m/s, kg/m^3).

Note

Please refer to the INGV web site if you use this model:

or

“Molinari, I., Morelli, A., 2011. EPcrust: A reference crustal model for the european plate. Geophys. J. Int. in press, doi: 10.1111/j.1365-246X.2011.04940.x.”

The model covers the following region with resolution of 0.5 x 0.5 degrees:

Extended Region:
Latitude:   9 N - 89.5 N           ( original: 20 N - 89.5 N )
Longitude: 56 W - 70 E             (          40 W - 70 E    )

Data is stored in EPcrust_0_5.txt, where columns are:

LON   LAT   Topography   sediment_thickness   thickness_upper_crust
thickness_lower_crust   VP_sediment   VP_upper_cruet   VP_lower_crust
VS_sediment   VS_upper_crust   VS_lower_crust   RHO_sediment
RHO_upper_crust RHO_lower_crust

EPcrust has 3 layers:

  • sediment

  • upper crust

  • lower crust

EPcrust has an additional file with ice thickness: Ice_thickness_0_5.txt.

Example:

>>> from pyrocko.dataset import ep_crust
>>> p = ep_crust.get_profile(10., 20.)
>>> print(p)
lat, lon:              10.0, 20.0
elevation:                           402
crustal thickness:                 38923
average vp, vs, rho:              6511.9          3778.7          2840.3

              0            3810            1940             920   ice
              0            1500               0            1020   water
            750            2500             984            2093   sediment
          13422            6200            3640            2761   upper crust
          25501            6689            3856            2882   lower crust
>>> print(p.get_weeded())
[[    0.   750.   750. 14172. 14172. 39673.]
 [ 2500.  2500.  6200.  6200.  6689.  6689.]
 [  984.   984.  3640.  3640.  3856.  3856.]
 [ 2093.  2093.  2761.  2761.  2882.  2882.]]

Note

EPcrust model has 3 layers and ice_thickness. To make this module similar to crust2x2, two more layers were added with default vp, vs, rho values (from crust2x2) for ice: 3810 1940 920 water: 1500 0 1020

Constants

Layer id

Layer name

LICE

ice

LWATER

water

LSED

sediments

LUPPERCRUST

upper crust

LLOWERCRUST

lower crust

Contents

Functions

get_profile(*args, **kwargs)

Get EPcrust 0.5x0.5 profile for given location or profile key.

get_profile_keys()

Get list of all profile keys.

plot_crustal_thickness([ep_crust, filename])

Create a quick and dirty plot of the crustal thicknesses defined in EPcrust 0.5x0.5.

Classes

EPcrust()

Access EPcrust0.5x0.5 model.

EPcrust2Profile(ident, lat, lon, vp, vs, ...)

Representation of a EPcrust key profile.

class EPcrust2Profile(ident, lat, lon, vp, vs, rho, thickness, elevation)[source]

Bases: object

Representation of a EPcrust key profile.

get_weeded()[source]

Get layers used in the profile.

Returns:

NumPy array with rows depth, vp, vs, density

get_layer(ilayer)[source]

Get parameters for a layer.

Parameters:

ilayer – id of layer

Returns:

thickness, vp, vs, density

crustal_thickness()[source]

Get total crustal thickness

Takes into account ice layer. Does not take into account water layer.

averages()[source]

Get crustal averages for vp, vs and density and total crustal thickness.

Takes into account ice layer. Does not take into account water layer.

class EPcrust[source]

Bases: object

Access EPcrust0.5x0.5 model.

Parameters:

directory – Directory with the data files which contain the EPcrust model data: EPcrust_0_5.txt, Ice_thickness_0_5.txt

get_profile(*args, **kwargs)[source]

Get crustal profile at a specific location or raw profile for given key.

Get profile for location (lat, lon), or raw profile for given string key.

Return type:

instance of EPcrust2Profile

static instance()[source]

Get the default EPcrust instance.

get_profile_keys()[source]

Get list of all profile keys.

get_profile(*args, **kwargs)[source]

Get EPcrust 0.5x0.5 profile for given location or profile key.

Get profile for (lat,lon) or raw profile for given string key.

plot_crustal_thickness(ep_crust=None, filename='crustal_thickness.pdf')[source]

Create a quick and dirty plot of the crustal thicknesses defined in EPcrust 0.5x0.5.