Earthquake Distance Function ============================ The following function is used to conveniently acquire earthquake data for subsurface risk analysis. +--------------------------------+---------------------------------------+ | Function | Section | +================================+=======================================+ | calculate_earthquake_distances | :ref:`calculate_earthquake_distances` | +--------------------------------+---------------------------------------+ .. _calculate_earthquake_distances: Calculate Earthquake Distances ------------------------------ **Method Description:** This method uses the `API `_ of the USGS `Earthquake Hazards Program `_ and the `RESTful API `_ of the `TexNet Earthquake Catalog `_ to collect earthquake data and calculate distances from input saltwater disposal (SWD) well coordinates. The method accepts the following input arguments: - swd_latlons: REQUIRED. Defines a list of dictionaries with a SWD well ID (swd_id), its decimal latitude (lat) and longitude (lon). For example:: [ {"swd_id": 1, "lat": 32.262, "lon": -101.931}, {"swd_id": 2, "lat": 31.682, "lon": -104.401}, ] The SWD well IDs will be reported in the output list. - api: OPTIONAL. Specifies either the USGS or TexNet API. * ``"usgs"``: Use the USGS API (default) * ``"texnet"``: Use the TexNet API - max_radius_mi: OPTIONAL. Specifies the maximum radius in miles from a SWD well for earthquake data collection. By default, it is 5.59 miles. - min_magnitude: OPTIONAL. Specifies the minimum earthquake magnitude for earthquake data colleciton. By default, it is 3. - min_date: OPTIONAL. Specifies the minimum date in YYYY-MM-DD for earthquake data collection. By default, it is None, which indicates no limit. - max_date: OPTIONAL. Specifies the maximum date in YYYY-MM-DD for earthquake data collection. By default, it is None, which indicates no limit. - save: OPTIONAL. Specifies an output filename in \*.csv or \*.xlsx. If this argument is specified, the output will be saved as a file. It only supports the CSV and XLSX formats. The XLSX format requires the pandas and openpyxl modules. By default, it is None, which means no output file. - overwrite: OPTIONAL. Specifies whether or not to overwrite the save output file. If a file given in the save argument exists, passing True to this argument will overwrite the file. By default, it is False. The output of this method is a list of dictionaries containing the input SWD well ID (swd_id), earthquake ID (eq_id), event time (time), distance in miles to the SWD well (distance_mi), and its magnitude (magnitude). For example:: [ { "swd_id": 1, "eq_id": "tx2024fukh", "time": "2024-03-23 01:36:02", "distance_mi": 0.9231348790234829, "magnitude": 3 }, { "swd_id": 2, "eq_id": "tx2024emvg", "time": "2024-03-04 15:31:07", "distance_mi": 2.200703681215228, "magnitude": 3.3 } ] **How to Use** Example of how this method is used:: swd_latlons = [ {"swd_id": 1, "lat": 32.251, "lon": -101.940}, {"swd_id": 2, "lat": 31.651, "lon": -104.410}, ] earthquake_distances = calculate_earthquake_distances( swd_latlons, "texnet", save="eq_dist_texnet_results.csv", overwrite=True ) earthquake_distances = calculate_earthquake_distances( swd_latlons, "texnet", save="eq_dist_texnet_results.xlsx", overwrite=True ) print("# TexNet API\n", json.dumps(earthquake_distances, indent=1)) earthquake_distances = calculate_earthquake_distances(swd_latlons) print("# USGS API\n", json.dumps(earthquake_distances, indent=1)) earthquake_distances = calculate_earthquake_distances( swd_latlons, min_date="2024-03-20" ) print("# USGS API\n", json.dumps(earthquake_distances, indent=1)) earthquake_distances = calculate_earthquake_distances( swd_latlons, max_date="2024-03-20" ) print("# USGS API\n", json.dumps(earthquake_distances, indent=1)) earthquake_distances = calculate_earthquake_distances( swd_latlons, min_date="2024-03-23", max_date="2024-03-23" ) print("# USGS API\n", json.dumps(earthquake_distances, indent=1))