QuakeFlow demo¶
In [1]:
Copied!
import os
root_path = "local"
region = "demo"
# region = "Ridgecrest"
code_path = "./QuakeFlow/slurm"
def run(root_path, script):
cmd = f"cd {code_path} && python {script} {root_path} {region}"
print(cmd)
os.system(cmd)
import os
root_path = "local"
region = "demo"
# region = "Ridgecrest"
code_path = "./QuakeFlow/slurm"
def run(root_path, script):
cmd = f"cd {code_path} && python {script} {root_path} {region}"
print(cmd)
os.system(cmd)
Set configuration parameters¶
Edit the config.json file to add parameters of studying region
You can search for earthquake information here: USGS
You can search for seismic network information here: IRIS
In [2]:
Copied!
run(root_path, "set_config.py")
run(root_path, "set_config.py")
cd ./QuakeFlow/slurm && python set_config.py local demo { "num_nodes": 1, "sampling_rate": 100, "degree2km": 111.1949, "channel": "HH*,BH*,EH*,HN*", "level": "response", "gamma": { "zmin_km": 0, "zmax_km": 60 }, "cctorch": { "sampling_rate": 100, "time_before": 0.25, "time_after": 1.0, "min_pair_dist_km": 10, "components": "ENZ123", "component_mapping": { "3": 0, "2": 1, "1": 2, "E": 0, "N": 1, "Z": 2 } }, "longitude0": -117.504, "latitude0": 35.705, "maxradius_degree": 0.5, "minlatitude": 35.205, "maxlatitude": 36.205, "minlongitude": -118.004, "maxlongitude": -117.004, "starttime": "2019-07-04T17:00:00", "endtime": "2019-07-05T00:00:00", "provider": [ "SCEDC" ], "network": "CI" }
Download stations and events¶
In [3]:
Copied!
run(root_path, "download_station.py")
run(root_path, "download_catalog.py")
run(root_path, "download_station.py")
run(root_path, "download_catalog.py")
cd ./QuakeFlow/slurm && python download_station.py local demo { "num_nodes": 1, "sampling_rate": 100, "degree2km": 111.1949, "channel": "HH*,BH*,EH*,HN*", "level": "response", "gamma": { "zmin_km": 0, "zmax_km": 60 }, "cctorch": { "sampling_rate": 100, "time_before": 0.25, "time_after": 1.0, "min_pair_dist_km": 10, "components": "ENZ123", "component_mapping": { "3": 0, "2": 1, "1": 2, "E": 0, "N": 1, "Z": 2 } }, "longitude0": -117.504, "latitude0": 35.705, "maxradius_degree": 0.5, "minlatitude": 35.205, "maxlatitude": 36.205, "minlongitude": -118.004, "maxlongitude": -117.004, "starttime": "2019-07-04T17:00:00", "endtime": "2019-07-05T00:00:00", "provider": [ "SCEDC" ], "network": "CI" } Downloading station response... Loading existing local/demo/obspy/inventory_scedc.xml Parse 150 channels of SCEDC into csv Parse 52 stations of SCEDC into json Merged 150 channels Merged 52 stations cd ./QuakeFlow/slurm && python download_catalog.py local demo { "num_nodes": 1, "sampling_rate": 100, "degree2km": 111.1949, "channel": "HH*,BH*,EH*,HN*", "level": "response", "gamma": { "zmin_km": 0, "zmax_km": 60 }, "cctorch": { "sampling_rate": 100, "time_before": 0.25, "time_after": 1.0, "min_pair_dist_km": 10, "components": "ENZ123", "component_mapping": { "3": 0, "2": 1, "1": 2, "E": 0, "N": 1, "Z": 2 } }, "longitude0": -117.504, "latitude0": 35.705, "maxradius_degree": 0.5, "minlatitude": 35.205, "maxlatitude": 36.205, "minlongitude": -118.004, "maxlongitude": -117.004, "starttime": "2019-07-04T17:00:00", "endtime": "2019-07-05T00:00:00", "provider": [ "SCEDC" ], "network": "CI" } Downloading standard catalog... Dowloaded 703 events from scedc
Download continuous waveform data¶
In [4]:
Copied!
run(root_path, "download_waveform_v2.py")
run(root_path, "download_waveform_v2.py")
cd ./QuakeFlow/slurm && python download_waveform_v2.py local demo Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWRV2_HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWRV2_HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWRV2_HNZ_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWVP2_HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWVP2_HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWVP2_HNZ_2C2019185.ms local/demo/waveforms/2019-185/19/CI.WVP2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WVP2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WMF..BHZ.mseed already exists. Skip. Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWMF__HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWBM__HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWMF__HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWBM__HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWMF__HNZ_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWBM__HNZ_2C2019185.ms local/demo/waveforms/2019-185/19/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.MPM..HHZ.mseed already exists. Skip. Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIQ0072HNE_012019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIQ0072HNN_012019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIQ0072HNZ_012019185.ms local/demo/waveforms/2019-185/18/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WCS2..HNZ.mseed already exists. Skip. Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWNM__HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWNM__HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CIWNM__HNZ_2C2019185.ms local/demo/waveforms/2019-185/19/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.TOW2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.TOW2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.TOW2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.LRL..BHZ.mseed already exists. Skip. Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNE_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNN_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNZ_2C2019185.ms Failed to download scedc-pds/continuous_waveforms/2019/2019_185/CILRL__HNZ_2C2019185.ms local/demo/waveforms/2019-185/18/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.MPM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.TOW2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.TOW2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.TOW2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WVP2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WBM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WBM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WBM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SRT..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CCC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CCC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CCC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WMF..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.LRL..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.MPM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.MPM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.MPM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRV2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRV2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRV2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WCS2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.WRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/19/CI.CLC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.LRL..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.LRL..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.CLC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/18/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WNM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WNM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WNM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WNM..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.LRL..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WVP2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WVP2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WVP2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WVP2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.MPM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.CCC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.TOW2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WCS2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SLA..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.JRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WMF..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.SRT..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.DTP..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRV2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRV2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/20/CI.WRV2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.TOW2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WNM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WNM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WNM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WMF..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.CCC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRV2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRV2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRV2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.MPM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WVP2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WVP2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WVP2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.JRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WBM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WNM..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.LRL..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WVP2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.WCS2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/21/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WVP2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRV2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRV2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WRV2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.LRL..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.JRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.MPM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WVP2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WVP2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WVP2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WNM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WNM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WNM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CLC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.CCC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.SRT..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WBM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WCS2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WMF..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.WNM..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/22/CI.TOW2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRV2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRV2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRV2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WVP2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRV2..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WBM..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WNM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WNM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WNM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CCC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WMF..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WCS2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.MPM..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.DTP..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WVP2..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WVP2..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WVP2..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SRT..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HNE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HNN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.LRL..HNZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.CLC..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.SLA..HHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WNM..EHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.WRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..BHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..BHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.JRC2..BHZ.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HHE.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HHN.mseed already exists. Skip. local/demo/waveforms/2019-185/23/CI.TOW2..HHZ.mseed already exists. Skip.
Run Phase Picking: PhaseNet¶
In [5]:
Copied!
run(root_path, "run_phasenet.py")
# run(root_path, "run_phasenet_v2.py")
run(root_path, "run_phasenet.py")
# run(root_path, "run_phasenet_v2.py")
cd ./QuakeFlow/slurm && python run_phasenet_v2.py local demo
/usr/local/python/3.10.8/lib/python3.10/site-packages/kfp/dsl/component_decorator.py:119: FutureWarning: Python 3.7 has reached end-of-life. The default base_image used by the @dsl.component decorator will switch from 'python:3.7' to 'python:3.8' on April 23, 2024. To ensure your existing components work with versions of the KFP SDK released after that date, you should provide an explicit base_image argument and ensure your component works as intended on Python 3.8. return component_factory.create_component_from_func(
num_gpu = 0 python ../EQNet/predict.py --model phasenet --add_polarity --add_event --format mseed --data_list=local/demo/phasenet/mseed_list_000.csv --response_xml=local/demo/obspy/inventory.xml --result_path=local/demo/phasenet --batch_size 1 --workers 1 --folder_depth 3 --device=cpu Not using distributed mode Namespace(model='phasenet', resume='', backbone='unet', phases=['P', 'S'], device='cpu', workers=1, batch_size=1, use_deterministic_algorithms=False, amp=False, world_size=1, dist_url='env://', data_path='./', data_list='local/demo/phasenet/mseed_list_000.csv', hdf5_file=None, prefix='', format='mseed', dataset='das', result_path='local/demo/phasenet', plot_figure=False, min_prob=0.3, add_polarity=True, add_event=True, highpass_filter=0.0, response_xml='local/demo/obspy/inventory.xml', folder_depth=3, cut_patch=False, nt=20480, nx=5120, resample_time=False, resample_space=False, system=None, location=None, skip_existing=False, distributed=False) Total samples: ./.mseed : 315 files
Downloading: "https://github.com/AI4EPS/models/releases/download/PhaseNet-Polarity-v3/model_99.pth" to ./model_99.pth 100%|██████████| 18.1M/18.1M [00:00<00:00, 72.8MB/s] Predicting: 0%| | 0/315 [00:00<?, ?it/s]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 0%| | 1/315 [00:05<29:34, 5.65s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 1%|▏ | 4/315 [00:09<09:51, 1.90s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 2%|▏ | 7/315 [00:13<07:34, 1.47s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 3%|▎ | 10/315 [00:17<06:57, 1.37s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 4%|▍ | 13/315 [00:21<06:56, 1.38s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 5%|▌ | 16/315 [00:25<06:40, 1.34s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 6%|▌ | 19/315 [00:29<06:32, 1.33s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 7%|▋ | 22/315 [00:33<06:24, 1.31s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 8%|▊ | 25/315 [00:37<06:22, 1.32s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 9%|▉ | 28/315 [00:41<06:19, 1.32s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 10%|▉ | 31/315 [00:45<06:08, 1.30s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 11%|█▏ | 36/315 [00:51<06:06, 1.31s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 14%|█▎ | 43/315 [01:01<05:55, 1.31s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 15%|█▍ | 46/315 [01:04<05:55, 1.32s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 16%|█▌ | 49/315 [01:08<05:49, 1.32s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 17%|█▋ | 52/315 [01:12<05:44, 1.31s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 17%|█▋ | 55/315 [01:16<05:42, 1.32s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 18%|█▊ | 58/315 [01:20<05:34, 1.30s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 19%|█▉ | 61/315 [01:24<05:26, 1.28s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 20%|██ | 64/315 [01:28<05:27, 1.31s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 21%|██▏ | 67/315 [01:32<05:24, 1.31s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 22%|██▏ | 70/315 [01:36<05:19, 1.31s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 23%|██▎ | 73/315 [01:40<05:19, 1.32s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 24%|██▍ | 76/315 [01:44<05:12, 1.31s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 26%|██▌ | 81/315 [01:50<05:07, 1.31s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 28%|██▊ | 88/315 [02:00<05:01, 1.33s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 29%|██▉ | 91/315 [02:04<04:57, 1.33s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 30%|██▉ | 94/315 [02:07<04:50, 1.31s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 31%|███ | 97/315 [02:11<04:45, 1.31s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 32%|███▏ | 100/315 [02:15<04:39, 1.30s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 33%|███▎ | 103/315 [02:19<04:42, 1.33s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 34%|███▎ | 106/315 [02:23<04:35, 1.32s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 35%|███▍ | 109/315 [02:27<04:29, 1.31s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 36%|███▌ | 112/315 [02:31<04:29, 1.33s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 37%|███▋ | 115/315 [02:35<04:23, 1.32s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 37%|███▋ | 118/315 [02:39<04:19, 1.32s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 38%|███▊ | 121/315 [02:43<04:14, 1.31s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 40%|████ | 126/315 [02:50<04:13, 1.34s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 42%|████▏ | 133/315 [02:59<03:56, 1.30s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 43%|████▎ | 136/315 [03:03<03:51, 1.29s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 44%|████▍ | 139/315 [03:07<03:49, 1.30s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 45%|████▌ | 142/315 [03:11<03:47, 1.32s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 46%|████▌ | 145/315 [03:15<03:43, 1.31s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 47%|████▋ | 148/315 [03:19<03:41, 1.32s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 48%|████▊ | 151/315 [03:22<03:35, 1.31s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 49%|████▉ | 154/315 [03:26<03:29, 1.30s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 50%|████▉ | 157/315 [03:30<03:28, 1.32s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 51%|█████ | 160/315 [03:34<03:25, 1.33s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 52%|█████▏ | 163/315 [03:38<03:18, 1.30s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 53%|█████▎ | 166/315 [03:42<03:17, 1.32s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 54%|█████▍ | 171/315 [03:49<03:10, 1.32s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 57%|█████▋ | 178/315 [03:58<02:59, 1.31s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 57%|█████▋ | 181/315 [04:02<02:57, 1.32s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 58%|█████▊ | 184/315 [04:06<02:52, 1.31s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 59%|█████▉ | 187/315 [04:10<02:47, 1.31s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 60%|██████ | 190/315 [04:14<02:44, 1.32s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 61%|██████▏ | 193/315 [04:18<02:39, 1.31s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 62%|██████▏ | 196/315 [04:22<02:37, 1.32s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 63%|██████▎ | 199/315 [04:26<02:32, 1.31s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 64%|██████▍ | 202/315 [04:30<02:27, 1.30s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 65%|██████▌ | 205/315 [04:34<02:26, 1.33s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 66%|██████▌ | 208/315 [04:38<02:21, 1.32s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 67%|██████▋ | 211/315 [04:42<02:18, 1.33s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 69%|██████▊ | 216/315 [04:48<02:09, 1.31s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 71%|███████ | 223/315 [04:57<02:00, 1.31s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 72%|███████▏ | 226/315 [05:01<01:55, 1.30s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 73%|███████▎ | 229/315 [05:05<01:53, 1.32s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 74%|███████▎ | 232/315 [05:09<01:49, 1.31s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 75%|███████▍ | 235/315 [05:13<01:43, 1.30s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 76%|███████▌ | 238/315 [05:17<01:41, 1.31s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 77%|███████▋ | 241/315 [05:21<01:37, 1.32s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 77%|███████▋ | 244/315 [05:25<01:33, 1.32s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 78%|███████▊ | 247/315 [05:29<01:28, 1.30s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 79%|███████▉ | 250/315 [05:33<01:25, 1.31s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 80%|████████ | 253/315 [05:37<01:23, 1.35s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 81%|████████▏ | 256/315 [05:41<01:18, 1.33s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 83%|████████▎ | 261/315 [05:47<01:11, 1.32s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 85%|████████▌ | 268/315 [05:56<01:01, 1.31s/it]WARNING:root:Resampling CI.CCC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CCC..BHZ from 40.0 to 100 Hz Predicting: 86%|████████▌ | 271/315 [06:00<00:57, 1.31s/it]WARNING:root:Resampling CI.CLC..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.CLC..BHZ from 40.0 to 100 Hz Predicting: 87%|████████▋ | 274/315 [06:04<00:55, 1.36s/it]WARNING:root:Resampling CI.DTP..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.DTP..BHZ from 40.0 to 100 Hz Predicting: 88%|████████▊ | 277/315 [06:08<00:50, 1.33s/it]WARNING:root:Resampling CI.JRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.JRC2..BHZ from 40.0 to 100 Hz Predicting: 89%|████████▉ | 280/315 [06:12<00:46, 1.32s/it]WARNING:root:Resampling CI.LRL..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.LRL..BHZ from 40.0 to 100 Hz Predicting: 90%|████████▉ | 283/315 [06:16<00:42, 1.33s/it]WARNING:root:Resampling CI.MPM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.MPM..BHZ from 40.0 to 100 Hz Predicting: 91%|█████████ | 286/315 [06:20<00:37, 1.30s/it]WARNING:root:Resampling CI.SLA..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SLA..BHZ from 40.0 to 100 Hz Predicting: 92%|█████████▏| 289/315 [06:24<00:33, 1.30s/it]WARNING:root:Resampling CI.SRT..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.SRT..BHZ from 40.0 to 100 Hz Predicting: 93%|█████████▎| 292/315 [06:28<00:29, 1.30s/it]WARNING:root:Resampling CI.TOW2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.TOW2..BHZ from 40.0 to 100 Hz Predicting: 94%|█████████▎| 295/315 [06:32<00:26, 1.32s/it]WARNING:root:Resampling CI.WBM..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WBM..BHZ from 40.0 to 100 Hz Predicting: 95%|█████████▍| 298/315 [06:36<00:22, 1.31s/it]WARNING:root:Resampling CI.WCS2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WCS2..BHZ from 40.0 to 100 Hz Predicting: 96%|█████████▌| 301/315 [06:40<00:18, 1.32s/it]WARNING:root:Resampling CI.WMF..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WMF..BHZ from 40.0 to 100 Hz Predicting: 97%|█████████▋| 306/315 [06:46<00:11, 1.30s/it]WARNING:root:Resampling CI.WRC2..BHE from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHN from 40.0 to 100 Hz WARNING:root:Resampling CI.WRC2..BHZ from 40.0 to 100 Hz Predicting: 100%|██████████| 315/315 [07:02<00:00, 1.34s/it] Merging picks_phasenet: 315it [00:00, 573.57it/s]
Number of P picks: 35300 Number of S picks: 36384
Merging events_phasenet: 315it [00:00, 647.84it/s]
Run Phase Association: GaMMA¶
In [6]:
Copied!
run(root_path, "run_gamma.py")
run(root_path, "run_gamma.py")
cd ./QuakeFlow/slurm && python run_gamma.py local demo num_nodes: 1 sampling_rate: 100 degree2km: 111.1949 channel: HH*,BH*,EH*,HN* level: response gamma: {'zmin_km': 0, 'zmax_km': 60} cctorch: {'sampling_rate': 100, 'time_before': 0.25, 'time_after': 1.0, 'min_pair_dist_km': 10, 'components': 'ENZ123', 'component_mapping': {'3': 0, '2': 1, '1': 2, 'E': 0, 'N': 1, 'Z': 2}} longitude0: -117.504 latitude0: 35.705 maxradius_degree: 0.5 minlatitude: 35.205 maxlatitude: 36.205 minlongitude: -118.004 maxlongitude: -117.004 starttime: 2019-07-04T17:00:00 endtime: 2019-07-05T00:00:00 provider: ['SCEDC'] network: CI use_dbscan: True use_amplitude: True method: BGMM oversample_factor: 5 vel: {'p': 6.0, 's': 3.4285714285714284} dims: ['x(km)', 'y(km)', 'z(km)'] x(km): [-45.14694189 45.14694189] y(km): [-55.59745 55.59745] z(km): (0, 30) bfgs_bounds: ((-46.14694188923431, 46.14694188923431), (-56.59745, 56.59745), (0, 31), (None, None)) dbscan_eps: 7.240160594465104 dbscan_min_samples: 3 min_picks_per_eq: 5 min_p_picks_per_eq: 0 min_s_picks_per_eq: 0 max_sigma11: 2.0 max_sigma22: 1.0 max_sigma12: 1.0 Associating 506 clusters with 3 CPUs ..................................... Associated 100 events .......................... Initialization 1 did not converge. Associated 200 events ...................... Associated 300 events ...................... Associated 400 events ..................... Associated 500 events ..................................... Associated 600 events ....................... Associated 700 events ................................... Associated 800 events ....................... Associated 900 events .......................... Associated 1000 events .......................... Associated 1100 events .......................... Associated 1200 events ..................... Associated 1300 events ................ Associated 1400 events .......... Initialization 1 did not converge. ....... Associated 1500 events ........................... Associated 1600 events .. Initialization 1 did not converge. ................... Associated 1700 events .................... Associated 1800 events ............................ Associated 1900 events ........................... Associated 2000 events .....
Visualization¶
In [7]:
Copied!
import pandas as pd
import json
import matplotlib.pyplot as plt
import numpy as np
import obspy
import pandas as pd
import json
import matplotlib.pyplot as plt
import numpy as np
import obspy
Read Catalog
In [8]:
Copied!
os.chdir(code_path)
with open(f"{root_path}/{region}/config.json") as f:
config = json.load(f)
plot_standard_catalog = True
gamma_events = pd.read_csv(f"{root_path}/{region}/gamma/gamma_events.csv", parse_dates=["time"])
gamma_events.sort_values("gamma_score", ascending=False, inplace=True)
gamma_picks = pd.read_csv(f"{root_path}/{region}/gamma/gamma_picks.csv", parse_dates=["phase_time"])
gamma_picks["phase_time"] = gamma_picks["phase_time"].dt.tz_localize("UTC")
stations = pd.read_csv(f"{root_path}/{region}/obspy/stations.csv")
stations["location"] = stations["location"].fillna("")
if plot_standard_catalog:
standard_catalog = pd.read_csv(f"{root_path}/{region}/obspy/catalog.csv", parse_dates=["time"])
os.chdir(code_path)
with open(f"{root_path}/{region}/config.json") as f:
config = json.load(f)
plot_standard_catalog = True
gamma_events = pd.read_csv(f"{root_path}/{region}/gamma/gamma_events.csv", parse_dates=["time"])
gamma_events.sort_values("gamma_score", ascending=False, inplace=True)
gamma_picks = pd.read_csv(f"{root_path}/{region}/gamma/gamma_picks.csv", parse_dates=["phase_time"])
gamma_picks["phase_time"] = gamma_picks["phase_time"].dt.tz_localize("UTC")
stations = pd.read_csv(f"{root_path}/{region}/obspy/stations.csv")
stations["location"] = stations["location"].fillna("")
if plot_standard_catalog:
standard_catalog = pd.read_csv(f"{root_path}/{region}/obspy/catalog.csv", parse_dates=["time"])
Select event and picks for visulization
In [9]:
Copied!
event = gamma_events.iloc[0]
picks = gamma_picks[gamma_picks.event_index == event.event_index]
stations["id"] = stations.network + "." + stations.station + "." + stations.location + "." + stations.instrument
stations["dist_km"] = np.sqrt((stations.latitude - event.latitude)**2 + (stations.longitude - event.longitude)**2 * np.cos(event.latitude)**2) * 111.19
event = gamma_events.iloc[0]
picks = gamma_picks[gamma_picks.event_index == event.event_index]
stations["id"] = stations.network + "." + stations.station + "." + stations.location + "." + stations.instrument
stations["dist_km"] = np.sqrt((stations.latitude - event.latitude)**2 + (stations.longitude - event.longitude)**2 * np.cos(event.latitude)**2) * 111.19
Load waveforms
In [10]:
Copied!
begin_time = event.time - pd.Timedelta(seconds=0)
end_time = event.time + pd.Timedelta(seconds=30)
waveforms = obspy.Stream()
try:
waveforms += obspy.read(f"{root_path}/{region}/waveforms/{begin_time.year}-{begin_time.dayofyear:03d}/{begin_time.hour:02d}/*.mseed")
except Exception as e:
print(e)
if end_time.hour != begin_time.hour:
try:
waveforms += obspy.read(f"{root_path}/{region}/waveforms/{end_time.year}-{end_time.dayofyear:03d}/{end_time.hour:02d}/*.mseed")
except Exception as e:
print(e)
stream = waveforms.copy()
stream.trim(obspy.UTCDateTime(begin_time), obspy.UTCDateTime(end_time), pad=True, fill_value=0);
begin_time = event.time - pd.Timedelta(seconds=0)
end_time = event.time + pd.Timedelta(seconds=30)
waveforms = obspy.Stream()
try:
waveforms += obspy.read(f"{root_path}/{region}/waveforms/{begin_time.year}-{begin_time.dayofyear:03d}/{begin_time.hour:02d}/*.mseed")
except Exception as e:
print(e)
if end_time.hour != begin_time.hour:
try:
waveforms += obspy.read(f"{root_path}/{region}/waveforms/{end_time.year}-{end_time.dayofyear:03d}/{end_time.hour:02d}/*.mseed")
except Exception as e:
print(e)
stream = waveforms.copy()
stream.trim(obspy.UTCDateTime(begin_time), obspy.UTCDateTime(end_time), pad=True, fill_value=0);
Plotting picks
In [11]:
Copied!
component = "Z"
stations = stations[stations["component"] == component]
stations.sort_values("dist_km", inplace=True)
stations.reset_index(inplace=True, drop=True)
normalize = lambda x: (x-np.mean(x))/(np.std(x) + np.finfo(float).eps)/4
fig, ax = plt.subplots(figsize=(10, 8))
for i, station in stations.iterrows():
dist_km = station.dist_km
tr = stream.select(id=station.id+component)
if len(tr) == 1:
tr = tr[0]
# ax.plot(tr.times("matplotlib") , normalize(tr.data) + dist_km, "k", linewidth=0.5)
ax.plot(tr.times("matplotlib") , normalize(tr.data) + i, "k", linewidth=0.5)
color = {"P": "r", "S": "b"}
for _, pick in picks.iterrows():
y = stations[stations.id == pick.station_id].index.values[0]
ax.plot([pick.phase_time, pick.phase_time], [y-1, y+1], color[pick.phase_type], linewidth=2)
ax.plot([], [], "r", label="P")
ax.plot([], [], "b", label="S")
ax.legend(loc="lower right")
ax.xaxis_date()
ax.set_xlim(begin_time, end_time)
ax.set_ylim(-1, len(stations))
plt.show()
component = "Z"
stations = stations[stations["component"] == component]
stations.sort_values("dist_km", inplace=True)
stations.reset_index(inplace=True, drop=True)
normalize = lambda x: (x-np.mean(x))/(np.std(x) + np.finfo(float).eps)/4
fig, ax = plt.subplots(figsize=(10, 8))
for i, station in stations.iterrows():
dist_km = station.dist_km
tr = stream.select(id=station.id+component)
if len(tr) == 1:
tr = tr[0]
# ax.plot(tr.times("matplotlib") , normalize(tr.data) + dist_km, "k", linewidth=0.5)
ax.plot(tr.times("matplotlib") , normalize(tr.data) + i, "k", linewidth=0.5)
color = {"P": "r", "S": "b"}
for _, pick in picks.iterrows():
y = stations[stations.id == pick.station_id].index.values[0]
ax.plot([pick.phase_time, pick.phase_time], [y-1, y+1], color[pick.phase_type], linewidth=2)
ax.plot([], [], "r", label="P")
ax.plot([], [], "b", label="S")
ax.legend(loc="lower right")
ax.xaxis_date()
ax.set_xlim(begin_time, end_time)
ax.set_ylim(-1, len(stations))
plt.show()
Plotting catalog
In [12]:
Copied!
gamma_label = "GaMMA"
standard_label = "Standard"
bins = pd.date_range(start=config["starttime"], end=config["endtime"], periods=30)
plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1.0]))
plt.hist(
gamma_events["time"],
bins=bins,
edgecolor="k",
alpha=1.0,
linewidth=0.5,
label=f"{gamma_label}: {len(gamma_events['time'])}",
)
if plot_standard_catalog:
plt.hist(
standard_catalog["time"],
bins=bins,
edgecolor="k",
alpha=0.6,
linewidth=0.5,
label=f"{standard_label}: {len(standard_catalog['time'])}",
)
plt.ylabel("Frequency")
plt.xlabel("Date")
plt.gca().autoscale(enable=True, axis="x", tight=True)
# plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d:%H'))
plt.gcf().autofmt_xdate()
plt.legend()
plt.grid(linestyle="--", linewidth=0.5, alpha=0.5)
plt.show()
gamma_markersize = min(5, 1e5 / len(gamma_events))
standard_markersize = min(5, 1e4 / len(standard_catalog))
plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1.0]))
plt.scatter(
gamma_events["time"], gamma_events["magnitude"], s=gamma_markersize, alpha=1.0, linewidth=0, rasterized=True
)
if plot_standard_catalog:
plt.scatter(
standard_catalog["time"],
standard_catalog["magnitude"],
s=standard_markersize,
alpha=1.0,
linewidth=0,
rasterized=True,
)
plt.ylabel("Magnitude")
plt.xlabel("Date")
plt.gcf().autofmt_xdate()
plt.gca().set_prop_cycle(None)
xlim = plt.xlim()
ylim = plt.ylim()
plt.plot(xlim[0] - 10, ylim[0] - 10, ".", markersize=15, alpha=1.0, label=f"{gamma_label}: {len(gamma_events)}")
plt.plot(xlim[0] - 10, ylim[0] - 10, ".", markersize=15, alpha=1.0, label=f"{standard_label}: {len(standard_catalog)}")
plt.legend(loc="lower right")
plt.xlim(xlim)
plt.ylim(ylim)
plt.grid(linestyle="--", linewidth=0.5, alpha=0.5)
plt.show()
gamma_label = "GaMMA"
standard_label = "Standard"
bins = pd.date_range(start=config["starttime"], end=config["endtime"], periods=30)
plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1.0]))
plt.hist(
gamma_events["time"],
bins=bins,
edgecolor="k",
alpha=1.0,
linewidth=0.5,
label=f"{gamma_label}: {len(gamma_events['time'])}",
)
if plot_standard_catalog:
plt.hist(
standard_catalog["time"],
bins=bins,
edgecolor="k",
alpha=0.6,
linewidth=0.5,
label=f"{standard_label}: {len(standard_catalog['time'])}",
)
plt.ylabel("Frequency")
plt.xlabel("Date")
plt.gca().autoscale(enable=True, axis="x", tight=True)
# plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m-%d:%H'))
plt.gcf().autofmt_xdate()
plt.legend()
plt.grid(linestyle="--", linewidth=0.5, alpha=0.5)
plt.show()
gamma_markersize = min(5, 1e5 / len(gamma_events))
standard_markersize = min(5, 1e4 / len(standard_catalog))
plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1.0]))
plt.scatter(
gamma_events["time"], gamma_events["magnitude"], s=gamma_markersize, alpha=1.0, linewidth=0, rasterized=True
)
if plot_standard_catalog:
plt.scatter(
standard_catalog["time"],
standard_catalog["magnitude"],
s=standard_markersize,
alpha=1.0,
linewidth=0,
rasterized=True,
)
plt.ylabel("Magnitude")
plt.xlabel("Date")
plt.gcf().autofmt_xdate()
plt.gca().set_prop_cycle(None)
xlim = plt.xlim()
ylim = plt.ylim()
plt.plot(xlim[0] - 10, ylim[0] - 10, ".", markersize=15, alpha=1.0, label=f"{gamma_label}: {len(gamma_events)}")
plt.plot(xlim[0] - 10, ylim[0] - 10, ".", markersize=15, alpha=1.0, label=f"{standard_label}: {len(standard_catalog)}")
plt.legend(loc="lower right")
plt.xlim(xlim)
plt.ylim(ylim)
plt.grid(linestyle="--", linewidth=0.5, alpha=0.5)
plt.show()
In [13]:
Copied!
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import cartopy.io.img_tiles as cimgt
# gamma_events = gamma_events[gamma_events["gamma_score"] > 30]
fig = plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1]))
box = dict(boxstyle="round", facecolor="white", alpha=1)
text_loc = [0.05, 0.92]
gamma_markersize = min(5, 1e5 / len(gamma_events["latitude"]))
standard_markersize = min(5, 1e4 / len(standard_catalog["latitude"]))
alpha = 0.3
grd = fig.add_gridspec(ncols=2, nrows=2, width_ratios=[1.5, 1], height_ratios=[1, 1])
ax1 = fig.add_subplot(grd[:, 0], projection=ccrs.PlateCarree())
ax1.set_extent(
[config["minlongitude"], config["maxlongitude"], config["minlatitude"], config["maxlatitude"]],
crs=ccrs.PlateCarree(),
)
ax1.coastlines(resolution="10m", color="gray", linewidth=0.5)
gl = ax1.gridlines(crs=ccrs.PlateCarree(), draw_labels=True, linewidth=0.5, color="gray", alpha=0.5, linestyle="--")
gl.top_labels = False
gl.right_labels = False
ax1.scatter(gamma_events["longitude"], gamma_events["latitude"], s=gamma_markersize, linewidth=0, alpha=alpha)
if plot_standard_catalog:
ax1.scatter(
standard_catalog["longitude"], standard_catalog["latitude"], s=standard_markersize, linewidth=0, alpha=alpha
)
# ax1.axis("scaled")
# ax1.set_xlim([config["minlongitude"], config["maxlongitude"]])
# ax1.set_ylim([config["minlatitude"], config["maxlatitude"]])
# ax1.set_xlabel("Latitude")
# ax1.set_ylabel("Longitude")
ax1.set_prop_cycle(None)
ax1.plot(
config["minlongitude"] - 10, config["minlatitude"] - 10, ".", markersize=10, label=f"{gamma_label}", rasterized=True
)
ax1.plot(
config["minlongitude"] - 10,
config["minlatitude"] - 10,
".",
markersize=10,
label=f"{standard_label}",
rasterized=True,
)
ax1.plot(stations["longitude"], stations["latitude"], "k^", markersize=5, alpha=0.7, label="Stations")
ax1.text(
text_loc[0],
text_loc[1],
"(i)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.legend(loc="lower right")
ax2 = fig.add_subplot(grd[0, 1])
ax2.scatter(
gamma_events["longitude"],
gamma_events["depth_km"],
s=gamma_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
if plot_standard_catalog:
ax2.scatter(
standard_catalog["longitude"],
standard_catalog["depth_km"],
s=standard_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
ax2.set_xlim([config["minlongitude"], config["maxlongitude"]])
ax2.set_ylim([0, 21])
ax2.invert_yaxis()
ax2.set_xlabel("Longitude")
ax2.set_ylabel("Depth (km)")
ax2.set_prop_cycle(None)
ax2.plot(config["minlongitude"] - 10, 31, ".", markersize=10, label=f"{gamma_label}")
ax2.plot(31, 31, ".", markersize=10, label=f"{standard_label}")
ax2.text(
text_loc[0],
text_loc[1],
"(ii)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.legend(loc="lower right")
fig.add_subplot(grd[1, 1])
plt.scatter(
gamma_events["latitude"],
gamma_events["depth_km"],
s=gamma_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
if plot_standard_catalog:
plt.scatter(
standard_catalog["latitude"],
standard_catalog["depth_km"],
s=standard_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
plt.xlim([config["minlatitude"], config["maxlatitude"]])
plt.ylim([0, 21])
plt.gca().invert_yaxis()
plt.xlabel("Latitude")
plt.ylabel("Depth (km)")
plt.gca().set_prop_cycle(None)
plt.plot(config["minlatitude"] - 10, 31, ".", markersize=10, label=f"{gamma_label}")
plt.plot(31, 31, ".", markersize=10, label=f"{standard_label}")
plt.legend(loc="lower right")
plt.tight_layout()
plt.text(
text_loc[0],
text_loc[1],
"(iii)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.show()
import cartopy.crs as ccrs
import cartopy.feature as cfeature
import cartopy.io.img_tiles as cimgt
# gamma_events = gamma_events[gamma_events["gamma_score"] > 30]
fig = plt.figure(figsize=plt.rcParams["figure.figsize"] * np.array([1.5, 1]))
box = dict(boxstyle="round", facecolor="white", alpha=1)
text_loc = [0.05, 0.92]
gamma_markersize = min(5, 1e5 / len(gamma_events["latitude"]))
standard_markersize = min(5, 1e4 / len(standard_catalog["latitude"]))
alpha = 0.3
grd = fig.add_gridspec(ncols=2, nrows=2, width_ratios=[1.5, 1], height_ratios=[1, 1])
ax1 = fig.add_subplot(grd[:, 0], projection=ccrs.PlateCarree())
ax1.set_extent(
[config["minlongitude"], config["maxlongitude"], config["minlatitude"], config["maxlatitude"]],
crs=ccrs.PlateCarree(),
)
ax1.coastlines(resolution="10m", color="gray", linewidth=0.5)
gl = ax1.gridlines(crs=ccrs.PlateCarree(), draw_labels=True, linewidth=0.5, color="gray", alpha=0.5, linestyle="--")
gl.top_labels = False
gl.right_labels = False
ax1.scatter(gamma_events["longitude"], gamma_events["latitude"], s=gamma_markersize, linewidth=0, alpha=alpha)
if plot_standard_catalog:
ax1.scatter(
standard_catalog["longitude"], standard_catalog["latitude"], s=standard_markersize, linewidth=0, alpha=alpha
)
# ax1.axis("scaled")
# ax1.set_xlim([config["minlongitude"], config["maxlongitude"]])
# ax1.set_ylim([config["minlatitude"], config["maxlatitude"]])
# ax1.set_xlabel("Latitude")
# ax1.set_ylabel("Longitude")
ax1.set_prop_cycle(None)
ax1.plot(
config["minlongitude"] - 10, config["minlatitude"] - 10, ".", markersize=10, label=f"{gamma_label}", rasterized=True
)
ax1.plot(
config["minlongitude"] - 10,
config["minlatitude"] - 10,
".",
markersize=10,
label=f"{standard_label}",
rasterized=True,
)
ax1.plot(stations["longitude"], stations["latitude"], "k^", markersize=5, alpha=0.7, label="Stations")
ax1.text(
text_loc[0],
text_loc[1],
"(i)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.legend(loc="lower right")
ax2 = fig.add_subplot(grd[0, 1])
ax2.scatter(
gamma_events["longitude"],
gamma_events["depth_km"],
s=gamma_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
if plot_standard_catalog:
ax2.scatter(
standard_catalog["longitude"],
standard_catalog["depth_km"],
s=standard_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
ax2.set_xlim([config["minlongitude"], config["maxlongitude"]])
ax2.set_ylim([0, 21])
ax2.invert_yaxis()
ax2.set_xlabel("Longitude")
ax2.set_ylabel("Depth (km)")
ax2.set_prop_cycle(None)
ax2.plot(config["minlongitude"] - 10, 31, ".", markersize=10, label=f"{gamma_label}")
ax2.plot(31, 31, ".", markersize=10, label=f"{standard_label}")
ax2.text(
text_loc[0],
text_loc[1],
"(ii)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.legend(loc="lower right")
fig.add_subplot(grd[1, 1])
plt.scatter(
gamma_events["latitude"],
gamma_events["depth_km"],
s=gamma_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
if plot_standard_catalog:
plt.scatter(
standard_catalog["latitude"],
standard_catalog["depth_km"],
s=standard_markersize,
linewidth=0,
alpha=alpha,
rasterized=True,
)
plt.xlim([config["minlatitude"], config["maxlatitude"]])
plt.ylim([0, 21])
plt.gca().invert_yaxis()
plt.xlabel("Latitude")
plt.ylabel("Depth (km)")
plt.gca().set_prop_cycle(None)
plt.plot(config["minlatitude"] - 10, 31, ".", markersize=10, label=f"{gamma_label}")
plt.plot(31, 31, ".", markersize=10, label=f"{standard_label}")
plt.legend(loc="lower right")
plt.tight_layout()
plt.text(
text_loc[0],
text_loc[1],
"(iii)",
horizontalalignment="left",
verticalalignment="top",
transform=plt.gca().transAxes,
fontsize="large",
fontweight="normal",
bbox=box,
)
plt.show()
In [ ]:
Copied!
In [ ]:
Copied!