diff --git a/components/configuration/index.html b/components/configuration/index.html index d439b3bd..b7627bb8 100644 --- a/components/configuration/index.html +++ b/components/configuration/index.html @@ -519,6 +519,19 @@ Example Config + + @@ -688,6 +701,19 @@ Example Config + + @@ -794,6 +820,8 @@
Paths can be relative to the location of the config file or absolute.
diff --git a/components/seismic_data/index.html b/components/seismic_data/index.html index 33c437e8..144ce8ca 100644 --- a/components/seismic_data/index.html +++ b/components/seismic_data/index.html @@ -792,7 +792,7 @@environment
Path to Squirrel environment.
+Path to a Squirrel environment.
waveform_dirs
start_time
Start time for the search.
+Start time for the search in ISO8601.
end_time
End time for the search.
+End time for the search in ISO8601.
highpass
channel_selector
Channel selector for Pyrocko's Squirrel, use e.g. EN?
for selection.
Channel selector for waveforms, use e.g. EN?
for selection of all accelerometer data.
pyrocko_station_yamls
List of Pyrocko station yaml files.
+List of Pyrocko station YAML files.
station_xmls
blacklist
Blacklist as ['NET.STA.LOC', ...]
Blacklist stations and exclude from detecion. Format is ['NET.STA.LOC', ...]
pyrocko_station_yamls
List of Pyrocko station yaml files.
+List of Pyrocko station YAML files.
station_xmls
blacklist
Blacklist as ['NET.STA.LOC', ...]
Blacklist stations and exclude from detecion. Format is ['NET.STA.LOC', ...]
Lassie is an earthquake detection and localisation framework. It combines modern machine learning phase detection and robust migration and stacking techniques.
The detector is leveraging Pyrocko and SeisBench, it is highly-performant and can search massive data sets for seismic activity efficiently.
Citation
TDB
Seismic swarm activity at Iceland, Reykjanes Peninsula during a 2020 unrest. 15,000+ earthquakes detected, outlining a dike intrusion, preceeding the 2021 Fagradasfjall eruption. Visualized in Pyrocko Sparrow.
"},{"location":"#features","title":"Features","text":"Get Started!
"},{"location":"#build-with","title":"Build with","text":""},{"location":"getting_started/","title":"Getting Started","text":""},{"location":"getting_started/#installation","title":"Installation","text":"The installation is straight-forward:
From GitHubpip install git+https://github.com/pyrocko/lassie-v2\n
"},{"location":"getting_started/#running-lassie","title":"Running Lassie","text":"The main entry point in the executeable is the lassie
command. The provided command line interface (CLI) and a JSON config file is all what is needed to run the program.
lassie -h\n
usage: lassie [-h] [--verbose] [--version]\n {init,search,continue,feature-extraction,corrections,serve,clear-cache,dump-schemas}\n ...\n\nLassie - The friendly earthquake detector \ud83d\udc15\n\noptions:\n -h, --help show this help message and exit\n --verbose, -v increase verbosity of the log messages, repeat to\n increase. Default level is INFO\n --version show version and exit\n\ncommands:\n Available commands to run Lassie. Get command help with `lassie <command>\n --help`.\n\n {init,search,continue,feature-extraction,corrections,serve,clear-cache,dump-schemas}\n init initialize a new Lassie project\n search start a search\n continue continue an aborted run\n feature-extraction extract features from an existing run\n corrections analyse station corrections from existing run\n serve start webserver and serve results from an existing run\n clear-cache clear the cach directory\n dump-schemas dump data models to json-schema (development)\n
"},{"location":"getting_started/#initializing-a-new-project","title":"Initializing a New Project","text":"Once installed you can run the lassie executeable to initialize a new project.
Initialize new Projectlassie init my-project\n
Check out the search.json
config file and add your waveform data and velocity models.
Here is a minimal JSON configuration for Lassie
{\n\"project_dir\": \".\",\n\"stations\": {\n \"station_xmls\": [],\n \"pyrocko_station_yamls\": [\"search/pyrocko-stations.yaml\"],\n},\n\"data_provider\": {\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [\"data/\"],\n},\n\"octree\": {\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n},\n\"image_functions\": [\n {\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"torch_use_cuda\": false,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n }\n],\n\"ray_tracers\": [\n {\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n }\n],\n\"station_corrections\": {\n \"rundir\": null,\n \"measure\": \"median\",\n \"weighting\": \"mul-PhaseNet-semblance\",\n \"minimum_num_picks\": 5,\n \"minimum_distance_border\": 2000.0,\n \"minimum_depth\": 3000.0\n},\n\"event_features\": [],\n\"sampling_rate\": 100,\n\"detection_threshold\": 0.05,\n\"detection_blinding\": \"PT2S\",\n\"image_mean_p\": 1.0,\n\"node_split_threshold\": 0.9,\n\"window_length\": \"PT300S\",\n\"n_threads_parstack\": 0,\n\"n_threads_argmax\": 4,\n}\n
For more details and information about the component, head over to details of the modules.
"},{"location":"getting_started/#starting-the-search","title":"Starting the Search","text":"Once happy, start the lassie CLI.
Start earthquake detectionlassie search search.json\n
"},{"location":"visualizing_results/","title":"Visualizing Detections","text":"The event detections are exported in Lassie-native JSON, Pyrocko YAML format and as CSV files.
"},{"location":"visualizing_results/#pyrocko-sparrow","title":"Pyrocko Sparrow","text":"For large data sets use the Pyrocko Sparrow to visualise seismic event detections in 3D. Also seismic stations and many other features from the Pyrocko ecosystem can be integrated into the view.
"},{"location":"visualizing_results/#qgis","title":"QGIS","text":"QGIS can be used to import .csv
and explore the data in an interactive fashion. Detections can be rendered by e.g. the detection semblance or the calculated magnitude.
At center is a JSON configuration file which is parsed by Pydantic.
"},{"location":"components/configuration/#example-config","title":"Example Config","text":"See the following pages for more detailed information about the different building blocks of the config.
Minimal Lassie Config{\n \"project_dir\": \".\",\n \"stations\": {\n \"station_xmls\": [],\n \"pyrocko_station_yamls\": [\"search/pyrocko-stations.yaml\"],\n },\n \"data_provider\": {\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [\"data/\"],\n },\n \"octree\": {\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n },\n \"image_functions\": [\n {\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"torch_use_cuda\": false,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n }\n ],\n \"ray_tracers\": [\n {\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n }\n ],\n \"station_corrections\": {\n \"rundir\": null,\n \"measure\": \"median\",\n \"weighting\": \"mul-PhaseNet-semblance\",\n \"minimum_num_picks\": 5,\n \"minimum_distance_border\": 2000.0,\n \"minimum_depth\": 3000.0\n },\n \"event_features\": [],\n \"sampling_rate\": 100,\n \"detection_threshold\": 0.05,\n \"detection_blinding\": \"PT2S\",\n \"image_mean_p\": 1.0,\n \"node_split_threshold\": 0.9,\n \"window_length\": \"PT300S\",\n \"n_threads_parstack\": 0,\n \"n_threads_argmax\": 4,\n}\n
"},{"location":"components/image_function/","title":"Image Function","text":"For image functions this version of Lassie relies heavily on machine learning pickers delivered by SeisBench.
"},{"location":"components/image_function/#phasenet-image-function","title":"PhaseNet Image Function","text":"Citation PhaseNet
Zhu, Weiqiang, and Gregory C. Beroza. \"PhaseNet: A Deep-Neural-Network-Based Seismic Arrival Time Picking Method.\" arXiv preprint arXiv:1803.03211 (2018).
"},{"location":"components/image_function/#exec-2--phasenet-module","title":"PhaseNet Module","text":"PhaseNet image function. For more details see SeisBench documentation.
Config PhaseNetJSON Blockmodel
SeisBench pre-trained PhaseNet model to use. Choose from ethz
, geofon
, instance
, iquique
, lendb
, neic
, obs
, original
, scedc
, stead
. For more details see SeisBench documentation
window_overlap_samples
Window overlap in samples.
torch_use_cuda
Use CUDA for inference.
torch_cpu_threads
Number of CPU threads to use if only CPU is used.
batch_size
Batch size for inference, larger values can improve performance.
stack_method
Method to stack the overlaping blocks internally. Choose from avg
and max
.
upscale_input
Upscale input by factor. This augments the input data from e.g. 100 Hz to 50 Hz (factor: 2
). Can be useful for high-frequency earthquake signals.
phase_map
Phase mapping from SeisBench PhaseNet to Lassie phases.
weights
Weights for each phase.
JSON block for PhaseNet{\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"window_overlap_samples\": 2000,\n \"torch_use_cuda\": false,\n \"torch_cpu_threads\": 4,\n \"batch_size\": 64,\n \"stack_method\": \"avg\",\n \"upscale_input\": 1,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n}\n
"},{"location":"components/octree/","title":"Octree","text":"A 3D space is searched for sources of seismic energy. Lassie created an octree structure which is iteratively refined when energy is detected, to focus on the source' location. This speeds up the search and improves the resolution of the localisations.
"},{"location":"components/octree/#exec-3--octree-module","title":"Octree Module","text":"Config OctreeJSON Blocklocation
The reference location of the octree.
size_initial
Initial size of a cubic octree node in meters.
size_limit
Smallest possible size of an octree node in meters.
east_bounds
East bounds of the octree in meters.
north_bounds
North bounds of the octree in meters.
depth_bounds
Depth bounds of the octree in meters.
absorbing_boundary
Absorbing boundary in meters. Detections inside the boundary will be tagged.
JSON block for Octree{\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n}\n
"},{"location":"components/ray_tracer/","title":"Ray Tracers","text":"The calculation of seismic travel times is a cornerstone for the migration and stacking approach. Lassie supports different ray tracers for travel time calculation, which can be adapted for different geological settings.
"},{"location":"components/ray_tracer/#constant-velocity","title":"Constant Velocity","text":"The constant velocity models is trivial and follows:
\\[ t_{P} = \\frac{d}{v_P} \\]This module is used for simple use cases and cross-referencing testing.
"},{"location":"components/ray_tracer/#exec-4--constantvelocitytracer-module","title":"ConstantVelocityTracer Module","text":"Config ConstantVelocityTracerJSON Blockphase
Name of the phase.
velocity
Constant velocity of the phase in m/s.
JSON block for ConstantVelocityTracer{\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n}\n
"},{"location":"components/ray_tracer/#1d-layered-model","title":"1D Layered Model","text":"Calculation of travel times in 1D layered media is based on the Pyrocko Cake ray tracer.
Pyrocko Cake 1D ray tracer for travel time calculation in 1D layered media
"},{"location":"components/ray_tracer/#exec-5--caketracer-module","title":"CakeTracer Module","text":"Config CakeTracerJSON Blockphases
Dictionary of phases and timings to calculate.
earthmodel
Earth model to calculate travel times for.
trim_earth_model_depth
Trim earth model to max depth of the octree.
lut_cache_size
Size of the LUT cache. Default is 2G
.
{\n \"tracer\": \"CakeTracer\",\n \"phases\": {\n \"cake:P\": {\n \"definition\": \"P,p\"\n },\n \"cake:S\": {\n \"definition\": \"S,s\"\n }\n },\n \"earthmodel\": {\n \"filename\": \"/home/marius/.cache/lassie/velocity_models/default.nd\",\n \"format\": \"nd\",\n \"crust2_profile\": \"\"\n },\n \"trim_earth_model_depth\": true,\n \"lut_cache_size\": 2147483648\n}\n
"},{"location":"components/ray_tracer/#3d-fast-marching","title":"3D Fast Marching","text":"We implement the fast marching method for calculating first arrivals of waves in 3D volumes. Currently three different 3D velocity models are supported:
interpolation_method
Interpolation method for travel times.Choose from nearest
, linear
or cubic
.
nthreads
Number of threads to use for travel time. If set to 0
, cpu_count*2
will be used.
lut_cache_size
Size of the LUT cache. Default is 2G
.
velocity_model
Velocity model for the ray tracer.
JSON block for FastMarchingTracer{\n \"tracer\": \"FastMarchingRayTracer\",\n \"phase\": \"fm:P\",\n \"interpolation_method\": \"linear\",\n \"nthreads\": 0,\n \"lut_cache_size\": 2147483648,\n \"velocity_model\": {\n \"model\": \"Constant3DVelocityModel\",\n \"grid_spacing\": \"octree\",\n \"velocity\": 5000.0\n }\n}\n
"},{"location":"components/ray_tracer/#visualizing-3d-models","title":"Visualizing 3D Models","text":"For quality check, all 3D velocity models are exported to vtk/
folder as .vti
files. Use ParaView to inspect and explore the velocity models.
Seismic velocity model of the Utah FORGE testbed site, visualized in ParaView.
"},{"location":"components/seismic_data/","title":"Seismic Data","text":""},{"location":"components/seismic_data/#waveform-data","title":"Waveform Data","text":"The seismic can be delivered in MiniSeed or any other format compatible with Pyrocko.
Organize your data in an SDS structure or just a single MiniSeed file.
"},{"location":"components/seismic_data/#exec-7--pyrockosquirrel-module","title":"PyrockoSquirrel Module","text":"Waveform provider using Pyrocko's Squirrel.
Config PyrockoSquirrelJSON Blockenvironment
Path to Squirrel environment.
waveform_dirs
List of directories holding the waveform files.
start_time
Start time for the search.
end_time
End time for the search.
highpass
Highpass filter, corner frequency in Hz.
lowpass
Lowpass filter, corner frequency in Hz.
channel_selector
Channel selector for Pyrocko's Squirrel, use e.g. EN?
for selection.
{\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [],\n \"start_time\": null,\n \"end_time\": null,\n \"highpass\": null,\n \"lowpass\": null,\n \"channel_selector\": \"*\",\n \"async_prefetch_batches\": 4\n}\n
"},{"location":"components/seismic_data/#meta-data","title":"Meta Data","text":"Meta data is required primarily for station locations and codes.
Supported data formats are:
Metadata does not need to include response information for pure detection and localisation. If local magnitudes \\(M_L\\) are extracted response information is required.
"},{"location":"components/seismic_data/#exec-8--stations-module","title":"Stations Module","text":"Config StationsJSON Blockpyrocko_station_yamls
List of Pyrocko station yaml files.
station_xmls
List of StationXML files.
blacklist
Blacklist as ['NET.STA.LOC', ...]
{\n \"pyrocko_station_yamls\": [],\n \"station_xmls\": [],\n \"blacklist\": [],\n \"stations\": []\n}\n
"},{"location":"components/station_corrections/","title":"Station Corrections","text":"Station corrections can be extract from previous runs to refine the localisation accuracy. The corrections can also help to improve the semblance find more events in a dataset.
"},{"location":"components/station_corrections/#exec-9--stations-module","title":"Stations Module","text":"Config StationsJSON Blockpyrocko_station_yamls
List of Pyrocko station yaml files.
station_xmls
List of StationXML files.
blacklist
Blacklist as ['NET.STA.LOC', ...]
{\n \"pyrocko_station_yamls\": [],\n \"station_xmls\": [],\n \"blacklist\": [],\n \"stations\": []\n}\n
"}]}
\ No newline at end of file
+{"config":{"lang":["en"],"separator":"[\\s\\-]+","pipeline":["stopWordFilter"]},"docs":[{"location":"","title":"Welcome to Lassie \ud83d\udc15\u200d\ud83e\uddba","text":"Lassie is an earthquake detection and localisation framework. It combines modern machine learning phase detection and robust migration and stacking techniques.
The detector is leveraging Pyrocko and SeisBench, it is highly-performant and can search massive data sets for seismic activity efficiently.
Citation
TDB
Seismic swarm activity at Iceland, Reykjanes Peninsula during a 2020 unrest. 15,000+ earthquakes detected, outlining a dike intrusion, preceeding the 2021 Fagradasfjall eruption. Visualized in Pyrocko Sparrow.
"},{"location":"#features","title":"Features","text":"Get Started!
"},{"location":"#build-with","title":"Build with","text":""},{"location":"getting_started/","title":"Getting Started","text":""},{"location":"getting_started/#installation","title":"Installation","text":"The installation is straight-forward:
From GitHubpip install git+https://github.com/pyrocko/lassie-v2\n
"},{"location":"getting_started/#running-lassie","title":"Running Lassie","text":"The main entry point in the executeable is the lassie
command. The provided command line interface (CLI) and a JSON config file is all what is needed to run the program.
lassie -h\n
usage: lassie [-h] [--verbose] [--version]\n {init,search,continue,feature-extraction,corrections,serve,clear-cache,dump-schemas}\n ...\n\nLassie - The friendly earthquake detector \ud83d\udc15\n\noptions:\n -h, --help show this help message and exit\n --verbose, -v increase verbosity of the log messages, repeat to\n increase. Default level is INFO\n --version show version and exit\n\ncommands:\n Available commands to run Lassie. Get command help with `lassie <command>\n --help`.\n\n {init,search,continue,feature-extraction,corrections,serve,clear-cache,dump-schemas}\n init initialize a new Lassie project\n search start a search\n continue continue an aborted run\n feature-extraction extract features from an existing run\n corrections analyse station corrections from existing run\n serve start webserver and serve results from an existing run\n clear-cache clear the cach directory\n dump-schemas dump data models to json-schema (development)\n
"},{"location":"getting_started/#initializing-a-new-project","title":"Initializing a New Project","text":"Once installed you can run the lassie executeable to initialize a new project.
Initialize new Projectlassie init my-project\n
Check out the search.json
config file and add your waveform data and velocity models.
Here is a minimal JSON configuration for Lassie
{\n\"project_dir\": \".\",\n\"stations\": {\n \"station_xmls\": [],\n \"pyrocko_station_yamls\": [\"search/pyrocko-stations.yaml\"],\n},\n\"data_provider\": {\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [\"data/\"],\n},\n\"octree\": {\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n},\n\"image_functions\": [\n {\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"torch_use_cuda\": false,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n }\n],\n\"ray_tracers\": [\n {\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n }\n],\n\"station_corrections\": {\n \"rundir\": null,\n \"measure\": \"median\",\n \"weighting\": \"mul-PhaseNet-semblance\",\n \"minimum_num_picks\": 5,\n \"minimum_distance_border\": 2000.0,\n \"minimum_depth\": 3000.0\n},\n\"event_features\": [],\n\"sampling_rate\": 100,\n\"detection_threshold\": 0.05,\n\"detection_blinding\": \"PT2S\",\n\"image_mean_p\": 1.0,\n\"node_split_threshold\": 0.9,\n\"window_length\": \"PT300S\",\n\"n_threads_parstack\": 0,\n\"n_threads_argmax\": 4,\n}\n
For more details and information about the component, head over to details of the modules.
"},{"location":"getting_started/#starting-the-search","title":"Starting the Search","text":"Once happy, start the lassie CLI.
Start earthquake detectionlassie search search.json\n
"},{"location":"visualizing_results/","title":"Visualizing Detections","text":"The event detections are exported in Lassie-native JSON, Pyrocko YAML format and as CSV files.
"},{"location":"visualizing_results/#pyrocko-sparrow","title":"Pyrocko Sparrow","text":"For large data sets use the Pyrocko Sparrow to visualise seismic event detections in 3D. Also seismic stations and many other features from the Pyrocko ecosystem can be integrated into the view.
"},{"location":"visualizing_results/#qgis","title":"QGIS","text":"QGIS can be used to import .csv
and explore the data in an interactive fashion. Detections can be rendered by e.g. the detection semblance or the calculated magnitude.
At center is a JSON configuration file which is parsed by Pydantic.
"},{"location":"components/configuration/#example-config","title":"Example Config","text":"See the following pages for more detailed information about the different building blocks of the config.
Minimal Lassie Config{\n \"project_dir\": \".\",\n \"stations\": {\n \"station_xmls\": [],\n \"pyrocko_station_yamls\": [\"search/pyrocko-stations.yaml\"],\n },\n \"data_provider\": {\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [\"data/\"],\n },\n \"octree\": {\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n },\n \"image_functions\": [\n {\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"torch_use_cuda\": false,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n }\n ],\n \"ray_tracers\": [\n {\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n }\n ],\n \"station_corrections\": {\n \"rundir\": null,\n \"measure\": \"median\",\n \"weighting\": \"mul-PhaseNet-semblance\",\n \"minimum_num_picks\": 5,\n \"minimum_distance_border\": 2000.0,\n \"minimum_depth\": 3000.0\n },\n \"event_features\": [],\n \"sampling_rate\": 100,\n \"detection_threshold\": 0.05,\n \"detection_blinding\": \"PT2S\",\n \"image_mean_p\": 1.0,\n \"node_split_threshold\": 0.9,\n \"window_length\": \"PT300S\",\n \"n_threads_parstack\": 0,\n \"n_threads_argmax\": 4,\n}\n
"},{"location":"components/configuration/#paths","title":"Paths","text":"Paths can be relative to the location of the config file or absolute.
"},{"location":"components/image_function/","title":"Image Function","text":"For image functions this version of Lassie relies heavily on machine learning pickers delivered by SeisBench.
"},{"location":"components/image_function/#phasenet-image-function","title":"PhaseNet Image Function","text":"Citation PhaseNet
Zhu, Weiqiang, and Gregory C. Beroza. \"PhaseNet: A Deep-Neural-Network-Based Seismic Arrival Time Picking Method.\" arXiv preprint arXiv:1803.03211 (2018).
"},{"location":"components/image_function/#exec-2--phasenet-module","title":"PhaseNet Module","text":"PhaseNet image function. For more details see SeisBench documentation.
Config PhaseNetJSON Blockmodel
SeisBench pre-trained PhaseNet model to use. Choose from ethz
, geofon
, instance
, iquique
, lendb
, neic
, obs
, original
, scedc
, stead
. For more details see SeisBench documentation
window_overlap_samples
Window overlap in samples.
torch_use_cuda
Use CUDA for inference.
torch_cpu_threads
Number of CPU threads to use if only CPU is used.
batch_size
Batch size for inference, larger values can improve performance.
stack_method
Method to stack the overlaping blocks internally. Choose from avg
and max
.
upscale_input
Upscale input by factor. This augments the input data from e.g. 100 Hz to 50 Hz (factor: 2
). Can be useful for high-frequency earthquake signals.
phase_map
Phase mapping from SeisBench PhaseNet to Lassie phases.
weights
Weights for each phase.
JSON block for PhaseNet{\n \"image\": \"PhaseNet\",\n \"model\": \"ethz\",\n \"window_overlap_samples\": 2000,\n \"torch_use_cuda\": false,\n \"torch_cpu_threads\": 4,\n \"batch_size\": 64,\n \"stack_method\": \"avg\",\n \"upscale_input\": 1,\n \"phase_map\": {\n \"P\": \"constant:P\",\n \"S\": \"constant:S\"\n },\n \"weights\": {\n \"P\": 1.0,\n \"S\": 1.0\n }\n}\n
"},{"location":"components/octree/","title":"Octree","text":"A 3D space is searched for sources of seismic energy. Lassie created an octree structure which is iteratively refined when energy is detected, to focus on the source' location. This speeds up the search and improves the resolution of the localisations.
"},{"location":"components/octree/#exec-3--octree-module","title":"Octree Module","text":"Config OctreeJSON Blocklocation
The reference location of the octree.
size_initial
Initial size of a cubic octree node in meters.
size_limit
Smallest possible size of an octree node in meters.
east_bounds
East bounds of the octree in meters.
north_bounds
North bounds of the octree in meters.
depth_bounds
Depth bounds of the octree in meters.
absorbing_boundary
Absorbing boundary in meters. Detections inside the boundary will be tagged.
JSON block for Octree{\n \"location\": {\n \"lat\": 0.0,\n \"lon\": 0.0,\n \"east_shift\": 0.0,\n \"north_shift\": 0.0,\n \"elevation\": 0.0,\n \"depth\": 0.0\n },\n \"size_initial\": 2000.0,\n \"size_limit\": 500.0,\n \"east_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"north_bounds\": [\n -10000.0,\n 10000.0\n ],\n \"depth_bounds\": [\n 0.0,\n 20000.0\n ],\n \"absorbing_boundary\": 1000.0\n}\n
"},{"location":"components/ray_tracer/","title":"Ray Tracers","text":"The calculation of seismic travel times is a cornerstone for the migration and stacking approach. Lassie supports different ray tracers for travel time calculation, which can be adapted for different geological settings.
"},{"location":"components/ray_tracer/#constant-velocity","title":"Constant Velocity","text":"The constant velocity models is trivial and follows:
\\[ t_{P} = \\frac{d}{v_P} \\]This module is used for simple use cases and cross-referencing testing.
"},{"location":"components/ray_tracer/#exec-4--constantvelocitytracer-module","title":"ConstantVelocityTracer Module","text":"Config ConstantVelocityTracerJSON Blockphase
Name of the phase.
velocity
Constant velocity of the phase in m/s.
JSON block for ConstantVelocityTracer{\n \"tracer\": \"ConstantVelocityTracer\",\n \"phase\": \"constant:P\",\n \"velocity\": 5000.0\n}\n
"},{"location":"components/ray_tracer/#1d-layered-model","title":"1D Layered Model","text":"Calculation of travel times in 1D layered media is based on the Pyrocko Cake ray tracer.
Pyrocko Cake 1D ray tracer for travel time calculation in 1D layered media
"},{"location":"components/ray_tracer/#exec-5--caketracer-module","title":"CakeTracer Module","text":"Config CakeTracerJSON Blockphases
Dictionary of phases and timings to calculate.
earthmodel
Earth model to calculate travel times for.
trim_earth_model_depth
Trim earth model to max depth of the octree.
lut_cache_size
Size of the LUT cache. Default is 2G
.
{\n \"tracer\": \"CakeTracer\",\n \"phases\": {\n \"cake:P\": {\n \"definition\": \"P,p\"\n },\n \"cake:S\": {\n \"definition\": \"S,s\"\n }\n },\n \"earthmodel\": {\n \"filename\": \"/home/marius/.cache/lassie/velocity_models/default.nd\",\n \"format\": \"nd\",\n \"crust2_profile\": \"\"\n },\n \"trim_earth_model_depth\": true,\n \"lut_cache_size\": 2147483648\n}\n
"},{"location":"components/ray_tracer/#3d-fast-marching","title":"3D Fast Marching","text":"We implement the fast marching method for calculating first arrivals of waves in 3D volumes. Currently three different 3D velocity models are supported:
interpolation_method
Interpolation method for travel times.Choose from nearest
, linear
or cubic
.
nthreads
Number of threads to use for travel time. If set to 0
, cpu_count*2
will be used.
lut_cache_size
Size of the LUT cache. Default is 2G
.
velocity_model
Velocity model for the ray tracer.
JSON block for FastMarchingTracer{\n \"tracer\": \"FastMarchingRayTracer\",\n \"phase\": \"fm:P\",\n \"interpolation_method\": \"linear\",\n \"nthreads\": 0,\n \"lut_cache_size\": 2147483648,\n \"velocity_model\": {\n \"model\": \"Constant3DVelocityModel\",\n \"grid_spacing\": \"octree\",\n \"velocity\": 5000.0\n }\n}\n
"},{"location":"components/ray_tracer/#visualizing-3d-models","title":"Visualizing 3D Models","text":"For quality check, all 3D velocity models are exported to vtk/
folder as .vti
files. Use ParaView to inspect and explore the velocity models.
Seismic velocity model of the Utah FORGE testbed site, visualized in ParaView.
"},{"location":"components/seismic_data/","title":"Seismic Data","text":""},{"location":"components/seismic_data/#waveform-data","title":"Waveform Data","text":"The seismic can be delivered in MiniSeed or any other format compatible with Pyrocko.
Organize your data in an SDS structure or just a single MiniSeed file.
"},{"location":"components/seismic_data/#exec-7--pyrockosquirrel-module","title":"PyrockoSquirrel Module","text":"Waveform provider using Pyrocko's Squirrel.
Config PyrockoSquirrelJSON Blockenvironment
Path to a Squirrel environment.
waveform_dirs
List of directories holding the waveform files.
start_time
Start time for the search in ISO8601.
end_time
End time for the search in ISO8601.
highpass
Highpass filter, corner frequency in Hz.
lowpass
Lowpass filter, corner frequency in Hz.
channel_selector
Channel selector for waveforms, use e.g. EN?
for selection of all accelerometer data.
{\n \"provider\": \"PyrockoSquirrel\",\n \"environment\": \".\",\n \"waveform_dirs\": [],\n \"start_time\": null,\n \"end_time\": null,\n \"highpass\": null,\n \"lowpass\": null,\n \"channel_selector\": \"*\",\n \"async_prefetch_batches\": 4\n}\n
"},{"location":"components/seismic_data/#meta-data","title":"Meta Data","text":"Meta data is required primarily for station locations and codes.
Supported data formats are:
Metadata does not need to include response information for pure detection and localisation. If local magnitudes \\(M_L\\) are extracted response information is required.
"},{"location":"components/seismic_data/#exec-8--stations-module","title":"Stations Module","text":"Config StationsJSON Blockpyrocko_station_yamls
List of Pyrocko station YAML files.
station_xmls
List of StationXML files.
blacklist
Blacklist stations and exclude from detecion. Format is ['NET.STA.LOC', ...]
{\n \"pyrocko_station_yamls\": [],\n \"station_xmls\": [],\n \"blacklist\": [],\n \"stations\": []\n}\n
"},{"location":"components/station_corrections/","title":"Station Corrections","text":"Station corrections can be extract from previous runs to refine the localisation accuracy. The corrections can also help to improve the semblance find more events in a dataset.
"},{"location":"components/station_corrections/#exec-9--stations-module","title":"Stations Module","text":"Config StationsJSON Blockpyrocko_station_yamls
List of Pyrocko station YAML files.
station_xmls
List of StationXML files.
blacklist
Blacklist stations and exclude from detecion. Format is ['NET.STA.LOC', ...]
{\n \"pyrocko_station_yamls\": [],\n \"station_xmls\": [],\n \"blacklist\": [],\n \"stations\": []\n}\n
"}]}
\ No newline at end of file
diff --git a/sitemap.xml.gz b/sitemap.xml.gz
index 81c4b397..087a2e6d 100644
Binary files a/sitemap.xml.gz and b/sitemap.xml.gz differ