关于如何利用obspy求出穿透点的经纬度信息

1. 介绍

在Taup中可以利用taup_pierce求出不连续界面穿透点的经纬度信息,在obspy中可以利用TauPyModel中的get_pierce_points_geo获取穿透点的经纬度信息,在此记录一下。注意其返回值是Arrival类型数据,可以从Arrival中得到获取到穿透点的震相的名称、走时、深度,穿透点的经纬度等信息。关于如何利用obspy求出穿透点的经纬度信息_第1张图片

2. 实现

利用get_pierce_points_geo获取穿透点信息后在通过Arrival索引并利用pandas获取经纬度信息。

其他信息可以参照obspy官网手册。

    import pandas as pd
    from obspy.taup import TauPyModel
    model = TauPyModel(model='prem')

    evdp=20;evlo=0;evla=15      # Event information
    stlo=40;stla=40             # Receiver information
    # Get information about pierce point 
    info = model.get_pierce_points_geo(source_depth_in_km=evdp, source_latitude_in_deg=evla, source_longitude_in_deg=evlo, receiver_latitude_in_deg=stla,\
                     receiver_longitude_in_deg=stlo, phase_list=['PcP'])
    # Data type
    print('Data type is :\n %s\n' % (info[0].pierce.dtype))
    # Data of pierce point 
    data_info = pd.DataFrame(info[0].pierce)
    print('Data information is : \n %s' % data_info)

    # Get information of (lon,lat) on Core Mantle Boundary (PcP Phase)
    depth_max_value = data_info.depth.max();depth_max_idnex = data_info.depth.idxmax()
    lon = data_info.lon[depth_max_idnex]; lat = data_info.lat[depth_max_idnex]
    print('\nPierce point information of PcP on CMB is : (%f,%f)' % (lon,lat))

3. 输出

Data type is :
 [('p', '

你可能感兴趣的:(地震学,python,obspy)