tiebenn.tools.velocity_models module

class tiebenn.tools.velocity_models.crustModel[source]

Bases: object

Top level model object to retreive information from the LLNL Crust 1.0 model. Created by J. Leeman and C. Ammon (https://github.com/jrleeman/Crust1.0).

Parameters:
  • vp (ndarray)

  • vs (ndarray)

  • rho (ndarray)

  • bnds (ndarray)

  • layer_names (list)

get_point(lat, lon)[source]

Returns a model for a given latitude and longitude. Note that the model is only defined on a 1 degree grid starting at 89.5 and -179.5.

Args: lat (float) Latitude of interest lon (float) Longitude of interest

Returns: model_layers (dict): Dictionary of layers with the keys as layer names and the values as a list of vp, vs, density, layer thickness, and the top of the layer with respect to sea level

tiebenn.tools.velocity_models.load_velmod(name)[source]

Accesses the 1D velocity models in the TieBeNN package for seismic location with NonLinLoc.

Parameters:

model (int) – The P- and S-wave velocity models to be loaded. The velocity models are read from files in the directory data/velocity_models/. New velocity models can be added following the NLL structure. See velocity models currently available in velmods

Returns:

Layers of a 1D velocity model as read from TieBeNN’s resources

Return type:

velmod_list (list)

tiebenn.tools.velocity_models.select_velmod(ev_lat, ev_lon)[source]

In case the velocity model was set to automatic, this function checks if there is a velocity model for the epicenter region which has demonstrated to produce better hypocenter estimations than the standard 2-layer BGR model. If not, the velocity model will be set as the BGR velocity model for event location.

Parameters:
  • ev_lat (float) – Epicenter latitude

  • ev_lon (float) – Epicenter longitude

Returns:

The velocity model which will be used for event location within NonLinLoc.

Return type:

velmod (int)

tiebenn.tools.velocity_models.velmods(model, ev_lon, ev_lat)[source]

Produces a seismic velocity model to be included in the NonLinLoc control file for hypocenter location.

When no density model is associated to each model, density can be calculated as a function of the P-wave velocity after Gardner et al. (1974) in g/cm^3. The density is, however, a carryover in the layer format from its original use in a waveform modelling code. It is not used in the NLL programs, so any convenient numerical value can be used.

Parameters:
  • model (int) –

    The P- and S-wave velocity models to be exported. Velocity models are read from files in the directory data/velocity_models/. New models can be added following the NLL structure.

    The following model numbers are currently supported:

     0  = IASP91
     1  = AK135 (for continental structure)
     2  = BGR velocity model (by J. Schlittenhardt)
     3  = WET: Germany and adjacent regions
     4  = WB2012: Vogtland/West Bohemia 1D (P+S)
     5  = DEU: 3-layer Germany model (Moho at 28.5 km, vp/vs = 1.68)
     6  = Crust1.0: up to 9 layers per lat/lon point
     7  = Crust1.0 + AK135 hybrid model
     8  = Küperkoch et al. (2018) for Insheim (1D, P+S)
     9  = Regional model for LI (J. Borns)
    10  = Landau model (1D, P+S) for northern Upper Rhine Graben
    11  = Central Alps 1D (Diehl et al. 2021)
    12  = Not fully integrated and tested! 3D Central Alps (Diehl, ETH Zürich)
    13  = 3D WEG: high-res P model (not functional)
    14  = AlpsLocPS (Brazsus et al., 2024) — Greater Alpine Region
    15  = BENS (Reamer & Hinzen 2004): Northern Rhine Area
    16  = ASZmod1 (Mader et al. 2021): Albstadt Shear Zone
    17  = 3D URG (Lengline et al. 2023): Upper Rhine Graben (currently not functional)
    18  = (Malek et al. 2023): Novy-Kostel swarm
    19  = PO1 + WB2012 from 11 km depth
    20  = KIT6 (Ritter et al. 2024): 1D, P+S for East Eifel Volcanic Field
    

  • ev_lon (float) – Event longitude. Used when model = 6 or 7.

  • ev_lat (float) – Event latitude. Used when model = 6 or 7.

Returns:

velmod – List of 1D velocity/density layers in NonLinLoc format. Each element is a string representing one layer: LAYER depth[km] vp vp_grad vs vs_grad density density_grad

Note: density values are placeholders and not used in NLL itself.

Return type:

list of str