.. highlight:: rst .. _dlpick: ###### dlpick ###### **Phase detection and picking on waveforms.** Description =========== dlpick is a highly configurable SeisComP StreamApplication client that reads waveforms from RecordStream and outputs picks, processed by Deep Learning (DL) models, that were created and trained using the SeisBench framework. Installation ------------ Install dlpick using GSM: .. code-block:: sh $ gsm install dlpick This installs three packages: - **dlpick** - this application - **dlbase** - dependency package for deep learning applications - **dlmodels-pick** - DL models, installed to /home/data/dlmodels, by default Workflow -------- .. _fig-dlpick-workflow: .. figure:: media/dlpick-arch.png :align: center :width: 16cm simplified architecture of dlpick Quick start ----------- Like any other SeisComP StreamApplication client, dlpick can read from any RecordStream, attach to a database and messaging. This also means, dlpick can operate in online and offline mode, respectively. Let's start with online mode. Example: Online mode ^^^^^^^^^^^^^^^^^^^^ Make sure to have the necessary seiscomp modules running. For example, if you provide waveforms via seedlink: .. code-block:: sh $ seiscomp start scmaster seedlink While it is possible to start dlpick as a module like above (or via scconfig), we will have a look at the commandline options, first: Without any arguments, dlpick will use the local configuration, connect to the local database and messaging. .. code-block:: sh $ dlpick If you already have global bindings attached to your streams providing `detecStream` and `detecLocid`, dlpick will use its default settings to process streams and send resulting picks to the messaging. One major difference to `scautpick` is that, in general, DL models need three components. Therefore dlpick will try to find three-component channels based on the parameters above. The DL model ^^^^^^^^^^^^ The default DL model is `PhaseNet` with its `original` weights. This model needs 30s input of raw three-component data with sample rate of 100sps. The app takes care of resampling and all pre-processing steps that are specific to the model. Other models can be used, currently only `EQTransformer` and `PhaseNet` architectures are supported. A list of available models, that shipped with your installation: .. code-block:: sh $ dlpick --print-models Try another model. For local seismicity, instance weights are a good choice. .. code-block:: sh $ dlpick --model eqtransformer --weights instance Note that the model and the weights should be written in lower-case. It's possible to use abbreviations for the weights, as well. You could also type `--weights in`. In contrast to PhaseNet, the EQTransformer architecture needs 60s of input data. Confidence thresholds ^^^^^^^^^^^^^^^^^^^^^ The applied DL model outputs data that can be considered as the model's confidence about a P or an S pick for each data sample. This enables us to use confidence thresholds to restrict or relax the number (and quality) of picks. Default thresholds are very low 0.1. For most models and data, a threshold about 0.3 would be appropriate, for P and S respectively. .. code-block:: sh $ dlpick --p-threshold 0.3 --s-threshold 0.3 Overlapping ^^^^^^^^^^^ It is advisable to process waveforms with overlapping time windows. This way the model gets more chances to find phase onsets that are close to the window's borders. But this also means more picks. dlpick uses a reduction algorithm that searches for very dense picks and selects only those with the highest confidence. To set a useful overlapping (between 0.5 and 0.9), but keep in mind that this comes at the expense of performance: .. code-block:: sh $ dlpick --ol-ratio 0.9 Per default, the reduction algorithm ensures picks have a distance of at least 5s to each other. If you think this interval is too wide, you can change it (currently for the corresponding model architecture only), say to 1.9s: .. code-block:: sh $ dlpick --model eqtransformer --weights in --ol-ratio 0.9 --models.eqtransformer.reducePicksInterval=1.9 Performance ^^^^^^^^^^^ **Batches** To improve performance, waveforms should be processed in a batch and, if possible on the GPU. Per default, the batch size is already 32. But this might lead to longer waiting times. If you experience this as a problem, set the batch-size to 1, to process each data window, instantly: .. code-block:: sh $ dlpick --batch-size 1 Batches are packed for each Picker configuration. This means, if multiple streams are processed with the same configuration, only one Picker is in charge. Each picker will try to fill a batch of the same size before processing the data. .. hint:: This behavior might change in future releases, as it can be desirable to have one picker for many streams running with large batch size and another one, say, for only one station that should be At the moment, we only have one Picker configuration since we are doing everything from command line without using the specific dlpick profiles per station. Binding profiles enable to start dlpick with a specific Picker configuration per station. **GPU** If your machine has a CUDA GPU, you should use it accelerate predictions, together with appropriate batch sizes: .. code-block:: sh $ dlpick --gpu --batch-size 128 However, this will be more of advantage in offline mode. Phase hints ^^^^^^^^^^^ Per default, dlpick puts a 'd' in front of the phase name and appends the confidence as percentage: .. code-block:: "dP (93.3%)", "dS (10.1%)" If you need clean phaseHints for your pipeline, change that like this: .. code-block:: sh $ dlpick --phase-prefix "" --phase-postfix "" Output ^^^^^^ If you don't want to send the picks to the messaging, there are other ways, look at these options: 1. **Write to SCML file**: `--ep` 2. **Write CSV file**: `--csv` 3. **Print to terminal**: `--stdout` These options don't take arguments (file names are numbered but will always have the same name stem) and they can be combined. Note, if one of them is provided, sending to message will be deactivated. To activate messaging: `-H localhost` Example offline mode ^^^^^^^^^^^^^^^^^^^^ Of course, dlpick can process miniSEED files and work in offline / playback mode completely: .. code-block:: sh $ dlpick -I waveforms.mseed --inventory-db inventory.xml --config-db config.xml --config-file dlpick.cfg \ --ep --offline --batch-size 512 --gpu --stdout --out /tmp Module Configuration ==================== | :file:`etc/defaults/global.cfg` | :file:`etc/defaults/dlpick.cfg` | :file:`etc/global.cfg` | :file:`etc/dlpick.cfg` | :file:`~/.seiscomp/global.cfg` | :file:`~/.seiscomp/dlpick.cfg` dlpick inherits :ref:`global options`. .. note:: Modules/plugins may require a license file. The default path to license files is :file:`@DATADIR@/licenses/` which can be overridden by global configuration of the parameter :confval:`gempa.licensePath`. Example: :: gempa.licensePath = @CONFIGDIR@/licenses .. confval:: leadTime Default: ``300`` Unit: *s* Type: *int* \(Not implemented\!\) Defines the time in seconds to start picking on waveforms before current time. .. confval:: modelsPath Default: ``/home/data/dlmodels/dlmodels-pick`` Type: *path* Search path for Deep Learning models. This path is also used to look up the file \"dlmodels_maps.json\" holding additional information on the available models. .. confval:: model Type: *string* Name of the picker model. Possible values: phasenet, phasenetv, eqtransformer \- for PhaseNet, VariableLengthPhaseNet and EQTransformer, respectively. .. confval:: weights Type: *string* Name of the weights to load model with. Following the SeisBench naming convention, this is usually the name of the dataset the model was trained on. For example, if you want to load a PhaseNet model with pre\-trained weights on the ETHZ dataset, you would use 'phasenet' as `model` and 'ethz' as `weights` parameter. Apart from that, Gempa's \"dlmodels naming convention\" can be used, but needs to be split in two: E.g., you may find this model in \/home\/data\/dlmodels\/dlmodels\-pick\/ with file stem \"pt\-et\-0\". You can load it by setting the model parameter to 'phasenet' and 'et\-0' as `weights` parameter \(instead of \"ethz\"\). This way you can load any model in that directory, without the need of knowing the actual dataset name. For a list of available models and weights, call `dlpick \-\-print\-models`. .. confval:: phasePrefix Default: ``d`` Type: *string* Prefix that will be put in front of the phase hint. .. confval:: phasePostfix Type: *string* Suffix for the phaseHint string of the pick. This string is interpolated like a Python format string. You can use \"\$c\" as placeholder for the pick confidence. Example: \"\({\$c:.1%}\)\" would result in \"\(56.0%\)\" as a suffix for a pick with confidence 0.56012345, whereas \"{\$c}\" would simply add the confidence to the phase string: \"0.56012345\". Note that \"\$c\" needs to be inside a curly\-brace context to work as a variable. .. confval:: phaseMap Type: *string* Rename phase hints. E.g., to rename P \-> Is and S \-> It: \"P:Is,S:It\" .. confval:: ep Type: *boolean* If set, picks will be dumped to an XML file. Can be combined with `\-\-csv`. You can change the output path using parameter :option:`outDir` or `\-\-out` on the commandline. During a run, dlpick generates consecutively numbered files with the file name stem \"picks\". When the picker is about to finish, those files are merged into one big file with the stem named \"picks\-merged\". If one or more files with the same name already exist, dlpick will also number the file name. .. confval:: csv Type: *boolean* If set, picks will be dumped to csv file. Can be combined with `\-\-ep`. You can change the output path using parameter :option:`outDir` or `\-\-out` on the commandline. For more details see option `\-\-ep`. .. confval:: stdout Type: *boolean* If set, picks will be dumped to stdout in the form of \"`streamID` `phaseHint` : `time` confidence: `confidenceValue` `model` `weights`\". .. confval:: gpu Type: *boolean* If set, model and data will work on the GPU if cuda is available on the machine else on CPU. .. confval:: outDir Type: *string* Set output folder for pick xml\/csv files. .. confval:: filter Type: *string* The filter to apply on the data before it is sent to the picker. This parameter overrides any model filter parameter. .. confval:: minGatherPicksBeforeReduce Default: ``10`` Type: *int* This parameter sets the number of picks that must be staged before the reduction algorithm is applied to them. Details: Minimum\-size criterion for applying the reduction algorithm to a pick buffer. When pushing to or popping from a pick buffer, this criterion is tested as well as the timeout. If one of them is true, the reduction will be applied. \(There is a pick buffer for each stream.\) .. confval:: minTimeBeforeReduce Default: ``10.0`` Unit: *s* Type: *double* This parameter sets the timeout for staging picks until the reduction algorithm is applied to them. After reduction, the timer starts over again. Details: Timeout criterion for applying the reduction algorithm to a pick buffer. When pushing to or popping from a pick buffer, this criterion is tested as well as the minimum picks number. If one of them is true, the reduction will be applied. \(There is a pick buffer for each stream.\) .. confval:: minGatherPicksBeforeFlush Default: ``10`` Type: *int* This parameter sets the number of picks that must be gathered before publishing. Details: Minimum\-size criterion for flushing a pick buffer. When the publisher process tries to pop picks from the pick buffers, this criterion is tested as well as the timeout. If one of them is true, those picks considered as safe\-to\-flush will be sent to the output sinks. .. confval:: minTimeBeforeFlush Default: ``10.0`` Unit: *s* Type: *double* This parameter sets the timeout for gathering picks until they are published. After publishing, the timer starts over again with the next staging of picks, in a buffer. Details: Time criterion for flushing a pick buffer. When the publisher process tries to pop picks from the pick buffers, this criterion is tested as well as the minimum picks number. If one of them is true, those picks considered as safe\-to\-flush will be sent to the output sinks. .. confval:: uncertainPThresh Type: *double* If set, adds additional picks with a lower threshold, marking them with the prefix 'u'. Picks above the normal :option:`PThreshold` are not touched. This currently only applies to xml output. This value can be overridden by the same\-named bindings' config parameter for the corresponding set of stations. .. confval:: uncertainSThresh Type: *double* If set, adds additional picks with a lower threshold, marking them with the prefix 'u'. Picks above the normal :option:`SThreshold` are not touched. This currently only applies to xml output. This value can be overridden by the same\-named bindings' config parameter for the corresponding set of stations. .. _models: .. note:: **models.\*** *Parameters for the picker model types.* .. _models.eqtransformer: .. confval:: models.eqtransformer.traceWindowOlRatio Default: ``0.05`` Type: *double* Ratio defining how much trace windows are overlapping each other. .. confval:: models.eqtransformer.reducePicksOrder Default: ``2`` Type: *int* \(Deprecated\! Don't touch this value\!\) Sets the number of passes for the picks reducing algorithm. The combination of the specific picking algorithm the model applies, picking confidence threshold and the :option:`models.eqtransformer.traceWindowOlRatio` can lead to unwanted dense picks which can be reduced. If set to 0, no reduction is done. If set to 1, the reducer is applied once, which is good for performance but may leave some dense picks. If set to 2, in theory more dense picks are left. For praxis, see note in :option:`models.eqtransformer.reducePicksInterval`. .. confval:: models.eqtransformer.reducePicksInterval Default: ``5.0`` Unit: *s* Type: *double* Sets the time span in seconds before and after a pick where no other pick is supposed to exist. The algorithm leaves only those picks with the highest confidence in the interval. .. confval:: models.eqtransformer.PThreshold Default: ``0.1`` Type: *double* Threshold defining the minimum confidence of for a P pick. .. confval:: models.eqtransformer.SThreshold Default: ``0.1`` Type: *double* Threshold defining the minimum confidence of for an S pick. .. confval:: models.eqtransformer.minPrefDataRatio Default: ``1.33`` Type: *double* \(Surplus\) ratio of data in relation to the actually necessary \(model\-defined\) length that the app shall wait for before passing the data to the inference step. Having surplus data allows finding component overlaps without padding missing data with zeros. .. confval:: models.eqtransformer.maxGap Default: ``0.5`` Unit: *s* Type: *double* \(Not implemented\!\) Maximum gap in seconds that is tolerated for records to be considered as continuous. Note that the gap will be linearly interpolated. .. confval:: models.eqtransformer.snrThreshold Default: ``0`` Type: *double* A pick whose SNR is up to this threshold won't be published. Won't be applied if set to 0. .. confval:: models.eqtransformer.filter Type: *string* The filter to apply on the data before it is sent to the picker. This parameter is overridden by :option:`filter`. .. _models.phasenet: .. confval:: models.phasenet.traceWindowOlRatio Default: ``0.05`` Type: *double* Ratio defining how much trace windows are overlapping each other. .. confval:: models.phasenet.reducePicksOrder Default: ``2`` Type: *int* \(Deprecated\! Don't touch this value\!\) Sets the number of passes for the picks reducing algorithm. The combination of the specific picking algorithm the model applies, picking confidence threshold and the :option:`models.phasenet.traceWindowOlRatio` can lead to unwanted dense picks which can be reduced. If set to 0, no reduction is done. If set to 1, the reducer is applied once, which is good for performance but may leave some dense picks. If set to 2, in theory more dense picks are left. For praxis, see note in :option:`models.phasenet.reducePicksInterval`. .. confval:: models.phasenet.reducePicksInterval Default: ``5.0`` Unit: *s* Type: *double* Sets the time span in seconds before and after a pick where no other pick is supposed to exist. The algorithm leaves only those picks with the highest confidence in the interval. .. confval:: models.phasenet.PThreshold Default: ``0.1`` Type: *double* Threshold defining the minimum confidence of for a P pick. .. confval:: models.phasenet.SThreshold Default: ``0.1`` Type: *double* Threshold defining the minimum confidence of for an S pick. .. confval:: models.phasenet.minPrefDataRatio Default: ``1.33`` Type: *double* \(Surplus\) ratio of data in relation to the actually necessary \(model\-defined\) length that the app shall wait for before passing the data to the inference step. Having surplus data allows finding component overlaps without padding missing data with zeros. .. confval:: models.phasenet.maxGap Default: ``0.5`` Unit: *s* Type: *double* \(Not implemented\!\) Maximum gap in seconds that is tolerated for records to be considered as continuous. Note that the gap will be linearly interpolated. .. confval:: models.phasenet.snrThreshold Default: ``0`` Type: *double* A pick whose SNR is up to this threshold won't be published. Won't be applied if set to 0. .. confval:: models.phasenet.filter Type: *string* The filter to apply on the data before it is sent to the picker. This parameter is overridden by :option:`filter`. Bindings Parameters =================== .. confval:: streamChannels Type: *string* A list of channels as input for the picker model. Overrides `global.detecStream`. The order of channels is determined by the model's \"component_order\" parameter. Therefore, the last letters must be distinct. E.g., 'EHZ,HDF'. 'BH' would tell the model to try to log all three components \(i.e.,BHZ, BHN, BHE\), exactly as :option:`global.detecStream` would do. You can further define that a channel can be neglected if no data is available by annotating it with a ':0', e.g., 'HDF:1,EHZ:0'. Another feature is the possibility to force a specific location code, even though it might not be found in the inventory: 'DN.EHZ:1,HDF:1'. This can be useful if the record stream provides processed data via a fake location 'DN'. .. confval:: model Type: *string* Name of the picker model to use. See module config for details. .. confval:: weights Type: *string* Name of the weights model. Usually the name of the dataset the model was trained on. See module config for details. .. confval:: traceWindowOlRatio Type: *double* Ratio defining how much trace windows are overlapping each other. .. confval:: batchSize Type: *int* Number of data windows to process per picker at the same time. .. confval:: PThreshold Type: *double* Set the confidence threshold for P picks. This value overrides the same\-named config parameter of the chosen model type for the corresponding set of station\(s\). .. confval:: SThreshold Type: *double* Set the confidence threshold for S picks. This value overrides the same\-named config parameter of the chosen model type for the corresponding set of station\(s\). .. confval:: uncertainPThresh Type: *double* If set, adds additional picks with a lower threshold, marking them with the prefix 'u'. Picks above the normal :option:`PThreshold` are not touched. This currently only applies to xml output. This value overrides the same\-named global config parameter for the corresponding set of stations. .. confval:: uncertainSThresh Type: *double* If set, adds additional picks with a lower threshold, marking them with the prefix 'u'. Picks above the normal :option:`SThreshold` are not touched. This currently only applies to xml output. This value overrides the same\-named global config parameter for the corresponding set of stations. .. confval:: minPrefDataRatio Type: *double* \(Surplus\) ratio of data in relation to the actually necessary \(model\-defined\) length that the app shall wait for before passing the data to the inference step. Having surplus data allows finding component overlaps without padding missing data with zeros. This value overrides the same\-named config parameter of the chosen model type for the corresponding set of station\(s\). .. confval:: phaseToComp Type: *string* Map a pick to a component. E.g., 'P:Z,S:Z' would output both P and S on the Z component. Make sure that the station of this binding actually has the corresponding component. If not set, per default, dlpick puts P picks on the vertical and S picks on the first horizontal component. .. confval:: maxGap Unit: *s* Type: *double* \(Not implemented\!\) Maximum gap in seconds that is tolerated for records to be considered as continuous. Note that the gap will be linearly interpolated. .. confval:: minGatherPicksBeforeReduce Default: ``10`` Type: *int* This parameter sets the number of picks that must be staged before the reduction algorithm is applied to them. Details: Minimum\-size criterion for applying the reduction algorithm to a pick buffer. When pushing to or popping from a pick buffer, this criterion is tested as well as the timeout. If one of them is true, the reduction will be applied. \(There is a pick buffer for each stream.\) This value overrides the same\-named global config parameter for the corresponding set of stations. .. confval:: minTimeBeforeReduce Default: ``10.0`` Unit: *s* Type: *double* This parameter sets the timeout for staging picks until the reduction algorithm is applied to them. After reduction, the timer starts over again. Details: Timeout criterion for applying the reduction algorithm to a pick buffer. When pushing to or popping from a pick buffer, this criterion is tested as well as the minimum picks number. If one of them is true, the reduction will be applied. \(There is a pick buffer for each stream.\) This value overrides the same\-named global config parameter for the corresponding set of stations. .. confval:: minGatherPicksBeforeFlush Default: ``10`` Type: *int* This parameter sets the number of picks that must be gathered before publishing. Details: Minimum\-size criterion for flushing a pick buffer. When the publisher process tries to pop picks from the pick buffers, this criterion is tested as well as the timeout. If one of them is true, those picks considered as safe\-to\-flush will be sent to the output sinks. This value overrides the same\-named global config parameter for the corresponding set of stations. .. confval:: minTimeBeforeFlush Default: ``10.0`` Unit: *s* Type: *double* This parameter sets the timeout for gathering picks until they are published. After publishing, the timer starts over again with the next staging of picks, in a buffer. Details: Time criterion for flushing a pick buffer. When the publisher process tries to pop picks from the pick buffers, this criterion is tested as well as the minimum picks number. If one of them is true, those picks considered as safe\-to\-flush will be sent to the output sinks. This value overrides the same\-named global config parameter for the corresponding set of stations. Command-Line Options ==================== :program:`dlpick [options]` .. _Generic: Generic ------- .. option:: -h, --help Show help message. .. option:: -V, --version Show version information. .. option:: --config-file arg Use alternative configuration file. When this option is used the loading of all stages is disabled. Only the given configuration file is parsed and used. To use another name for the configuration create a symbolic link of the application or copy it. Example: scautopick \-> scautopick2. .. option:: --plugins arg Load given plugins. .. option:: -D, --daemon Run as daemon. This means the application will fork itself and doesn't need to be started with \&. .. option:: --auto-shutdown arg Enable\/disable self\-shutdown because a master module shutdown. This only works when messaging is enabled and the master module sends a shutdown message \(enabled with \-\-start\-stop\-msg for the master module\). .. option:: --shutdown-master-module arg Set the name of the master\-module used for auto\-shutdown. This is the application name of the module actually started. If symlinks are used, then it is the name of the symlinked application. .. option:: --shutdown-master-username arg Set the name of the master\-username of the messaging used for auto\-shutdown. If \"shutdown\-master\-module\" is given as well, this parameter is ignored. .. option:: --print-models Print list of available models. .. _Verbosity: Verbosity --------- .. option:: --verbosity arg Verbosity level [0..4]. 0:quiet, 1:error, 2:warning, 3:info, 4:debug. .. option:: -v, --v Increase verbosity level \(may be repeated, eg. \-vv\). .. option:: -q, --quiet Quiet mode: no logging output. .. option:: --component arg Limit the logging to a certain component. This option can be given more than once. .. option:: -s, --syslog Use syslog logging backend. The output usually goes to \/var\/lib\/messages. .. option:: -l, --lockfile arg Path to lock file. .. option:: --console arg Send log output to stdout. .. option:: --debug Execute in debug mode. Equivalent to \-\-verbosity\=4 \-\-console\=1 . .. option:: --log-file arg Use alternative log file. .. _Messaging: Messaging --------- .. option:: -u, --user arg Overrides configuration parameter :confval:`connection.username`. .. option:: -H, --host arg Overrides configuration parameter :confval:`connection.server`. .. option:: -t, --timeout arg Overrides configuration parameter :confval:`connection.timeout`. .. option:: -g, --primary-group arg Overrides configuration parameter :confval:`connection.primaryGroup`. .. option:: -S, --subscribe-group arg A group to subscribe to. This option can be given more than once. .. option:: --content-type arg Overrides configuration parameter :confval:`connection.contentType`. Default: ``binary`` .. option:: --start-stop-msg arg Default: ``0`` Set sending of a start and a stop message. .. _Database: Database -------- .. option:: --db-driver-list List all supported database drivers. .. option:: -d, --database arg The database connection string, format: service:\/\/user:pwd\@host\/database. \"service\" is the name of the database driver which can be queried with \"\-\-db\-driver\-list\". .. option:: --config-module arg The config module to use. .. option:: --inventory-db arg Load the inventory from the given database or file, format: [service:\/\/]location . .. _Records: Records ------- .. option:: --record-driver-list List all supported record stream drivers. .. option:: -I, --record-url arg The recordstream source URL, format: [service:\/\/]location[#type]. \"service\" is the name of the recordstream driver which can be queried with \"\-\-record\-driver\-list\". If \"service\" is not given, \"file:\/\/\" is used. .. option:: --record-file arg Specify a file as record source. .. option:: --record-type arg Specify a type for the records being read. .. _Output: Output ------ .. option:: --ep Overrides configuration parameter :confval:`ep`. .. option:: --csv Overrides configuration parameter :confval:`csv`. .. option:: --stdout Overrides configuration parameter :confval:`stdout`. .. option:: --gpu Overrides configuration parameter :confval:`gpu`. .. option:: --phase-prefix Overrides configuration parameter :confval:`phasePrefix`. .. option:: --phase-postfix Overrides configuration parameter :confval:`phasePostfix`. .. option:: --phase-map Overrides configuration parameter :confval:`phaseMap`. .. option:: --out Overrides configuration parameter :confval:`outDir`. .. option:: --no-file-merging This option prevents that, when the application finishes, all output files are merged into one, which it does per default. .. _Picking: Picking ------- .. option:: --snr-threshold Overrides configuration parameter :confval:`models.eqtransformer.snrThreshold`. .. option:: --p-threshold Overrides configuration parameter :confval:`PThreshold`. .. option:: --s-threshold Overrides configuration parameter :confval:`SThreshold`. .. option:: --p-uncertain Overrides configuration parameter :confval:`uncertainPThresh`. .. option:: --s-uncertain Overrides configuration parameter :confval:`uncertainSThresh`. .. option:: --ol-ratio Overrides configuration parameter :confval:`traceWindowOlRatio`. .. _Mode: Mode ---- .. option:: --model Overrides configuration parameter :confval:`model`. .. option:: --weights Overrides configuration parameter :confval:`weights`. .. option:: --batch-size Overrides configuration parameter :confval:`batchSize`. .. option:: --force-channels Load stations by config but ignore channels specified in detecStream. Force loading streams with channels as listed. E.g., 'HDF:1,EHZ:0', where '1' means 'necessary' and '0' means 'negligible'. In this example, if EHZ data is missing, zeros will be passed to the model, in its place. Attention: Since this parameter is global, use it only with a consistent model architecture. .. option:: --offline Do not connect to messaging server .. option:: --ignore-bindings Ignore station bindings read from config. Parameters from module configuration \(overridden by commandline parameters\) will be used for all stations. .. option:: --prefer-bindings Ignore options set by command line arguments, in case there is a specific station binding for the same parameter. This is useful when you want to test a certain value only on stations that have no bindings, but not on those with bindings, since they have their special settings for a good reason. .. option:: --lead-time \(Not implemented\!\) Look at `leadTime` seconds since now.