Seismic¶
Base class for all seismic models¶
- class burnman.classes.seismic.Seismic1DModel[source]¶
Bases:
objectBase 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:
Seismic1DModelThis 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.Seismic1DModelNote: 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:
SeismicTableReads 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:
SeismicTableInserts 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:
SeismicTableInserts 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:
SeismicTableReads 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:
SeismicTableReads 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:
SeismicTableReads 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: