Seismic¶
Base class for all seismic models¶
- class burnman.classes.seismic.Seismic1DModel[source]¶
Bases:
object
Base class for all the seismological models.
- evaluate(vars_list, depth_list=None)[source]¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- internal_depth_list(mindepth=0.0, maxdepth=1e+99, discontinuity_interval=1.0)[source]¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
Class for 1D Models¶
- class burnman.classes.seismic.SeismicTable[source]¶
Bases:
Seismic1DModel
This is a base class that gets a 1D seismic model from a table indexed and sorted by radius. Fill the tables in the constructor after deriving from this class. This class uses
burnman.seismic.Seismic1DModel
Note: all tables need to be sorted by increasing depth. self.table_depth needs to be defined. Alternatively, you can also overwrite the _lookup function if you want to access with something else.
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)[source]¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- depth(pressure)[source]¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- G(depth)¶
- K(depth)¶
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
Models currently implemented¶
- class burnman.classes.seismic.PREM[source]¶
Bases:
SeismicTable
Reads PREM (1s) (input_seismic/prem.txt, [DA81]). See also
burnman.seismic.SeismicTable
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
- class burnman.classes.seismic.Slow[source]¶
Bases:
SeismicTable
Inserts the mean profiles for slower regions in the lower mantle (Lekic et al. 2012). We stitch together tables ‘input_seismic/prem_lowermantle.txt’, ‘input_seismic/swave_slow.txt’, ‘input_seismic/pwave_slow.txt’). See also
burnman.seismic.SeismicTable
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
- class burnman.classes.seismic.Fast[source]¶
Bases:
SeismicTable
Inserts the mean profiles for faster regions in the lower mantle (Lekic et al. 2012). We stitch together tables ‘input_seismic/prem_lowermantle.txt’, ‘input_seismic/swave_fast.txt’, ‘input_seismic/pwave_fast.txt’). See also
burnman.seismic.Seismic1DModel
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
- class burnman.classes.seismic.STW105[source]¶
Bases:
SeismicTable
Reads STW05 (a.k.a. REF) (1s) (input_seismic/STW105.txt, [KED08]). See also
burnman.seismic.SeismicTable
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
- class burnman.classes.seismic.IASP91[source]¶
Bases:
SeismicTable
Reads REF/STW05 (input_seismic/STW105.txt, [KED08]). See also
burnman.seismic.SeismicTable
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
- class burnman.classes.seismic.AK135[source]¶
Bases:
SeismicTable
Reads AK135 (input_seismic/ak135.txt, [KEB95]). See also
burnman.seismic.SeismicTable
.- G(depth)¶
- K(depth)¶
- QG(depth)¶
- QK(depth)¶
- bullen(depth)¶
Returns the Bullen parameter only for significant arrays
- density(depth)¶
- depth(pressure)¶
- Parameters:
pressure (float or numpy.array of floats) – Pressure(s) [Pa] at which to evaluate depths.
- Returns:
Depth(s) [m] for given pressure(s).
- evaluate(vars_list, depth_list=None)¶
Returns the lists of data for a Seismic1DModel for the depths provided
- Parameters:
vars_list (array of str) – Available variables depend on the seismic model, and can be chosen from ‘pressure’, ‘density’, ‘gravity’, ‘v_s’, ‘v_p’, ‘v_phi’, ‘G’, ‘K’, ‘QG’ and ‘QK’.
depth_list (array of floats) – Array of depths [m] to evaluate seismic model at.
- Returns:
Array of values shapes as (len(vars_list),len(depth_list)).
- Return type:
numpy.array
- gravity(depth)¶
- internal_depth_list(mindepth=0.0, maxdepth=10000000000.0, discontinuity_interval=1.0)¶
Returns a sorted list of depths at which this seismic data is specified. This allows you to compare the seismic data without interpolation. The depths can be bounded by the mindepth and maxdepth parameters.
- pressure(depth)¶
- radius(pressure)¶
- v_p(depth)¶
- v_phi(depth)¶
Attenuation Correction¶
- burnman.classes.seismic.attenuation_correction(v_p, v_s, v_phi, Qs, Qphi)[source]¶
Applies the attenuation correction following Matas et al. (2007), page 4. This is simplified, and there is also currently no 1D Q model implemented. The correction, however, only slightly reduces the velocities, and can be ignored for our current applications. Arguably, it might not be as relevant when comparing computations to PREM for periods of 1s as is implemented here. Called from
burnman.main.apply_attenuation_correction()
- Parameters:
- Returns:
Corrected P wave, S wave and bulk sound velocities in [m/s].
- Return type: