1 Commits

Author SHA1 Message Date
9015cef0a2 Install SeisComP and scanloc ARM64 packages 2025-10-28 08:21:44 +00:00
879 changed files with 19433 additions and 27343 deletions

Binary file not shown.

Binary file not shown.

BIN
bin/ew2sc

Binary file not shown.

View File

@ -40,7 +40,7 @@ import seiscomp.logging
import seiscomp.client
import seiscomp.system
from seiscomp.math import WGS84_KM_OF_DEGREE
from seiscomp.math import KM_OF_DEGREE
from seiscomp.fdsnws.utils import isRestricted, u_str, b_str
from seiscomp.fdsnws.dataselect import (
@ -72,14 +72,6 @@ from seiscomp.fdsnws.http import (
)
from seiscomp.fdsnws.log import Log
try:
from seiscomp.fdsnws.jwt import JWT
_jwtSupported = True
except ImportError:
_jwtSupported = False
def logSC3(entry):
try:
@ -419,14 +411,6 @@ class FDSNWS(seiscomp.client.Application):
self._access = None
self._checker = None
self._jwtEnabled = False
self._jwtIssuers = ["https://geofon.gfz.de/eas2", "https://login.earthscope.org/"]
self._jwtAudience = ["eas", "fdsn"]
self._jwtAlgorithms = ["RS256"]
self._jwtUpdateMin = 300
self._jwtUpdateMax = 86400
self._jwt = None
self._requestLog = None
self.__reloadRequested = False
self.__timeInventoryLoaded = None
@ -761,42 +745,6 @@ class FDSNWS(seiscomp.client.Application):
except Exception:
pass
# enable JWT extension?
try:
self._jwtEnabled = self.configGetBool("jwt.enable")
except Exception:
pass
# JWT issuers
try:
self._jwtIssuers = self.configGetStrings("jwt.issuers")
except Exception:
pass
# JWT audience
try:
self._jwtAudience = self.configGetStrings("jwt.audience")
except Exception:
pass
# JWT algorithms
try:
self._jwtAlgorithms = self.configGetStrings("jwt.algorithms")
except Exception:
pass
# JWT minimum update period
try:
self._jwtUpdateMin = self.configGetStrings("jwt.updateMinSeconds")
except Exception:
pass
# JWT maximum update period
try:
self._jwtUpdateMax = self.configGetStrings("jwt.updateMaxSeconds")
except Exception:
pass
# If the database connection is passed via command line or
# configuration file then messaging is disabled. Messaging is only used
# to get the configured database connection URI.
@ -930,7 +878,7 @@ Execute on command line with debug output
if self._invCoordinatePrecision is not None:
invCoordinatePrecisionStr = (
f"{self._invCoordinatePrecision} decimal places (≅"
f"{int(WGS84_KM_OF_DEGREE * 1000 / 10**self._invCoordinatePrecision)}m)"
f"{int(KM_OF_DEGREE * 1000 / 10**self._invCoordinatePrecision)}m)"
)
else:
invCoordinatePrecisionStr = "unlimited"
@ -978,13 +926,6 @@ configuration read:
auth
enabled : {self._authEnabled}
gnupgHome : {self._authGnupgHome}
JWT
enabled : {self._jwtEnabled}
issuers : {self._jwtIssuers}
audience : {self._jwtAudience}
algorithms : {self._jwtAlgorithms}
updateMinSeconds : {self._jwtUpdateMin}
updateMaxSeconds : {self._jwtUpdateMax}
requestLog : {self._requestLogFile}"""
)
@ -996,17 +937,6 @@ configuration read:
seiscomp.logging.error("all services disabled through configuration")
return None
if self._jwtEnabled:
if not _jwtSupported:
seiscomp.logging.error(
"JWT is not supported due to missing dependencies"
)
return None
self._jwt = JWT(
self._jwtIssuers, self._jwtAudience, self._jwtAlgorithms, self._jwtUpdateMin, self._jwtUpdateMax
)
# access logger if requested
if self._accessLogFile:
self._accessLog = Log(self._accessLogFile)
@ -1089,16 +1019,9 @@ configuration read:
dataselect.putChild(b"1", dataselect1)
# query
if self._jwtEnabled:
authSession = self._jwt.getAuthSessionWrapper(
FDSNDataSelect, dataSelectInv, self._recordBulkSize, self._access
)
dataselect1.putChild(b"query", authSession)
else:
dataselect1.putChild(
b"query", FDSNDataSelect(dataSelectInv, self._recordBulkSize)
)
dataselect1.putChild(
b"query", FDSNDataSelect(dataSelectInv, self._recordBulkSize)
)
# queryauth
if self._authEnabled:
@ -1127,8 +1050,7 @@ configuration read:
dataselect1.putChild(b"builder", fileRes)
if self._authEnabled:
from seiscomp.fdsnws.authresource import AuthResource
from seiscomp.fdsnws.http import AuthResource
dataselect1.putChild(
b"auth",
AuthResource(DataSelectVersion, self._authGnupgHome, self._userdb),
@ -1258,13 +1180,7 @@ configuration read:
availability.putChild(b"1", availability1)
# query
if self._jwtEnabled:
authSession = self._jwt.getAuthSessionWrapper(
FDSNAvailabilityQuery, self._access
)
availability1.putChild(b"query", authSession)
else:
availability1.putChild(b"query", FDSNAvailabilityQuery())
availability1.putChild(b"query", FDSNAvailabilityQuery())
# queryauth
if self._authEnabled:
@ -1276,13 +1192,7 @@ configuration read:
availability1.putChild(b"queryauth", authSession)
# extent
if self._jwtEnabled:
authSession = self._jwt.getAuthSessionWrapper(
FDSNAvailabilityExtent, self._access
)
availability1.putChild(b"extent", authSession)
else:
availability1.putChild(b"extent", FDSNAvailabilityExtent())
availability1.putChild(b"extent", FDSNAvailabilityExtent())
# extentauth
if self._authEnabled:

Binary file not shown.

Binary file not shown.

View File

@ -107,19 +107,19 @@ def rt_simul(f, speed=1.0, jump=0.0, delaydict=None):
# ------------------------------------------------------------------------------
def usage():
print(
f"""Usage:
{os.path.basename(__file__)} [options] file
"""Usage:
msrtsimul [options] file
miniSEED real-time playback and simulation
{os.path.basename(__file__)} reads sorted (and possibly multiplexed) miniSEED files and
writes individual records in pseudo-real-time. This is useful e.g. for testing and
msrtsimul reads sorted (and possibly multiplexed) miniSEED files and writes
individual records in pseudo-real-time. This is useful e.g. for testing and
simulating data acquisition. Output is
$SEISCOMP_ROOT/var/run/seedlink/mseedfifo unless --seedlink or -c is used.
Verbosity:
-h, --help Display this help message.
-v, --verbose Verbose mode.
-h, --help Display this help message
-v, --verbose Verbose mode
Playback:
-j, --jump Minutes to skip (float).
@ -131,15 +131,14 @@ Playback:
-m --mode Choose between 'realtime' and 'historic'.
-s, --speed Speed factor (float).
--test Test mode.
-u, --unlimited Allow miniSEED records which are not 512 bytes. By default
seedlink supports 512 bytes only.
-u, --unlimited Allow miniSEED records which are not 512 bytes
Examples:
Play back miniSEED waveforms in real time with verbose output
{os.path.basename(__file__)} -v data.mseed
msrtsimul -v data.mseed
Play back miniSEED waveforms in real time skipping the first 1.5 minutes
{os.path.basename(__file__)} -j 1.5 data.mseed
msrtsimul -j 1.5 data.mseed
"""
)
@ -171,7 +170,7 @@ def main():
"help",
"mode=",
"seedlink=",
"unlimited",
"unlimited"
],
)
except GetoptError:
@ -279,7 +278,7 @@ Check if SeedLink is running and configured for real-time playback.
time_diff = None
print(
f"Starting msrtsimul at {datetime.datetime.now(datetime.UTC)}",
f"Starting msrtsimul at {datetime.datetime.utcnow()}",
file=sys.stderr,
)
for rec in inp:
@ -293,7 +292,7 @@ starting on {str(rec.begin_time)}: length != 512 Bytes.",
if time_diff is None:
ms = 1000000.0 * (rec.nsamp / rec.fsamp)
time_diff = (
datetime.datetime.now(datetime.UTC).replace(tzinfo=None)
datetime.datetime.utcnow()
- rec.begin_time
- datetime.timedelta(microseconds=ms)
)

View File

@ -84,7 +84,7 @@ def main():
resp = seiscomp.datamodel.ResponsePAZ_Create()
resp.setType("A")
resp.setGain(args.gain / header["dataScale"])
resp.setGain(args.gain * header["sensitivities"][0]["factor"] / header["dataScale"])
resp.setGainFrequency(0)
resp.setNormalizationFactor(1)
resp.setNormalizationFrequency(0)
@ -93,9 +93,9 @@ def main():
inv.add(resp)
sensor = seiscomp.datamodel.Sensor_Create()
sensor.setName(header["experiment"])
sensor.setDescription(header["measurement"])
sensor.setUnit(header["unit"])
sensor.setName(header["instrument"])
sensor.setDescription(header["instrument"])
sensor.setUnit(header["sensitivities"][0]["unit"])
sensor.setResponse(resp.publicID())
inv.add(sensor)
@ -131,8 +131,8 @@ def main():
cha = seiscomp.datamodel.Stream_Create()
cha.setCode(args.channel)
cha.setStart(net.start())
cha.setGain(args.gain / header["dataScale"])
cha.setGainUnit(header["unit"])
cha.setGain(args.gain * header["sensitivities"][0]["factor"] / header["dataScale"])
cha.setGainUnit(header["sensitivities"][0]["unit"])
cha.setGainFrequency(0)
cha.setSensor(sensor.publicID())
cha.setDatalogger(datalogger.publicID())

BIN
bin/ql2sc

Binary file not shown.

Binary file not shown.

View File

@ -13,14 +13,11 @@
# https://www.gnu.org/licenses/agpl-3.0.html. #
############################################################################
import time
import sys
import os
import seiscomp.core
import seiscomp.client
import seiscomp.datamodel
import seiscomp.logging
import time
import seiscomp.core, seiscomp.client, seiscomp.datamodel, seiscomp.logging
from seiscomp.scbulletin import Bulletin, stationCount
@ -43,8 +40,8 @@ class ProcAlert(seiscomp.client.Application):
self.minPickCount = 25
self.procAlertScript = ""
self.bulletin = None
self.cache = None
ep = seiscomp.datamodel.EventParameters()
def createCommandLineDescription(self):
try:
@ -64,8 +61,7 @@ class ProcAlert(seiscomp.client.Application):
self.commandline().addStringOption(
"Publishing",
"procalert-script",
"Specify the script to publish an event. The ProcAlert file and the "
"event id are passed as parameter $1 and $2",
"Specify the script to publish an event. The ProcAlert file and the event id are passed as parameter $1 and $2",
)
self.commandline().addOption(
"Publishing", "test", "Test mode, no messages are sent"
@ -178,14 +174,13 @@ class ProcAlert(seiscomp.client.Application):
return False
def send_procalert(self, txt, evid):
if not self.procAlertScript:
return
if self.procAlertScript:
tmp = f"/tmp/yyy{evid.replace('/', '_').replace(':', '-')}"
f = file(tmp, "w")
f.write(f"{txt}")
f.close()
file = f"/tmp/yyy{evid.replace('/', '_').replace(':', '-')}"
with open(file, "w", encoding="utf8") as f:
print(txt, file=f)
os.system(self.procAlertScript + " " + file + " " + evid)
os.system(self.procAlertScript + " " + tmp + " " + evid)
def coordinates(self, org):
return org.latitude().value(), org.longitude().value(), org.depth().value()
@ -199,7 +194,7 @@ class ProcAlert(seiscomp.client.Application):
seiscomp.logging.error("suspicious region/depth - ignored")
publish = False
if stationCount(org, 0.5) < self.minPickCount:
if stationCount(org) < self.minPickCount:
seiscomp.logging.error("too few picks - ignored")
publish = False

View File

@ -39,8 +39,6 @@ class ObjectAlert(seiscomp.client.Application):
self.addMessagingSubscription("EVENT")
self.addMessagingSubscription("LOCATION")
self.addMessagingSubscription("MAGNITUDE")
self.addMessagingSubscription("AMPLITUDE")
self.addMessagingSubscription("PICK")
self.setAutoApplyNotifierEnabled(True)
self.setInterpretNotifierEnabled(True)
@ -78,57 +76,50 @@ class ObjectAlert(seiscomp.client.Application):
self.commandline().addOption(
"Generic",
"first-new",
"Calls an event a new event when it is seen the first time.",
"calls an event a new event when it is seen the first time",
)
self.commandline().addGroup("Alert")
self.commandline().addStringOption(
"Alert",
"amp-type",
"Amplitude type to listen to.",
self._ampType,
"Alert", "amp-type", "amplitude type to listen to", self._ampType
)
self.commandline().addStringOption(
"Alert",
"pick-script",
"Script to be called when a pick arrived, network-, station code pick "
"publicID are passed as parameters $1, $2, $3 and $4.",
"script to be called when a pick arrived, network-, station code pick "
"publicID are passed as parameters $1, $2, $3 and $4",
)
self.commandline().addStringOption(
"Alert",
"amp-script",
"Script to be called when a station amplitude arrived, network-, station "
"code, amplitude and amplitude publicID are passed as parameters $1, $2, "
"$3 and $4.",
"script to be called when a station amplitude arrived, network-, station "
"code, amplitude and amplitude publicID are passed as parameters $1, $2, $3 and $4",
)
self.commandline().addStringOption(
"Alert",
"alert-script",
"Script to be called when a preliminary origin arrived, latitude and "
"longitude are passed as parameters $1 and $2.",
"script to be called when a preliminary origin arrived, latitude and "
"longitude are passed as parameters $1 and $2",
)
self.commandline().addStringOption(
"Alert",
"event-script",
"Script to be called when an event has been declared; the message string, "
"a flag (1=new event, 0=update event), the EventID, the arrival count and "
"the magnitude (optional when set) are passed as parameter $1, $2, $3, $4 "
"and $5.",
"script to be called when an event has been declared; the message string, a "
"flag (1=new event, 0=update event), the EventID, the arrival count and the "
"magnitude (optional when set) are passed as parameter $1, $2, $3, $4 and $5",
)
self.commandline().addGroup("Cities")
self.commandline().addStringOption(
"Cities",
"max-dist",
"Maximum distance for using the distance from a city to the earthquake.",
str(self._citiesMaxDist),
"maximum distance for using the distance from a city to the earthquake",
)
self.commandline().addStringOption(
"Cities",
"min-population",
"Minimum population for a city to become a point of interest.",
str(self._citiesMinPopulation),
"minimum population for a city to become a point of interest",
)
self.commandline().addGroup("Debug")
self.commandline().addStringOption("Debug", "eventid,E", "Specify event ID.")
self.commandline().addStringOption("Debug", "eventid,E", "specify Event ID")
return True
def init(self):
@ -183,7 +174,7 @@ class ObjectAlert(seiscomp.client.Application):
phaseStreams = self.configGetStrings("constraints.phaseStreams")
for item in phaseStreams:
rule = item.strip()
# allowned: NET.STA.LOC.CHA and the special charactes ? * | ( )
# rule is NET.STA.LOC.CHA and the special charactes ? * | ( ) are allowed
if not re.fullmatch(r"[A-Z|a-z|0-9|\?|\*|\||\(|\)|\.]+", rule):
seiscomp.logging.error(
f"Wrong stream ID format in `constraints.phaseStreams`: {item}"
@ -568,8 +559,7 @@ class ObjectAlert(seiscomp.client.Application):
break
if not matched:
seiscomp.logging.debug(
f" + stream ID {waveformID} does not match "
"constraints.phaseStreams rules"
f" + stream ID {waveformID} does not match constraints.phaseStreams rules"
)
return
@ -578,8 +568,7 @@ class ObjectAlert(seiscomp.client.Application):
self.notifyPick(obj)
else:
seiscomp.logging.debug(
f" + phase hint {phaseHint} does not match "
f"'{self._phaseHints}'"
f" + phase hint {phaseHint} does not match '{self._phaseHints}'"
)
else:
seiscomp.logging.debug(
@ -750,11 +739,6 @@ class ObjectAlert(seiscomp.client.Application):
seiscomp.logging.debug(f"desc: {dsc}")
try:
evType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
except Exception:
evType = "earthquake"
dep = org.depth().value()
now = seiscomp.core.Time.GMT()
otm = org.time().value()
@ -772,10 +756,14 @@ class ObjectAlert(seiscomp.client.Application):
dt = f"{int(dt)} seconds ago"
if preliminary:
message = f"{evType}, XXL, preliminary, {dt}, {dsc}"
message = f"earthquake, XXL, preliminary, {dt}, {dsc}"
else:
message = f"{evType}, {dt}, {dsc}, {mag}, depth {int(dep + 0.5)} kilometers"
message = "earthquake, %s, %s, %s, depth %d kilometers" % (
dt,
dsc,
mag,
int(dep + 0.5),
)
seiscomp.logging.info(message)
if not self._eventScript:

BIN
bin/scamp

Binary file not shown.

Binary file not shown.

Binary file not shown.

183
bin/scart
View File

@ -300,15 +300,10 @@ class StreamIterator:
self.file = workdir + file
# print "Starting at file %s" % self.file
while begin < end:
self.record, self.index = ar.findIndex(begin, end, self.file)
if self.record:
self.current = self.record.startTime()
self.currentEnd = self.record.endTime()
break
begin = self.archive.stepTime(begin)
workdir, file = ar.location(begin, net, sta, loc, cha)
self.file = workdir + file
self.record, self.index = ar.findIndex(begin, end, self.file)
if self.record:
self.current = self.record.startTime()
self.currentEnd = self.record.endTime()
def __next__(self):
while True:
@ -463,8 +458,7 @@ class RecordRenamer:
def printRules(self):
for r in self.renameRules:
print(
"Renaming "
f"{(r.pattern.pattern if r.pattern is not None else '*.*.*.*')} "
f"Renaming {(r.pattern.pattern if r.pattern is not None else '*.*.*.*')} "
f"to {r.newNet}.{r.newSta}.{r.newLoc}.{r.newCha}",
file=sys.stderr,
)
@ -811,9 +805,10 @@ Usage:
{os.path.basename(__file__)} -d [options] [archive]
{os.path.basename(__file__)} --check [options] [archive]
Import or export miniSEED waveforms into/from an SDS structure. Also check files and
archives. Data streams can be selected in three ways using the combinations of options:
-n -c -t or --nslc -t or --list.
Import miniSEED waveforms or dump records from an SDS structure, sort them,
modify the time and replay them. Also check files and archives.
For Import and Dump mode the data streams can be selected in three ways
using the combinations of options: -n -c -t or --nslc -t or --list
Verbosity:
-h, --help Display this help message.
@ -848,7 +843,7 @@ Processing:
2007-03-28 15:48;2007-03-28 16:18;GE.LAST.*.*
2007-03-28 15:48;2007-03-28 16:18;GE.PMBI..BH?
-m, --modify Dump mode: Modify the record time for real time playback
when dumping. Implicitly sets the speed parameter to 1.
when dumping.
-n arg Import, dump mode: Data stream selection as a comma separated
list "stream1,stream2,streamX" where each stream can be NET or
NET.STA or NET.STA.LOC or NET.STA.LOC.CHA. If CHA is omitted,
@ -863,18 +858,16 @@ Processing:
A rule is "[match-stream:]rename-stream" and match-stream
is optional. match-stream and rename-stream are in the
"NET.STA.LOC.CHA" format. match-stream supports special
characters "?" "*" "|" "(" ")". rename-stream supports the
charactes "?" "*" "|" "(" ")". rename-stream supports the
special character "-" that can be used in place of NET, STA,
LOC, CHA codes with the meaning of not renaming those.
"-" can also be used as the last character in CHA code.
Multiple rules can be provided as a comma separated list
or by providing multiple --rename options.
-s, --sort Dump mode: Sort records.
--speed arg Dump mode: Specify the speed to dump the records as a
multiplier of the real time difference between the records.
A value > 1 will speed up the playback while a value > 0
and < 1 will slow the playback down. This option implies
sorting of the records.
--speed arg Dump mode: Specify the speed to dump the records. A value
of 0 means no delay. Otherwise speed is a multiplier of
the real time difference between the records.
-t, --time-window t1~t2
Import, dump mode: UTC time window filter to be applied to
the data streams. Format: "StartTime~EndTime". Example:
@ -893,7 +886,7 @@ Output:
--print-streams.
--with-filecheck Import mode: Check all accessed files after import. Unsorted
or unreadable files are reported to stderr. Checks are only
complete for files containing exactly one stream. More
complete for files containing exactly one stream. More
complete checks are made with scmssort.
--with-filename Import mode: Print all accessed files to sterr after import.
@ -908,16 +901,11 @@ Import miniSEED data into a SDS archive, check all modified files for errors
{os.path.basename(__file__)} -I file.mseed --with-filecheck $SEISCOMP_ROOT/var/lib/archive
Import miniSEED data from FDSNWS into a SDS archive for specific time range and streams
{os.path.basename(__file__)} -I fdsnws://geofon.gfz.de \
{os.path.basename(__file__)} -I fdsnws://geofon.gfz-potsdam.de \
-t 2022-03-28T15:48~2022-03-28T16:18 --nslc list.file $SEISCOMP_ROOT/var/lib/archive
Check an archive for files with out-of-order records
{os.path.basename(__file__)} --check /archive
Play back miniSEED data from archive at normal speed as in real time and pipe \
them into another application, here scrttv
{os.path.basename(__file__)} -dmv -t 2026-05-01~2026-05-02 /archive | scrttv -I - --offline --no-inventory
"""
@ -976,7 +964,7 @@ def main():
# default = stdin
recordURL = "file://-"
speed = None
speed = 0
stdout = False
outputFile = None
ignoreRecords = False
@ -1050,23 +1038,7 @@ def main():
else:
usage(exitcode=1)
if dump:
if modifyTime and speed is None:
speed = 1
sort = True
elif speed is not None:
if speed <= 0:
print("'--speed' must be greater than 0", file=sys.stderr)
return -1
sort = True
if modifyTime and speed != 1:
print(
"Modify time requested with '--speed' value other than 1. Gaps "
"or overlaps will be created.",
file=sys.stderr,
)
elif not checkSDS and not importMode:
if not dump and not checkSDS and not importMode:
importMode = True
if files:
@ -1144,21 +1116,18 @@ def main():
print(f"Stream file: '{nslcFile}'", file=sys.stderr)
if dump:
flags = []
if speed:
flags.append(f"speed={speed}")
if sort:
flags.append("sort")
if modifyTime:
flags.append("modify time")
flagStr = ""
if flags:
flagStr = f" ({', '.join(flags)})"
print(f"Mode: DUMP{flagStr}", file=sys.stderr)
if not sort and not modifyTime:
print("Mode: DUMP", file=sys.stderr)
elif sort and not modifyTime:
print("Mode: DUMP & SORT", file=sys.stderr)
elif not sort and modifyTime:
print("Mode: DUMP & MODIFY_TIME", file=sys.stderr)
elif sort and modifyTime:
print("Mode: DUMP & SORT & MODIFY_TIME", file=sys.stderr)
print(f"Archive: {archiveDirectory}", file=sys.stderr)
if checkSDS:
print("Mode: CHECK", file=sys.stderr)
print("Mode: Check", file=sys.stderr)
if importMode:
print("Mode: IMPORT", file=sys.stderr)
@ -1188,7 +1157,7 @@ def main():
else:
out = sys.stdout.buffer
# list file with times takes priority over nslc list
# list file witht times takes priority over nslc list
if listFile:
nslcFile = None
@ -1205,8 +1174,7 @@ def main():
for stream in streamFilter:
if stream.tmin >= stream.tmax:
print(
"Info: "
f"ignoring {stream.net}.{stream.sta}.{stream.loc}.{stream.cha} - "
f"Info: ignoring {stream.net}.{stream.sta}.{stream.loc}.{stream.cha} - "
f"start {stream.tmin} after end {stream.tmax}",
file=sys.stderr,
)
@ -1260,9 +1228,8 @@ def main():
f"{stream.cha} {stream.tmin} - {stream.tmax}",
file=sys.stderr,
)
firstRecordEndTime = None
startTime = seiscomp.core.Time.UTC()
stime = None
realTime = seiscomp.core.Time.GMT()
if sort:
records = Sorter(archiveIterator)
@ -1278,34 +1245,36 @@ def main():
if ignoreRecords:
continue
etime = rec.endTime()
etime = seiscomp.core.Time(rec.endTime())
if not firstRecordEndTime:
firstRecordEndTime = seiscomp.core.Time(etime)
if stime is None:
stime = etime
if verbose:
print(
f"First record end time: {firstRecordEndTime.iso()}",
file=sys.stderr,
)
print(f"First record: {stime.iso()}", file=sys.stderr)
if speed:
dt = (etime - firstRecordEndTime).length()
playTime = startTime + seiscomp.core.TimeSpan(dt / speed)
dt = etime - stime
if modifyTime:
recLength = etime - rec.startTime()
rec.setStartTime(seiscomp.core.Time(playTime) - recLength)
now = seiscomp.core.Time.GMT()
sleepSeconds = (playTime - seiscomp.core.Time.UTC()).length()
if sleepSeconds > 0:
time.sleep(sleepSeconds)
if speed > 0:
playTime = (realTime + dt).toDouble() / speed
else:
playTime = now.toDouble()
sleepTime = playTime - now.toDouble()
if sleepTime > 0:
time.sleep(sleepTime)
if modifyTime:
recLength = etime - rec.startTime()
rec.setStartTime(seiscomp.core.Time(playTime) - recLength)
if verbose:
etime = rec.endTime()
print(
f"{rec.streamID()} "
f"current time: {seiscomp.core.Time.LocalTime().iso()}"
f", rec start: {rec.startTime().iso()}"
f", rec end: {rec.startTime().iso()}",
f"{rec.streamID()} time current: "
f"{seiscomp.core.Time.LocalTime().iso()} start: "
f"{rec.startTime().iso()} end: {etime.iso()}",
file=sys.stderr,
)
@ -1560,8 +1529,7 @@ def main():
f = open(archiveDirectory + file, "ab")
except BaseException:
print(
f"File {archiveDirectory + file} could not be opened "
f"for writing",
f"File {archiveDirectory + file} could not be opened for writing",
file=sys.stderr,
)
return -1
@ -1637,8 +1605,8 @@ def main():
print(fileName, file=sys.stderr)
if printStreams and streamDict:
minTime = None
maxTime = None
minTime = seiscomp.core.Time.GMT()
maxTime = str2time("1970-01-01 00:00:00")
totalRecs = 0
totalSamples = 0
totalChans = set()
@ -1656,12 +1624,8 @@ def main():
file=sys.stderr,
)
if minTime:
minTime = min(minTime, str2time(start))
maxTime = max(maxTime, str2time(end))
else:
minTime = str2time(start)
maxTime = str2time(end)
maxTime = max(maxTime, str2time(end))
minTime = min(minTime, str2time(start))
totalChans.add(key)
totalNetworks.add(key.split(".")[0])
@ -1673,17 +1637,28 @@ def main():
"# Summary",
file=sys.stderr,
)
if minTime and maxTime:
print(
f"# time range: {minTime.iso()} - {maxTime.iso()}",
file=sys.stderr,
)
print(
f""""# networks: {len(totalNetworks)}
# stations: {len(totalStations)}
# streams: {len(totalChans)}
# records: {totalRecs}
# samples: {totalSamples}""",
f"# time range: {minTime.iso()} - {maxTime.iso()}",
file=sys.stderr,
)
print(
f"# networks: {len(totalNetworks)}",
file=sys.stderr,
)
print(
f"# stations: {len(totalStations)}",
file=sys.stderr,
)
print(
f"# streams: {len(totalChans)}",
file=sys.stderr,
)
print(
f"# records: {totalRecs}",
file=sys.stderr,
)
print(
f"# samples: {totalSamples}",
file=sys.stderr,
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/sccnv

Binary file not shown.

Binary file not shown.

BIN
bin/scdb

Binary file not shown.

View File

@ -81,20 +81,25 @@ class MySQLDB(QueryInterface):
return tmp_tables
def deleteObjectQuery(self, *v):
q = (
"delete "
+ v[0]
+ " from "
+ ", ".join(v)
+ " where "
+ v[0]
+ "._oid="
+ v[1]
+ "._oid"
)
if v[0]:
q = (
"delete "
+ v[0]
+ " from "
+ ", ".join(v)
+ " where "
+ v[0]
+ "._oid="
+ v[1]
+ "._oid and "
)
else:
q = "delete " + v[1] + " from " + ", ".join(v[1:]) + " where "
for i in range(1, len(v) - 1):
q += " and " + v[i] + "._oid=" + v[i + 1] + "._oid"
if i > 1:
q += " and "
q += v[i] + "._oid=" + v[i + 1] + "._oid"
return q
@ -206,20 +211,25 @@ class PostgresDB(QueryInterface):
return tmp_tables
def deleteObjectQuery(self, *v):
q = (
"delete from "
+ v[0]
+ " using "
+ ", ".join(v[1:])
+ " where "
+ v[0]
+ "._oid="
+ v[1]
+ "._oid"
)
if v[0]:
q = (
"delete from "
+ v[0]
+ " using "
+ ", ".join(v[1:])
+ " where "
+ v[0]
+ "._oid="
+ v[1]
+ "._oid and "
)
else:
q = "delete from " + v[1] + " using " + ", ".join(v[2:]) + " where "
for i in range(1, len(v) - 1):
q += " and " + v[i] + "._oid=" + v[i + 1] + "._oid"
if i > 1:
q += " and "
q += v[i] + "._oid=" + v[i + 1] + "._oid"
return q
@ -323,8 +333,6 @@ class DBCleaner(seiscomp.client.Application):
self._invertMode = False
self._stripEP = True
self._stripQC = True
self._keepModes = [] # Array with modes to keep
self._keepStatus = [] # Array with status to keep
self._steps = 0
self._currentStep = 0
@ -360,18 +368,6 @@ class DBCleaner(seiscomp.client.Application):
"Event-IDs to keep in the database. Combining with 'qc-only' "
"is invalid.",
)
self.commandline().addStringOption(
"Objects",
"keep-event-modes",
"Keep all events where is evaluation mode of the preferred origin is "
"one of the given modes."
)
self.commandline().addStringOption(
"Objects",
"keep-event-status",
"Keep all events where is evaluation status of the preferred origin is "
"one of the given status."
)
self.commandline().addOption(
"Objects",
"qc-only,Q",
@ -477,7 +473,7 @@ class DBCleaner(seiscomp.client.Application):
f"""Usage:
{os.path.basename(__file__)} [options]
Remove event and waveform quality parameters from the database in a timespan. Use
Remove event and waveform quality parameters from the database in a timespan. Use
scardac for removing data availability parameters."""
)
@ -547,19 +543,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
except RuntimeError:
pass
try:
status = self.commandline().optionString("keep-event-status")
self._keepStatus = [s.strip() for s in status.split(",")]
print(status, self._keepStatus)
except RuntimeError:
pass
try:
modes = self.commandline().optionString("keep-event-modes")
self._keepModes = [m.strip() for m in modes.split(",")]
except RuntimeError:
pass
try:
dateTime = self.commandline().optionString("datetime")
except RuntimeError:
@ -711,11 +694,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
self.beginMessage("Search objects")
if not self.runCommand(tmp_object):
return False
tmp_object = "create index idx_oid on tmp_object(_oid)"
if not self.runCommand(tmp_object):
return False
self.endMessage(self.globalCount("tmp_object"))
for table in tables:
@ -805,7 +783,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
self.beginMessage("Deleting waveform quality parameters")
if not self.runCommand(
self._query.deleteObjectQuery("Object", "WaveformQuality")
+ " and "
+ timeRangeSelection(f"WaveformQuality.{self.cnvCol('end')}")
):
return False
@ -845,28 +822,9 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
+ " not in ('%s')" % "','".join(self._keepEvents)
)
if len(self._keepModes) > 0:
old_events += (
" and Origin."
+ self.cnvCol("evaluationMode")
+ " not in ('%s')" % "','".join(self._keepModes)
)
if len(self._keepStatus) > 0:
old_events += (
" and Origin."
+ self.cnvCol("evaluationStatus")
+ " not in ('%s')" % "','".join(self._keepStatus)
)
self.beginMessage("Find old events")
if not self.runCommand(old_events):
return False
old_events = "create index idx_oid on old_events(_oid)"
if not self.runCommand(old_events):
return False
self.endMessage(self.globalCount("old_events"))
# Delete OriginReferences of old events
@ -921,10 +879,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
self.beginMessage("Find unassociated focal mechanisms")
if not self.runCommand(tmp_fm):
return False
tmp_fm = "create index idx_oid on tmp_fm(_oid)"
if not self.runCommand(tmp_fm):
return False
@ -1036,10 +990,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
self.beginMessage("Find unassociated origins")
if not self.runCommand(tmp_origin):
return False
tmp_origin = "create index idx_oid on tmp_origin(_oid)"
if not self.runCommand(tmp_origin):
return False
@ -1048,7 +998,7 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
update tmp_origin set used=1 \
where ("
+ self.cnvCol("publicID")
+ " in (select "
+ " in (select distinct "
+ self.cnvCol("originID")
+ " from OriginReference)) \
or ("
@ -1143,10 +1093,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
)
)
if not self.runCommand(tmp_pick):
return False
tmp_pick = "create index idx_oid on tmp_pick(_oid)"
if not self.runCommand(tmp_pick):
return False
@ -1199,10 +1145,6 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
)
)
if not self.runCommand(tmp_amp):
return False
tmp_amp = "create index idx_oid on tmp_amp(_oid)"
if not self.runCommand(tmp_amp):
return False
@ -1345,27 +1287,27 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
self._query.deleteJournalQuery("PublicObject", *v) + " and used=0"
)
self.runCommand(
self._query.deleteObjectQuery("Object", *v) + " and used=0"
self._query.deleteObjectQuery(None, "Object", *v) + " and used=0"
)
self.runCommand(
self._query.deleteObjectQuery("PublicObject", *v) + " and used=0"
self._query.deleteObjectQuery(None, "PublicObject", *v) + " and used=0"
)
def deleteObjects(self, *v):
self.runCommand(self._query.deleteJournalQuery("PublicObject", *v))
self.runCommand(self._query.deleteObjectQuery(*v))
self.runCommand(self._query.deleteObjectQuery("PublicObject", *v[1:]))
self.runCommand(self._query.deleteObjectQuery("Object", *v[1:]))
self.runCommand(self._query.deleteObjectQuery("Object", *v))
self.runCommand(self._query.deleteObjectQuery("PublicObject", *v))
self.runCommand(self._query.deleteObjectQuery(None, *v))
def deleteUnusedObjects(self, *v):
self.runCommand(
self._query.deleteJournalQuery("PublicObject", *v) + " and used=0"
)
self.runCommand(self._query.deleteObjectQuery(*v) + " and used=0")
self.runCommand(self._query.deleteObjectQuery("Object", *v) + " and used=0")
self.runCommand(
self._query.deleteObjectQuery("PublicObject", *v[1:]) + " and used=0"
self._query.deleteObjectQuery("PublicObject", *v) + " and used=0"
)
self.runCommand(self._query.deleteObjectQuery("Object", *v[1:]) + " and used=0")
self.runCommand(self._query.deleteObjectQuery(None, *v) + " and used=0")
def delete(self, message, func, *v):
self.beginMessage(message)

Binary file not shown.

BIN
bin/scesv

Binary file not shown.

Binary file not shown.

View File

@ -53,7 +53,7 @@ def readXML(self):
if self._eventType:
try:
eventType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
eventType = seiscomp.datamodel.EEventTypeNames_name(evt.type())
if eventType != self._eventType:
continue
except ValueError:
@ -108,16 +108,10 @@ class EventList(seiscomp.client.Application):
)
self.commandline().addGroup("Events")
self.commandline().addStringOption(
"Events",
"begin",
"Specify the lower bound of the time interval. Uses 1900-01-01T00:00:00 "
"unless given.",
"Events", "begin", "Specify the lower bound of the time interval."
)
self.commandline().addStringOption(
"Events",
"end",
"Specify the upper bound of the time interval Uses 2500-01-01T00:00:00 "
"unless given.",
"Events", "end", "Specify the upper bound of the time interval."
)
self.commandline().addStringOption(
"Events",
@ -272,7 +266,7 @@ List event IDs available in a given time range and print to stdout."""
f"""Examples:
Print all event IDs from year 2022 and thereafter
{os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
--begin 2022-01-01T00:00:00
--begin "2022-01-01 00:00:00"
Print all event IDs with event type 'quarry blast'
{os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp --event-type 'quarry blast'
@ -309,7 +303,7 @@ Print IDs of all events in XML file
if self._eventType:
try:
eventType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
eventType = seiscomp.datamodel.EEventTypeNames_name(evt.type())
if eventType != self._eventType:
continue
except ValueError:

View File

@ -295,7 +295,7 @@ class EventStreams(client.Application):
"""Usage:
scevtstreams [options]
Extract stream information and time windows from picks of an event or solitary picks."""
Extract stream information and time windows from an event"""
)
client.Application.printUsage(self)
@ -305,8 +305,8 @@ Extract stream information and time windows from picks of an event or solitary p
Get the time windows for an event in the database:
scevtstreams -E gfz2012abcd -d mysql://sysop:sysop@localhost/seiscomp
Get the time windows for all picks given in an XML file without origins and events:
scevtstreams -i picks.xml -m 120,500
Create lists compatible with fdsnws:
scevtstreams -E gfz2012abcd -i event.xml -m 120,500 --fdsnws
"""
)
@ -314,14 +314,10 @@ Get the time windows for all picks given in an XML file without origins and even
resolveWildcards = self.commandline().hasOption("resolve-wildcards")
picks = []
# read picks from input file
if self.inputFile:
try:
picks = self.readXML()
except IOError as e:
print(f"Error: {e}", file=sys.stderr)
return False
picks = self.readXML()
if not picks:
raise ValueError("Could not find picks in input file")
@ -331,7 +327,6 @@ Get the time windows for all picks given in an XML file without origins and even
pick = datamodel.Pick.Cast(obj)
if pick is None:
continue
picks.append(pick)
if not picks:
@ -507,18 +502,11 @@ Get the time windows for all picks given in an XML file without origins and even
ep = datamodel.EventParameters.Cast(obj)
if ep is None:
# pick may be provided as base object, only one can be read
pick = datamodel.Pick.Cast(obj)
if pick is None:
raise ValueError(
"Neither event parameters nor pick found in input file"
)
else:
return [pick]
raise ValueError("no event parameters found in input file")
# we require at least one origin which references to picks via arrivals
if ep.originCount() == 0 and ep.pickCount() == 0:
raise ValueError("No origin found in input file")
if ep.originCount() == 0:
raise ValueError("no origin found in input file")
originIDs = []
@ -536,7 +524,7 @@ Get the time windows for all picks given in an XML file without origins and even
# use first event/origin if no id was specified
else:
# no event, use first available origin
if ep.eventCount() == 0 and ep.originCount() > 0:
if ep.eventCount() == 0:
if ep.originCount() > 1:
print(
"WARNING: Input file contains no event but more than "
@ -546,7 +534,7 @@ Get the time windows for all picks given in an XML file without origins and even
originIDs.append(ep.origin(0).publicID())
# use origin references of first available event
elif ep.eventCount() > 0 and ep.originCount() > 0:
else:
if ep.eventCount() > 1:
print(
"WARNING: Input file contains more than 1 event. "
@ -558,18 +546,10 @@ Get the time windows for all picks given in an XML file without origins and even
ev.originReference(i).originID()
for i in range(ev.originReferenceCount())
]
else:
print("Found no origins, trying to continue with picks only.")
if originIDs:
print(
f"Considering all arrivals from {len(originIDs)} origin(s).",
file=sys.stderr,
)
# collect pickIDs
pickIDs = set()
for oID in originIDs:
# collect pickIDs from origins
o = datamodel.Origin.Find(oID)
if o is None:
continue
@ -577,11 +557,6 @@ Get the time windows for all picks given in an XML file without origins and even
for i in range(o.arrivalCount()):
pickIDs.add(o.arrival(i).pickID())
if len(pickIDs) == 0:
# try reading picks only
for i in range(ep.pickCount()):
pickIDs.add(ep.pick(i).publicID())
# lookup picks
picks = []
for pickID in pickIDs:
@ -589,9 +564,6 @@ Get the time windows for all picks given in an XML file without origins and even
if pick:
picks.append(pick)
if len(pickIDs) == 0:
print("Found no picks.", file=sys.stderr)
return picks

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/scinv

Binary file not shown.

BIN
bin/scm

Binary file not shown.

BIN
bin/scmag

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/scmm

Binary file not shown.

View File

@ -1,144 +0,0 @@
#!/usr/bin/env seiscomp-python
############################################################################
# Copyright (C) gempa GmbH #
# All rights reserved. #
# Contact: gempa GmbH (seiscomp-dev@gempa.de) #
# #
# GNU Affero General Public License Usage #
# This file may be used under the terms of the GNU Affero #
# Public License version 3.0 as published by the Free Software Foundation #
# and appearing in the file LICENSE included in the packaging of this #
# file. Please review the following information to ensure the GNU Affero #
# Public License version 3.0 requirements will be met: #
# https://www.gnu.org/licenses/agpl-3.0.html. #
# #
# Other Usage #
# Alternatively, this file may be used in accordance with the terms and #
# conditions contained in a signed written agreement between you and #
# gempa GmbH. #
############################################################################
import os
import sys
from getopt import gnu_getopt, GetoptError
from seiscomp import mseedlite as mseed
def usage():
print(
f"""Usage:
{os.path.basename(__file__)} source
Demultiplex all miniSEED records found in the given source by stream code writing them
into separate new files. The source can be files or stdin. One file per stream is
generated. File names are derived from stream codes and the begin time of the records.
Verbosity:
-h, --help Display this help message.
-v, --verbose Verbose mode.
Examples:
Demultiplex the miniSEED records contained in data.mseed and additionally print the
names of created files to stderr
{os.path.basename(__file__)} -v data.mseed
Demultiplex the miniSEED records received from stdin
scmssort -u -E data.mseed | {os.path.basename(__file__)} -
"""
)
def main():
try:
opts, args = gnu_getopt(
sys.argv[1:],
"hv",
[
"help",
"verbose",
],
)
except GetoptError:
print(
f"{os.path.basename(__file__)}: Unknown option",
file=sys.stderr,
)
usage()
return False
verbosity = False
for flag, arg in opts:
if flag in ("-h", "--help"):
usage()
return True
if flag in ("-v", "--verbose"):
verbosity = True
inFile = sys.stdin.buffer
try:
if len(args[0]) > 0:
openFiles = {}
except Exception:
print(
f"{os.path.basename(__file__)}: Missing source",
file=sys.stderr,
)
usage()
sys.exit(1)
if len(args) == 1:
if args[0] != "-":
try:
inFile = open(args[0], "rb")
except IOError as e:
print(
f"Could not open input file '{args[0]}' for reading: {e}",
file=sys.stderr,
)
return False
else:
print(
"Waiting for miniSEED records on stdin. Use Ctrl + C to interrupt.",
file=sys.stderr,
)
elif len(args) != 0:
usage()
sys.exit(1)
try:
for rec in mseed.Input(inFile):
oName = "%s.%s.%s.%s" % (rec.sta, rec.net, rec.loc, rec.cha)
if oName not in openFiles:
postfix = ".D.%04d.%03d.%02d%02d" % (
rec.begin_time.year,
rec.begin_time.timetuple()[7],
rec.begin_time.hour,
rec.begin_time.minute,
)
openFiles[oName] = open(oName + postfix, "ab")
oFile = openFiles[oName]
oFile.write(rec.header + rec.data)
if verbosity:
print("Generated output files:", file=sys.stderr)
for oName in openFiles:
if verbosity:
print(f" {oName}", file=sys.stderr)
openFiles[oName].close()
except KeyboardInterrupt:
return True
return True
if __name__ == "__main__":
sys.exit(main())

BIN
bin/scmv

Binary file not shown.

BIN
bin/scmvx

Binary file not shown.

BIN
bin/scolv

Binary file not shown.

Binary file not shown.

View File

@ -89,14 +89,12 @@ class OriginList(seiscomp.client.Application):
self.commandline().addStringOption(
"Origins",
"begin",
"The lower bound of the time interval. Uses 1900-01-01T00:00:00 unless "
"given.",
"The lower bound of the time interval. Format: '1970-01-01 00:00:00'.",
)
self.commandline().addStringOption(
"Origins",
"end",
"The upper bound of the time interval. Format: 1970-01-01T00:00:00. Uses "
"2500-01-01T00:00:00 unless given.",
"The upper bound of the time interval. Format: '1970-01-01 00:00:00'.",
)
self.commandline().addStringOption(
"Origins", "author", "The author of the origins."
@ -181,7 +179,7 @@ List origin IDs available in a given time range and print to stdout."""
f"""Examples:
Print all origin IDs from year 2022 and thereafter
{os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
--begin 2022-01-01T00:00:00
--begin "2022-01-01 00:00:00"
Print IDs of all events in XML file
{os.path.basename(__file__)} -i origins.xml

Binary file not shown.

View File

@ -13,25 +13,19 @@
# https://www.gnu.org/licenses/agpl-3.0.html. #
############################################################################
import os
import sys
import traceback
import seiscomp.core
import seiscomp.client
import seiscomp.datamodel
import seiscomp.logging
import seiscomp.system
import time, sys, os, traceback
import seiscomp.core, seiscomp.client, seiscomp.datamodel
import seiscomp.logging, seiscomp.system
def createDirectory(directory):
if os.access(directory, os.W_OK):
def createDirectory(dir):
if os.access(dir, os.W_OK):
return True
try:
os.makedirs(directory)
os.makedirs(dir)
return True
except OSError:
except:
return False
@ -52,8 +46,8 @@ def timeSpanToString(ts):
if neg:
return "-%.2d:%.2d:%.2d:%.2d.%06d" % (days, hours, mins, secs, usecs)
return "%.2d:%.2d:%.2d:%.2d.%06d" % (days, hours, mins, secs, usecs)
else:
return "%.2d:%.2d:%.2d:%.2d.%06d" % (days, hours, mins, secs, usecs)
class ProcLatency(seiscomp.client.Application):
@ -141,6 +135,8 @@ class ProcLatency(seiscomp.client.Application):
def logObject(self, parentID, obj, update):
now = seiscomp.core.Time.GMT()
time = None
pick = seiscomp.datamodel.Pick.Cast(obj)
if pick:
phase = ""
@ -203,7 +199,7 @@ class ProcLatency(seiscomp.client.Application):
pass
try:
status = seiscomp.datamodel.EEvaluationStatusNames.name(org.status())
status = seiscomp.datamodel.EOriginStatusNames.name(org.status())
except:
pass
@ -290,7 +286,7 @@ class ProcLatency(seiscomp.client.Application):
sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
if nowDirectory != self._nowDirectory:
if not createDirectory(nowDirectory):
if createDirectory(nowDirectory) == False:
seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
return False
@ -302,7 +298,7 @@ class ProcLatency(seiscomp.client.Application):
)
if triggeredDirectory != self._triggeredDirectory:
if not createDirectory(triggeredDirectory):
if createDirectory(triggeredDirectory) == False:
seiscomp.logging.error(
f"Unable to create directory {triggeredDirectory}"
)
@ -325,7 +321,7 @@ class ProcLatency(seiscomp.client.Application):
# logEntry = timeToString(received)
logEntry = ""
if triggered is not None:
if not triggered is None:
aTriggered = triggered.get()
triggeredDirectory = (
self._directory + "/".join(["%.2d" % i for i in aTriggered[1:4]]) + "/"
@ -345,7 +341,7 @@ class ProcLatency(seiscomp.client.Application):
sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
if nowDirectory != self._nowDirectory:
if not createDirectory(nowDirectory):
if createDirectory(nowDirectory) == False:
seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
return False
@ -357,7 +353,7 @@ class ProcLatency(seiscomp.client.Application):
if triggeredDirectory:
if triggeredDirectory != self._triggeredDirectory:
if not createDirectory(triggeredDirectory):
if createDirectory(triggeredDirectory) == False:
seiscomp.logging.error(
f"Unable to create directory {triggeredDirectory}"
)
@ -373,8 +369,11 @@ class ProcLatency(seiscomp.client.Application):
return True
def writeLog(self, file, text):
with open(file, "a", encoding="utf8") as of:
of.print(text, file=of)
of = open(file, "a")
if of:
of.write(text)
of.write("\n")
of.close()
app = ProcLatency(len(sys.argv), sys.argv)

BIN
bin/scqc

Binary file not shown.

BIN
bin/scqcv

Binary file not shown.

Binary file not shown.

View File

@ -105,14 +105,10 @@ class WfqQuery(seiscomp.client.Application):
self.commandline().addGroup("Query")
self.commandline().addStringOption(
"Query",
"begin,b",
"Begin time of query. Uses 1900-01-01T00:00:00 unless given.",
"Query", "begin,b", "Begin time of query: 'YYYY-MM-DD hh:mm:ss'"
)
self.commandline().addStringOption(
"Query",
"end,e",
"End time of query. Uses current time unless given.",
"Query", "end,e", "End time of query: 'YYYY-MM-DD hh:mm:ss'"
)
self.commandline().addStringOption(
"Query",
@ -120,7 +116,7 @@ class WfqQuery(seiscomp.client.Application):
"Waveform stream ID to search for QC parameters: net.sta.loc.cha -"
" [networkCode].[stationCode].[sensorLocationCode].[channelCode]. "
"Provide a single ID or a comma-separated list. Overrides "
"--streams-from-inventory.",
"--streams-from-inventory",
)
self.commandline().addStringOption(
"Query",
@ -155,8 +151,8 @@ Query a database for waveform quality control (QC) parameters.""",
print(
f"""Examples:
Query rms and delay values for streams 'AU.AS18..SHZ' and 'AU.AS19..SHZ' from \
2021-11-20 00:00:00 until current
{os.path.basename(__file__)} -d localhost -b 2021-11-20T00:00:00 -p rms,delay \
'2021-11-20 00:00:00' until current
{os.path.basename(__file__)} -d localhost -b '2021-11-20 00:00:00' -p rms,delay \
-i AU.AS18..SHZ,AU.AS19..SHZ""",
file=sys.stderr,
)

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -69,8 +69,8 @@ class SendOrigin(seiscomp.client.Application):
"Parameters", "coord", "Latitude,longitude,depth of origin"
)
self.commandline().addStringOption("Parameters", "time", "time of origin")
except Exception:
seiscomp.logging.warning(f"Caught unexpected error {sys.exc_info()}")
except:
seiscomp.logging.warning(f"caught unexpected error {sys.exc_info()}")
def printUsage(self):
print(
@ -85,7 +85,7 @@ Create an artificial origin and send to the messaging"""
print(
"""Examples:
Send an artificial origin with hypocenter parameters to the messaging
scsendorigin --time 2022-05-01T10:00:00 --coord 52,12,10
scsendorigin --time "2022-05-01 10:00:00" --coord 52,12,10
"""
)

Binary file not shown.

Binary file not shown.

View File

@ -359,7 +359,9 @@ Create an output XML file every 60 seconds and execute a custom script to proces
try:
f = open(self._outputFile, "w")
except:
seiscomp.logging.error(f"Unable to create output file: {self._outputFile}")
seiscomp.logging.error(
f"Unable to create output file: {self._outputFile}"
)
return
self.toXML(f)

View File

@ -62,52 +62,50 @@ class VoiceAlert(client.Application):
self.commandline().addOption(
"Generic",
"first-new",
"Calls an event a new event when it is seen the first time.",
"calls an event a new event when it is " "seen the first time",
)
self.commandline().addGroup("Alert")
self.commandline().addStringOption(
"Alert",
"amp-type",
"Specify the amplitude type to listen to.",
"specify the amplitude type to listen to",
self._ampType,
)
self.commandline().addStringOption(
"Alert",
"amp-script",
"Specify the script to be called when a "
"specify the script to be called when a "
"stationamplitude arrived, network-, stationcode and amplitude are "
"passed as parameters $1, $2 and $3.",
"passed as parameters $1, $2 and $3",
)
self.commandline().addStringOption(
"Alert",
"alert-script",
"Specify the script to be called when a "
"specify the script to be called when a "
"preliminary origin arrived, latitude and longitude are passed as "
"parameters $1 and $2.",
"parameters $1 and $2",
)
self.commandline().addStringOption(
"Alert",
"event-script",
"Specify the script to be called when an "
"specify the script to be called when an "
"event has been declared; the message string, a flag (1=new event, "
"0=update event), the EventID, the arrival count and the magnitude "
"(optional when set) are passed as parameter $1, $2, $3, $4 and $5.",
"(optional when set) are passed as parameter $1, $2, $3, $4 and $5",
)
self.commandline().addGroup("Cities")
self.commandline().addStringOption(
"Cities",
"max-dist",
"Maximum distance for using the distance from a city to the earthquake.",
str(self._citiesMaxDist),
"maximum distance for using the distance " "from a city to the earthquake",
)
self.commandline().addStringOption(
"Cities",
"min-population",
"Minimum population for a city to become a point of interest.",
str(self._citiesMinPopulation),
"minimum population for a city to " "become a point of interest",
)
self.commandline().addGroup("Debug")
self.commandline().addStringOption("Debug", "eventid,E", "Specify event ID.")
self.commandline().addStringOption("Debug", "eventid,E", "specify Event ID")
return True
def init(self):

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
bin/sczip

Binary file not shown.

View File

@ -722,8 +722,8 @@ def on_status(args, _):
if env.isModuleEnabled(mod.name) or isinstance(
mod, seiscomp.kernel.CoreModule
):
if mod.status(shouldModuleRun(mod.name)) == 0:
found += 1
mod.status(shouldModuleRun(mod.name))
found += 1
if not useCSV:
print(f"Summary: {found} modules enabled")
@ -733,8 +733,8 @@ def on_status(args, _):
if len(args) > 0 and args[0] == "started":
for mod in mods:
if shouldModuleRun(mod.name):
if mod.status(shouldModuleRun(mod.name)) == 0:
found += 1
mod.status(shouldModuleRun(mod.name))
found += 1
if not useCSV:
print(f"Summary: {found} modules started")
@ -743,8 +743,8 @@ def on_status(args, _):
for mod in mods:
if mod.name in args or len(args) == 0:
if mod.status(shouldModuleRun(mod.name)) == 0:
found += 1
mod.status(shouldModuleRun(mod.name))
found += 1
if not useCSV:
print(f"Summary: {found} modules reported")

View File

@ -86,7 +86,7 @@ class SH2Proc(seiscomp.client.Application):
"""Usage:
sh2proc [options]
Convert Seismic Handler event data to SeisComP XML format which is sent to stdout."""
Convert Seismic Handler event data to SeisComP XML format"""
)
seiscomp.client.Application.printUsage(self)
@ -95,10 +95,10 @@ Convert Seismic Handler event data to SeisComP XML format which is sent to stdou
"""Examples:
Convert the Seismic Handler file shm.evt to SCML. Receive the database
connection to read inventory and configuration information from messaging
sh2proc shm.evt > event.xml
sh2proc shm.evt
Read Seismic Handler data from stdin. Provide inventory and configuration in XML
cat shm.evt | sh2proc --inventory-db=inventory.xml --config-db=config.xml > event.xml
cat shm.evt | sh2proc --inventory-db=inventory.xml --config-db=config.xml
"""
)
@ -489,7 +489,7 @@ Read Seismic Handler data from stdin. Provide inventory and configuration in XML
seiscomp.datamodel.IMPULSIVE,
seiscomp.datamodel.QUESTIONABLE,
]:
if value == seiscomp.datamodel.EPickOnsetNames.name(onset):
if value == seiscomp.datamodel.EPickOnsetNames_name(onset):
pick.setOnset(onset)
found = True
break
@ -524,7 +524,7 @@ Read Seismic Handler data from stdin. Provide inventory and configuration in XML
seiscomp.datamodel.AUTOMATIC,
seiscomp.datamodel.MANUAL,
]:
if value == seiscomp.datamodel.EEvaluationModeNames.name(mode):
if value == seiscomp.datamodel.EEvaluationModeNames_name(mode):
pick.setEvaluationMode(mode)
found = True
break

Binary file not shown.

3673
bin/slmon2

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -8,97 +8,15 @@ connection.subscriptions = EVENT
# Number of seconds to fetch missed updates on start up.
backLog = 1800
# Number of public objects to cache.
cacheSize = 5000
# Maximum number of notifiers to batch in one message. If set to 0 no size
# limit is enforced. Make sure to not hit the overall message size limited of
# 16MiB which is enforced by the messaging system.
batchSize = 2000
# If event synchronisation is enabled and an incoming origin is not yet
# associated with an event on the target machine, then this timeout defines the
# maximum number of seconds to wait for an association.
# associated with an event on the target machine then this timeout defines
# the maximum number of seconds to wait for an association.
eventAssociationTimeout = 10
# Registration of the host profiles defining the connection parameters to the
# QuakeLink hosts.
#hosts = local
# URL of the QuakeLink service, the scheme 'qls' enables SSL.
# Format: [ql[s]://][user:pwd@][host][:port].
# If set to an empty string the application will run without any QuakeLink
# connection attempt.
#host.local.url = ql://localhost:18010
# Enable/disable GZip (GNU zip) compression.
#host.local.gzip = false
# Request native data instead of XML format. Native data export may be disabled
# on some hosts.
#host.local.native = true
# Try to update the event attributes of the target event with the attributes of
# the source event which includes event type and event certainty. It will not
# import events but tries to find the associated event of the input preferred
# origin at the target system and will update the event attributes via
# journaling.
#host.local.syncEventAttributes = true
# Synchronize the preferred origin and preferred magnitude selection if
# different from the imported selection. ql2sc will wait for the event
# association of an imported origin and check if the preferred origin or
# preferred magnitude is different from the imported Quakelink event. If so it
# will send a journal to force selection of the preferred origin and selection
# of the preferred magnitude type. These are the same operations as within
# scolv to fix an origin and a particular magnitude type.
#host.local.syncPreferred = false
# Delays the synchronization of event attributes in seconds if set to a value
# greater than zero.
#host.local.syncEventDelay = 0
# Request server to send keep alive message every 30s to prevent connection
# reset by firewalls on long idle periods. If activated the client will reset
# the connection if no alive message is received within 60s.
#host.local.keepAlive = true
# Server-side SQL like WHERE clause to filter the result set. The actual
# available parameters depend on the QuakeLink server version. Use 'telnet host
# port' followed by 'help select' to connect to a QuakeLink server an request
# available parameters.
# clause := condition[ AND|OR [(]clause[)]] condition :=
# MAG|DEPTH|LAT|LON|PHASES|DIST(lat,lon) op {float} | DIST(lat,lon) IN
# [{float}, {float}] | UPDATED|OTIME op time |
# AGENCY|AUTHOR|STATUS|ESTATUS|EMODE|TYPE|CTYPE|DTYPE|REGION|MAG_T op 'string'
# | MAG|DEPTH|LAT|LON|PHASES|OTIME|UPDATED IS [NOT] NULL FELT|NOT FELT op :=
# =|!=|>|>=|<|<=|eq|gt|ge|lt|ge time := %Y,%m,%d[,%H,%M,%S[,%f]]
#host.local.filter = ""
# Map datamodel class names to messaging groups. For unmapped objects the
# mapping of their parent objects is evaluated recursively. Objects may be
# excluded by mapping them to 'NULL'.
#host.local.routingTable = Pick:IMPORT_GROUP, Amplitude:IMPORT_GROUP, FocalMechanism:EVENT, Origin:EVENT
# Include picks
#host.local.data.picks = true
# Include amplitudes
#host.local.data.amplitudes = true
# Include origin arrivals
#host.local.data.arrivals = true
# Include origin station magnitudes
#host.local.data.staMags = true
# Include moment tensor station contributions and phase settings
#host.local.data.staMts = true
# Include only preferred origin and magnitude information
#host.local.data.preferred = false
# Defines a blacklist of publicID prefixes that are not allowed for processing.
# Separate items by comma.
#processing.blacklist.publicIDs = ""
# Defines a whitelist of publicID prefixes that are allowed for processing.
# Separate items by comma.
#processing.whitelist.publicIDs = ""

View File

@ -1,3 +1,3 @@
# Defines a list of message groups to subscribe to. The default is usually
# given by the application and does not need to be changed.
connection.subscriptions = EVENT, LOCATION, MAGNITUDE, AMPLITUDE, PICK
connection.subscriptions = EVENT, LOCATION, MAGNITUDE

View File

@ -264,6 +264,9 @@ range.above = 0, 999
# A color defined by the color definitions below.
range.above.color = green
# Possible values: enableStream, disableStream
range.above.action = enableStream
#
range.below = -99, -11
@ -274,6 +277,9 @@ range.below.count = 0
# A color defined by the color definitions below.
range.below.color = grey
# Possible values: enableStream, disableStream
range.below.action = disableStream
#
range.timing = -200, -100

View File

@ -18,7 +18,7 @@ resortAutomatically = true
showPicks = true
# Defines the filters to be used when filtering is activated.
filters = "BW 0.5 - 8.0 Hz;RMHP(2)>>ITAPER(5)>>BW(3, 0.5, 8.0)","HP 3.0 Hz;RMHP(2)>>ITAPER(5)>>BW_HP(3, 3)"
filters = "RMHP(2)>>ITAPER(5)>>BW(3, 0.5, 8.0)","RMHP(2)>>ITAPER(5)>>BW_HP(3, 3)"
# Activates the first filter of the configured filter list after startup. This
# is equivalent to pressing 'f'.

View File

@ -72,11 +72,10 @@
<parameter name="realtimeGap" type="int" unit="s">
<description>
Restrict end time of requests to current time - realtimeGap
seconds. Negative values are allowed. Used in fdsnws-dataselect.
WARNING: If this value is unset and a real-time RecordStream
(e.g. slink) is used, requests may block if end times in the
future are requested.
seconds. Negative values allowed. Used in fdsnws-dataselect.
WARNING: If this value is unset and a realtime recordsource
(e.g. slink) is used, requests may block if end time in future
is requested.
</description>
</parameter>
<parameter name="samplesM" type="float">
@ -91,7 +90,7 @@
Set the number of bytes to buffer for each chunk of waveform data
served to the client. The lower the buffer the higher the overhead
of Python Twisted. The higher the buffer the higher the memory
usage per request. 100 kB seems to be a good trade-off.
usage per request. 100kB seems to be a good trade-off.
</description>
</parameter>
<parameter name="htpasswd" type="string" default="@CONFIGDIR@/fdsnws.htpasswd">
@ -104,12 +103,12 @@
</parameter>
<parameter name="accessLog" type="string">
<description>
Path to access log file. If unset, no access log is created.
Path to access log file. If unset no access log is created.
</description>
</parameter>
<parameter name="requestLog" type="string">
<description>
Path to request log file. If unset, no request log is created.
Path to request log file. If unset no request log is created.
</description>
</parameter>
<parameter name="userSalt" type="string">
@ -122,10 +121,7 @@
List of domain names Cross-Origin Resource Sharing (CORS)
request may originate from. A value of '*' allows any web page
to embed your service. An empty value will switch of CORS
requests entirely.
Example of multiple domains:
requests entirely. An example of multiple domains might be:
'https://test.domain.de, https://production.domain.de'.
</description>
</parameter>
@ -158,7 +154,7 @@
If enabled, event comment elements are no longer accessible.
</description>
</parameter>
<parameter name="evaluationMode" type="string" values=",automatic,manual">
<parameter name="evaluationMode" type="string">
<description>
If set, the event service will only return events having a
preferred origin with a matching evaluationMode property.
@ -172,7 +168,7 @@
<description>List of disabled event types</description>
</parameter>
</group>
<parameter name="eventFormats" type="list:string" values="csv,qml,qml-rt,sc3ml,text,xml">
<parameter name="eventFormats" type="list:string">
<description>
List of enabled event formats. If unspecified, all supported
formats are enabled.
@ -199,12 +195,12 @@
standard FDSNWS extension served under fdsnws/ext/availability.
</description>
</parameter>
<parameter name="stationFilter" type="file" options="read">
<parameter name="stationFilter" type="string">
<description>
Path to station inventory filter file.
</description>
</parameter>
<parameter name="dataSelectFilter" type="file" options="read">
<parameter name="dataSelectFilter" type="string">
<description>
Path to dataselect inventory filter file.
</description>
@ -292,38 +288,6 @@
</description>
</parameter>
</group>
<group name="jwt">
<parameter name="enable" type="boolean" default="false">
<description>
Enable JWT extension.
</description>
</parameter>
<parameter name="issuers" type="list:string" default="https://geofon.gfz.de/eas2,https://login.earthscope.org/">
<description>
List of issuer URLs.
</description>
</parameter>
<parameter name="audience" type="list:string" default="eas,fdsn">
<description>
List of valid audience.
</description>
</parameter>
<parameter name="algorithms" type="list:string" default="RS256">
<description>
List of allowed algorithms.
</description>
</parameter>
<parameter name="updateMinSeconds" type="int" default="300">
<description>
Minimum time to wait between requesting updated keys from a key server.
</description>
</parameter>
<parameter name="updateMaxSeconds" type="int" default="86400">
<description>
Maximum time to cache received keys.
</description>
</parameter>
</group>
</configuration>
</module>
</seiscomp>

View File

@ -34,7 +34,7 @@
comma. Add ${plugins} to consider all previously read values.
</description>
</parameter>
<parameter name="cityXML" type="file" values="*.xml" options="read">
<parameter name="cityXML" type="string">
<description>
Path to the cities XML file. If undefined, the data is read
from &quot;@CONFIGDIR@/cities.xml&quot; or
@ -115,7 +115,7 @@
are written to log files per modules as
&quot;@CONFIGDIR@/log/[module].log&quot;.
</description>
<parameter name="level" type="int" default="2" values="1,2,3,4">
<parameter name="level" type="int" default="2" values="1,2,3,4´">
<description>
Set the logging level between 1 and 4 where 1=ERROR,
2=WARNING, 3=INFO and 4=DEBUG.
@ -269,14 +269,14 @@
is established. Override these values only if you know what you
are doing.
</description>
<parameter name="inventory" type="file" options="read" values="*.xml">
<parameter name="inventory" type="string">
<description>
Load the inventory database from a given XML file if set.
This overrides the inventory definitions loaded from the
database backend.
</description>
</parameter>
<parameter name="config" type="file" options="read" values="*.xml">
<parameter name="config" type="string">
<description>
Load the configuration database from a given XML file if set.
This overrides the configuration definitions loaded from the
@ -344,7 +344,7 @@
</group>
</group>
<group name="scripts">
<parameter name="crashHandler" type="file" options="read">
<parameter name="crashHandler" type="path">
<description>
Path to crash handler script.
</description>
@ -453,17 +453,9 @@
e.g. &quot;signalBegin&quot;. This can be overridden per
station in its bindings.
</description>
<parameter name="interface" type="string" default="LOCSAT" values="libtau,LOCSAT,homogeneous">
<description>
The name of the travel-time interface to use. The list
can be extended by plugins.
</description>
<parameter name="interface" type="string" default="libtau">
</parameter>
<parameter name="model" type="string" default="iasp91">
<description>
The name of the travel-time interface (velocity) model
to use.
</description>
</parameter>
</group>
<group name="WoodAnderson">
@ -491,25 +483,10 @@
</parameter>
</group>
<struct type="GlobalAmplitudeProfile" title="Amplitude-type profile" aliases="config:amplitudes.aliases">
<parameter name="regionalize" type="boolean" default="true">
<description>
Control if the amplitude calculation should be
regionalized or not. The regions and their configuration
are taken from the corresponding magnitude profiles. If
regionalization is activate, then e.g. modules without
origin information will not be able to compute an
amplitude as the origin is required to determine the
effective settings.
If amplitudes for this particular type shall be computed
regardless of any defined regions, set this parameter to
false.
</description>
</parameter>
<parameter name="considerUnusedArrivals" type="boolean" default="false">
<description>
If enabled, then also stations with unused (disabled)
arrivals are considered for amplitude and implicitly
If enabled then also stations with unused (disabled)
arrivals are considerd for amplitude and implicitly
magnitude computations, e.g. by scamp, scmag and scolv.
</description>
</parameter>
@ -561,7 +538,7 @@
interpolated but not extrapolated.
</description>
</parameter>
<parameter name="regionFile" type="file" options="read">
<parameter name="regionFile" type="path">
<description>
Path to a geofeature file, e.g. in BNA or GeoJSON format,
with one or more polygons defining geographic regions.
@ -588,72 +565,40 @@
Enable the region or not.
</description>
</parameter>
<parameter name="minDist" type="string" unit="deg">
<parameter name="minDist" type="double" unit="deg">
<description>
The minimum distance required to compute a
magnitude. This settings has no effect with e.g.
scautopick as there is no information about the
source of the event to compute the distance.
The default value depends on magnitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDist = 500km
The default value is implementation specific.
</description>
</parameter>
<parameter name="maxDist" type="string" unit="deg">
<parameter name="maxDist" type="double" unit="deg">
<description>
The maximum distance allowed to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to compute the distance. The default
value depends on magnitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
maxDist = 500km
value is implementation specific.
</description>
</parameter>
<parameter name="minDepth" type="string" unit="km">
<parameter name="minDepth" type="double" unit="km">
<description>
The minimum depth required to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to retrieve the depth. The default
value depends on magnitude type.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDepth = 500km
value is implementation specific.
</description>
</parameter>
<parameter name="maxDepth" type="string" unit="km">
<parameter name="maxDepth" type="double" unit="km">
<description>
The maximum depth allowed to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to retrieve the depth. The default
value depends on magnitude type.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
maxDepth = 500km
value is implementation specific.
</description>
</parameter>
<parameter name="check" type="string" default="source">
@ -917,12 +862,12 @@
<option flag="I" long-flag="record-url" argument="arg" default="" publicID="records#record-url">
<description>
The RecordStream source URL. Format:
The recordstream source URL, format:
[service://]location[#type].
&quot;service&quot; is the name of the RecordStream driver
&quot;service&quot; is the name of the recordstream driver
which can be queried with &quot;--record-driver-list&quot;.
If &quot;service&quot; is not given, &quot;file://&quot; is
used and simply the name of a miniSEED file can be given.
used.
</description>
</option>
@ -938,7 +883,7 @@
</group>
<group name="Cities" publicID="cities">
<option long-flag="city-xml" argument="arg" default="" publicID="cities#city-xml" type="file" options="read" values="*.xml">
<option long-flag="city-xml" argument="arg" default="" publicID="cities#city-xml">
<description>
The path to the cities XML file. This overrides the default
paths. Compare with the global parameter &quot;citiesXML&quot;.
@ -991,8 +936,6 @@
Create amplitude type profiles to define the time windows,
minimum signal-to-noise ratio, amplitude thresholds and
restitution for measuring amplitudes of a certain type.
Standard amplitude types supported in SeisComP: Md,Mjma,ML,MLc,MLh,MLr,MLv,MN,mb,mB,Mwp,Ms_20,Ms(BB).
</description>
<parameter name="saturationThreshold" type="string" default="false" unit="counts; %">
<description>
@ -1034,14 +977,14 @@
The parameters of this group will be overridden by type
specific settings if given (see GlobalAmplitudeProfile).
</description>
<parameter name="taper" default="5" unit="s" type="double">
<parameter name="taper" default="5" unit="s">
<description>
Define the length of the taper at either side of the
waveform. The length will be added to the data
request: start - taper and end + taper.
</description>
</parameter>
<parameter name="minFreq" default="0.00833333" unit="Hz" type="double">
<parameter name="minFreq" default="0.00833333" unit="Hz">
<description>
The minimum frequency of the considered spectrum.
@ -1052,7 +995,7 @@
that taper.
</description>
</parameter>
<parameter name="maxFreq" default="0" unit="Hz" type="double">
<parameter name="maxFreq" default="0" unit="Hz">
<description>
The maximum frequency of the considered spectrum.
@ -1071,17 +1014,9 @@
noise time window specifications,
e.g. &quot;signalBegin&quot;.
</description>
<parameter name="interface" type="string" default="LOCSAT" values="libtau,LOCSAT,homogeneous">
<description>
The name of the travel-time interface to use. The list
can be extended by plugins.
</description>
<parameter name="interface" type="string" default="libtau">
</parameter>
<parameter name="model" type="string" default="iasp91">
<description>
The name of the travel-time interface (velocity) model
to use.
</description>
</parameter>
</group>
<group name="WoodAnderson">
@ -1108,7 +1043,7 @@
</description>
</parameter>
</group>
<struct type="GlobalBindingsAmplitudeProfile" title="Amplitude type profile: Use name of amplitude type" aliases="config:amplitudes.aliases">
<struct type="GlobalAmplitudeProfile" title="Amplitude type profile">
<description>
An amplitude profile configures global parameters for a
particular amplitude type. The available amplitude types
@ -1148,38 +1083,14 @@
will be used instead.
</description>
</parameter>
<parameter name="minSNR" type="double" default="3">
<parameter name="minSNR" type="double">
<description>
Define the minimum SNR to be reached to compute the
amplitudes. This value is amplitude type specific and
has no global default value.
</description>
</parameter>
<parameter name="minPeriod" type="double" unit="s">
<description>
Define the minimum period of the measured amplitude. If
the period is below this value, the amplitude will not be emitted.
This value is specific to amplitude type and has no global
default value. A value lower or equal than 0 will disable
this check.
Caution: If a value is set but the amplitude does not
provide the period, no amplitude is sent.
</description>
</parameter>
<parameter name="maxPeriod" type="double" unit="s">
<description>
Define the maximum period of the measured amplitude. If
the period is above this value, the amplitude will not be emitted.
This value is specific to amplitude type and has no global
default value. A value lower or equal than 0 will disable
this check.
Caution: If a value is set but the amplitude does not
provide the period, no amplitude is sent.
</description>
</parameter>
<parameter name="noiseBegin" type="string" unit="time grammar" default="-35">
<parameter name="noiseBegin" type="double" unit="s">
<description>
Override the default time (relative to the trigger
time) of the begin of the noise window used to compute
@ -1188,7 +1099,7 @@
should only be changed if you know what you are doing.
</description>
</parameter>
<parameter name="noiseEnd" type="string" unit="time grammar" default="-5">
<parameter name="noiseEnd" type="double" unit="s">
<description>
Override the default time (relative to the trigger
time) of the end of the noise window used to compute
@ -1197,7 +1108,7 @@
should only be changed if you know what you are doing.
</description>
</parameter>
<parameter name="signalBegin" type="string" unit="time grammar" default="-5">
<parameter name="signalBegin" type="double" unit="s">
<description>
Override the default time (relative to the trigger
time) of the begin of the signal window used to compute
@ -1206,7 +1117,7 @@
changed if you know what you are doing.
</description>
</parameter>
<parameter name="signalEnd" type="string" unit="time grammar" default="30">
<parameter name="signalEnd" type="double" unit="s">
<description>
Override the default time (relative to the trigger
time) of the end of the signal window used to compute
@ -1215,86 +1126,69 @@
changed if you know what you are doing.
</description>
</parameter>
<parameter name="minDist" type="string" unit="deg" default="0">
<parameter name="minDist" type="double" unit="deg">
<description>
The minimum distance required to compute an amplitude.
This settings has no effect with e.g. scautopick as there
is no information about the source of the event to compute
the distance. The default value depends on
amplitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDist = 500km
the distance. The default value is implementation
specific.
</description>
</parameter>
<parameter name="maxDist" type="string" unit="deg" default="180">
<parameter name="maxDist" type="double" unit="deg">
<description>
The maximum distance allowed to compute an amplitude.
This settings has no effect with e.g. scautopick as there
is no information about the source of the event to compute
the distance. The default value depends on
amplitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
maxDist = 500km
the distance. The default value is implementation
specific.
</description>
</parameter>
<parameter name="minDepth" type="string" unit="km" default="-1000000">
<parameter name="minDepth" type="double" unit="km">
<description>
The minimum depth required to compute an amplitude.
This settings has no effect with e.g. scautopick as there
is no information about the source of the event to
retrieve the depth. The default value depends on
amplitude type.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDepth = 500km
retrieve the depth. The default value is implementation
specific.
</description>
</parameter>
<parameter name="maxDepth" type="string" unit="km" default="1000000">
<parameter name="maxDepth" type="double" unit="km">
<description>
The maximum depth allowed to compute an amplitude.
This settings has no effect with e.g. scautopick as there
is no information about the source of the event to
retrieve the depth. The default value depends on
amplitude type.
retrieve the depth. The default value is implementation
specific.
</description>
</parameter>
<parameter name="regionalize" type="boolean" default="true">
<description>
Control if the amplitude calculation should be
regionalized or not. The regions and their configuration
are taken from the corresponding magnitude profiles. If
regionalization is activate, then e.g. modules without
origin information will not be able to compute an
amplitude as the origin is required to determine the
effective settings.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
maxDepth = 500km
If amplitudes for this particular type shall be computed
regardless of any defined regions, set this parameter to
false.
</description>
</parameter>
<group name="resp">
<description>
Several parameters if usage of full responses is enabled.
</description>
<parameter name="taper" default="5" unit="s" type="double">
<parameter name="taper" default="5" unit="s">
<description>
Define the length of the taper at either side of the
waveform. The length will be added to the data
request: start - taper and end + taper.
</description>
</parameter>
<parameter name="minFreq" default="0.00833333" unit="Hz" type="double">
<parameter name="minFreq" default="0.00833333" unit="Hz">
<description>
After data are converted in to the frequency domain
that minimum frequency defines the end of the left-side
@ -1303,7 +1197,7 @@
A value of 0 or lower disables that taper.
</description>
</parameter>
<parameter name="maxFreq" default="0" unit="Hz" type="double">
<parameter name="maxFreq" default="0" unit="Hz">
<description>
After data are converted in to the frequency domain
that maximum frequency defines the start of the right-side
@ -1317,13 +1211,11 @@
</group>
<group name="magnitudes">
<description>
Define the calibration parameters and constraints for computing
magnitudes from measured amplitudes including static corrections.
The parameters are independent of amplitude-type profiles.
Standard magnitude types supported in SeisComP: Md,Mjma,ML,MLc,MLh,MLr,MLv,MN,mb,mB,Mwp,Ms_20,Ms(BB).
Define magnitude parameters independent of amplitude-type profiles.
For magnitude correction parameters, e.g., network of station
corrections, create a magnitude type profile.
</description>
<struct type="GlobalBindingsMagnitudeProfile" title="Magnitude type profile: Use name of magnitude type" aliases="config:magnitudes.aliases">
<struct type="GlobalBindingsMagnitudeTypeProfile" title="Magnitude type profile">
<description>
A magnitude profile configures global parameters for a
particular magnitude type. The available magnitude types
@ -1351,106 +1243,6 @@
Example: &quot;0.0, regionA: -0.1, regionB: 0.2&quot;.
</description>
</parameter>
<parameter name="minDist" type="string" unit="deg">
<description>
The minimum distance in degree required to compute a
magnitude. This settings has no effect with e.g.
scautopick as there is no information about the
source of the event to compute the distance.
The default value depends on magnitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDist = 500km
</description>
</parameter>
<parameter name="maxDist" type="string" unit="deg">
<description>
The maximum distance in degree allowed to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to compute the distance. The default
value depends on magnitude type.
Although the default unit is 'deg', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
</description>
</parameter>
<parameter name="minDepth" type="string" unit="km">
<description>
The minimum depth required to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to retrieve the depth. The default
value depends on magnitude type.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
minDepth = 500km
</description>
</parameter>
<parameter name="maxDepth" type="string" unit="km">
<description>
The maximum depth allowed to compute a magnitude.
This settings has no effect with e.g. scautopick
as there is no information about the source of
the event to retrieve the depth. The default
value depends on magnitude type.
Although the default unit is 'km', values can be
given in any SI distance unit such km, m or cm
by simply appending the unit to the value.
Example:
maxDepth = 500km
</description>
</parameter>
<parameter name="minSNR" type="double">
<description>
The minimum SNR required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the SNR is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude. If this value is set then it
overrides the regionalized setting.
</description>
</parameter>
<parameter name="minPeriod" type="double" unit="s">
<description>
The minimum period required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude. If this value is set, then it
overrides the regionalized setting.
Caution: If a value is set but the amplitude does not
provide the period, no magnitude is computed.
</description>
</parameter>
<parameter name="maxPeriod" type="double" unit="s">
<description>
The maximum period allowed for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is above this threshold it will
be associated with weight zero and will not contribute
to the network magnitude. If this value is set, then it
overrides the regionalized setting.
Caution: If a value is set but the amplitude does not
provide the period, no magnitude is computed.
</description>
</parameter>
</struct>
</group>
<group name="picker">

View File

@ -17,30 +17,6 @@
documentation for the required interface name.
</description>
</parameter>
<parameter name="lat" type="double">
<description>
The fixed latitude to use. If not set then this
value is read from the input origin.
</description>
</parameter>
<parameter name="lon" type="double">
<description>
The fixed longitude to use. If not set then this
value is read from the input origin.
</description>
</parameter>
<parameter name="depth" type="double">
<description>
The fixed depth to use. If not set then this
value is read from the input origin.
</description>
</parameter>
<parameter name="time" type="string">
<description>
The fixed time to use. If not set then this
value is read from the input origin.
</description>
</parameter>
<parameter name="usePickUncertainties" type="boolean" default="false">
<description>
Whether to use pick time uncertainties rather than a fixed

File diff suppressed because it is too large Load Diff

View File

@ -10,32 +10,30 @@
<description>
Locator parameters: Hypo71
</description>
<parameter name="logFile" type="file" default="@LOGDIR@/HYPO71.LOG" options="write">
<parameter name="logFile" type="string" default="@LOGDIR@/HYPO71.LOG">
<description>
Temporary file used by Hypo71 to store calculation logs.
</description>
</parameter>
<parameter name="inputFile" type="file" default="@DATADIR@/hypo71/HYPO71.INP" options="write">
<parameter name="inputFile" type="string" default="@DATADIR@/hypo71/HYPO71.INP">
<description>
Temporary file to write Hypo71 input data to.
</description>
</parameter>
<parameter name="outputFile" type="file" default="@DATADIR@/hypo71/HYPO71.PRT" options="write">
<parameter name="outputFile" type="string" default="@DATADIR@/hypo71/HYPO71.PRT">
<description>
Temporary output file to read Hypo71 location data from.
</description>
</parameter>
<parameter name="defaultControlFile" type="file" default="@DATADIR@/hypo71/profiles/default.hypo71.conf" options="read">
<parameter name="defaultControlFile" type="string" default="@DATADIR@/hypo71/profiles/default.hypo71.conf">
<description>
Hypo71 default profile. If no custom profile is specified,
this profile will be used by the plugin when proceeding to a
localization.
Hypo71 default profile.
If no custom profile is specified, this profile will be used by the plugin when proceeding to a localization.
</description>
</parameter>
<parameter name="hypo71ScriptFile" type="file" default="@DATADIR@/hypo71/run.sh" options="execute">
<parameter name="hypo71ScriptFile" type="string" default="@DATADIR@/hypo71/run.sh">
<description>
Bash script executed when calling the Hypo71 locator plugin
for locating the earthquake.
Bash script executed when calling the Hypo71 locator plugin for locating the earthquake.
</description>
</parameter>
<parameter name="profiles" type="list:string">
@ -47,8 +45,7 @@
</parameter>
<group name="profile">
<description>
Profiles containing the profile-specific velocity model and
the Hypo71 parameters.
Profiles containing the profile-specific velocity model and the Hypo71 parameters.
</description>
<struct type="Hypo71 profile" link = "hypo71.profiles">
<parameter name="earthModelID" type="string">
@ -62,7 +59,7 @@
It is generally the locator's name (Hypo71).
</description>
</parameter>
<parameter name="controlFile" type="file" options="read">
<parameter name="controlFile" type="string">
<description>
File containing the profile parameters.
</description>
@ -79,15 +76,10 @@
</struct>
</group>
<parameter name="publicID" type="string">
<description>
Custom patternID to use when generating origin publicID.
</description>
<description>Custom patternID to use when generating origin publicID</description>
</parameter>
<parameter name="useHypo71PatternID" type="boolean">
<description>
Specifies if the given public ID shall be used for
generating origin publicID.
</description>
<description>Specifies if the given publicD should be used for generating origin publicID</description>
</parameter>
</group>
</configuration>

View File

@ -3,16 +3,16 @@
<plugin name="iLoc">
<extends>global</extends>
<description>
Locator in SeisComP implemented by the plugin lociloc.
Locator in SeisComP implemented by the plugin lociloc.
</description>
<configuration>
<group name="iLoc">
<description>
Locator parameters: iLoc
</description>
<parameter name="auxDir" type="directory" default="@DATADIR@/iloc/iLocAuxDir" options="read">
<parameter name="auxDir" type="string" default="@DATADIR@/iloc/iLocAuxDir">
<description>
iLoc directory for auxiliary files and directories. Some
iLoc directory for auxialiary files and directories. Some
of them must be provided from the iLoc website. Read the
documentation for their installation.
</description>
@ -32,9 +32,9 @@
</parameter>
<parameter name="profiles" type="list:string" default="iasp91,ak135">
<description>
List of iLoc profile name(s). Separate multiple names by comma.
Each profile can have different velocity or parameters. The
must be defined separate by iLoc profiles.
iLoc profile name.
Multiples names may be set separated by comma.
Each profile can have different velocity or parameters.
</description>
</parameter>
<group name="profile">
@ -60,17 +60,17 @@
</parameter>
<parameter name="UseRSTT" type="boolean" default="false">
<description>
Use regional seismic travel-time tables.
Use regional seismic travel-time tables
</description>
</parameter>
<parameter name="UseRSTTPnSn" type="boolean" default="true">
<description>
Use regional seismic travel-time tables for Pn and Sn.
Use regional seismic travel-time tables for Pn and Sn
</description>
</parameter>
<parameter name="UseRSTTPgLg" type="boolean" default="true">
<description>
Use regional seismic travel-time tables for Pg and Lg.
Use regional seismic travel-time tables for Pg and Lg
</description>
</parameter>
<parameter name="UseLocalTT" type="boolean" default="false">
@ -78,7 +78,7 @@
Use local velocity model if defined in LocalVmodel.
</description>
</parameter>
<parameter name="LocalVmodel" type="file" default="" options="read">
<parameter name="LocalVmodel" type="string" default="">
<description>
Full path to a file containing the local velocity model.
Requires: UseLocalTT = true. Empty string or unset or
@ -98,125 +98,124 @@
</parameter>
<parameter name="DoGridSearch" type="boolean" default="true">
<description>
Perform neighbourhood algorithm.
Perform neighbourhood algorithm
</description>
</parameter>
<parameter name="NAsearchRadius" type="float" default="5" unit="deg">
<description>
Neighbourhood Algorithm: Search radius around initial
epicentre.
epicentre
</description>
</parameter>
<parameter name="NAsearchDepth" type="float" default="300" unit="km">
<description>
Neighbourhood Algorithm: Search radius around initial
depth.
depth
</description>
</parameter>
<parameter name="NAsearchOT" type="float" default="30" unit="s">
<description>
Neighbourhood Algorithm: Search radius around initial
origin time.
origin time
</description>
</parameter>
<parameter name="NAlpNorm" type="float" default="1" range="1:2">
<parameter name="NAlpNorm" type="float" default="1">
<description>
Neighbourhood Algorithm: p-value for norm to compute
misfit.
misfit [1,2]
</description>
</parameter>
<parameter name="NAiterMax" type="int" default="5">
<parameter name="NAiterMax" type="integer" default="5">
<description>
Neighbourhood Algorithm: Maximum number of iterations.
Neighbourhood Algorithm: Maximum number of iterations
</description>
</parameter>
<parameter name="NAcells" type="int" default="25">
<parameter name="NAcells" type="integer" default="25">
<description>
Neighbourhood Algorithm: Number of cells to be resampled
at each iteration.
at each iteration
</description>
</parameter>
<parameter name="NAinitialSample" type="int" default="1000" unit="">
<parameter name="NAinitialSample" type="integer" default="1000" unit="">
<description>
Neighbourhood Algorithm: Size of initial sample.
Neighbourhood Algorithm: Size of initial sample
</description>
</parameter>
<parameter name="NAnextSample" type="int" default="100" unit="">
<parameter name="NAnextSample" type="integer" default="100" unit="">
<description>
Neighbourhood Algorithm: Size of subsequent samples.
Neighbourhood Algorithm: Size of subsequent samples
</description>
</parameter>
<parameter name="MinDepthPhases" type="int" default="3" unit="">
<parameter name="MinDepthPhases" type="integer" default="3" unit="">
<description>
Depth resolution: Minimum number of depth phases.
Depth resolution: Minimum number of depth phases for depdp
</description>
</parameter>
<parameter name="MaxLocalDistDeg" type="float" default="0.2" unit="deg">
<description>
Depth resolution: Maximum local distance.
Depth resolution: Maximum local distance
</description>
</parameter>
<parameter name="MinLocalStations" type="int" default="1">
<parameter name="MinLocalStations" type="integer" default="1">
<description>
Depth resolution: Minimum number of local defining stations.
Depth resolution: Minimum number of local defining stations
</description>
</parameter>
<parameter name="MaxSPDistDeg" type="float" default="2.0" unit="deg">
<description>
Depth resolution: Maximum epicentral distance for
using S-P travel-time differences.
Depth resolution: Maximum distance for using S-P travel-time differences.
</description>
</parameter>
<parameter name="MinSPpairs" type="int" default="3">
<parameter name="MinSPpairs" type="integer" default="3">
<description>
Depth resolution: Minimum number of defining S-P phase pairs.
Depth resolution: Minimum number of defining S-P phase pairs
</description>
</parameter>
<parameter name="MinCorePhases" type="int" default="3">
<parameter name="MinCorePhases" type="integer" default="3">
<description>
Depth resolution: Minimum number of defining core reflection phases
</description>
</parameter>
<parameter name="MaxShallowDepthError" type="float" default="30.0" unit="km">
<description>
Depth resolution: Maximum depth error for crustal free-depth.
Depth resolution: Maximum depth error for crustal free-depth
</description>
</parameter>
<parameter name="MaxDeepDepthError" type="float" default="60.0" unit="km">
<description>
Depth resolution: Maximum depth error for deep free-depth.
Depth resolution: Maximum depth error for deep free-depth
</description>
</parameter>
<parameter name="DoCorrelatedErrors" type="boolean" default="true">
<description>
Linearized inversion: Account for correlated errors.
Linearized inversion: Account for correlated errors
</description>
</parameter>
<parameter name="SigmaThreshold" type="float" default="6.0" unit="s">
<description>
Linearized inversion: Used to exclude big residuals from solution.
Linearized inversion: Used to exclude big residuals from solution
</description>
</parameter>
<parameter name="AllowDamping" type="boolean" default="true">
<description>
Linearized inversion: Allow damping of model vector.
Linearized inversion: Allow damping of model vector
</description>
</parameter>
<parameter name="MinIterations" type="int" default="4">
<parameter name="MinIterations" type="integer" default="4">
<description>
Linearized inversion: Minimum number of iterations.
Linearized inversion: Minimum number of iterations
</description>
</parameter>
<parameter name="MaxIterations" type="int" default="20">
<parameter name="MaxIterations" type="integer" default="20">
<description>
Linearized inversion: Maximum number of iterations.
Linearized inversion: Maximum number of iterations
</description>
</parameter>
<parameter name="MinNdefPhases" type="int" default="4">
<parameter name="MinNdefPhases" type="integer" default="4">
<description>
Linearized inversion: Minimum number of defining phases.
Linearized inversion: Minimum number of defining phases
</description>
</parameter>
<parameter name="DoNotRenamePhases" type="boolean" default="false">

View File

@ -12,7 +12,7 @@
Locator parameters: Router. This locator requires the plugin
&quot;locrouter&quot; to be loaded.
</description>
<parameter name="regions" type="file" options="read">
<parameter name="regions" type="string">
<description>
A GeoJSON or BNA file defining locator profiles by region.
Supported polygon attributes:

View File

@ -11,23 +11,25 @@
Body wave magnitude at teleseismic distances measured at 1 s period.
</description>
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mb">
<description>
Parameters for computing mb magnitudes from mb amplitudes.
</description>
<parameter name="minDist" type="double" unit="deg" default="5">
<group name="magnitudes">
<group name="mb">
<description>
Minimum epicentral distance for computing mb. Note: According
to the IASPEI recommendations in 2013, the minimum distance
should be 20 deg.
Parameters for computing mb magnitudes from mb amplitudes.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="105">
<description>
Maximum epicentral distance for computing mb.
</description>
</parameter>
</extend-struct>
<parameter name="minDist" type="double" unit="deg" default="5">
<description>
Minimum epicentral distance for computing mb. Note: According
to the IASPEI recommendations in 2013, the minimum distance
should be 20 deg.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="105">
<description>
Maximum epicentral distance for computing mb.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -11,23 +11,25 @@
The body wave magnitude at teleseismic distances similar to mb.
</description>
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mB">
<description>
Parameters for computing mB magnitudes from mB amplitudes.
</description>
<parameter name="minDist" type="double" unit="deg" default="5">
<group name="magnitudes">
<group name="mB">
<description>
Minimum epicentral distance for computing mB. Note: According
to the IASPEI recommendations in 2013, the minimum distance
should be 20 deg.
Parameters for computing mB magnitudes from mB amplitudes.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="105">
<description>
Maximum epicentral distance for computing mB.
</description>
</parameter>
</extend-struct>
<parameter name="minDist" type="double" unit="deg" default="5">
<description>
Minimum epicentral distance for computing mB. Note: According
to the IASPEI recommendations in 2013, the minimum distance
should be 20 deg.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="105">
<description>
Maximum epicentral distance for computing mB.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -17,17 +17,19 @@
from the event.
</description>
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mb(IDC)">
<parameter name="Q" type="path">
<description>
Location of the station specific Q table. If not
specified then @DATADIR@/magnitudes/IDC/qfvc.ml will be
used as fallback. {net}, {sta} and {loc} are placeholders
which will be replaced with the concrete network code,
station code and location code.
</description>
</parameter>
</extend-struct>
<group name="magnitudes">
<group name="mb(IDC)">
<parameter name="Q" type="path">
<description>
Location of the station specific Q table. If not
specified then @DATADIR@/magnitudes/IDC/qfvc.ml will be
used as fallback. {net}, {sta} and {loc} are placeholders
which will be replaced with the concrete network code,
station code and location code.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -1,113 +1,115 @@
<?xml version="1.0" encoding="UTF-8"?>
<seiscomp>
<plugin name="Md">
<extends>global</extends>
<description>
Duration magnitude plugin
</description>
<plugin name="Md">
<extends>global</extends>
<description>
Duration magnitude plugin
</description>
</plugin>
<binding name="Md" module="global">
<description>
Duration magnitude plugin
</description>
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="md">
<parameter name="seismo" type="int" default="9">
<description>
Default filter type to use before processing and after deconvolution. It's possible to set :
1 for a Wood-Anderson seismometer
2 for a 5sec generic Seismometer
3 for a WWSSN LP seismometer
4 for a WSSN SP seismometer
5 for a Generic Seismometer
6 for a Butterworth Low pass filter
7 for a Butterworth High pass filter
8 for a Butterworth Band pass filter
9 for a 1Hz eigen-frequency L4C seismometer
</description>
</parameter>
<parameter name="taper" type="double" default="5" unit="s">
<description>
taper applied to the signal
</description>
</parameter>
<parameter name="signal_length" type="double" default="150" unit="s">
<description>
signal length used to compute the duration magnitude
</description>
</parameter>
<parameter name="butterworth" type="string" default="&quot;3,1.5&quot;">
<description>
Butterworth filter parameter applied to the signal
</description>
</parameter>
<parameter name="depthmax" type="double" default="200" unit="km">
<description>
Maximum depth at which duration magnitude is valid
</description>
</parameter>
<parameter name="deltamax" type="double" default="400" unit="km">
<description>
Maximum distance between earthquake and station at which duration magnitude is valid
</description>
</parameter>
<parameter name="snrmin" type="double" default="1.2">
<description>
Signal to noise ratio below which the coda is reached
</description>
</parameter>
<parameter name="mdmax" type="double" default="5.0">
<description>
Maximum expected duration magnitude value
This is used to find how much data should be loaded for a given station by reversing the formula
</description>
</parameter>
<parameter name="fma" type="double" default="-0.87">
<description>
FMA regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmb" type="double" default="2.0">
<description>
FMB regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmd" type="double" default="0.0035">
<description>
FMD regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmf" type="double" default="0.0">
<description>
FMF regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmz" type="double" default="0.0">
<description>
FMZ regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="linearcorrection" type="double" default="1.0">
<description>
Linear correction
</description>
</parameter>
<parameter name="offset" type="double" default="0.0">
<description>
Offset
</description>
</parameter>
<parameter name="stacor" type="double" default="0.0">
<description>
Station correction
</description>
</parameter>
</extend-struct>
<group name="magnitudes">
<group name="md">
<parameter name="seismo" type="int" default="9">
<description>
Default filter type to use before processing and after deconvolution. It's possible to set :
1 for a Wood-Anderson seismometer
2 for a 5sec generic Seismometer
3 for a WWSSN LP seismometer
4 for a WSSN SP seismometer
5 for a Generic Seismometer
6 for a Butterworth Low pass filter
7 for a Butterworth High pass filter
8 for a Butterworth Band pass filter
9 for a 1Hz eigen-frequency L4C seismometer
</description>
</parameter>
<parameter name="taper" type="double" default="5" unit="s">
<description>
taper applied to the signal
</description>
</parameter>
<parameter name="signal_length" type="double" default="150" unit="s">
<description>
signal length used to compute the duration magnitude
</description>
</parameter>
<parameter name="butterworth" type="string" default="&quot;3,1.5&quot;">
<description>
Butterworth filter parameter applied to the signal
</description>
</parameter>
<parameter name="depthmax" type="double" default="200" unit="km">
<description>
Maximum depth at which duration magnitude is valid
</description>
</parameter>
<parameter name="deltamax" type="double" default="400" unit="km">
<description>
Maximum distance between earthquake and station at which duration magnitude is valid
</description>
</parameter>
<parameter name="snrmin" type="double" default="1.2">
<description>
Signal to noise ratio below which the coda is reached
</description>
</parameter>
<parameter name="mdmax" type="double" default="5.0">
<description>
Maximum expected duration magnitude value
This is used to find how much data should be loaded for a given station by reversing the formula
</description>
</parameter>
<parameter name="fma" type="double" default="-0.87">
<description>
FMA regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmb" type="double" default="2.0">
<description>
FMB regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmd" type="double" default="0.0035">
<description>
FMD regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmf" type="double" default="0.0">
<description>
FMF regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="fmz" type="double" default="0.0">
<description>
FMZ regional coefficient
See Hypo2000 manual
</description>
</parameter>
<parameter name="linearcorrection" type="double" default="1.0">
<description>
Linear correction
</description>
</parameter>
<parameter name="offset" type="double" default="0.0">
<description>
Offset
</description>
</parameter>
<parameter name="stacor" type="double" default="0.0">
<description>
Station correction
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -25,76 +25,74 @@
Standard local (Richter) magnitude
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="ML">
<description>
Parameters for measuring ML amplitudes. Add more parameters
by adding an amplitude type profile 'ML',
</description>
<parameter name="minSNR" type="double" default="0"/>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="maxDepth" type="string" unit="km" default="80"/>
<parameter name="signalEnd" type="string" unit="time grammar" default="min(R / 3 + 30, 150)"/>
<parameter name="preFilter" type="string" default="">
<group name="amplitudes">
<group name="ML">
<description>
The filter applied to raw records before applying
Wood-Anderson simulation. Default: no pre-filtering.
Parameters for measuring ML amplitudes. Add more parameters
by adding an amplitude type profile 'ML',
</description>
</parameter>
<parameter name="applyWoodAnderson" type="boolean" default="true">
<description>
Applying Wood-Anderson simulation. To achieve displacement
records without WA simulation, an integration filter can
be applied with the pre-filter.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax">
<description>
This parameter allows to set how the amplitude is measured.
Either by finding the absolute maximum of the demeaned
trace (AbsMax), the difference of maximum and minimum of
the signal window (MinMax) or the maximum peak-trough
of one cycle (PeakTrough).
<parameter name="preFilter" type="string" default="">
<description>
The filter applied to raw records before applying
Wood-Anderson simulation. Default: no pre-filtering.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax">
<description>
This parameter allows to set how the amplitude is measured.
Either by finding the absolute maximum of the demeaned
trace (AbsMax), the difference of maximum and minimum of
the signal window (MinMax) or the maximum peak-trough
of one cycle (PeakTrough).
Note that if absMax is already explicitly configured, this
parameter has no effect.
</description>
</parameter>
<parameter name="combiner" type="string" default="average">
Note that if absMax is already explicitly configured, this
parameter has no effect.
</description>
</parameter>
<parameter name="combiner" type="string" default="average">
<description>
Defines the combiner operation for the amplitudes measured
on either both horizontal component. The default is to
use the average. Allowed values are: &quot;average&quot;,
&quot;min&quot;, &quot;max&quot; and &quot;geometric_mean&quot;.
&quot;geometric_mean&quot; corresponds to averaging single-trace
magnitudes instead of their amplitudes.
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="ML">
<description>
Defines the combiner operation for the amplitudes measured
on either both horizontal component. The default is to
use the average. Allowed values are: &quot;average&quot;,
&quot;min&quot;, &quot;max&quot; and &quot;geometric_mean&quot;.
&quot;geometric_mean&quot; corresponds to averaging single-trace
magnitudes instead of their amplitudes.
Parameters for computing ML magnitudes from ML amplitudes.
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="ML">
<description>
Parameters for computing ML magnitudes from ML amplitudes.
</description>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="maxDepth" type="string" unit="km" default="80"/>
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<description>
The calibration function log10(A0).
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<description>
The calibration function log10(A0).
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
Note: The first and last distance samples limit the
maximum distance range for computing ML.
</description>
</parameter>
</extend-struct>
Note: The first and last distance samples limit the
maximum distance range for computing ML.
</description>
</parameter>
<parameter name="maxDistanceKm" type="double" unit="km" default="-1.0">
<description>
Maximum epicentral distance for computing ML.
No distance limitation for maxDistanceKm = -1.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -11,17 +11,19 @@
CTBTO/IDC local magnitude.
</description>
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="ML(IDC)">
<parameter name="A" type="path">
<description>
Location of the station specific attenuation table. If not
specified then @DATADIR@/magnitudes/IDC/global.ml will be
used as fallback. {net}, {sta} and {loc} are placeholders
which will be replaced with the concrete network code,
station code and location code.
</description>
</parameter>
</extend-struct>
<group name="magnitudes">
<group name="ML(IDC)">
<parameter name="A" type="path">
<description>
Location of the station specific attenuation table. If not
specified then @DATADIR@/magnitudes/IDC/global.ml will be
used as fallback. {net}, {sta} and {loc} are placeholders
which will be replaced with the concrete network code,
station code and location code.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -101,219 +101,188 @@
Custom magnitude for local events measured on horizontal components
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLc">
<description>
Parameters for measuring MLc amplitudes. Add more parameters
by adding an amplitude type profile 'MLc',
</description>
<parameter name="minSNR" type="double" default="0"/>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="minDepth" type="string" unit="km" default="-10"/>
<parameter name="maxDepth" type="string" unit="km" default="80"/>
<parameter name="signalEnd" type="string" unit="time grammar" default="min(R / 3 + 30, 150)"/>
<parameter name="preFilter" type="string" default="BW(3,0.5,12)">
<group name="amplitudes">
<group name="MLc">
<description>
The filter applied to raw records before applying
Wood-Anderson simulation.
Parameters for measuring MLc amplitudes. Add more parameters
by adding an amplitude type profile 'MLc',
</description>
</parameter>
<parameter name="applyWoodAnderson" type="boolean" default="true">
<description>
Applying Wood-Anderson simulation. To achieve displacement
records without WA simulation, an integration filter can
be applied with the pre-filter.
</description>
</parameter>
<parameter name="amplitudeScale" type="string" default="1.0">
<description>
Scaling value multiplied to the measured amplitudes to
match the amplitude units expected by the magnitude
calibration function.
Expected amplitudes are
in units of mym but actual amplitudes provided from
Wood-Anderson-corrected seismograms are in units of mm:
amplitudeScale = 1000.
If data are not corrected for WA, measured amplitudes
take the unit of gain-corrected data considering the
preFilter:
amplitudeScale converts between units of measured and
excpected amplitude.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax" values="AbsMax,MinMax,PeakTrough">
<description>
Type for measuring amplitudes.
AbsMax: absolute maximum
MinMax: half difference between absolute maximum and minimum
PeakTrough: half difference between maximum and minimum
on a half cycle
</description>
</parameter>
<parameter name="combiner" type="string" default="max" values="min,max,average,geometric_mean">
<description>
Define how to combine the amplitudes measured on both
horizontals components:
min: take the minimum
max: take the maxium
avgerage: form the average
geometric_mean: form the geometric mean
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLc">
<description>
Parameters for computing MLc magnitudes from MLc amplitudes.
</description>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="maxDepth" type="string" unit="km" default="80"/>
<parameter name="distMode" type="string" default="hypocentral" values="hypocentral,epicentral">
<description>
Considered distance measure between source and receiver.
hypocentral: hypocentral distance
epicentral: epicentral distance
</description>
</parameter>
<parameter name="minDist" type="double" default="-1.0" unit="deg">
<description>
The minimum distance for computing magnitudes from amplitudes.
Negative values deactivate the check.
</description>
</parameter>
<parameter name="maxDist" type="double" default="8" unit="deg">
<description>
The maximum distance for computing magnitudes from amplitudes.
Negative values deactivate the check.
</description>
</parameter>
<parameter name="minDepth" type="double" default="-10" unit="km">
<description>
The minimum source depth below which magnitudes are computed.
</description>
</parameter>
<parameter name="maxDepth" type="double" default="80" unit="km">
<description>
The maximum source depth up to which magnitudes are computed.
</description>
</parameter>
<parameter name="calibrationType" type="string" default="&quot;parametric&quot;" unit="" values="parametric,A0">
<description>
Type of magnitude calibration formula to be considered.
The calibration parameters are considered accordingly.
&quot;parametric&quot;: consider parameters of parametric
configuration in parametric section
&quot;A0&quot;: consider parameters of non-parametric
configuration in A0 section.
</description>
</parameter>
<group name="A0">
<description>
Parameters for A0, non-parametric magnitude calibration.
Considered if magnitude.MLc.calibrationType = "A0".
</description>
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<parameter name="preFilter" type="string" default="BW(3,0.5,12)">
<description>
The non-parametric calibration function log10(A0).
The filter applied to raw records before applying
Wood-Anderson simulation.
</description>
</parameter>
<parameter name="applyWoodAnderson" type="boolean" default="true">
<description>
Applying Wood-Anderson simulation. To achieve displacement
records without WA simulation, an integration filter can
be applied with the pre-filter.
</description>
</parameter>
<parameter name="amplitudeScale" type="string" default="1.0">
<description>
Scaling value multiplied to the measured amplitudes to
match the amplitude units expected by the magnitude
calibration function.
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Expected amplitudes are
in units of mym but actual amplitudes provided from
Wood-Anderson-corrected seismograms are in units of mm:
amplitudeScale = 1000.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
If data are not corrected for WA, measured amplitudes
take the unit of gain-corrected data considering the
preFilter:
amplitudeScale converts between units of measured and
excpected amplitude.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax">
<description>
Type for measuring amplitudes. Available:
Note: The first and last distance samples limit the
maximum distance range for computing MLv.
AbsMax: absolute maximum
MinMax: half difference between absolute maximum and minimum
PeakTrough: half difference between maximum and minimum
on a half cycle
</description>
</parameter>
<parameter name="combiner" type="string" default="max">
<description>
Define how to combine the amplitudes measured on both
horizontals components:
min: take the minimum
max: take the maxium
avgerage: form the average
geometric_mean: form the geometric mean
</description>
</parameter>
</group>
<group name="parametric">
</group>
<group name="magnitudes">
<group name="MLc">
<description>
Parameters for parametric magnitude calibration:
MLc = log10(A) + c7 * e^(c8 * r) + c6 * h + c3 * log10(r / c5) + c2 * (r + c4) + c1 + c0(station)
Considered if magnitude.MLc.calibrationType = "parametric".
Parameters for computing MLc magnitudes from MLc amplitudes.
</description>
<parameter name="c0" type="double" default="0.0">
<parameter name="distMode" type="string" default="hypocentral">
<description>
Station correction. This is the calibration value 'c0'
applied in the
parametric magnitude calibration formula.
Considered distance measure between source and receiver.
Possible values are
hypocentral: hypocentral distance
epicentral: epicentral distance
</description>
</parameter>
<parameter name="c1" type="double" default="0.69">
<parameter name="minDist" type="double" default="-1.0" unit="deg">
<description>
The calibration value 'c1' applied in the
parametric magnitude calibration formula.
The minimum distance for computing magnitudes from amplitudes.
Negative values deactivate the check.
</description>
</parameter>
<parameter name="c2" type="double" default="0.00095">
<parameter name="maxDist" type="double" default="8" unit="deg">
<description>
The calibration value 'c2' applied in the
magnitude calibration formula
parametric magnitude calibration formula.
The maximum distance for computing magnitudes from amplitudes.
Negative values deactivate the check.
</description>
</parameter>
<parameter name="c3" type="double" default="1.11">
<parameter name="maxDepth" type="double" default="80" unit="km">
<description>
The calibration value 'c3' applied in the
parametric magnitude calibration formula.
The maximum source depth up to which magnitudes are computed.
</description>
</parameter>
<parameter name="c4" type="double" default="0.0">
<parameter name="calibrationType" type="string" default="&quot;parametric&quot;" unit="">
<description>
The calibration value 'c4' applied in the
parametric magnitude calibration formula.
Type of magnitude calibration formula to be considered.
The calibration parameters are considered accordingly.
Currently supported are
&quot;parametric&quot;: consider parameters of parametric
configuration in parametric section
&quot;A0&quot;: consider parameters of non-parametric
configuration in A0 section.
</description>
</parameter>
<parameter name="c5" type="double" default="1.0">
<group name="A0">
<description>
The calibration value 'c5' applied in the
parametric magnitude calibration formula.
Parameters for A0, non-parametric magnitude calibration.
Considered if magnitude.MLc.calibrationType = "A0".
</description>
</parameter>
<parameter name="c6" type="double" default="0.0">
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<description>
The non-parametric calibration function log10(A0).
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
Note: The first and last distance samples limit the
maximum distance range for computing MLv.
</description>
</parameter>
</group>
<group name="parametric">
<description>
The calibration value 'c6' applied in the
parametric magnitude calibration formula.
Parameters for parametric magnitude calibration:
MLc = log10(A) + c3 * log10(r/c5) + c2 * (r + c4) + c1 + c0(station)
Considered if magnitude.MLc.calibrationType = "parametric".
</description>
</parameter>
<parameter name="c7" type="double" default="0.0">
<description>
The calibration value 'c7' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c8" type="double" default="0.0">
<description>
The calibration value 'c8' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="H" type="double" default="40" unit="km">
<description>
The calibration value 'H' applied in the
parametric magnitude calibration formula for forming
h. Read the documentation.
</description>
</parameter>
<parameter name="c0" type="double" default="0.0">
<description>
Station correction. This is the calibration value 'c0'
applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c1" type="double" default="0.69">
<description>
The calibration value 'c1' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c2" type="double" default="0.00095">
<description>
The calibration value 'c2' applied in the
magnitude calibration formula
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c3" type="double" default="1.11">
<description>
The calibration value 'c3' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c4" type="double" default="0.0">
<description>
The calibration value 'c4' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
<parameter name="c5" type="double" default="1.0">
<description>
The calibration value 'c5' applied in the
parametric magnitude calibration formula.
</description>
</parameter>
</group>
</group>
</extend-struct>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -16,38 +16,42 @@
at the Liverpool developer meeting.
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLh">
<parameter name="maxavg" type="string" default="max">
<description>
Define combiner operation for both horizontals (min, max, avg).
</description>
</parameter>
<parameter name="ClippingThreshold" type="double">
<description>
MLh clipping level, in raw counts, eg. 80% of 2^23 = 6710886.
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLh">
<parameter name="params" type="string">
<description>
Defines attenuation parameters for MLh.
Format: &quot;UpToKilometers A B; UpToNextKilometers A B;&quot;.
Example: &quot;30 nomag; 60 0.018 2.17; 700 0.0038 3.02&quot;.
The first parameter set &quot;30 nomag&quot; means that up to 30km
from the sensor the magnitude should not be calculated.
<group name="amplitudes">
<group name="MLh">
<parameter name="maxavg" type="string" default="max">
<description>
Define combiner operation for both horizontals (min, max, avg).
</description>
</parameter>
<parameter name="ClippingThreshold" type="double">
<description>
MLh clipping level, in raw counts, eg. 80% of 2^23 = 6710886.
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="MLh">
<parameter name="params" type="string">
<description>
Defines attenuation parameters for MLh.
Format: &quot;UpToKilometers A B; UpToNextKilometers A B;&quot;.
Example: &quot;30 nomag; 60 0.018 2.17; 700 0.0038 3.02&quot;.
The first parameter set &quot;30 nomag&quot; means that up to 30km
from the sensor the magnitude should not be calculated.
Note: No MLh computation if params is empty.
</description>
</parameter>
<parameter name="maxDepth" type="double" unit="km" default="80" >
<description>
Maximum depth allowed to compute the magnitude. Make sure to
also update the MLh amplitude bindings accordingly to this
value. maxDepth should not be greater than 80km.
</description>
</parameter>
</extend-struct>
Note: No MLh computation if params is empty.
</description>
</parameter>
<parameter name="maxDepth" type="double" unit="km" default="80" >
<description>
Maximum depth allowed to compute the magnitude. Make sure to
also update the MLh amplitude bindings accordingly to this
value. maxDepth should not be greater than 80km.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -8,24 +8,26 @@
</plugin>
<binding name="MLr" module="global">
<configuration>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLr">
<description>
Parameter for computing MLr magnitudes for GNS/Geonet from MLv amplitudes.
</description>
<parameter name="params" type="string">
<group name="magnitudes">
<group name="MLr">
<description>
Defines Stations Corrections parameters for MLr (GNS/Geonet Local magnitude).
Format: &quot;UpToKilometers A ; UpToNextKilometers A ;&quot;.
Example: &quot;30 nomag; 60 0.018 ; 700 0.0038 &quot;.
The first parameter set &quot;30 nomag&quot; means that up to 30km
from the sensor the magnitude should not be calculated.
A is used as station correction.
"nomag" is used to disable station magnitudes.
Note: No MLr computation if params is empty.
Parameter for computing MLr magnitudes for GNS/Geonet from MLv amplitudes.
</description>
</parameter>
</extend-struct>
<parameter name="params" type="string">
<description>
Defines Stations Corrections parameters for MLr (GNS/Geonet Local magnitude).
Format: &quot;UpToKilometers A ; UpToNextKilometers A ;&quot;.
Example: &quot;30 nomag; 60 0.018 ; 700 0.0038 &quot;.
The first parameter set &quot;30 nomag&quot; means that up to 30km
from the sensor the magnitude should not be calculated.
A is used as station correction.
"nomag" is used to disable station magnitudes.
Note: No MLr computation if params is empty.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -25,67 +25,64 @@
Local (Richter) magnitude measured on the vertical component
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLv">
<description>
Parameters for measuring MLv amplitudes. Add more parameters
by adding an amplitude type profile 'MLv',
</description>
<!-- Override defaults -->
<parameter name="minSNR" type="double" default="0"/>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="maxDepth" type="string" unit="km" default="1000"/>
<parameter name="signalEnd" type="string" unit="time grammar" default="min(R / 3 + 30, 150)"/>
<parameter name="preFilter" type="string" default="">
<group name="amplitudes">
<group name="MLv">
<description>
The filter applied to raw records before applying
Wood-Anderson simulation. Default: no pre-filtering.
Parameters for measuring MLv amplitudes. Add more parameters
by adding an amplitude type profile 'MLv',
</description>
</parameter>
<parameter name="applyWoodAnderson" type="boolean" default="true">
<parameter name="preFilter" type="string" default="">
<description>
The filter applied to raw records before applying
Wood-Anderson simulation. Default: no pre-filtering.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax">
<description>
This parameter allows to set how the amplitude is measured.
Either by finding the absolute maximum of the demeaned
trace (AbsMax), the difference of maximum and minimum of
the signal window (MinMax) or the maximum peak-trough
of one cycle (PeakTrough).
Note that if absMax is already explicitly configured, this
parameter has no effect.
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="MLv">
<description>
Applying Wood-Anderson simulation. To achieve displacement
records without WA simulation, an integration filter can
be applied with the pre-filter.
Parameters for computing MLv magnitudes from MLv amplitudes.
</description>
</parameter>
<parameter name="measureType" type="string" default="AbsMax">
<description>
This parameter allows to set how the amplitude is measured.
Either by finding the absolute maximum of the demeaned
trace (AbsMax), the difference of maximum and minimum of
the signal window (MinMax) or the maximum peak-trough
of one cycle (PeakTrough).
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<description>
The calibration function log10(A0).
Note that if absMax is already explicitly configured, this
parameter has no effect.
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLv">
<description>
Parameters for computing MLv magnitudes from MLv amplitudes.
</description>
<parameter name="maxDist" type="string" unit="deg" default="8"/>
<parameter name="maxDepth" type="string" unit="km" default="1000"/>
<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
<description>
The calibration function log10(A0).
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Format: any list of distance-value pairs separated by
comma. Values within pairs are separated by colon.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
Example: &quot;0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85&quot;
specifies 4 distance intervals from
0...60, 60...100, 100...400 and 400...1000 km distance.
Within these intervals log10(A0) is interpolated linearly
between -1.3...-2.8, -2.8...-3.0, -3.0...-4.5 and -4.5...-5.8,
respectively.
Note: The first and last distance samples limit the
maximum distance range for computing MLv.
</description>
</parameter>
</extend-struct>
Note: The first and last distance samples limit the
maximum distance range for computing MLv.
</description>
</parameter>
<parameter name="maxDistanceKm" type="double" unit="km" default="-1.0">
<description>
Maximum epicentral distance for computing MLv.
No distance limitation for maxDistanceKm=-1
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -6,163 +6,171 @@
Nuttli magnitude for Canada and other Cratonic regions
</description>
<configuration>
<extend-struct type="GlobalAmplitudeProfile" match-name="MN">
<description>
Amplitude control parameters for MN (Nuttli magnitude).
</description>
<parameter name="velocityModel" type="string" default="iasp91">
<group name="amplitudes">
<group name="MN">
<description>
The travel time table set compiled for LocSAT. The tables
are located in &quot;share/locsat/tables/[vmodel].*&quot;.
Amplitude control parameters for MN (Nuttli magnitude).
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalMagnitudeProfile" match-name="MN">
<description>
Regionalization of MN (Nuttli magnitude).
</description>
<parameter name="region" type="path" default="@DATADIR@/magnitudes/MN/MN.bna">
<parameter name="velocityModel" type="string" default="iasp91">
<description>
The travel time table set compiled for LocSAT. The tables
are located in &quot;share/locsat/tables/[vmodel].*&quot;.
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="MN">
<description>
The path to the BNA file which defines the valid region
for the MN magnitude. Note that the entire path from
source to receiver must lie entirely within the polygon(s).
Regionalization of MN (Nuttli magnitude).
</description>
</parameter>
<parameter name="offsetMw" type="double">
<description>
The offset applied to the MN network magnitude to
estimate Mw(MN). If not configured then no Mw estimation
will be applied.
</description>
</parameter>
</extend-struct>
<parameter name="region" type="path" default="@DATADIR@/magnitudes/MN/MN.bna">
<description>
The path to the BNA file which defines the valid region
for the MN magnitude. Note that the entire path from
source to receiver must lie entirely within the polygon(s).
</description>
</parameter>
<parameter name="offsetMw" type="double">
<description>
The offset applied to the MN network magnitude to
estimate Mw(MN). If not configured then no Mw estimation
will be applied.
</description>
</parameter>
</group>
</group>
</configuration>
</plugin>
<binding name="MN" module="global">
<description>
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MN">
<description>
Parameters for measuring AMN amplitudes.
</description>
<parameter name="rms" type="boolean" default="false">
<group name="amplitudes">
<group name="MN">
<description>
Whether to use RMS ratio of signal and noise window for
SNR computation or the ration of the peak-trough
amplitudes of either window.
Parameters for measuring AMN amplitudes.
</description>
</parameter>
<parameter name="filter" type="string">
<description>
The configurable filter such that the V measurement is
made on a filtered trace. By default, filtering is not
enabled.
<parameter name="rms" type="boolean" default="false">
<description>
Whether to use RMS ratio of signal and noise window for
SNR computation or the ration of the peak-trough
amplitudes of either window.
</description>
</parameter>
<parameter name="filter" type="string">
<description>
The configurable filter such that the V measurement is
made on a filtered trace. By default, filtering is not
enabled.
See https://docs.gempa.de/seiscomp/current/base/filter-grammar.html
for how to specify the filter.
</description>
</parameter>
<parameter name="Vmin" type="double" default="3.2" unit="km/s">
<description>
The minimum phase velocity used to determine the signal
window end.
</description>
</parameter>
<parameter name="Vmax" type="double" default="3.6" unit="km/s">
<description>
The maximum phase velocity used to determine the signal
window start.
</description>
</parameter>
<parameter name="snrWindowSeconds" type="double" default="10" unit="s">
<description>
The length of the SNR window.
</description>
</parameter>
<parameter name="noiseWindowPreSeconds" type="double" default="0" unit="s">
<description>
The offset of the noise window. A positive value will move
the computed noise window to the left on the time axis,
a negative value will move it to the right on the time axis.
</description>
</parameter>
<parameter name="signalStartPriorities" type="list:string" default="Lg,Sg,Sn,S,Vmax">
<description>
The priority list of phase onsets to compute the signal
start window. Except for Vmin and Vmax, associated phases
(arrivals) must be present in the origin for this
particular phase. Picked phases are only considered if
the origin is a manual origin or the pick is a
manual pick. The first value in the list which can be
retrieved or computed, is selected.
See https://docs.gempa.de/seiscomp/current/base/filter-grammar.html
for how to specify the filter.
</description>
</parameter>
<parameter name="Vmin" type="double" default="3.2" unit="km/s">
<description>
The minimum phase velocity used to determine the signal
window end.
</description>
</parameter>
<parameter name="Vmax" type="double" default="3.6" unit="km/s">
<description>
The maximum phase velocity used to determine the signal
window start.
</description>
</parameter>
<parameter name="snrWindowSeconds" type="double" default="10" unit="s">
<description>
The length of the SNR window.
</description>
</parameter>
<parameter name="noiseWindowPreSeconds" type="double" default="0" unit="s">
<description>
The offset of the noise window. A positive value will move
the computed noise window to the left on the time axis,
a negative value will move it to the right on the time axis.
</description>
</parameter>
<parameter name="signalStartPriorities" type="list:string" default="Lg,Sg,Sn,S,Vmax">
<description>
The priority list of phase onsets to compute the signal
start window. Except for Vmin and Vmax, associated phases
(arrivals) must be present in the origin for this
particular phase. Picked phases are only considered if
the origin is a manual origin or the pick is a
manual pick. The first value in the list which can be
retrieved or computed, is selected.
Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
</description>
</parameter>
<parameter name="signalEndPriorities" type="list:string" default="Rg,Vmin">
<description>
The priority list of phase onsets to compute the signal
end window. Except for Vmin and Vmax, associated phases
(arrivals) must be present in the origin for this
particular phase. Picked phases are only considered if
the origin is a manual origin or the pick is a
manual pick. The first value in the list which can be
retrieved or computed, is selected.
Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
</description>
</parameter>
<parameter name="signalEndPriorities" type="list:string" default="Rg,Vmin">
<description>
The priority list of phase onsets to compute the signal
end window. Except for Vmin and Vmax, associated phases
(arrivals) must be present in the origin for this
particular phase. Picked phases are only considered if
the origin is a manual origin or the pick is a
manual pick. The first value in the list which can be
retrieved or computed, is selected.
Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MN">
<description>
Parameters for computing MN magnitudes from AMN amplitudes.
</description>
<parameter name="minSNR" type="double" default="2">
Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="MN">
<description>
The minimum SNR required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the SNR is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
Parameters for computing MN magnitudes from AMN amplitudes.
</description>
</parameter>
<parameter name="minPeriod" type="double" default="0.01" unit="s">
<description>
The minimum period required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="maxPeriod" type="double" default="1.3" unit="s">
<description>
The maximum period allowed for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is above this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="minDist" type="double" default="0.5" unit="deg">
<description>
The minimum distance required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the distance is below this threshold it
will be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="maxDist" type="double" default="30" unit="deg">
<description>
The maximum distance allowed for a magnitude to be
computed. If the distance exceeds this threshold then
the computation will be canceled and no station
magnitude will be available at all.
</description>
</parameter>
</extend-struct>
<parameter name="minSNR" type="double" default="2">
<description>
The minimum SNR required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the SNR is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="minPeriod" type="double" default="0.01" unit="s">
<description>
The minimum period required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is below this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="maxPeriod" type="double" default="1.3" unit="s">
<description>
The maximum period allowed for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the period is above this threshold it will
be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="minDist" type="double" default="0.5" unit="deg">
<description>
The minimum distance required for a magnitude to pass
the QC check. The station magnitude will be computed
anyway but if the distance is below this threshold it
will be associated with weight zero and will not contribute
to the network magnitude.
</description>
</parameter>
<parameter name="maxDist" type="double" default="30" unit="deg">
<description>
The maximum distance allowed for a magnitude to be
computed. If the distance exceeds this threshold then
the computation will be canceled and no station
magnitude will be available at all.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -12,51 +12,55 @@
at around 20 s period.
</description>
<configuration>
<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="Ms_20">
<description>
Parameters for computing Ms_20 amplitudes.
</description>
<parameter name="minVelocity" type="double" unit="km/s" default="3">
<group name="amplitudes">
<group name="Ms_20">
<description>
Minimum group velocity used to compute signal time window.
Parameters for computing Ms_20 amplitudes.
</description>
</parameter>
<parameter name="maxVelocity" type="double" unit="km/s" default="4">
<parameter name="minVelocity" type="double" unit="km/s" default="3">
<description>
Minimum group velocity used to compute signal time window.
</description>
</parameter>
<parameter name="maxVelocity" type="double" unit="km/s" default="4">
<description>
Maximum group velocity used to compute signal time window.
</description>
</parameter>
</group>
</group>
<group name="magnitudes">
<group name="Ms_20">
<description>
Maximum group velocity used to compute signal time window.
Parameters for computing Ms_20 magnitudes from Ms_20 amplitudes.
</description>
</parameter>
</extend-struct>
<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="Ms_20">
<description>
Parameters for computing Ms_20 magnitudes from Ms_20 amplitudes.
</description>
<parameter name="lowerPeriod" type="double" unit="s" default="18">
<description>
Lower period limit of the signal for computing Ms_20.
</description>
</parameter>
<parameter name="upperPeriod" type="double" unit="s" default="22">
<description>
Upper period limit of the signal for computing Ms_20.
</description>
</parameter>
<parameter name="minDist" type="double" unit="deg" default="20">
<description>
Minimum epicentral distance for computing Ms_20.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="160">
<description>
Maximum epicentral distance for computing Ms_20.
</description>
</parameter>
<parameter name="maxDepth" type="double" unit="km" default="100">
<description>
Maximum depth for computing Ms_20.
</description>
</parameter>
</extend-struct>
<parameter name="lowerPeriod" type="double" unit="s" default="18">
<description>
Lower period limit of the signal for computing Ms_20.
</description>
</parameter>
<parameter name="upperPeriod" type="double" unit="s" default="22">
<description>
Upper period limit of the signal for computing Ms_20.
</description>
</parameter>
<parameter name="minDist" type="double" unit="deg" default="20">
<description>
Minimum epicentral distance for computing Ms_20.
</description>
</parameter>
<parameter name="maxDist" type="double" unit="deg" default="160">
<description>
Maximum epicentral distance for computing Ms_20.
</description>
</parameter>
<parameter name="maxDepth" type="double" unit="km" default="100">
<description>
Maximum depth for computing Ms_20.
</description>
</parameter>
</group>
</group>
</configuration>
</binding>
</seiscomp>

View File

@ -3,161 +3,148 @@
<plugin name="NonLinLoc">
<extends>global</extends>
<description>
NonLinLoc locator wrapper plugin for SeisComP.
NonLinLoc was written by Anthony Lomax (http://alomax.free.fr/nlloc).
NonLinLoc locator wrapper plugin for SeisComP.
NonLinLoc was written by Anthony Lomax (http://alomax.free.fr/nlloc).
</description>
<configuration>
<group name="NonLinLoc">
<parameter name="publicID" type="string" default="NLL.@time/%Y%m%d%H%M%S.%f@.@id@">
<description>
PublicID creation pattern for an origin created by NonLinLoc.
PublicID creation pattern for an origin created by NonLinLoc.
</description>
</parameter>
<parameter name="outputPath" type="directory" default="/tmp/sc3.nll" options="write">
<parameter name="outputPath" type="path" default="/tmp/sc3.nll">
<description>
Defines the output directory for all native NonLinLoc input and output files.
Defines the output path for all native NonLinLoc input and output files.
</description>
</parameter>
<parameter name="saveInput" type="boolean" default="true">
<description>
Save input files *.obs in outputPath for later processing.
Setting to false reduces file i/o and saves disk space.
Save input files *.obs in outputPath for later processing.
Setting to false reduces file i/o and saves disk space.
</description>
</parameter>
<parameter name="saveIntermediateOutput" type="boolean" default="true">
<description>
Save output files in outputPath for later processing or
for viewing by the Seismicity Viewer.
Setting to false reduces file i/o and saves disk space.
Save output files in outputPath for later processing or
for viewing by the Seismicity Viewer.
Setting to false reduces file i/o and saves disk space.
</description>
</parameter>
<parameter name="controlFile" type="file" options="read">
<parameter name="controlFile" type="path">
<description>
The default NonLinLoc control file to use. Parameters
therein are overridden per profile.
The default NonLinLoc control file to use.
</description>
</parameter>
<parameter name="defaultPickError" type="double" default="0.5" unit="s">
<description>
The default pick error in seconds passed to NonLinLoc if a SeisComP pick
object does not provide pick time uncertainties.
The default pick error in seconds passed to NonLinLoc if a SeisComP pick
object does not provide pick time uncertainties.
</description>
</parameter>
<parameter name="fixedDepthGridSpacing" type="double" default="0.1" unit="km">
<description>
Since NLL does not support fixing the depth natively so this
feature is emulated by settings the Z grid very tight around
the depth to be fixed. This value sets the Z grid spacing.
Since NLL does not support fixing the depth natively so this
feature is emulated by settings the Z grid very tight around
the depth to be fixed. This value sets the Z grid spacing.
</description>
</parameter>
<parameter name="allowMissingStations" type="boolean" default="true">
<description>
Picks from stations with missing configuration will be
ignored. The origin will be relocated without that pick
if possible.
Picks from stations with missing configuration will be
ignored. The origin will be relocated without that pick
if possible.
If set to false, the plug-in throws
an excepection without locating.
If set to false, the plug-in throws
an excepection without locating.
</description>
</parameter>
<parameter name="profiles" type="list:string">
<description>
Defines a list of active profiles to be used by the plugin.
Defines a list of active profiles to be used by the plugin.
</description>
</parameter>
<group name="profile">
<struct type="NonLinLoc profile" link = "NonLinLoc.profiles">
<description>
Defines a regional profile that is used if a prelocation falls
inside the configured region.
Defines a regional profile that is used if a prelocation falls
inside the configured region.
</description>
<parameter name="earthModelID" type="string">
<description>
Earth model ID stored in the created origin.
earthModelID that is stored in the created origin.
</description>
</parameter>
<parameter name="methodID" type="string" default="NonLinLoc">
<description>
Method ID stored in the created origin.
methodID that is stored in the created origin.
</description>
</parameter>
<parameter name="tablePath" type="path">
<description>
Path to travel time tables (grids) including the
full path and the names of the table files before
the phase name.
Example:
@DATADIR@/nonlinloc/iasp91/iasp91 for P and S tables
files
seiscomp/share/nonlinloc/iasp91/iasp91.[PS].*
Path to travel time tables (grids).
</description>
</parameter>
<parameter name="stationNameFormat" type="string" default="@STA@">
<description>
Format of the station name used to select the right travel time table (grid) file
for a station.
By default only the station code is used (e.g. tablePath.P.@STA@.time.*), but
that doesn't allow to distinguish between multiple network codes or location codes
that use the same station code.
To overcome this limitation this parameter could be set in a more general way, for
example @NET@_@STA@_@LOC@. In this way NonLinLoc will look for
travel time table (grid) files of the form: tablePath.P.@NET@_@STA@_@LOC@.time.*
Where @NET@ @STA@ @LOC@ are just placeholder for the actual codes.
Format of the station name used to select the right travel time table (grid) file
for a station.
By default only the station code is used (e.g. tablePath.P.@STA@.time.*), but
that doesn't allow to distinguish between multiple network codes or location codes
that use the same station code.
To overcome this limitation this parameter could be set in a more general way, for
example @NET@_@STA@_@LOC@. In this way NonLinLoc will look for
travel time table (grid) files of the form: tablePath.P.@NET@_@STA@_@LOC@.time.*
Where @NET@ @STA@ @LOC@ are just placeholder for the actual codes
</description>
</parameter>
<parameter name="controlFile" type="file" options="read">
<parameter name="controlFile" type="path">
<description>
Control file of the current profile overriding
parameters of the default control file.
Control file of the current profile. If not set, the default
control file will be used instead.
</description>
</parameter>
<parameter name="transform" type="string" default="GLOBAL">
<description>
Transformation type of the configured region.
Supported are SIMPLE and GLOBAL.
Transformation type of the configured region. Supported are
SIMPLE and GLOBAL.
Default: GLOBAL is assumed.
</description>
</parameter>
<parameter name="region" type="list:double">
<description>
Defines the 4 corner values of the epicentral region for selecting the profile.
The original epicentre must be within the region.
Defines the 4 corner values of the epicentral region for selecting the profile.
The original epicentre must be within the region.
If transform is GLOBAL: min_lat, min_lon, max_lat, max_lon.
The values define the geographic corner coordinates.
Unit: degree.
If transform is GLOBAL: min_lat, min_lon, max_lat, max_lon.
The values define the geographic corner coordinates. Unit is degree.
If transform is SIMPLE: min_x, min_y, max_x, max_y.
The values define the region relative to the origin
configured with &quot;origin&quot;.
Unit: km.
When this parameter is empty, the generated NonLinLoc
configuration is automatically overwritten with
TRANS GLOBAL.
Otherwise TRANS from &quot;controlFile&quot; applies.
If transform is SIMPLE: xmin, ymin, xmax, ymax.
The values define the region relative to the configured origin.
Unit is km.
</description>
</parameter>
<parameter name="origin" type="list:double" unit="deg">
<description>
Only used for transformation SIMPLE. Expects 2 values: latitude, longitude.
The value define the geographic origin of the area spanned by region.
Only used for transformation SIMPLE. Expects 2 values: latitude, longitude.
The value define the geographic origin of the area spanned by region.
Unit is degree.
</description>
</parameter>
<parameter name="rotation" type="double" unit="deg">
<description>
Only used for transformation SIMPLE. Defines the
rotation around the origin of the defined region.
Only used for transformation SIMPLE. Defines the rotation around the
origin of the defined region.
</description>
</parameter>
</struct>

View File

@ -74,7 +74,7 @@
applies.
</description>
</parameter>
<parameter name="confLevel" type="double" default="0.9" range="0.5:1.0">
<parameter name="confLevel" type="double" default="0.9" range="0.5,1.0">
<description>
Confidence level, between 0.5 and 1.0, used in
computing the hypocenter confidence ellipsoid.

View File

@ -1,9 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<seiscomp>
<module name="invextr" category="Inventory">
<description>
Extract and clean or remove streams from inventory.
</description>
<description>Extract channels from inventory.</description>
<configuration>
</configuration>
@ -54,15 +52,11 @@
</option>
<option flag="" long-flag="chans" argument="arg">
<description>
A comma separated list of streams to extract or remove (--rm)
which can contain wildcards. Avoiding confusion with files
names due to SHELL extension requires to enclose stream codes
by quotes. Default: *.*.*.* meaning all streams. Unreferenced
sensors, data loggers and resonses are removed when extracting.
A comma separated list of channel IDs to extract which may
contain wildcards. Default: *.*.*.* meaning all streams.
A comma separated list of channel IDs to extract
which can contain wildcards. Default: *.*.*.* meaning
all streams.
Example: invextr --chans &quot;GE.*.*.BHZ,GE.MORC.*.*&quot; inventory.xml
Example: invextr --chans &quot;GE.*.*.BHZ,GE.MORC.*.*&quot; inv.xml
</description>
</option>
<option flag="" long-flag="nslc" argument="arg">
@ -74,29 +68,19 @@
<option flag="r" long-flag="region" argument="arg">
<description>
Filter streams by geographic region given as
"South,West,North,East". Region is unused by default.
"South, East, North, West". Region is unused by default.
</description>
</option>
<option flag="" long-flag="rm" argument="arg">
<description>
Removes all channels given with '--chans' instead of
extracting them.
Removes all channels given with '--chans' instead of
extracting them.
Example: invextr --rm --chans &quot;GE.*&quot; inv.xml
Example: invextr --rm --chans &quot;GE.*&quot; inv.xml
</description>
</option>
</group>
<group name="Output">
<option flag="f" long-flag="formatted">
<description>
Enable formatted XML output.
</description>
</option>
<option flag="o" long-flag="output">
<description>
Name of output file. If not given or '-', output is sent to
stdout.
</description>
<description>Enables formatted XML output.</description>
</option>
</group>
</command-line>

View File

@ -1,18 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<seiscomp>
<module name="msrtsimul" category="Acquisition" standalone="true">
<module name="msrtsimul" category="Acquisition">
<description>MiniSEED real time playback and simulation</description>
<command-line>
<synopsis>
msrtsimul [OPTION] miniSEED-file
</synopsis>
<group name="Verbosity">
<option flag="h" long-flag="help" argument="">
<option flag="h" long-flag="help" argument="" unit="">
<description>
Display this help message.
</description>
</option>
<option flag="v" long-flag="verbose" argument="">
<option flag="v" long-flag="verbose" argument="" unit="">
<description>
Verbose mode.
</description>
@ -35,7 +35,7 @@
Minutes to skip at the beginning.
</description>
</option>
<option flag="m" long-flag="mode" argument="string" unit="" values="realtime,historic">
<option flag="m" long-flag="mode" argument="string" unit="">
<description>
Playback mode: choose between 'realtime' and 'historic'
</description>
@ -59,8 +59,7 @@
</option>
<option flag="u" long-flag="unlimited" argument="" unit="">
<description>
Allow miniSEED records which are not 512 bytes. By default
seedlink supports 512 bytes only.
Allow miniSEED records which are not 512 bytes.
</description>
</option>
</group>

View File

@ -8,6 +8,11 @@
Number of seconds to fetch missed updates on start up.
</description>
</parameter>
<parameter name="cacheSize" type="int" default="5000">
<description>
Number of public objects to cache.
</description>
</parameter>
<parameter name="batchSize" type="int" default="2000">
<description>
Maximum number of notifiers to batch in one message. If set
@ -112,7 +117,7 @@
<description>Include only preferred origin and magnitude information</description>
</parameter>
</group>
<parameter name="keepAlive" type="boolean" default="true">
<parameter name="keepAlive" type="boolean" default="false">
<description>
Request server to send keep alive message every 30s to
prevent connection reset by firewalls on long idle
@ -122,20 +127,12 @@
</parameter>
<parameter name="filter" type="string">
<description>
Server-side SQL like WHERE clause to filter the result set. The actual
available parameters depend on the QuakeLink server version. Use
'telnet host port' followed by 'help select' to connect to a QuakeLink
server an request available parameters.
SQL like WHERE clause to filter the result set.
clause := condition[ AND|OR [(]clause[)]]
condition := MAG|DEPTH|LAT|LON|PHASES|DIST(lat,lon) op {float} |
DIST(lat,lon) IN [{float}, {float}] |
UPDATED|OTIME op time |
AGENCY|AUTHOR|STATUS|ESTATUS|EMODE|TYPE|CTYPE|DTYPE|REGION|MAG_T op 'string' |
MAG|DEPTH|LAT|LON|PHASES|OTIME|UPDATED IS [NOT] NULL
FELT|NOT FELT
op := =|!=|&gt;|&gt;=|&lt;|&lt;=|eq|gt|ge|lt|ge
time := %Y,%m,%d[,%H,%M,%S[,%f]]
clause := condition[ AND|OR [(]clause[)]] __
condition := MAG|DEPTH|LAT|LON|PHASES|OTIME|UPDATED [op float|time]|[IS [NOT] NULL] __
op := =|&gt;|&gt;=|&lt;|&lt;=|eq|gt|ge|lt|ge __
time := %Y,%m,%d[,%H,%M,%S,%f]
</description>
</parameter>
<parameter name="routingTable" type="list:string" default="Pick:IMPORT_GROUP,Amplitude:IMPORT_GROUP,FocalMechanism:EVENT,Origin:EVENT">

View File

@ -19,14 +19,14 @@
empty list (=""): all agencies are allowed
</description>
</parameter>
<parameter name="authors" type="list:string" default="">
<description>
List of authors to consider picks and origins. The author
is extracted from the pick or the preferred origin of the event
and compared with the configured authors.
empty list (=""): all authors are allowed
</description>
</parameter>
<parameter name="authors" type="list:string" default="">
<description>
List of authors to consider picks and origins. The author
is extracted from the pick or the preferred origin of the event
and compared with the configured authors.
empty list (=""): all authors are allowed
</description>
</parameter>
<group name="poi">
<parameter name="message" type="string">
<description>
@ -56,28 +56,28 @@
</parameter>
</group>
<group name="scripts">
<parameter name="pick" type="file" options="execute">
<parameter name="pick" type="string">
<description>
The script to be called when a pick
arrives. Network-, station code, pick publicID are passed
as parameters $1, $2, $3.
</description>
</parameter>
<parameter name="amplitude" type="file" options="execute">
<parameter name="amplitude" type="string">
<description>
The script to be called when an amplitude
arrives. Network-, station code, amplitude and amplitude
public ID are passed as parameters $1, $2, $3, $4.
</description>
</parameter>
<parameter name="alert" type="file" options="execute">
<parameter name="alert" type="string">
<description>
The script to be called when a preliminary
origin arrives. Latitude and longitude are passed as
parameters $1 and $2.
</description>
</parameter>
<parameter name="event" type="file" options="execute">
<parameter name="event" type="string">
<description>
The script to be called when an event has been
declared. The message string, a flag (1=new event,

View File

@ -97,8 +97,7 @@
<group name="Input">
<option long-flag="ep" argument="file">
<description>
Defines an event parameters XML file to be read and
processed. Use '-' to read from stdin. This
Defines an event parameters XML file to be read and processed. This
implies offline mode and only processes all origins contained
in that file. It computes amplitudes for all picks associated
with an origin and outputs an XML file that additionally
@ -151,14 +150,6 @@
</description>
</option>
</group>
<group name="Output">
<option flag="f" long-flag="formatted">
<description>
Use formatted XML output along with '--ep'. Otherwise XML
is unformatted.
</description>
</option>
</group>
</command-line>
</module>
</seiscomp>

View File

@ -44,12 +44,12 @@
Time to keep picks in the buffer with respect to pick time, not creation time.
</description>
</parameter>
<parameter name="originKeep" type="int" default="86400" unit="s">
<parameter name="originKeep" type="integer" default="86400" unit="s">
<description>
Time to keep origins in buffer.
</description>
</parameter>
<parameter name="cleanupInterval" type="int" default="3600" unit="s">
<parameter name="cleanupInterval" type="integer" default="3600" unit="s">
<description>
Clean-up interval for removing old/unused objects.
</description>
@ -69,7 +69,7 @@
Maximum travel-time residual (unweighted) for a pick at a station to be used.
</description>
</parameter>
<parameter name="minPhaseCount" type="int" default="6">
<parameter name="minPhaseCount" type="integer" default="6">
<description>
Minimum number of phases for reporting origins.
</description>
@ -92,7 +92,7 @@
Maximum epicntral distance to stations for accepting picks.
</description>
</parameter>
<parameter name="minStaCountIgnorePKP" type="int" default="15">
<parameter name="minStaCountIgnorePKP" type="integer" default="15">
<description>
If the station count for stations at &lt; 105 degrees distance
exceeds this number, no picks at &gt; 105 degrees will be
@ -114,17 +114,17 @@
amplitude object. If it is empty, the pick SNR is 10.
</description>
</parameter>
<parameter name="grid" type="file" default="@DATADIR@/scautoloc/grid.conf" options="read">
<parameter name="grid" type="path" default="@DATADIR@/scautoloc/grid.conf">
<description>
Location of the grid file for nucleating origins.
</description>
</parameter>
<parameter name="stationConfig" type="file" default="@DATADIR@/scautoloc/station.conf" options="read">
<parameter name="stationConfig" type="path" default="@DATADIR@/scautoloc/station.conf">
<description>
Location of the station configuration file for nucleating origins.
</description>
</parameter>
<parameter name="stationLocations" type="file" default="" options="read">
<parameter name="stationLocations" type="path" default="">
<description>
The station file to be used when in offline mode.
If no file is given the database is used. An example is given
@ -188,7 +188,7 @@
Activate for writing pick log files to &quot;pickLog&quot;.
</description>
</parameter>
<parameter name="pickLog" type="file" default="@LOGDIR@/autoloc-picklog" options="write">
<parameter name="pickLog" type="string" default="@LOGDIR@/autoloc-picklog">
<description>
Location of pick log file containing information about received
picks. Activate &quot;pickLogEnable&quot; for writing the files.
@ -222,7 +222,7 @@
BOTH minAmplitude and minSNR need to be exceeded!
</description>
</parameter>
<parameter name="minPhaseCount" type="int" default="4">
<parameter name="minPhaseCount" type="integer" default="4">
<description>
Minimum number of XXL picks for forming an origin.
Must be >= 4.
@ -323,9 +323,9 @@
<option flag="" long-flag="ep" argument="file">
<description>
Name of input XML file (SCML) with all picks and origins for
offline processing. Use '-' to read from stdin. The
database connection is not received from messaging and must
be provided. Results are sent in XML to stdout.
offline processing. The database connection is not received
from messaging and must be provided. Results are sent in XML
to stdout.
</description>
</option>
</group>
@ -483,14 +483,6 @@
</description>
</option>
</group>
<group name="Output">
<option flag="f" long-flag="formatted">
<description>
Use formatted XML output along with '--ep'. Otherwise XML
is unformatted.
</description>
</option>
</group>
</command-line>
</module>
</seiscomp>

View File

@ -10,41 +10,41 @@
</parameter>
<parameter name="leadTime" type="int" default="60" unit="s">
<description>
The leadTime defines the time in seconds to start picking on
waveforms before current time.
The leadTime defines the time in seconds to start picking on
waveforms before current time.
</description>
</parameter>
<parameter name="playback" type="boolean" default="false">
<description>
If enabled, picks can be made on waveforms which are older than
current time - &quot;leadTime&quot;. Current time is the time
when the module was started. This allows to pick
historic data in real-time playbacks which are preserving the
record times. See e.g. the &quot;msrtsimul&quot; module.
This option deactivates &quot;leadTime&quot;. Activate only for playbacks.
If enabled, picks can be made on waveforms which are older than
current time - &quot;leadTime&quot;. Current time is the time
when the module was started. This allows to pick
historic data in real-time playbacks which are preserving the
record times. See e.g. the &quot;msrtsimul&quot; module.
This option deactivates &quot;leadTime&quot;. Activate only for playbacks.
</description>
</parameter>
<parameter name="initTime" type="int" default="60" unit="s">
<description>
The initTime defines a time span in seconds for that the picker
is blind after initialization. This time is needed to initialize
the filter and depends on it.
The initTime defines a time span in seconds for that the picker
is blind after initialization. This time is needed to initialize
the filter and depends on it.
</description>
</parameter>
<parameter name="gapInterpolation" type="boolean" default="false">
<description>
Interpolate gaps linearly? This is valid for gaps shorter
than thresholds.maxGapLength.
Interpolate gaps linearly? This is valid for gaps shorter
than thresholds.maxGapLength.
</description>
</parameter>
<parameter name="useAllStreams" type="boolean" default="true">
<description>
If enabled, all streams that are received by the picker are
used for picking. This option has only effect if a
file is used as input which contains more data than the
picker requests. If connected to a waveform server such as
SeedLink, the picker will only receive the data it is
subscribed to.
If enabled, all streams that are received by the picker are
used for picking. This option has only effect if a
file is used as input which contains more data than the
picker requests. If connected to a waveform server such as
SeedLink, the picker will only receive the data it is
subscribed to.
</description>
</parameter>
<parameter name="filter" type="string" default="&quot;RMHP(10)>>ITAPER(30)>>BW(4,0.7,2)>>STALTA(2,80)&quot;">
@ -59,12 +59,15 @@
values (bindings) override this value.
</description>
</parameter>
<parameter name="picker" type="string" default="" values="AIC,BK,GFZ">
<parameter name="picker" type="string">
<description>
The re-picker to use. By default only simple detections
are emitted as picks. To enable re-picking on a time window around
the detection, an algorithm (plugin) can be defined with this parameter.
Currently available: &quot;AIC&quot;, &quot;BK&quot; or
&quot;GFZ&quot;.
More options may be available by plugins. Configure related
parameters in global bindings.
</description>
@ -84,12 +87,12 @@
their evaluation status.
</description>
</parameter>
<parameter name="spicker" type="string" default="" values="S-L2,S-V">
<parameter name="spicker" type="string">
<description>
The secondary picker to use, e.g., for picking S-phases.
More options may be available by plugins. Configure related
parameters in global bindings.
Currently available is: &quot;S-L2&quot;. More options may
be available by plugins. Configure related parameters
in global bindings.
</description>
</parameter>
<parameter name="killPendingSPickers" type="boolean" default="true">
@ -105,42 +108,34 @@
</parameter>
<parameter name="extraPickComments" type="boolean" default="false">
<description>
If enabled and &quot;picker&quot; or &quot;spicker&quot; is
configured, extra comments will be added to the resulting pick.
If enabled and &quot;picker&quot; or &quot;spicker&quot; is
configured, extra comments will be added to the resulting pick.
Supported comments:
Supported comments:
SNR: added if SNR >= 0, comment id is &quot;SNR&quot;
SNR: added if SNR >= 0, comment id is &quot;SNR&quot;
duration: added if the duration has been computed at the time
of the pick creation, which actually requires
&quot;thresholds.maxDuration&quot; to be configured
with a non-negative value.
duration: added if the duration has been computed at the time
of the pick creation, which actually requires
&quot;thresholds.maxDuration&quot; to be configured
with a non-negative value.
</description>
</parameter>
<parameter name="simplifiedIDs" type="boolean" default="false">
<parameter name="fx" type="string">
<description>
If enabled then simplified pick and amplitude IDs will be created.
Rather than the configured publicID pattern, the following pattern
will be used: &quot;%Y%m%d.%H%M%S.%f-@net.sta.loc.cha@&quot;.
</description>
</parameter>
<parameter name="fx" type="string" default="" values="DFX">
<description>
Configures the feature extraction type to use. Currently
available: &quot;DFX&quot;. Configure related parameters
in global bindings.
Configures the feature extraction type to use. Currently
available: &quot;DFX&quot;. Configure related parameters
in global bindings.
When configured, the usability of the features for locating
events depends on the used locator, e.g. LOCSAT will by default
consider slowness and backazimuth when measured. Read the
locator's documentation and configuration parameters.
When configured, the usability of the features for locating
events depends on the used locator, e.g. LOCSAT. Read the
locator's documentation and configuration parameters.
</description>
</parameter>
<parameter name="amplitudes" type="list:string" default="MLv, mb, mB">
<description>
The amplitude types to be computed by the picker based on
picks.
The amplitude types to be computed by the picker based on
picks.
</description>
</parameter>
<group name="thresholds">
@ -149,35 +144,35 @@
</description>
<parameter name="triggerOn" type="double" default="3">
<description>
For which value on the filtered waveforms is a pick
detected. Station specific values override this value.
For which value on the filtered waveforms is a pick
detected. Station specific values override this value.
</description>
</parameter>
<parameter name="triggerOff" type="double" default="1.5">
<description>
The value the filtered waveforms must reach to enable
detection again. Between triggerOn and triggerOff the
picker is blind and does not produce picks. Station
specific values override this value.
The value the filtered waveforms must reach to enable
detection again. Between triggerOn and triggerOff the
picker is blind and does not produce picks. Station
specific values override this value.
</description>
</parameter>
<parameter name="maxGapLength" type="double" default="4.5" unit="s">
<description>
The maximum gap length in seconds to handle.
Gaps larger than this will cause the picker to be reset.
The maximum gap length in seconds to handle.
Gaps larger than this will cause the picker to be reset.
</description>
</parameter>
<parameter name="amplMaxTimeWindow" type="double" default="10" unit="s">
<description>
The time window used to compute a maximum (snr) amplitude
on the filtered waveforms.
The time window used to compute a maximum (snr) amplitude
on the filtered waveforms.
</description>
</parameter>
<parameter name="deadTime" type="double" default="30" unit="s">
<description>
The time used together with measured amplitude and
`thresholds.minAmplOffset` for scaling the amplitude below which
the picker is inactive after a P pick. Read the documentation!
The time used together with measured amplitude and
`thresholds.minAmplOffset` for scaling the amplitude below which
the picker is inactive after a P pick. Read the documentation!
</description>
</parameter>
<parameter name="minAmplOffset" type="double" default="3">
@ -188,49 +183,40 @@
similar to the trigger threshold. Read the documentation!
</description>
</parameter>
<parameter name="minDuration" type="double" default="-1" unit="s">
<parameter name="minDuration" type="double" default="-1">
<description>
The minimum duration to reach. The duration is measured as
the time between trigger on and trigger off. If this value
is configured, the detection (pick) will be delayed in order
is configured the detection (pick) will be delayed in order
to compute and check the duration.
The duration will be reported as comment to the pick when
activating &quot;extraPickComments&quot; allowing the tuning
of the acceptable duration range.
</description>
</parameter>
<parameter name="maxDuration" type="double" default="-1" unit="s">
<parameter name="maxDuration" type="double" default="-1">
<description>
The maximum duration allowed. The duration is measured as
the time between trigger on and trigger off. If this value
is configured, the detection (pick) will be delayed in order
to compute and check the duration. Negative values
deactivate the check.
The duration will be reported as comment to the pick when
activating &quot;extraPickComments&quot; allowing the tuning
of the acceptable duration range.
is configured the detection (pick) will be delayed in order
to compute and check the duration.
</description>
</parameter>
</group>
<group name="amplitudes">
<parameter name="enableUpdate" type="list:string" default="" unit="">
<description>
Configure a list of magnitude types.
Update and send amplitudes for these magnitudes as soon as data are
available. Do not wait for complete time windows.
Only magnitudes computed by scautopick as given by the amplitudes parameter are considered.
This option is for rapid magnitude estimation and EEW.
Configure a list of magnitude types.
Update and send amplitudes for these magnitudes as soon as data are
available. Do not wait for complete time windows.
Only magnitudes computed by scautopick as given by the amplitudes parameter are considered.
This option is for rapid magnitude estimation and EEW.
WARNING: This option increases the load on the system!
WARNING: This option increases the load on the system!
</description>
</parameter>
</group>
<group name="connection">
<parameter name="amplitudeGroup" type="string" default="AMPLITUDE">
<description>
Message group for sending amplitudes to.
Message group for sending amplitudes to.
</description>
</parameter>
</group>
@ -317,10 +303,8 @@
</option>
<option flag="" long-flag="ep">
<description>
Outputs an XML event parameters file containing all
picks and amplitudes. This option implies '--offline'.
Consider '--playback' or configure accordingly for
processing data from the past.
Outputs an XML event parameters file containing all picks and amplitudes.
This option implies offline.
</description>
</option>
<option flag="" long-flag="amplitudes" argument="arg" default="1">
@ -365,14 +349,6 @@
<option long-flag="send-detections" param-ref="sendDetections"/>
<option long-flag="extra-comments" param-ref="extraPickComments"/>
</group>
<group name="Output">
<option flag="f" long-flag="formatted">
<description>
Use formatted XML output along with '--ep'. Otherwise XML
is unformatted.
</description>
</option>
</group>
</command-line>
</module>
@ -380,40 +356,40 @@
into the core description to have everything in one place. -->
<binding module="scautopick">
<description>
Configures a station for picking. A station without a binding assigned
will not be picked unless the picker is in offline mode.
Configures a station for picking. A station without a binding assigned
will not be picked unless the picker is in offline mode.
</description>
<configuration>
<parameter name="detecEnable" type="boolean" default="true">
<description>
Enables/disables picking on a station.
Enables/disables picking on a station.
</description>
</parameter>
<parameter name="detecFilter" type="string" default="&quot;RMHP(10)>>ITAPER(30)>>BW(4,0.7,2)>>STALTA(2,80)&quot;">
<description>
Defines the filter to be used for picking.
Defines the filter to be used for picking.
</description>
</parameter>
<parameter name="trigOn" type="double" default="3">
<description>
For which value on the filtered waveform is a pick detected.
For which value on the filtered waveform is a pick detected.
</description>
</parameter>
<parameter name="trigOff" type="double" default="1.5">
<description>
The value the filtered waveform must reach to
enable a detection again.
The value the filtered waveform must reach to
enable a detection again.
</description>
</parameter>
<parameter name="timeCorr" type="double" default="-0.8" unit="s">
<description>
The time correction applied to a pick.
The time correction applied to a pick.
</description>
</parameter>
<parameter name="sensitivityCorrection" type="boolean" default="false">
<description>
Defines whether the detector applies sensitivity correction
(applying the gain) or not in advance to filter the data.
Defines whether the detector applies sensitivity correction
(applying the gain) or not in advance to filter the data.
</description>
</parameter>
</configuration>

View File

@ -134,13 +134,8 @@
</option>
<option flag="x" long-flag="extra">
<description>
Generate extra detailed output for specific output formats adding
- 3/autoloc3: IDs of preferred objects and creation information
- 4/FDSNWS event text: Additional columns
More information may be added in future versions.
Use a specially detailed autoloc3 format. This options works
only in combination with the autoloc3-flag.
</description>
</option>
</group>

Some files were not shown because too many files have changed in this diff Show More