From 073d4da2807f265737c0253c559cba6e5fd804f8 Mon Sep 17 00:00:00 2001 From: miili Date: Tue, 31 Oct 2023 00:59:33 +0100 Subject: [PATCH] Deployed bf07e37 with MkDocs version: 1.5.3 --- components/configuration/index.html | 17 +++++++++++++++++ search/search_index.json | 2 +- sitemap.xml.gz | Bin 127 -> 127 bytes 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/components/configuration/index.html b/components/configuration/index.html index b7627bb8..5b5fffe2 100644 --- a/components/configuration/index.html +++ b/components/configuration/index.html @@ -527,6 +527,13 @@ Paths + + +
  • + + Date and Time + +
  • @@ -709,6 +716,13 @@ Paths + + +
  • + + Date and Time + +
  • @@ -822,6 +836,9 @@

    Example Config

    Paths

    Paths can be relative to the location of the config file or absolute.

    +

    Date and Time

    +

    Serialisation of time, dates and date times and durations follow ISO8601 format with timezone information. E.g. 2023-10-28T01:21:21.003+00:00.

    +

    Duration are serialized like PD600S, this example shows 600 seconds - 10 minutes.

    diff --git a/search/search_index.json b/search/search_index.json index 41622294..708748e0 100644 --- a/search/search_index.json +++ b/search/search_index.json @@ -1 +1 @@ -{"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 GitHub
    pip 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 Project
    lassie init my-project\n

    Check out the search.json config file and add your waveform data and velocity models.

    Minimal Configuration Example

    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 detection
    lassie 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.

    "},{"location":"components/configuration/","title":"Lassie Configuration","text":"

    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 Block model

    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 Block location

    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 Block phase

    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 Block phases

    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.

    JSON block for CakeTracer
    {\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:

    "},{"location":"components/ray_tracer/#exec-6--fastmarchingtracer-module","title":"FastMarchingTracer Module","text":"Config FastMarchingTracerJSON Block 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 Block environment

    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.

    JSON block for PyrockoSquirrel
    {\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 Block pyrocko_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', ...]

    JSON block for Stations
    {\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 Block pyrocko_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', ...]

    JSON block for Stations
    {\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 GitHub
    pip 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 Project
    lassie init my-project\n

    Check out the search.json config file and add your waveform data and velocity models.

    Minimal Configuration Example

    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 detection
    lassie 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.

    "},{"location":"components/configuration/","title":"Lassie Configuration","text":"

    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/configuration/#date-and-time","title":"Date and Time","text":"

    Serialisation of time, dates and date times and durations follow ISO8601 format with timezone information. E.g. 2023-10-28T01:21:21.003+00:00.

    Duration are serialized like PD600S, this example shows 600 seconds - 10 minutes.

    "},{"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 Block model

    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 Block location

    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 Block phase

    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 Block phases

    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.

    JSON block for CakeTracer
    {\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:

    "},{"location":"components/ray_tracer/#exec-6--fastmarchingtracer-module","title":"FastMarchingTracer Module","text":"Config FastMarchingTracerJSON Block 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 Block environment

    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.

    JSON block for PyrockoSquirrel
    {\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 Block pyrocko_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', ...]

    JSON block for Stations
    {\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 Block pyrocko_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', ...]

    JSON block for Stations
    {\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 087a2e6ded9c1ae0a62db75f15a0a0b0dd1245a9..196b722d24e0f3ff52d1cee0f0e32a1502cfe8fe 100644 GIT binary patch delta 12 Tcmb=gXOr*d;7E0z$W{pe7R3X1 delta 12 Tcmb=gXOr*d;D~ja$W{pe7MTNX