Install SeisComP and scanloc ARM64 nightly packages
This commit is contained in:
		
							
								
								
									
										
											BIN
										
									
								
								bin/Hypo71PC
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/Hypo71PC
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/dlsv2inv
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/dlsv2inv
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										96
									
								
								bin/fdsnws
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								bin/fdsnws
									
									
									
									
									
								
							@ -40,7 +40,7 @@ import seiscomp.logging
 | 
				
			|||||||
import seiscomp.client
 | 
					import seiscomp.client
 | 
				
			||||||
import seiscomp.system
 | 
					import seiscomp.system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from seiscomp.math import KM_OF_DEGREE
 | 
					from seiscomp.math import WGS84_KM_OF_DEGREE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from seiscomp.fdsnws.utils import isRestricted, u_str, b_str
 | 
					from seiscomp.fdsnws.utils import isRestricted, u_str, b_str
 | 
				
			||||||
from seiscomp.fdsnws.dataselect import (
 | 
					from seiscomp.fdsnws.dataselect import (
 | 
				
			||||||
@ -72,6 +72,14 @@ from seiscomp.fdsnws.http import (
 | 
				
			|||||||
)
 | 
					)
 | 
				
			||||||
from seiscomp.fdsnws.log import Log
 | 
					from seiscomp.fdsnws.log import Log
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try:
 | 
				
			||||||
 | 
					    from seiscomp.fdsnws.jwt import JWT
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    _jwtSupported = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					except ImportError:
 | 
				
			||||||
 | 
					    _jwtSupported = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def logSC3(entry):
 | 
					def logSC3(entry):
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
@ -411,6 +419,14 @@ class FDSNWS(seiscomp.client.Application):
 | 
				
			|||||||
        self._access = None
 | 
					        self._access = None
 | 
				
			||||||
        self._checker = 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._requestLog = None
 | 
				
			||||||
        self.__reloadRequested = False
 | 
					        self.__reloadRequested = False
 | 
				
			||||||
        self.__timeInventoryLoaded = None
 | 
					        self.__timeInventoryLoaded = None
 | 
				
			||||||
@ -745,6 +761,42 @@ class FDSNWS(seiscomp.client.Application):
 | 
				
			|||||||
        except Exception:
 | 
					        except Exception:
 | 
				
			||||||
            pass
 | 
					            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
 | 
					        # If the database connection is passed via command line or
 | 
				
			||||||
        # configuration file then messaging is disabled. Messaging is only used
 | 
					        # configuration file then messaging is disabled. Messaging is only used
 | 
				
			||||||
        # to get the configured database connection URI.
 | 
					        # to get the configured database connection URI.
 | 
				
			||||||
@ -878,7 +930,7 @@ Execute on command line with debug output
 | 
				
			|||||||
        if self._invCoordinatePrecision is not None:
 | 
					        if self._invCoordinatePrecision is not None:
 | 
				
			||||||
            invCoordinatePrecisionStr = (
 | 
					            invCoordinatePrecisionStr = (
 | 
				
			||||||
                f"{self._invCoordinatePrecision} decimal places (≅"
 | 
					                f"{self._invCoordinatePrecision} decimal places (≅"
 | 
				
			||||||
                f"{int(KM_OF_DEGREE * 1000 / 10**self._invCoordinatePrecision)}m)"
 | 
					                f"{int(WGS84_KM_OF_DEGREE * 1000 / 10**self._invCoordinatePrecision)}m)"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            invCoordinatePrecisionStr = "unlimited"
 | 
					            invCoordinatePrecisionStr = "unlimited"
 | 
				
			||||||
@ -926,6 +978,13 @@ configuration read:
 | 
				
			|||||||
  auth
 | 
					  auth
 | 
				
			||||||
    enabled                : {self._authEnabled}
 | 
					    enabled                : {self._authEnabled}
 | 
				
			||||||
    gnupgHome              : {self._authGnupgHome}
 | 
					    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}"""
 | 
					  requestLog               : {self._requestLogFile}"""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -937,6 +996,17 @@ configuration read:
 | 
				
			|||||||
            seiscomp.logging.error("all services disabled through configuration")
 | 
					            seiscomp.logging.error("all services disabled through configuration")
 | 
				
			||||||
            return None
 | 
					            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
 | 
					        # access logger if requested
 | 
				
			||||||
        if self._accessLogFile:
 | 
					        if self._accessLogFile:
 | 
				
			||||||
            self._accessLog = Log(self._accessLogFile)
 | 
					            self._accessLog = Log(self._accessLogFile)
 | 
				
			||||||
@ -1019,6 +1089,13 @@ configuration read:
 | 
				
			|||||||
            dataselect.putChild(b"1", dataselect1)
 | 
					            dataselect.putChild(b"1", dataselect1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # query
 | 
					            # query
 | 
				
			||||||
 | 
					            if self._jwtEnabled:
 | 
				
			||||||
 | 
					                authSession = self._jwt.getAuthSessionWrapper(
 | 
				
			||||||
 | 
					                    FDSNDataSelect, dataSelectInv, self._recordBulkSize, self._access
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					                dataselect1.putChild(b"query", authSession)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
                dataselect1.putChild(
 | 
					                dataselect1.putChild(
 | 
				
			||||||
                    b"query", FDSNDataSelect(dataSelectInv, self._recordBulkSize)
 | 
					                    b"query", FDSNDataSelect(dataSelectInv, self._recordBulkSize)
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
@ -1050,7 +1127,8 @@ configuration read:
 | 
				
			|||||||
            dataselect1.putChild(b"builder", fileRes)
 | 
					            dataselect1.putChild(b"builder", fileRes)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if self._authEnabled:
 | 
					            if self._authEnabled:
 | 
				
			||||||
                from seiscomp.fdsnws.http import AuthResource
 | 
					                from seiscomp.fdsnws.authresource import AuthResource
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                dataselect1.putChild(
 | 
					                dataselect1.putChild(
 | 
				
			||||||
                    b"auth",
 | 
					                    b"auth",
 | 
				
			||||||
                    AuthResource(DataSelectVersion, self._authGnupgHome, self._userdb),
 | 
					                    AuthResource(DataSelectVersion, self._authGnupgHome, self._userdb),
 | 
				
			||||||
@ -1180,6 +1258,12 @@ configuration read:
 | 
				
			|||||||
            availability.putChild(b"1", availability1)
 | 
					            availability.putChild(b"1", availability1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # query
 | 
					            # 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
 | 
					            # queryauth
 | 
				
			||||||
@ -1192,6 +1276,12 @@ configuration read:
 | 
				
			|||||||
            availability1.putChild(b"queryauth", authSession)
 | 
					            availability1.putChild(b"queryauth", authSession)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # extent
 | 
					            # 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
 | 
					            # extentauth
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/fdsnxml2inv
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/fdsnxml2inv
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/invextr
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/invextr
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							@ -107,19 +107,19 @@ def rt_simul(f, speed=1.0, jump=0.0, delaydict=None):
 | 
				
			|||||||
# ------------------------------------------------------------------------------
 | 
					# ------------------------------------------------------------------------------
 | 
				
			||||||
def usage():
 | 
					def usage():
 | 
				
			||||||
    print(
 | 
					    print(
 | 
				
			||||||
        """Usage:
 | 
					        f"""Usage:
 | 
				
			||||||
  msrtsimul [options] file
 | 
					  {os.path.basename(__file__)} [options] file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
miniSEED real-time playback and simulation
 | 
					miniSEED real-time playback and simulation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
msrtsimul reads sorted (and possibly multiplexed) miniSEED files and writes
 | 
					{os.path.basename(__file__)} reads sorted (and possibly multiplexed) miniSEED files and
 | 
				
			||||||
individual records in pseudo-real-time. This is useful e.g. for testing and
 | 
					writes individual records in pseudo-real-time. This is useful e.g. for testing and
 | 
				
			||||||
simulating data acquisition. Output is
 | 
					simulating data acquisition. Output is
 | 
				
			||||||
$SEISCOMP_ROOT/var/run/seedlink/mseedfifo unless --seedlink or -c is used.
 | 
					$SEISCOMP_ROOT/var/run/seedlink/mseedfifo unless --seedlink or -c is used.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Verbosity:
 | 
					Verbosity:
 | 
				
			||||||
  -h, --help            Display this help message
 | 
					  -h, --help            Display this help message.
 | 
				
			||||||
  -v, --verbose         Verbose mode
 | 
					  -v, --verbose         Verbose mode.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Playback:
 | 
					Playback:
 | 
				
			||||||
  -j, --jump            Minutes to skip (float).
 | 
					  -j, --jump            Minutes to skip (float).
 | 
				
			||||||
@ -131,14 +131,15 @@ Playback:
 | 
				
			|||||||
  -m  --mode            Choose between 'realtime' and 'historic'.
 | 
					  -m  --mode            Choose between 'realtime' and 'historic'.
 | 
				
			||||||
  -s, --speed           Speed factor (float).
 | 
					  -s, --speed           Speed factor (float).
 | 
				
			||||||
      --test            Test mode.
 | 
					      --test            Test mode.
 | 
				
			||||||
  -u, --unlimited       Allow miniSEED records which are not 512 bytes
 | 
					  -u, --unlimited       Allow miniSEED records which are not 512 bytes. By default
 | 
				
			||||||
 | 
					                        seedlink supports 512 bytes only.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Examples:
 | 
					Examples:
 | 
				
			||||||
Play back miniSEED waveforms in real time with verbose output
 | 
					Play back miniSEED waveforms in real time with verbose output
 | 
				
			||||||
  msrtsimul -v data.mseed
 | 
					  {os.path.basename(__file__)} -v data.mseed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Play back miniSEED waveforms in real time skipping the first 1.5 minutes
 | 
					Play back miniSEED waveforms in real time skipping the first 1.5 minutes
 | 
				
			||||||
  msrtsimul -j 1.5 data.mseed
 | 
					  {os.path.basename(__file__)} -j 1.5 data.mseed
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
    )
 | 
					    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -170,7 +171,7 @@ def main():
 | 
				
			|||||||
                "help",
 | 
					                "help",
 | 
				
			||||||
                "mode=",
 | 
					                "mode=",
 | 
				
			||||||
                "seedlink=",
 | 
					                "seedlink=",
 | 
				
			||||||
                "unlimited"
 | 
					                "unlimited",
 | 
				
			||||||
            ],
 | 
					            ],
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
    except GetoptError:
 | 
					    except GetoptError:
 | 
				
			||||||
@ -278,7 +279,7 @@ Check if SeedLink is running and configured for real-time playback.
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        time_diff = None
 | 
					        time_diff = None
 | 
				
			||||||
        print(
 | 
					        print(
 | 
				
			||||||
            f"Starting msrtsimul at {datetime.datetime.utcnow()}",
 | 
					            f"Starting msrtsimul at {datetime.datetime.now(datetime.UTC)}",
 | 
				
			||||||
            file=sys.stderr,
 | 
					            file=sys.stderr,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        for rec in inp:
 | 
					        for rec in inp:
 | 
				
			||||||
@ -292,7 +293,7 @@ starting on {str(rec.begin_time)}: length != 512 Bytes.",
 | 
				
			|||||||
            if time_diff is None:
 | 
					            if time_diff is None:
 | 
				
			||||||
                ms = 1000000.0 * (rec.nsamp / rec.fsamp)
 | 
					                ms = 1000000.0 * (rec.nsamp / rec.fsamp)
 | 
				
			||||||
                time_diff = (
 | 
					                time_diff = (
 | 
				
			||||||
                    datetime.datetime.utcnow()
 | 
					                    datetime.datetime.now(datetime.UTC).replace(tzinfo=None)
 | 
				
			||||||
                    - rec.begin_time
 | 
					                    - rec.begin_time
 | 
				
			||||||
                    - datetime.timedelta(microseconds=ms)
 | 
					                    - datetime.timedelta(microseconds=ms)
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
 | 
				
			|||||||
@ -84,7 +84,7 @@ def main():
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    resp = seiscomp.datamodel.ResponsePAZ_Create()
 | 
					    resp = seiscomp.datamodel.ResponsePAZ_Create()
 | 
				
			||||||
    resp.setType("A")
 | 
					    resp.setType("A")
 | 
				
			||||||
    resp.setGain(args.gain * header["sensitivities"][0]["factor"] / header["dataScale"])
 | 
					    resp.setGain(args.gain / header["dataScale"])
 | 
				
			||||||
    resp.setGainFrequency(0)
 | 
					    resp.setGainFrequency(0)
 | 
				
			||||||
    resp.setNormalizationFactor(1)
 | 
					    resp.setNormalizationFactor(1)
 | 
				
			||||||
    resp.setNormalizationFrequency(0)
 | 
					    resp.setNormalizationFrequency(0)
 | 
				
			||||||
@ -93,9 +93,9 @@ def main():
 | 
				
			|||||||
    inv.add(resp)
 | 
					    inv.add(resp)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    sensor = seiscomp.datamodel.Sensor_Create()
 | 
					    sensor = seiscomp.datamodel.Sensor_Create()
 | 
				
			||||||
    sensor.setName(header["instrument"])
 | 
					    sensor.setName(header["experiment"])
 | 
				
			||||||
    sensor.setDescription(header["instrument"])
 | 
					    sensor.setDescription(header["measurement"])
 | 
				
			||||||
    sensor.setUnit(header["sensitivities"][0]["unit"])
 | 
					    sensor.setUnit(header["unit"])
 | 
				
			||||||
    sensor.setResponse(resp.publicID())
 | 
					    sensor.setResponse(resp.publicID())
 | 
				
			||||||
    inv.add(sensor)
 | 
					    inv.add(sensor)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -131,8 +131,8 @@ def main():
 | 
				
			|||||||
            cha = seiscomp.datamodel.Stream_Create()
 | 
					            cha = seiscomp.datamodel.Stream_Create()
 | 
				
			||||||
            cha.setCode(args.channel)
 | 
					            cha.setCode(args.channel)
 | 
				
			||||||
            cha.setStart(net.start())
 | 
					            cha.setStart(net.start())
 | 
				
			||||||
            cha.setGain(args.gain * header["sensitivities"][0]["factor"] / header["dataScale"])
 | 
					            cha.setGain(args.gain / header["dataScale"])
 | 
				
			||||||
            cha.setGainUnit(header["sensitivities"][0]["unit"])
 | 
					            cha.setGainUnit(header["unit"])
 | 
				
			||||||
            cha.setGainFrequency(0)
 | 
					            cha.setGainFrequency(0)
 | 
				
			||||||
            cha.setSensor(sensor.publicID())
 | 
					            cha.setSensor(sensor.publicID())
 | 
				
			||||||
            cha.setDatalogger(datalogger.publicID())
 | 
					            cha.setDatalogger(datalogger.publicID())
 | 
				
			||||||
 | 
				
			|||||||
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										31
									
								
								bin/sc2pa
									
									
									
									
									
								
							
							
						
						
									
										31
									
								
								bin/sc2pa
									
									
									
									
									
								
							@ -13,11 +13,14 @@
 | 
				
			|||||||
# https://www.gnu.org/licenses/agpl-3.0.html.                              #
 | 
					# https://www.gnu.org/licenses/agpl-3.0.html.                              #
 | 
				
			||||||
############################################################################
 | 
					############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import time
 | 
					 | 
				
			||||||
import sys
 | 
					import sys
 | 
				
			||||||
import os
 | 
					import os
 | 
				
			||||||
import time
 | 
					
 | 
				
			||||||
import seiscomp.core, seiscomp.client, seiscomp.datamodel, seiscomp.logging
 | 
					import seiscomp.core
 | 
				
			||||||
 | 
					import seiscomp.client
 | 
				
			||||||
 | 
					import seiscomp.datamodel
 | 
				
			||||||
 | 
					import seiscomp.logging
 | 
				
			||||||
 | 
					
 | 
				
			||||||
from seiscomp.scbulletin import Bulletin, stationCount
 | 
					from seiscomp.scbulletin import Bulletin, stationCount
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -40,8 +43,8 @@ class ProcAlert(seiscomp.client.Application):
 | 
				
			|||||||
        self.minPickCount = 25
 | 
					        self.minPickCount = 25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.procAlertScript = ""
 | 
					        self.procAlertScript = ""
 | 
				
			||||||
 | 
					        self.bulletin = None
 | 
				
			||||||
        ep = seiscomp.datamodel.EventParameters()
 | 
					        self.cache = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def createCommandLineDescription(self):
 | 
					    def createCommandLineDescription(self):
 | 
				
			||||||
        try:
 | 
					        try:
 | 
				
			||||||
@ -61,7 +64,8 @@ class ProcAlert(seiscomp.client.Application):
 | 
				
			|||||||
            self.commandline().addStringOption(
 | 
					            self.commandline().addStringOption(
 | 
				
			||||||
                "Publishing",
 | 
					                "Publishing",
 | 
				
			||||||
                "procalert-script",
 | 
					                "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(
 | 
					            self.commandline().addOption(
 | 
				
			||||||
                "Publishing", "test", "Test mode, no messages are sent"
 | 
					                "Publishing", "test", "Test mode, no messages are sent"
 | 
				
			||||||
@ -174,13 +178,14 @@ class ProcAlert(seiscomp.client.Application):
 | 
				
			|||||||
        return False
 | 
					        return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def send_procalert(self, txt, evid):
 | 
					    def send_procalert(self, txt, evid):
 | 
				
			||||||
        if self.procAlertScript:
 | 
					        if not self.procAlertScript:
 | 
				
			||||||
            tmp = f"/tmp/yyy{evid.replace('/', '_').replace(':', '-')}"
 | 
					            return
 | 
				
			||||||
            f = file(tmp, "w")
 | 
					 | 
				
			||||||
            f.write(f"{txt}")
 | 
					 | 
				
			||||||
            f.close()
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            os.system(self.procAlertScript + " " + tmp + " " + evid)
 | 
					        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)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def coordinates(self, org):
 | 
					    def coordinates(self, org):
 | 
				
			||||||
        return org.latitude().value(), org.longitude().value(), org.depth().value()
 | 
					        return org.latitude().value(), org.longitude().value(), org.depth().value()
 | 
				
			||||||
@ -194,7 +199,7 @@ class ProcAlert(seiscomp.client.Application):
 | 
				
			|||||||
            seiscomp.logging.error("suspicious region/depth - ignored")
 | 
					            seiscomp.logging.error("suspicious region/depth - ignored")
 | 
				
			||||||
            publish = False
 | 
					            publish = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if stationCount(org) < self.minPickCount:
 | 
					        if stationCount(org, 0.5) < self.minPickCount:
 | 
				
			||||||
            seiscomp.logging.error("too few picks - ignored")
 | 
					            seiscomp.logging.error("too few picks - ignored")
 | 
				
			||||||
            publish = False
 | 
					            publish = False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										60
									
								
								bin/scalert
									
									
									
									
									
								
							
							
						
						
									
										60
									
								
								bin/scalert
									
									
									
									
									
								
							@ -39,6 +39,8 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
        self.addMessagingSubscription("EVENT")
 | 
					        self.addMessagingSubscription("EVENT")
 | 
				
			||||||
        self.addMessagingSubscription("LOCATION")
 | 
					        self.addMessagingSubscription("LOCATION")
 | 
				
			||||||
        self.addMessagingSubscription("MAGNITUDE")
 | 
					        self.addMessagingSubscription("MAGNITUDE")
 | 
				
			||||||
 | 
					        self.addMessagingSubscription("AMPLITUDE")
 | 
				
			||||||
 | 
					        self.addMessagingSubscription("PICK")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.setAutoApplyNotifierEnabled(True)
 | 
					        self.setAutoApplyNotifierEnabled(True)
 | 
				
			||||||
        self.setInterpretNotifierEnabled(True)
 | 
					        self.setInterpretNotifierEnabled(True)
 | 
				
			||||||
@ -76,50 +78,57 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
        self.commandline().addOption(
 | 
					        self.commandline().addOption(
 | 
				
			||||||
            "Generic",
 | 
					            "Generic",
 | 
				
			||||||
            "first-new",
 | 
					            "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().addGroup("Alert")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        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(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "pick-script",
 | 
					            "pick-script",
 | 
				
			||||||
            "script to be called when a pick arrived, network-, station code pick "
 | 
					            "Script to be called when a pick arrived, network-, station code pick "
 | 
				
			||||||
            "publicID are passed as parameters $1, $2, $3 and $4",
 | 
					            "publicID are passed as parameters $1, $2, $3 and $4.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "amp-script",
 | 
					            "amp-script",
 | 
				
			||||||
            "script to be called when a station amplitude arrived, network-, station "
 | 
					            "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",
 | 
					            "code, amplitude and amplitude publicID are passed as parameters $1, $2, "
 | 
				
			||||||
 | 
					            "$3 and $4.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "alert-script",
 | 
					            "alert-script",
 | 
				
			||||||
            "script to be called when a preliminary origin arrived, latitude and "
 | 
					            "Script to be called when a preliminary origin arrived, latitude and "
 | 
				
			||||||
            "longitude are passed as parameters $1 and $2",
 | 
					            "longitude are passed as parameters $1 and $2.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "event-script",
 | 
					            "event-script",
 | 
				
			||||||
            "script to be called when an event has been declared; the message string, a "
 | 
					            "Script to be called when an event has been declared; the message string, "
 | 
				
			||||||
            "flag (1=new event, 0=update event), the EventID, the arrival count and the "
 | 
					            "a flag (1=new event, 0=update event), the EventID, the arrival count and "
 | 
				
			||||||
            "magnitude (optional when set) are passed as parameter $1, $2, $3, $4 and $5",
 | 
					            "the magnitude (optional when set) are passed as parameter $1, $2, $3, $4 "
 | 
				
			||||||
 | 
					            "and $5.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addGroup("Cities")
 | 
					        self.commandline().addGroup("Cities")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Cities",
 | 
					            "Cities",
 | 
				
			||||||
            "max-dist",
 | 
					            "max-dist",
 | 
				
			||||||
            "maximum distance for using the distance from a city to the earthquake",
 | 
					            "Maximum distance for using the distance from a city to the earthquake.",
 | 
				
			||||||
 | 
					            str(self._citiesMaxDist),
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Cities",
 | 
					            "Cities",
 | 
				
			||||||
            "min-population",
 | 
					            "min-population",
 | 
				
			||||||
            "minimum population for a city to become a point of interest",
 | 
					            "Minimum population for a city to become a point of interest.",
 | 
				
			||||||
 | 
					            str(self._citiesMinPopulation),
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addGroup("Debug")
 | 
					        self.commandline().addGroup("Debug")
 | 
				
			||||||
        self.commandline().addStringOption("Debug", "eventid,E", "specify Event ID")
 | 
					        self.commandline().addStringOption("Debug", "eventid,E", "Specify event ID.")
 | 
				
			||||||
        return True
 | 
					        return True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def init(self):
 | 
					    def init(self):
 | 
				
			||||||
@ -174,7 +183,7 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
            phaseStreams = self.configGetStrings("constraints.phaseStreams")
 | 
					            phaseStreams = self.configGetStrings("constraints.phaseStreams")
 | 
				
			||||||
            for item in phaseStreams:
 | 
					            for item in phaseStreams:
 | 
				
			||||||
                rule = item.strip()
 | 
					                rule = item.strip()
 | 
				
			||||||
                # rule is NET.STA.LOC.CHA and the special charactes ? * | ( ) are allowed
 | 
					                # allowned: NET.STA.LOC.CHA and the special charactes ? * | ( )
 | 
				
			||||||
                if not re.fullmatch(r"[A-Z|a-z|0-9|\?|\*|\||\(|\)|\.]+", rule):
 | 
					                if not re.fullmatch(r"[A-Z|a-z|0-9|\?|\*|\||\(|\)|\.]+", rule):
 | 
				
			||||||
                    seiscomp.logging.error(
 | 
					                    seiscomp.logging.error(
 | 
				
			||||||
                        f"Wrong stream ID format in `constraints.phaseStreams`: {item}"
 | 
					                        f"Wrong stream ID format in `constraints.phaseStreams`: {item}"
 | 
				
			||||||
@ -559,7 +568,8 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
                            break
 | 
					                            break
 | 
				
			||||||
                    if not matched:
 | 
					                    if not matched:
 | 
				
			||||||
                        seiscomp.logging.debug(
 | 
					                        seiscomp.logging.debug(
 | 
				
			||||||
                            f" + stream ID {waveformID} does not match constraints.phaseStreams rules"
 | 
					                            f" + stream ID {waveformID} does not match "
 | 
				
			||||||
 | 
					                            "constraints.phaseStreams rules"
 | 
				
			||||||
                        )
 | 
					                        )
 | 
				
			||||||
                        return
 | 
					                        return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -568,7 +578,8 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
                        self.notifyPick(obj)
 | 
					                        self.notifyPick(obj)
 | 
				
			||||||
                    else:
 | 
					                    else:
 | 
				
			||||||
                        seiscomp.logging.debug(
 | 
					                        seiscomp.logging.debug(
 | 
				
			||||||
                            f" + phase hint {phaseHint} does not match '{self._phaseHints}'"
 | 
					                            f" + phase hint {phaseHint} does not match "
 | 
				
			||||||
 | 
					                            f"'{self._phaseHints}'"
 | 
				
			||||||
                        )
 | 
					                        )
 | 
				
			||||||
                else:
 | 
					                else:
 | 
				
			||||||
                    seiscomp.logging.debug(
 | 
					                    seiscomp.logging.debug(
 | 
				
			||||||
@ -739,6 +750,11 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            seiscomp.logging.debug(f"desc: {dsc}")
 | 
					            seiscomp.logging.debug(f"desc: {dsc}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            try:
 | 
				
			||||||
 | 
					                evType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
 | 
				
			||||||
 | 
					            except Exception:
 | 
				
			||||||
 | 
					                evType = "earthquake"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            dep = org.depth().value()
 | 
					            dep = org.depth().value()
 | 
				
			||||||
            now = seiscomp.core.Time.GMT()
 | 
					            now = seiscomp.core.Time.GMT()
 | 
				
			||||||
            otm = org.time().value()
 | 
					            otm = org.time().value()
 | 
				
			||||||
@ -756,14 +772,10 @@ class ObjectAlert(seiscomp.client.Application):
 | 
				
			|||||||
                dt = f"{int(dt)} seconds ago"
 | 
					                dt = f"{int(dt)} seconds ago"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if preliminary:
 | 
					            if preliminary:
 | 
				
			||||||
                message = f"earthquake, XXL, preliminary, {dt}, {dsc}"
 | 
					                message = f"{evType}, XXL, preliminary, {dt}, {dsc}"
 | 
				
			||||||
            else:
 | 
					            else:
 | 
				
			||||||
                message = "earthquake, %s, %s, %s, depth %d kilometers" % (
 | 
					                message = f"{evType}, {dt}, {dsc}, {mag}, depth {int(dep + 0.5)} kilometers" 
 | 
				
			||||||
                    dt,
 | 
					
 | 
				
			||||||
                    dsc,
 | 
					 | 
				
			||||||
                    mag,
 | 
					 | 
				
			||||||
                    int(dep + 0.5),
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
            seiscomp.logging.info(message)
 | 
					            seiscomp.logging.info(message)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if not self._eventScript:
 | 
					            if not self._eventScript:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scanloc
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scanloc
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scardac
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scardac
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										159
									
								
								bin/scart
									
									
									
									
									
								
							
							
						
						
									
										159
									
								
								bin/scart
									
									
									
									
									
								
							@ -300,10 +300,15 @@ class StreamIterator:
 | 
				
			|||||||
        self.file = workdir + file
 | 
					        self.file = workdir + file
 | 
				
			||||||
        # print "Starting at file %s" % self.file
 | 
					        # print "Starting at file %s" % self.file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        while begin < end:
 | 
				
			||||||
            self.record, self.index = ar.findIndex(begin, end, self.file)
 | 
					            self.record, self.index = ar.findIndex(begin, end, self.file)
 | 
				
			||||||
            if self.record:
 | 
					            if self.record:
 | 
				
			||||||
                self.current = self.record.startTime()
 | 
					                self.current = self.record.startTime()
 | 
				
			||||||
                self.currentEnd = self.record.endTime()
 | 
					                self.currentEnd = self.record.endTime()
 | 
				
			||||||
 | 
					                break
 | 
				
			||||||
 | 
					            begin = self.archive.stepTime(begin)
 | 
				
			||||||
 | 
					            workdir, file = ar.location(begin, net, sta, loc, cha)
 | 
				
			||||||
 | 
					            self.file = workdir + file
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def __next__(self):
 | 
					    def __next__(self):
 | 
				
			||||||
        while True:
 | 
					        while True:
 | 
				
			||||||
@ -458,7 +463,8 @@ class RecordRenamer:
 | 
				
			|||||||
    def printRules(self):
 | 
					    def printRules(self):
 | 
				
			||||||
        for r in self.renameRules:
 | 
					        for r in self.renameRules:
 | 
				
			||||||
            print(
 | 
					            print(
 | 
				
			||||||
                f"Renaming {(r.pattern.pattern if r.pattern is not None else '*.*.*.*')} "
 | 
					                "Renaming "
 | 
				
			||||||
 | 
					                f"{(r.pattern.pattern if r.pattern is not None else '*.*.*.*')} "
 | 
				
			||||||
                f"to {r.newNet}.{r.newSta}.{r.newLoc}.{r.newCha}",
 | 
					                f"to {r.newNet}.{r.newSta}.{r.newLoc}.{r.newCha}",
 | 
				
			||||||
                file=sys.stderr,
 | 
					                file=sys.stderr,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
@ -805,10 +811,9 @@ Usage:
 | 
				
			|||||||
  {os.path.basename(__file__)} -d [options] [archive]
 | 
					  {os.path.basename(__file__)} -d [options] [archive]
 | 
				
			||||||
  {os.path.basename(__file__)} --check [options] [archive]
 | 
					  {os.path.basename(__file__)} --check [options] [archive]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Import miniSEED waveforms or dump records from an SDS structure, sort them,
 | 
					Import or export miniSEED waveforms into/from an SDS structure. Also check files and
 | 
				
			||||||
modify the time and replay them. Also check files and archives.
 | 
					archives. Data streams can be selected in three ways using the combinations of options:
 | 
				
			||||||
For Import and Dump mode the data streams can be selected in three ways
 | 
					-n -c -t  or --nslc -t or --list.
 | 
				
			||||||
using the combinations of options: -n -c -t  or --nslc -t or --list
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
Verbosity:
 | 
					Verbosity:
 | 
				
			||||||
  -h, --help       Display this help message.
 | 
					  -h, --help       Display this help message.
 | 
				
			||||||
@ -843,7 +848,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.LAST.*.*
 | 
				
			||||||
                        2007-03-28 15:48;2007-03-28 16:18;GE.PMBI..BH?
 | 
					                        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
 | 
					  -m, --modify      Dump mode: Modify the record time for real time playback
 | 
				
			||||||
                    when dumping.
 | 
					                    when dumping. Implicitly sets the speed parameter to 1.
 | 
				
			||||||
  -n arg            Import, dump mode: Data stream selection as a comma separated
 | 
					  -n arg            Import, dump mode: Data stream selection as a comma separated
 | 
				
			||||||
                    list "stream1,stream2,streamX" where each stream can be NET or
 | 
					                    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,
 | 
					                    NET.STA or NET.STA.LOC or NET.STA.LOC.CHA. If CHA is omitted,
 | 
				
			||||||
@ -858,16 +863,18 @@ Processing:
 | 
				
			|||||||
                    A rule is "[match-stream:]rename-stream" and match-stream
 | 
					                    A rule is "[match-stream:]rename-stream" and match-stream
 | 
				
			||||||
                    is optional. match-stream and rename-stream are in the
 | 
					                    is optional. match-stream and rename-stream are in the
 | 
				
			||||||
                    "NET.STA.LOC.CHA" format. match-stream supports special
 | 
					                    "NET.STA.LOC.CHA" format. match-stream supports special
 | 
				
			||||||
                    charactes "?" "*" "|" "(" ")". rename-stream supports the
 | 
					                    characters "?" "*" "|" "(" ")". rename-stream supports the
 | 
				
			||||||
                    special character "-" that can be used in place of NET, STA,
 | 
					                    special character "-" that can be used in place of NET, STA,
 | 
				
			||||||
                    LOC, CHA codes with the meaning of not renaming those.
 | 
					                    LOC, CHA codes with the meaning of not renaming those.
 | 
				
			||||||
                    "-" can also be used as the last character in CHA code.
 | 
					                    "-" can also be used as the last character in CHA code.
 | 
				
			||||||
                    Multiple rules can be provided as a comma separated list
 | 
					                    Multiple rules can be provided as a comma separated list
 | 
				
			||||||
                    or by providing multiple --rename options.
 | 
					                    or by providing multiple --rename options.
 | 
				
			||||||
  -s, --sort        Dump mode: Sort records.
 | 
					  -s, --sort        Dump mode: Sort records.
 | 
				
			||||||
  --speed arg       Dump mode: Specify the speed to dump the records. A value
 | 
					  --speed arg       Dump mode: Specify the speed to dump the records as a
 | 
				
			||||||
                    of 0 means no delay. Otherwise speed is a multiplier of
 | 
					                    multiplier of the real time difference between the records.
 | 
				
			||||||
                    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.
 | 
				
			||||||
  -t, --time-window t1~t2
 | 
					  -t, --time-window t1~t2
 | 
				
			||||||
                    Import, dump mode: UTC time window filter to be applied to
 | 
					                    Import, dump mode: UTC time window filter to be applied to
 | 
				
			||||||
                    the data streams. Format: "StartTime~EndTime". Example:
 | 
					                    the data streams. Format: "StartTime~EndTime". Example:
 | 
				
			||||||
@ -901,11 +908,16 @@ 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
 | 
					  {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
 | 
					Import miniSEED data from FDSNWS into a SDS archive for specific time range and streams
 | 
				
			||||||
  {os.path.basename(__file__)} -I fdsnws://geofon.gfz-potsdam.de \
 | 
					  {os.path.basename(__file__)} -I fdsnws://geofon.gfz.de \
 | 
				
			||||||
-t 2022-03-28T15:48~2022-03-28T16:18 --nslc list.file $SEISCOMP_ROOT/var/lib/archive
 | 
					-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
 | 
					Check an archive for files with out-of-order records
 | 
				
			||||||
  {os.path.basename(__file__)} --check /archive
 | 
					  {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
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -964,7 +976,7 @@ def main():
 | 
				
			|||||||
    # default = stdin
 | 
					    # default = stdin
 | 
				
			||||||
    recordURL = "file://-"
 | 
					    recordURL = "file://-"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    speed = 0
 | 
					    speed = None
 | 
				
			||||||
    stdout = False
 | 
					    stdout = False
 | 
				
			||||||
    outputFile = None
 | 
					    outputFile = None
 | 
				
			||||||
    ignoreRecords = False
 | 
					    ignoreRecords = False
 | 
				
			||||||
@ -1038,7 +1050,23 @@ def main():
 | 
				
			|||||||
        else:
 | 
					        else:
 | 
				
			||||||
            usage(exitcode=1)
 | 
					            usage(exitcode=1)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if not dump and not checkSDS and not importMode:
 | 
					    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:
 | 
				
			||||||
        importMode = True
 | 
					        importMode = True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if files:
 | 
					    if files:
 | 
				
			||||||
@ -1116,18 +1144,21 @@ def main():
 | 
				
			|||||||
            print(f"Stream file: '{nslcFile}'", file=sys.stderr)
 | 
					            print(f"Stream file: '{nslcFile}'", file=sys.stderr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if dump:
 | 
					        if dump:
 | 
				
			||||||
            if not sort and not modifyTime:
 | 
					            flags = []
 | 
				
			||||||
                print("Mode: DUMP", file=sys.stderr)
 | 
					            if speed:
 | 
				
			||||||
            elif sort and not modifyTime:
 | 
					                flags.append(f"speed={speed}")
 | 
				
			||||||
                print("Mode: DUMP & SORT", file=sys.stderr)
 | 
					            if sort:
 | 
				
			||||||
            elif not sort and modifyTime:
 | 
					                flags.append("sort")
 | 
				
			||||||
                print("Mode: DUMP & MODIFY_TIME", file=sys.stderr)
 | 
					            if modifyTime:
 | 
				
			||||||
            elif sort and modifyTime:
 | 
					                flags.append("modify time")
 | 
				
			||||||
                print("Mode: DUMP & SORT & MODIFY_TIME", file=sys.stderr)
 | 
					            flagStr = ""
 | 
				
			||||||
 | 
					            if flags:
 | 
				
			||||||
 | 
					                flagStr = f" ({', '.join(flags)})"
 | 
				
			||||||
 | 
					            print(f"Mode: DUMP{flagStr}", file=sys.stderr)
 | 
				
			||||||
            print(f"Archive: {archiveDirectory}", file=sys.stderr)
 | 
					            print(f"Archive: {archiveDirectory}", file=sys.stderr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if checkSDS:
 | 
					        if checkSDS:
 | 
				
			||||||
            print("Mode: Check", file=sys.stderr)
 | 
					            print("Mode: CHECK", file=sys.stderr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if importMode:
 | 
					        if importMode:
 | 
				
			||||||
            print("Mode: IMPORT", file=sys.stderr)
 | 
					            print("Mode: IMPORT", file=sys.stderr)
 | 
				
			||||||
@ -1157,7 +1188,7 @@ def main():
 | 
				
			|||||||
        else:
 | 
					        else:
 | 
				
			||||||
            out = sys.stdout.buffer
 | 
					            out = sys.stdout.buffer
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    # list file witht times takes priority over nslc list
 | 
					    # list file with times takes priority over nslc list
 | 
				
			||||||
    if listFile:
 | 
					    if listFile:
 | 
				
			||||||
        nslcFile = None
 | 
					        nslcFile = None
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1174,7 +1205,8 @@ def main():
 | 
				
			|||||||
        for stream in streamFilter:
 | 
					        for stream in streamFilter:
 | 
				
			||||||
            if stream.tmin >= stream.tmax:
 | 
					            if stream.tmin >= stream.tmax:
 | 
				
			||||||
                print(
 | 
					                print(
 | 
				
			||||||
                    f"Info: ignoring {stream.net}.{stream.sta}.{stream.loc}.{stream.cha} - "
 | 
					                    "Info: "
 | 
				
			||||||
 | 
					                    f"ignoring {stream.net}.{stream.sta}.{stream.loc}.{stream.cha} - "
 | 
				
			||||||
                    f"start {stream.tmin} after end {stream.tmax}",
 | 
					                    f"start {stream.tmin} after end {stream.tmax}",
 | 
				
			||||||
                    file=sys.stderr,
 | 
					                    file=sys.stderr,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
@ -1228,8 +1260,9 @@ def main():
 | 
				
			|||||||
                    f"{stream.cha} {stream.tmin} - {stream.tmax}",
 | 
					                    f"{stream.cha} {stream.tmin} - {stream.tmax}",
 | 
				
			||||||
                    file=sys.stderr,
 | 
					                    file=sys.stderr,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
        stime = None
 | 
					
 | 
				
			||||||
        realTime = seiscomp.core.Time.GMT()
 | 
					        firstRecordEndTime = None
 | 
				
			||||||
 | 
					        startTime = seiscomp.core.Time.UTC()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if sort:
 | 
					        if sort:
 | 
				
			||||||
            records = Sorter(archiveIterator)
 | 
					            records = Sorter(archiveIterator)
 | 
				
			||||||
@ -1245,36 +1278,34 @@ def main():
 | 
				
			|||||||
                if ignoreRecords:
 | 
					                if ignoreRecords:
 | 
				
			||||||
                    continue
 | 
					                    continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            etime = seiscomp.core.Time(rec.endTime())
 | 
					            etime = rec.endTime()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if stime is None:
 | 
					            if not firstRecordEndTime:
 | 
				
			||||||
                stime = etime
 | 
					                firstRecordEndTime = seiscomp.core.Time(etime)
 | 
				
			||||||
                if verbose:
 | 
					                if verbose:
 | 
				
			||||||
                    print(f"First record: {stime.iso()}", file=sys.stderr)
 | 
					                    print(
 | 
				
			||||||
 | 
					                        f"First record end time: {firstRecordEndTime.iso()}",
 | 
				
			||||||
 | 
					                        file=sys.stderr,
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            dt = etime - stime
 | 
					            if speed:
 | 
				
			||||||
 | 
					                dt = (etime - firstRecordEndTime).length()
 | 
				
			||||||
            now = seiscomp.core.Time.GMT()
 | 
					                playTime = startTime + seiscomp.core.TimeSpan(dt / speed)
 | 
				
			||||||
 | 
					 | 
				
			||||||
            if speed > 0:
 | 
					 | 
				
			||||||
                playTime = (realTime + dt).toDouble() / speed
 | 
					 | 
				
			||||||
            else:
 | 
					 | 
				
			||||||
                playTime = now.toDouble()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            sleepTime = playTime - now.toDouble()
 | 
					 | 
				
			||||||
            if sleepTime > 0:
 | 
					 | 
				
			||||||
                time.sleep(sleepTime)
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
                if modifyTime:
 | 
					                if modifyTime:
 | 
				
			||||||
                    recLength = etime - rec.startTime()
 | 
					                    recLength = etime - rec.startTime()
 | 
				
			||||||
                    rec.setStartTime(seiscomp.core.Time(playTime) - recLength)
 | 
					                    rec.setStartTime(seiscomp.core.Time(playTime) - recLength)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                sleepSeconds = (playTime - seiscomp.core.Time.UTC()).length()
 | 
				
			||||||
 | 
					                if sleepSeconds > 0:
 | 
				
			||||||
 | 
					                    time.sleep(sleepSeconds)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if verbose:
 | 
					            if verbose:
 | 
				
			||||||
                etime = rec.endTime()
 | 
					 | 
				
			||||||
                print(
 | 
					                print(
 | 
				
			||||||
                    f"{rec.streamID()} time current: "
 | 
					                    f"{rec.streamID()} "
 | 
				
			||||||
                    f"{seiscomp.core.Time.LocalTime().iso()} start: "
 | 
					                    f"current time: {seiscomp.core.Time.LocalTime().iso()}"
 | 
				
			||||||
                    f"{rec.startTime().iso()} end: {etime.iso()}",
 | 
					                    f", rec start: {rec.startTime().iso()}"
 | 
				
			||||||
 | 
					                    f", rec end: {rec.startTime().iso()}",
 | 
				
			||||||
                    file=sys.stderr,
 | 
					                    file=sys.stderr,
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1529,7 +1560,8 @@ def main():
 | 
				
			|||||||
                            f = open(archiveDirectory + file, "ab")
 | 
					                            f = open(archiveDirectory + file, "ab")
 | 
				
			||||||
                        except BaseException:
 | 
					                        except BaseException:
 | 
				
			||||||
                            print(
 | 
					                            print(
 | 
				
			||||||
                                f"File {archiveDirectory + file} could not be opened for writing",
 | 
					                                f"File {archiveDirectory + file} could not be opened "
 | 
				
			||||||
 | 
					                                f"for writing",
 | 
				
			||||||
                                file=sys.stderr,
 | 
					                                file=sys.stderr,
 | 
				
			||||||
                            )
 | 
					                            )
 | 
				
			||||||
                            return -1
 | 
					                            return -1
 | 
				
			||||||
@ -1605,8 +1637,8 @@ def main():
 | 
				
			|||||||
                    print(fileName, file=sys.stderr)
 | 
					                    print(fileName, file=sys.stderr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if printStreams and streamDict:
 | 
					    if printStreams and streamDict:
 | 
				
			||||||
        minTime = seiscomp.core.Time.GMT()
 | 
					        minTime = None
 | 
				
			||||||
        maxTime = str2time("1970-01-01 00:00:00")
 | 
					        maxTime = None
 | 
				
			||||||
        totalRecs = 0
 | 
					        totalRecs = 0
 | 
				
			||||||
        totalSamples = 0
 | 
					        totalSamples = 0
 | 
				
			||||||
        totalChans = set()
 | 
					        totalChans = set()
 | 
				
			||||||
@ -1624,8 +1656,12 @@ def main():
 | 
				
			|||||||
                file=sys.stderr,
 | 
					                file=sys.stderr,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            maxTime = max(maxTime, str2time(end))
 | 
					            if minTime:
 | 
				
			||||||
                minTime = min(minTime, str2time(start))
 | 
					                minTime = min(minTime, str2time(start))
 | 
				
			||||||
 | 
					                maxTime = max(maxTime, str2time(end))
 | 
				
			||||||
 | 
					            else:
 | 
				
			||||||
 | 
					                minTime = str2time(start)
 | 
				
			||||||
 | 
					                maxTime = str2time(end)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            totalChans.add(key)
 | 
					            totalChans.add(key)
 | 
				
			||||||
            totalNetworks.add(key.split(".")[0])
 | 
					            totalNetworks.add(key.split(".")[0])
 | 
				
			||||||
@ -1637,28 +1673,17 @@ def main():
 | 
				
			|||||||
            "# Summary",
 | 
					            "# Summary",
 | 
				
			||||||
            file=sys.stderr,
 | 
					            file=sys.stderr,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					        if minTime and maxTime:
 | 
				
			||||||
            print(
 | 
					            print(
 | 
				
			||||||
                f"#   time range: {minTime.iso()} - {maxTime.iso()}",
 | 
					                f"#   time range: {minTime.iso()} - {maxTime.iso()}",
 | 
				
			||||||
                file=sys.stderr,
 | 
					                file=sys.stderr,
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
        print(
 | 
					        print(
 | 
				
			||||||
            f"#   networks:   {len(totalNetworks)}",
 | 
					            f""""#   networks:   {len(totalNetworks)}
 | 
				
			||||||
            file=sys.stderr,
 | 
					#   stations:   {len(totalStations)}
 | 
				
			||||||
        )
 | 
					#   streams:    {len(totalChans)}
 | 
				
			||||||
        print(
 | 
					#   records:    {totalRecs}
 | 
				
			||||||
            f"#   stations:   {len(totalStations)}",
 | 
					#   samples:    {totalSamples}""",
 | 
				
			||||||
            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,
 | 
					            file=sys.stderr,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scautoloc
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scautoloc
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scautopick
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scautopick
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scchkcfg
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scchkcfg
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scconfig
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scconfig
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										104
									
								
								bin/scdbstrip
									
									
									
									
									
								
							
							
						
						
									
										104
									
								
								bin/scdbstrip
									
									
									
									
									
								
							@ -81,7 +81,6 @@ class MySQLDB(QueryInterface):
 | 
				
			|||||||
        return tmp_tables
 | 
					        return tmp_tables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def deleteObjectQuery(self, *v):
 | 
					    def deleteObjectQuery(self, *v):
 | 
				
			||||||
        if v[0]:
 | 
					 | 
				
			||||||
        q = (
 | 
					        q = (
 | 
				
			||||||
            "delete "
 | 
					            "delete "
 | 
				
			||||||
            + v[0]
 | 
					            + v[0]
 | 
				
			||||||
@ -91,15 +90,11 @@ class MySQLDB(QueryInterface):
 | 
				
			|||||||
            + v[0]
 | 
					            + v[0]
 | 
				
			||||||
            + "._oid="
 | 
					            + "._oid="
 | 
				
			||||||
            + v[1]
 | 
					            + v[1]
 | 
				
			||||||
                + "._oid and "
 | 
					            + "._oid"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            q = "delete " + v[1] + " from " + ", ".join(v[1:]) + " where "
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for i in range(1, len(v) - 1):
 | 
					        for i in range(1, len(v) - 1):
 | 
				
			||||||
            if i > 1:
 | 
					            q += " and " + v[i] + "._oid=" + v[i + 1] + "._oid"
 | 
				
			||||||
                q += " and "
 | 
					 | 
				
			||||||
            q += v[i] + "._oid=" + v[i + 1] + "._oid"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return q
 | 
					        return q
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -211,7 +206,6 @@ class PostgresDB(QueryInterface):
 | 
				
			|||||||
        return tmp_tables
 | 
					        return tmp_tables
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def deleteObjectQuery(self, *v):
 | 
					    def deleteObjectQuery(self, *v):
 | 
				
			||||||
        if v[0]:
 | 
					 | 
				
			||||||
        q = (
 | 
					        q = (
 | 
				
			||||||
            "delete from "
 | 
					            "delete from "
 | 
				
			||||||
            + v[0]
 | 
					            + v[0]
 | 
				
			||||||
@ -221,15 +215,11 @@ class PostgresDB(QueryInterface):
 | 
				
			|||||||
            + v[0]
 | 
					            + v[0]
 | 
				
			||||||
            + "._oid="
 | 
					            + "._oid="
 | 
				
			||||||
            + v[1]
 | 
					            + v[1]
 | 
				
			||||||
                + "._oid and "
 | 
					            + "._oid"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        else:
 | 
					 | 
				
			||||||
            q = "delete from " + v[1] + " using " + ", ".join(v[2:]) + " where "
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for i in range(1, len(v) - 1):
 | 
					        for i in range(1, len(v) - 1):
 | 
				
			||||||
            if i > 1:
 | 
					            q += " and " + v[i] + "._oid=" + v[i + 1] + "._oid"
 | 
				
			||||||
                q += " and "
 | 
					 | 
				
			||||||
            q += v[i] + "._oid=" + v[i + 1] + "._oid"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return q
 | 
					        return q
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -333,6 +323,8 @@ class DBCleaner(seiscomp.client.Application):
 | 
				
			|||||||
        self._invertMode = False
 | 
					        self._invertMode = False
 | 
				
			||||||
        self._stripEP = True
 | 
					        self._stripEP = True
 | 
				
			||||||
        self._stripQC = True
 | 
					        self._stripQC = True
 | 
				
			||||||
 | 
					        self._keepModes = [] # Array with modes to keep
 | 
				
			||||||
 | 
					        self._keepStatus = [] # Array with status to keep
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self._steps = 0
 | 
					        self._steps = 0
 | 
				
			||||||
        self._currentStep = 0
 | 
					        self._currentStep = 0
 | 
				
			||||||
@ -368,6 +360,18 @@ class DBCleaner(seiscomp.client.Application):
 | 
				
			|||||||
                    "Event-IDs to keep in the database. Combining with 'qc-only' "
 | 
					                    "Event-IDs to keep in the database. Combining with 'qc-only' "
 | 
				
			||||||
                    "is invalid.",
 | 
					                    "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(
 | 
					                self.commandline().addOption(
 | 
				
			||||||
                    "Objects",
 | 
					                    "Objects",
 | 
				
			||||||
                    "qc-only,Q",
 | 
					                    "qc-only,Q",
 | 
				
			||||||
@ -543,6 +547,19 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
            except RuntimeError:
 | 
					            except RuntimeError:
 | 
				
			||||||
                pass
 | 
					                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:
 | 
					            try:
 | 
				
			||||||
                dateTime = self.commandline().optionString("datetime")
 | 
					                dateTime = self.commandline().optionString("datetime")
 | 
				
			||||||
            except RuntimeError:
 | 
					            except RuntimeError:
 | 
				
			||||||
@ -694,6 +711,11 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
            self.beginMessage("Search objects")
 | 
					            self.beginMessage("Search objects")
 | 
				
			||||||
            if not self.runCommand(tmp_object):
 | 
					            if not self.runCommand(tmp_object):
 | 
				
			||||||
                return False
 | 
					                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"))
 | 
					            self.endMessage(self.globalCount("tmp_object"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            for table in tables:
 | 
					            for table in tables:
 | 
				
			||||||
@ -783,6 +805,7 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
                self.beginMessage("Deleting waveform quality parameters")
 | 
					                self.beginMessage("Deleting waveform quality parameters")
 | 
				
			||||||
                if not self.runCommand(
 | 
					                if not self.runCommand(
 | 
				
			||||||
                    self._query.deleteObjectQuery("Object", "WaveformQuality")
 | 
					                    self._query.deleteObjectQuery("Object", "WaveformQuality")
 | 
				
			||||||
 | 
					                    + " and "
 | 
				
			||||||
                    + timeRangeSelection(f"WaveformQuality.{self.cnvCol('end')}")
 | 
					                    + timeRangeSelection(f"WaveformQuality.{self.cnvCol('end')}")
 | 
				
			||||||
                ):
 | 
					                ):
 | 
				
			||||||
                    return False
 | 
					                    return False
 | 
				
			||||||
@ -822,9 +845,28 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
                    + " not in ('%s')" % "','".join(self._keepEvents)
 | 
					                    + " 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")
 | 
					            self.beginMessage("Find old events")
 | 
				
			||||||
            if not self.runCommand(old_events):
 | 
					            if not self.runCommand(old_events):
 | 
				
			||||||
                return False
 | 
					                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"))
 | 
					            self.endMessage(self.globalCount("old_events"))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Delete OriginReferences of old events
 | 
					            # Delete OriginReferences of old events
 | 
				
			||||||
@ -879,6 +921,10 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            self.beginMessage("Find unassociated focal mechanisms")
 | 
					            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):
 | 
					            if not self.runCommand(tmp_fm):
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -990,6 +1036,10 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            self.beginMessage("Find unassociated origins")
 | 
					            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):
 | 
					            if not self.runCommand(tmp_origin):
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -998,7 +1048,7 @@ Remove all waveform QC paramters older than 30 days but do not effect event para
 | 
				
			|||||||
      update tmp_origin set used=1 \
 | 
					      update tmp_origin set used=1 \
 | 
				
			||||||
      where ("
 | 
					      where ("
 | 
				
			||||||
                + self.cnvCol("publicID")
 | 
					                + self.cnvCol("publicID")
 | 
				
			||||||
                + " in (select distinct "
 | 
					                + " in (select "
 | 
				
			||||||
                + self.cnvCol("originID")
 | 
					                + self.cnvCol("originID")
 | 
				
			||||||
                + " from OriginReference)) \
 | 
					                + " from OriginReference)) \
 | 
				
			||||||
      or ("
 | 
					      or ("
 | 
				
			||||||
@ -1093,6 +1143,10 @@ 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):
 | 
					            if not self.runCommand(tmp_pick):
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1145,6 +1199,10 @@ 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):
 | 
					            if not self.runCommand(tmp_amp):
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1287,27 +1345,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._query.deleteJournalQuery("PublicObject", *v) + " and used=0"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.runCommand(
 | 
					        self.runCommand(
 | 
				
			||||||
            self._query.deleteObjectQuery(None, "Object", *v) + " and used=0"
 | 
					            self._query.deleteObjectQuery("Object", *v) + " and used=0"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.runCommand(
 | 
					        self.runCommand(
 | 
				
			||||||
            self._query.deleteObjectQuery(None, "PublicObject", *v) + " and used=0"
 | 
					            self._query.deleteObjectQuery("PublicObject", *v) + " and used=0"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def deleteObjects(self, *v):
 | 
					    def deleteObjects(self, *v):
 | 
				
			||||||
        self.runCommand(self._query.deleteJournalQuery("PublicObject", *v))
 | 
					        self.runCommand(self._query.deleteJournalQuery("PublicObject", *v))
 | 
				
			||||||
        self.runCommand(self._query.deleteObjectQuery("Object", *v))
 | 
					        self.runCommand(self._query.deleteObjectQuery(*v))
 | 
				
			||||||
        self.runCommand(self._query.deleteObjectQuery("PublicObject", *v))
 | 
					        self.runCommand(self._query.deleteObjectQuery("PublicObject", *v[1:]))
 | 
				
			||||||
        self.runCommand(self._query.deleteObjectQuery(None, *v))
 | 
					        self.runCommand(self._query.deleteObjectQuery("Object", *v[1:]))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def deleteUnusedObjects(self, *v):
 | 
					    def deleteUnusedObjects(self, *v):
 | 
				
			||||||
        self.runCommand(
 | 
					        self.runCommand(
 | 
				
			||||||
            self._query.deleteJournalQuery("PublicObject", *v) + " and used=0"
 | 
					            self._query.deleteJournalQuery("PublicObject", *v) + " and used=0"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.runCommand(self._query.deleteObjectQuery("Object", *v) + " and used=0")
 | 
					        self.runCommand(self._query.deleteObjectQuery(*v) + " and used=0")
 | 
				
			||||||
        self.runCommand(
 | 
					        self.runCommand(
 | 
				
			||||||
            self._query.deleteObjectQuery("PublicObject", *v) + " and used=0"
 | 
					            self._query.deleteObjectQuery("PublicObject", *v[1:]) + " and used=0"
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.runCommand(self._query.deleteObjectQuery(None, *v) + " and used=0")
 | 
					        self.runCommand(self._query.deleteObjectQuery("Object", *v[1:]) + " and used=0")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def delete(self, message, func, *v):
 | 
					    def delete(self, message, func, *v):
 | 
				
			||||||
        self.beginMessage(message)
 | 
					        self.beginMessage(message)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scdispatch
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scdispatch
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scevent
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scevent
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										16
									
								
								bin/scevtls
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								bin/scevtls
									
									
									
									
									
								
							@ -53,7 +53,7 @@ def readXML(self):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if self._eventType:
 | 
					        if self._eventType:
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                eventType = seiscomp.datamodel.EEventTypeNames_name(evt.type())
 | 
					                eventType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
 | 
				
			||||||
                if eventType != self._eventType:
 | 
					                if eventType != self._eventType:
 | 
				
			||||||
                    continue
 | 
					                    continue
 | 
				
			||||||
            except ValueError:
 | 
					            except ValueError:
 | 
				
			||||||
@ -108,10 +108,16 @@ class EventList(seiscomp.client.Application):
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addGroup("Events")
 | 
					        self.commandline().addGroup("Events")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Events", "begin", "Specify the lower bound of the time interval."
 | 
					            "Events",
 | 
				
			||||||
 | 
					            "begin",
 | 
				
			||||||
 | 
					            "Specify the lower bound of the time interval. Uses 1900-01-01T00:00:00 "
 | 
				
			||||||
 | 
					            "unless given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Events", "end", "Specify the upper bound of the time interval."
 | 
					            "Events",
 | 
				
			||||||
 | 
					            "end",
 | 
				
			||||||
 | 
					            "Specify the upper bound of the time interval Uses 2500-01-01T00:00:00 "
 | 
				
			||||||
 | 
					            "unless given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Events",
 | 
					            "Events",
 | 
				
			||||||
@ -266,7 +272,7 @@ List event IDs available in a given time range and print to stdout."""
 | 
				
			|||||||
            f"""Examples:
 | 
					            f"""Examples:
 | 
				
			||||||
Print all event IDs from year 2022 and thereafter
 | 
					Print all event IDs from year 2022 and thereafter
 | 
				
			||||||
  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
 | 
					  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
 | 
				
			||||||
--begin "2022-01-01 00:00:00"
 | 
					--begin 2022-01-01T00:00:00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Print all event IDs with event type 'quarry blast'
 | 
					Print all event IDs with event type 'quarry blast'
 | 
				
			||||||
  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp --event-type 'quarry blast'
 | 
					  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp --event-type 'quarry blast'
 | 
				
			||||||
@ -303,7 +309,7 @@ Print IDs of all events in XML file
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if self._eventType:
 | 
					            if self._eventType:
 | 
				
			||||||
                try:
 | 
					                try:
 | 
				
			||||||
                    eventType = seiscomp.datamodel.EEventTypeNames_name(evt.type())
 | 
					                    eventType = seiscomp.datamodel.EEventTypeNames.name(evt.type())
 | 
				
			||||||
                    if eventType != self._eventType:
 | 
					                    if eventType != self._eventType:
 | 
				
			||||||
                        continue
 | 
					                        continue
 | 
				
			||||||
                except ValueError:
 | 
					                except ValueError:
 | 
				
			||||||
 | 
				
			|||||||
@ -295,7 +295,7 @@ class EventStreams(client.Application):
 | 
				
			|||||||
            """Usage:
 | 
					            """Usage:
 | 
				
			||||||
  scevtstreams [options]
 | 
					  scevtstreams [options]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Extract stream information and time windows from an event"""
 | 
					Extract stream information and time windows from picks of an event or solitary picks."""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        client.Application.printUsage(self)
 | 
					        client.Application.printUsage(self)
 | 
				
			||||||
@ -305,8 +305,8 @@ Extract stream information and time windows from an event"""
 | 
				
			|||||||
Get the time windows for an event in the database:
 | 
					Get the time windows for an event in the database:
 | 
				
			||||||
  scevtstreams -E gfz2012abcd -d mysql://sysop:sysop@localhost/seiscomp
 | 
					  scevtstreams -E gfz2012abcd -d mysql://sysop:sysop@localhost/seiscomp
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Create lists compatible with fdsnws:
 | 
					Get the time windows for all picks given in an XML file without origins and events:
 | 
				
			||||||
  scevtstreams -E gfz2012abcd -i event.xml -m 120,500 --fdsnws
 | 
					  scevtstreams -i picks.xml -m 120,500
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -314,10 +314,14 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
        resolveWildcards = self.commandline().hasOption("resolve-wildcards")
 | 
					        resolveWildcards = self.commandline().hasOption("resolve-wildcards")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        picks = []
 | 
					        picks = []
 | 
				
			||||||
 | 
					 | 
				
			||||||
        # read picks from input file
 | 
					        # read picks from input file
 | 
				
			||||||
        if self.inputFile:
 | 
					        if self.inputFile:
 | 
				
			||||||
 | 
					            try:
 | 
				
			||||||
                picks = self.readXML()
 | 
					                picks = self.readXML()
 | 
				
			||||||
 | 
					            except IOError as e:
 | 
				
			||||||
 | 
					                print(f"Error: {e}", file=sys.stderr)
 | 
				
			||||||
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if not picks:
 | 
					            if not picks:
 | 
				
			||||||
                raise ValueError("Could not find picks in input file")
 | 
					                raise ValueError("Could not find picks in input file")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -327,6 +331,7 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
                pick = datamodel.Pick.Cast(obj)
 | 
					                pick = datamodel.Pick.Cast(obj)
 | 
				
			||||||
                if pick is None:
 | 
					                if pick is None:
 | 
				
			||||||
                    continue
 | 
					                    continue
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                picks.append(pick)
 | 
					                picks.append(pick)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if not picks:
 | 
					            if not picks:
 | 
				
			||||||
@ -502,11 +507,18 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        ep = datamodel.EventParameters.Cast(obj)
 | 
					        ep = datamodel.EventParameters.Cast(obj)
 | 
				
			||||||
        if ep is None:
 | 
					        if ep is None:
 | 
				
			||||||
            raise ValueError("no event parameters found in input file")
 | 
					            # 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]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        # we require at least one origin which references to picks via arrivals
 | 
					        # we require at least one origin which references to picks via arrivals
 | 
				
			||||||
        if ep.originCount() == 0:
 | 
					        if ep.originCount() == 0 and ep.pickCount() == 0:
 | 
				
			||||||
            raise ValueError("no origin found in input file")
 | 
					            raise ValueError("No origin found in input file")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        originIDs = []
 | 
					        originIDs = []
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -524,7 +536,7 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
        # use first event/origin if no id was specified
 | 
					        # use first event/origin if no id was specified
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            # no event, use first available origin
 | 
					            # no event, use first available origin
 | 
				
			||||||
            if ep.eventCount() == 0:
 | 
					            if ep.eventCount() == 0 and ep.originCount() > 0:
 | 
				
			||||||
                if ep.originCount() > 1:
 | 
					                if ep.originCount() > 1:
 | 
				
			||||||
                    print(
 | 
					                    print(
 | 
				
			||||||
                        "WARNING: Input file contains no event but more than "
 | 
					                        "WARNING: Input file contains no event but more than "
 | 
				
			||||||
@ -534,7 +546,7 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
                originIDs.append(ep.origin(0).publicID())
 | 
					                originIDs.append(ep.origin(0).publicID())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # use origin references of first available event
 | 
					            # use origin references of first available event
 | 
				
			||||||
            else:
 | 
					            elif ep.eventCount() > 0 and ep.originCount() > 0:
 | 
				
			||||||
                if ep.eventCount() > 1:
 | 
					                if ep.eventCount() > 1:
 | 
				
			||||||
                    print(
 | 
					                    print(
 | 
				
			||||||
                        "WARNING: Input file contains more than 1 event. "
 | 
					                        "WARNING: Input file contains more than 1 event. "
 | 
				
			||||||
@ -546,10 +558,18 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
                    ev.originReference(i).originID()
 | 
					                    ev.originReference(i).originID()
 | 
				
			||||||
                    for i in range(ev.originReferenceCount())
 | 
					                    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()
 | 
					        pickIDs = set()
 | 
				
			||||||
        for oID in originIDs:
 | 
					        for oID in originIDs:
 | 
				
			||||||
 | 
					            # collect pickIDs from origins
 | 
				
			||||||
            o = datamodel.Origin.Find(oID)
 | 
					            o = datamodel.Origin.Find(oID)
 | 
				
			||||||
            if o is None:
 | 
					            if o is None:
 | 
				
			||||||
                continue
 | 
					                continue
 | 
				
			||||||
@ -557,6 +577,11 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
            for i in range(o.arrivalCount()):
 | 
					            for i in range(o.arrivalCount()):
 | 
				
			||||||
                pickIDs.add(o.arrival(i).pickID())
 | 
					                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
 | 
					        # lookup picks
 | 
				
			||||||
        picks = []
 | 
					        picks = []
 | 
				
			||||||
        for pickID in pickIDs:
 | 
					        for pickID in pickIDs:
 | 
				
			||||||
@ -564,6 +589,9 @@ Create lists compatible with fdsnws:
 | 
				
			|||||||
            if pick:
 | 
					            if pick:
 | 
				
			||||||
                picks.append(pick)
 | 
					                picks.append(pick)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        if len(pickIDs) == 0:
 | 
				
			||||||
 | 
					            print("Found no picks.", file=sys.stderr)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return picks
 | 
					        return picks
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scheli
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scheli
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scimex
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scimex
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scimport
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scimport
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scmapcut
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scmapcut
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scmaster
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scmaster
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										144
									
								
								bin/scmsdemux
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										144
									
								
								bin/scmsdemux
									
									
									
									
									
										Executable file
									
								
							@ -0,0 +1,144 @@
 | 
				
			|||||||
 | 
					#!/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/scorg2nll
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scorg2nll
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -89,12 +89,14 @@ class OriginList(seiscomp.client.Application):
 | 
				
			|||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Origins",
 | 
					            "Origins",
 | 
				
			||||||
            "begin",
 | 
					            "begin",
 | 
				
			||||||
            "The lower bound of the time interval. Format: '1970-01-01 00:00:00'.",
 | 
					            "The lower bound of the time interval. Uses 1900-01-01T00:00:00 unless "
 | 
				
			||||||
 | 
					            "given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Origins",
 | 
					            "Origins",
 | 
				
			||||||
            "end",
 | 
					            "end",
 | 
				
			||||||
            "The upper bound of the time interval. Format: '1970-01-01 00:00:00'.",
 | 
					            "The upper bound of the time interval. Format: 1970-01-01T00:00:00. Uses "
 | 
				
			||||||
 | 
					            "2500-01-01T00:00:00 unless given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Origins", "author", "The author of the origins."
 | 
					            "Origins", "author", "The author of the origins."
 | 
				
			||||||
@ -179,7 +181,7 @@ List origin IDs available in a given time range and print to stdout."""
 | 
				
			|||||||
            f"""Examples:
 | 
					            f"""Examples:
 | 
				
			||||||
Print all origin IDs from year 2022 and thereafter
 | 
					Print all origin IDs from year 2022 and thereafter
 | 
				
			||||||
  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
 | 
					  {os.path.basename(__file__)} -d mysql://sysop:sysop@localhost/seiscomp \
 | 
				
			||||||
--begin "2022-01-01 00:00:00"
 | 
					--begin 2022-01-01T00:00:00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Print IDs of all events in XML file
 | 
					Print IDs of all events in XML file
 | 
				
			||||||
  {os.path.basename(__file__)} -i origins.xml
 | 
					  {os.path.basename(__file__)} -i origins.xml
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scplot
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scplot
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -13,19 +13,25 @@
 | 
				
			|||||||
# https://www.gnu.org/licenses/agpl-3.0.html.                              #
 | 
					# https://www.gnu.org/licenses/agpl-3.0.html.                              #
 | 
				
			||||||
############################################################################
 | 
					############################################################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import time, sys, os, traceback
 | 
					import os
 | 
				
			||||||
import seiscomp.core, seiscomp.client, seiscomp.datamodel
 | 
					import sys
 | 
				
			||||||
import seiscomp.logging, seiscomp.system
 | 
					import traceback
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import seiscomp.core
 | 
				
			||||||
 | 
					import seiscomp.client
 | 
				
			||||||
 | 
					import seiscomp.datamodel
 | 
				
			||||||
 | 
					import seiscomp.logging
 | 
				
			||||||
 | 
					import seiscomp.system
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
def createDirectory(dir):
 | 
					def createDirectory(directory):
 | 
				
			||||||
    if os.access(dir, os.W_OK):
 | 
					    if os.access(directory, os.W_OK):
 | 
				
			||||||
        return True
 | 
					        return True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    try:
 | 
					    try:
 | 
				
			||||||
        os.makedirs(dir)
 | 
					        os.makedirs(directory)
 | 
				
			||||||
        return True
 | 
					        return True
 | 
				
			||||||
    except:
 | 
					    except OSError:
 | 
				
			||||||
        return False
 | 
					        return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -46,7 +52,7 @@ def timeSpanToString(ts):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    if neg:
 | 
					    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)
 | 
					    return "%.2d:%.2d:%.2d:%.2d.%06d" % (days, hours, mins, secs, usecs)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -135,8 +141,6 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    def logObject(self, parentID, obj, update):
 | 
					    def logObject(self, parentID, obj, update):
 | 
				
			||||||
        now = seiscomp.core.Time.GMT()
 | 
					        now = seiscomp.core.Time.GMT()
 | 
				
			||||||
        time = None
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        pick = seiscomp.datamodel.Pick.Cast(obj)
 | 
					        pick = seiscomp.datamodel.Pick.Cast(obj)
 | 
				
			||||||
        if pick:
 | 
					        if pick:
 | 
				
			||||||
            phase = ""
 | 
					            phase = ""
 | 
				
			||||||
@ -199,7 +203,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
                pass
 | 
					                pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            try:
 | 
					            try:
 | 
				
			||||||
                status = seiscomp.datamodel.EOriginStatusNames.name(org.status())
 | 
					                status = seiscomp.datamodel.EEvaluationStatusNames.name(org.status())
 | 
				
			||||||
            except:
 | 
					            except:
 | 
				
			||||||
                pass
 | 
					                pass
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -286,7 +290,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
        sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
 | 
					        sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if nowDirectory != self._nowDirectory:
 | 
					        if nowDirectory != self._nowDirectory:
 | 
				
			||||||
            if createDirectory(nowDirectory) == False:
 | 
					            if not createDirectory(nowDirectory):
 | 
				
			||||||
                seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
 | 
					                seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -298,7 +302,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if triggeredDirectory != self._triggeredDirectory:
 | 
					        if triggeredDirectory != self._triggeredDirectory:
 | 
				
			||||||
            if createDirectory(triggeredDirectory) == False:
 | 
					            if not createDirectory(triggeredDirectory):
 | 
				
			||||||
                seiscomp.logging.error(
 | 
					                seiscomp.logging.error(
 | 
				
			||||||
                    f"Unable to create directory {triggeredDirectory}"
 | 
					                    f"Unable to create directory {triggeredDirectory}"
 | 
				
			||||||
                )
 | 
					                )
 | 
				
			||||||
@ -321,7 +325,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
        # logEntry = timeToString(received)
 | 
					        # logEntry = timeToString(received)
 | 
				
			||||||
        logEntry = ""
 | 
					        logEntry = ""
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not triggered is None:
 | 
					        if triggered is not None:
 | 
				
			||||||
            aTriggered = triggered.get()
 | 
					            aTriggered = triggered.get()
 | 
				
			||||||
            triggeredDirectory = (
 | 
					            triggeredDirectory = (
 | 
				
			||||||
                self._directory + "/".join(["%.2d" % i for i in aTriggered[1:4]]) + "/"
 | 
					                self._directory + "/".join(["%.2d" % i for i in aTriggered[1:4]]) + "/"
 | 
				
			||||||
@ -341,7 +345,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
        sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
 | 
					        sys.stdout.write(f"{timeToString(received)};{logEntry}\n")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if nowDirectory != self._nowDirectory:
 | 
					        if nowDirectory != self._nowDirectory:
 | 
				
			||||||
            if createDirectory(nowDirectory) == False:
 | 
					            if not createDirectory(nowDirectory):
 | 
				
			||||||
                seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
 | 
					                seiscomp.logging.error(f"Unable to create directory {nowDirectory}")
 | 
				
			||||||
                return False
 | 
					                return False
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -353,7 +357,7 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        if triggeredDirectory:
 | 
					        if triggeredDirectory:
 | 
				
			||||||
            if triggeredDirectory != self._triggeredDirectory:
 | 
					            if triggeredDirectory != self._triggeredDirectory:
 | 
				
			||||||
                if createDirectory(triggeredDirectory) == False:
 | 
					                if not createDirectory(triggeredDirectory):
 | 
				
			||||||
                    seiscomp.logging.error(
 | 
					                    seiscomp.logging.error(
 | 
				
			||||||
                        f"Unable to create directory {triggeredDirectory}"
 | 
					                        f"Unable to create directory {triggeredDirectory}"
 | 
				
			||||||
                    )
 | 
					                    )
 | 
				
			||||||
@ -369,11 +373,8 @@ class ProcLatency(seiscomp.client.Application):
 | 
				
			|||||||
        return True
 | 
					        return True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def writeLog(self, file, text):
 | 
					    def writeLog(self, file, text):
 | 
				
			||||||
        of = open(file, "a")
 | 
					        with open(file, "a", encoding="utf8") as of:
 | 
				
			||||||
        if of:
 | 
					            of.print(text, file=of)
 | 
				
			||||||
            of.write(text)
 | 
					 | 
				
			||||||
            of.write("\n")
 | 
					 | 
				
			||||||
            of.close()
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
app = ProcLatency(len(sys.argv), sys.argv)
 | 
					app = ProcLatency(len(sys.argv), sys.argv)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scquery
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scquery
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -105,10 +105,14 @@ class WfqQuery(seiscomp.client.Application):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        self.commandline().addGroup("Query")
 | 
					        self.commandline().addGroup("Query")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Query", "begin,b", "Begin time of query: 'YYYY-MM-DD hh:mm:ss'"
 | 
					            "Query",
 | 
				
			||||||
 | 
					            "begin,b",
 | 
				
			||||||
 | 
					            "Begin time of query. Uses 1900-01-01T00:00:00 unless given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Query", "end,e", "End time of query: 'YYYY-MM-DD hh:mm:ss'"
 | 
					            "Query",
 | 
				
			||||||
 | 
					            "end,e",
 | 
				
			||||||
 | 
					            "End time of query. Uses current time unless given.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Query",
 | 
					            "Query",
 | 
				
			||||||
@ -116,7 +120,7 @@ class WfqQuery(seiscomp.client.Application):
 | 
				
			|||||||
            "Waveform stream ID to search for QC parameters: net.sta.loc.cha -"
 | 
					            "Waveform stream ID to search for QC parameters: net.sta.loc.cha -"
 | 
				
			||||||
            " [networkCode].[stationCode].[sensorLocationCode].[channelCode]. "
 | 
					            " [networkCode].[stationCode].[sensorLocationCode].[channelCode]. "
 | 
				
			||||||
            "Provide a single ID or a comma-separated list. Overrides "
 | 
					            "Provide a single ID or a comma-separated list. Overrides "
 | 
				
			||||||
            "--streams-from-inventory",
 | 
					            "--streams-from-inventory.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Query",
 | 
					            "Query",
 | 
				
			||||||
@ -151,8 +155,8 @@ Query a database for waveform quality control (QC) parameters.""",
 | 
				
			|||||||
        print(
 | 
					        print(
 | 
				
			||||||
            f"""Examples:
 | 
					            f"""Examples:
 | 
				
			||||||
Query rms and delay values for streams 'AU.AS18..SHZ' and 'AU.AS19..SHZ' from \
 | 
					Query rms and delay values for streams 'AU.AS18..SHZ' and 'AU.AS19..SHZ' from \
 | 
				
			||||||
'2021-11-20 00:00:00' until current
 | 
					2021-11-20 00:00:00 until current
 | 
				
			||||||
  {os.path.basename(__file__)} -d localhost -b '2021-11-20 00:00:00' -p rms,delay \
 | 
					  {os.path.basename(__file__)} -d localhost -b 2021-11-20T00:00:00 -p rms,delay \
 | 
				
			||||||
-i AU.AS18..SHZ,AU.AS19..SHZ""",
 | 
					-i AU.AS18..SHZ,AU.AS19..SHZ""",
 | 
				
			||||||
            file=sys.stderr,
 | 
					            file=sys.stderr,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/screloc
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/screloc
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/screpick
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/screpick
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scrttv
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scrttv
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -69,8 +69,8 @@ class SendOrigin(seiscomp.client.Application):
 | 
				
			|||||||
                "Parameters", "coord", "Latitude,longitude,depth of origin"
 | 
					                "Parameters", "coord", "Latitude,longitude,depth of origin"
 | 
				
			||||||
            )
 | 
					            )
 | 
				
			||||||
            self.commandline().addStringOption("Parameters", "time", "time of origin")
 | 
					            self.commandline().addStringOption("Parameters", "time", "time of origin")
 | 
				
			||||||
        except:
 | 
					        except Exception:
 | 
				
			||||||
            seiscomp.logging.warning(f"caught unexpected error {sys.exc_info()}")
 | 
					            seiscomp.logging.warning(f"Caught unexpected error {sys.exc_info()}")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def printUsage(self):
 | 
					    def printUsage(self):
 | 
				
			||||||
        print(
 | 
					        print(
 | 
				
			||||||
@ -85,7 +85,7 @@ Create an artificial origin and send to the messaging"""
 | 
				
			|||||||
        print(
 | 
					        print(
 | 
				
			||||||
            """Examples:
 | 
					            """Examples:
 | 
				
			||||||
Send an artificial origin with hypocenter parameters to the messaging
 | 
					Send an artificial origin with hypocenter parameters to the messaging
 | 
				
			||||||
  scsendorigin --time "2022-05-01 10:00:00" --coord 52,12,10
 | 
					  scsendorigin --time 2022-05-01T10:00:00 --coord 52,12,10
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scshowevent
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scshowevent
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scsmdump
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scsmdump
									
									
									
									
									
										Executable file
									
								
							
										
											Binary file not shown.
										
									
								
							@ -359,9 +359,7 @@ Create an output XML file every 60 seconds and execute a custom script to proces
 | 
				
			|||||||
        try:
 | 
					        try:
 | 
				
			||||||
            f = open(self._outputFile, "w")
 | 
					            f = open(self._outputFile, "w")
 | 
				
			||||||
        except:
 | 
					        except:
 | 
				
			||||||
            seiscomp.logging.error(
 | 
					            seiscomp.logging.error(f"Unable to create output file: {self._outputFile}")
 | 
				
			||||||
                f"Unable to create output file: {self._outputFile}"
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
            return
 | 
					            return
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        self.toXML(f)
 | 
					        self.toXML(f)
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										24
									
								
								bin/scvoice
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								bin/scvoice
									
									
									
									
									
								
							@ -62,50 +62,52 @@ class VoiceAlert(client.Application):
 | 
				
			|||||||
        self.commandline().addOption(
 | 
					        self.commandline().addOption(
 | 
				
			||||||
            "Generic",
 | 
					            "Generic",
 | 
				
			||||||
            "first-new",
 | 
					            "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().addGroup("Alert")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "amp-type",
 | 
					            "amp-type",
 | 
				
			||||||
            "specify the amplitude type to listen to",
 | 
					            "Specify the amplitude type to listen to.",
 | 
				
			||||||
            self._ampType,
 | 
					            self._ampType,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "amp-script",
 | 
					            "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 "
 | 
					            "stationamplitude arrived, network-, stationcode and amplitude are "
 | 
				
			||||||
            "passed as parameters $1, $2 and $3",
 | 
					            "passed as parameters $1, $2 and $3.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "alert-script",
 | 
					            "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 "
 | 
					            "preliminary origin arrived, latitude and longitude are passed as "
 | 
				
			||||||
            "parameters $1 and $2",
 | 
					            "parameters $1 and $2.",
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Alert",
 | 
					            "Alert",
 | 
				
			||||||
            "event-script",
 | 
					            "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, "
 | 
					            "event has been declared; the message string, a flag (1=new event, "
 | 
				
			||||||
            "0=update event), the EventID, the arrival count and the magnitude "
 | 
					            "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().addGroup("Cities")
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Cities",
 | 
					            "Cities",
 | 
				
			||||||
            "max-dist",
 | 
					            "max-dist",
 | 
				
			||||||
            "maximum distance for using the distance " "from a city to the earthquake",
 | 
					            "Maximum distance for using the distance from a city to the earthquake.",
 | 
				
			||||||
 | 
					            str(self._citiesMaxDist),
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addStringOption(
 | 
					        self.commandline().addStringOption(
 | 
				
			||||||
            "Cities",
 | 
					            "Cities",
 | 
				
			||||||
            "min-population",
 | 
					            "min-population",
 | 
				
			||||||
            "minimum population for a city to " "become a point of interest",
 | 
					            "Minimum population for a city to become a point of interest.",
 | 
				
			||||||
 | 
					            str(self._citiesMinPopulation),
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
        self.commandline().addGroup("Debug")
 | 
					        self.commandline().addGroup("Debug")
 | 
				
			||||||
        self.commandline().addStringOption("Debug", "eventid,E", "specify Event ID")
 | 
					        self.commandline().addStringOption("Debug", "eventid,E", "Specify event ID.")
 | 
				
			||||||
        return True
 | 
					        return True
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    def init(self):
 | 
					    def init(self):
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/scwfas
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scwfas
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scwfparam
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scwfparam
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scxmldump
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scxmldump
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/scxmlmerge
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/scxmlmerge
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -722,7 +722,7 @@ def on_status(args, _):
 | 
				
			|||||||
            if env.isModuleEnabled(mod.name) or isinstance(
 | 
					            if env.isModuleEnabled(mod.name) or isinstance(
 | 
				
			||||||
                mod, seiscomp.kernel.CoreModule
 | 
					                mod, seiscomp.kernel.CoreModule
 | 
				
			||||||
            ):
 | 
					            ):
 | 
				
			||||||
                mod.status(shouldModuleRun(mod.name))
 | 
					                if mod.status(shouldModuleRun(mod.name)) == 0:
 | 
				
			||||||
                    found += 1
 | 
					                    found += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not useCSV:
 | 
					        if not useCSV:
 | 
				
			||||||
@ -733,7 +733,7 @@ def on_status(args, _):
 | 
				
			|||||||
    if len(args) > 0 and args[0] == "started":
 | 
					    if len(args) > 0 and args[0] == "started":
 | 
				
			||||||
        for mod in mods:
 | 
					        for mod in mods:
 | 
				
			||||||
            if shouldModuleRun(mod.name):
 | 
					            if shouldModuleRun(mod.name):
 | 
				
			||||||
                mod.status(shouldModuleRun(mod.name))
 | 
					                if mod.status(shouldModuleRun(mod.name)) == 0:
 | 
				
			||||||
                    found += 1
 | 
					                    found += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if not useCSV:
 | 
					        if not useCSV:
 | 
				
			||||||
@ -743,7 +743,7 @@ def on_status(args, _):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    for mod in mods:
 | 
					    for mod in mods:
 | 
				
			||||||
        if mod.name in args or len(args) == 0:
 | 
					        if mod.name in args or len(args) == 0:
 | 
				
			||||||
            mod.status(shouldModuleRun(mod.name))
 | 
					            if mod.status(shouldModuleRun(mod.name)) == 0:
 | 
				
			||||||
                found += 1
 | 
					                found += 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    if not useCSV:
 | 
					    if not useCSV:
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										10
									
								
								bin/sh2proc
									
									
									
									
									
								
							
							
						
						
									
										10
									
								
								bin/sh2proc
									
									
									
									
									
								
							@ -86,7 +86,7 @@ class SH2Proc(seiscomp.client.Application):
 | 
				
			|||||||
            """Usage:
 | 
					            """Usage:
 | 
				
			||||||
  sh2proc [options]
 | 
					  sh2proc [options]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Convert Seismic Handler event data to SeisComP XML format"""
 | 
					Convert Seismic Handler event data to SeisComP XML format which is sent to stdout."""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        seiscomp.client.Application.printUsage(self)
 | 
					        seiscomp.client.Application.printUsage(self)
 | 
				
			||||||
@ -95,10 +95,10 @@ Convert Seismic Handler event data to SeisComP XML format"""
 | 
				
			|||||||
            """Examples:
 | 
					            """Examples:
 | 
				
			||||||
Convert the Seismic Handler file shm.evt to SCML. Receive the database
 | 
					Convert the Seismic Handler file shm.evt to SCML. Receive the database
 | 
				
			||||||
connection to read inventory and configuration information from messaging
 | 
					connection to read inventory and configuration information from messaging
 | 
				
			||||||
  sh2proc shm.evt
 | 
					  sh2proc shm.evt > event.xml
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Read Seismic Handler data from stdin. Provide inventory and configuration in XML
 | 
					Read Seismic Handler data from stdin. Provide inventory and configuration in XML
 | 
				
			||||||
  cat shm.evt | sh2proc --inventory-db=inventory.xml --config-db=config.xml
 | 
					  cat shm.evt | sh2proc --inventory-db=inventory.xml --config-db=config.xml > event.xml
 | 
				
			||||||
"""
 | 
					"""
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -489,7 +489,7 @@ Read Seismic Handler data from stdin. Provide inventory and configuration in XML
 | 
				
			|||||||
                        seiscomp.datamodel.IMPULSIVE,
 | 
					                        seiscomp.datamodel.IMPULSIVE,
 | 
				
			||||||
                        seiscomp.datamodel.QUESTIONABLE,
 | 
					                        seiscomp.datamodel.QUESTIONABLE,
 | 
				
			||||||
                    ]:
 | 
					                    ]:
 | 
				
			||||||
                        if value == seiscomp.datamodel.EPickOnsetNames_name(onset):
 | 
					                        if value == seiscomp.datamodel.EPickOnsetNames.name(onset):
 | 
				
			||||||
                            pick.setOnset(onset)
 | 
					                            pick.setOnset(onset)
 | 
				
			||||||
                            found = True
 | 
					                            found = True
 | 
				
			||||||
                            break
 | 
					                            break
 | 
				
			||||||
@ -524,7 +524,7 @@ Read Seismic Handler data from stdin. Provide inventory and configuration in XML
 | 
				
			|||||||
                        seiscomp.datamodel.AUTOMATIC,
 | 
					                        seiscomp.datamodel.AUTOMATIC,
 | 
				
			||||||
                        seiscomp.datamodel.MANUAL,
 | 
					                        seiscomp.datamodel.MANUAL,
 | 
				
			||||||
                    ]:
 | 
					                    ]:
 | 
				
			||||||
                        if value == seiscomp.datamodel.EEvaluationModeNames_name(mode):
 | 
					                        if value == seiscomp.datamodel.EEvaluationModeNames.name(mode):
 | 
				
			||||||
                            pick.setEvaluationMode(mode)
 | 
					                            pick.setEvaluationMode(mode)
 | 
				
			||||||
                            found = True
 | 
					                            found = True
 | 
				
			||||||
                            break
 | 
					                            break
 | 
				
			||||||
 | 
				
			|||||||
							
								
								
									
										
											BIN
										
									
								
								bin/slarchive
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/slarchive
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/slinktool
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/slinktool
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										3673
									
								
								bin/slmon2
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										3673
									
								
								bin/slmon2
									
									
									
									
									
										Executable file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/tau_remodl
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/tau_remodl
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/tau_setbrn
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/tau_setbrn
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/timeout
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/timeout
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/trylock
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/trylock
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							
							
								
								
									
										
											BIN
										
									
								
								bin/waitlock
									
									
									
									
									
								
							
							
						
						
									
										
											BIN
										
									
								
								bin/waitlock
									
									
									
									
									
								
							
										
											Binary file not shown.
										
									
								
							@ -8,15 +8,97 @@ connection.subscriptions = EVENT
 | 
				
			|||||||
# Number of seconds to fetch missed updates on start up.
 | 
					# Number of seconds to fetch missed updates on start up.
 | 
				
			||||||
backLog = 1800
 | 
					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
 | 
					# 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
 | 
					# limit is enforced. Make sure to not hit the overall message size limited of
 | 
				
			||||||
# 16MiB which is enforced by the messaging system.
 | 
					# 16MiB which is enforced by the messaging system.
 | 
				
			||||||
batchSize = 2000
 | 
					batchSize = 2000
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# If event synchronisation is enabled and an incoming origin is not yet
 | 
					# If event synchronisation is enabled and an incoming origin is not yet
 | 
				
			||||||
# associated with an event on the target machine then this timeout defines
 | 
					# associated with an event on the target machine, then this timeout defines the
 | 
				
			||||||
# the maximum number of seconds to wait for an association.
 | 
					# maximum number of seconds to wait for an association.
 | 
				
			||||||
eventAssociationTimeout = 10
 | 
					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 = ""
 | 
				
			||||||
 | 
				
			|||||||
@ -1,3 +1,3 @@
 | 
				
			|||||||
# Defines a list of message groups to subscribe to. The default is usually
 | 
					# Defines a list of message groups to subscribe to. The default is usually
 | 
				
			||||||
# given by the application and does not need to be changed.
 | 
					# given by the application and does not need to be changed.
 | 
				
			||||||
connection.subscriptions = EVENT, LOCATION, MAGNITUDE
 | 
					connection.subscriptions = EVENT, LOCATION, MAGNITUDE, AMPLITUDE, PICK
 | 
				
			||||||
 | 
				
			|||||||
@ -264,9 +264,6 @@ range.above = 0, 999
 | 
				
			|||||||
# A color defined by the color definitions below.
 | 
					# A color defined by the color definitions below.
 | 
				
			||||||
range.above.color = green
 | 
					range.above.color = green
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Possible values: enableStream, disableStream
 | 
					 | 
				
			||||||
range.above.action = enableStream
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
range.below = -99, -11
 | 
					range.below = -99, -11
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -277,9 +274,6 @@ range.below.count = 0
 | 
				
			|||||||
# A color defined by the color definitions below.
 | 
					# A color defined by the color definitions below.
 | 
				
			||||||
range.below.color = grey
 | 
					range.below.color = grey
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Possible values: enableStream, disableStream
 | 
					 | 
				
			||||||
range.below.action = disableStream
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#
 | 
					#
 | 
				
			||||||
range.timing = -200, -100
 | 
					range.timing = -200, -100
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -18,7 +18,7 @@ resortAutomatically = true
 | 
				
			|||||||
showPicks = true
 | 
					showPicks = true
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Defines the filters to be used when filtering is activated.
 | 
					# Defines the filters to be used when filtering is activated.
 | 
				
			||||||
filters = "RMHP(2)>>ITAPER(5)>>BW(3, 0.5, 8.0)","RMHP(2)>>ITAPER(5)>>BW_HP(3, 3)"
 | 
					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)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
# Activates the first filter of the configured filter list after startup. This
 | 
					# Activates the first filter of the configured filter list after startup. This
 | 
				
			||||||
# is equivalent to pressing 'f'.
 | 
					# is equivalent to pressing 'f'.
 | 
				
			||||||
 | 
				
			|||||||
@ -72,10 +72,11 @@
 | 
				
			|||||||
			<parameter name="realtimeGap" type="int" unit="s">
 | 
								<parameter name="realtimeGap" type="int" unit="s">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Restrict end time of requests to current time - realtimeGap
 | 
									Restrict end time of requests to current time - realtimeGap
 | 
				
			||||||
				seconds. Negative values allowed. Used in fdsnws-dataselect.
 | 
									seconds. Negative values are 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
 | 
									WARNING: If this value is unset and a real-time RecordStream
 | 
				
			||||||
				is requested.
 | 
									(e.g. slink) is used, requests may block if end times in the
 | 
				
			||||||
 | 
									future are requested.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="samplesM" type="float">
 | 
								<parameter name="samplesM" type="float">
 | 
				
			||||||
@ -103,12 +104,12 @@
 | 
				
			|||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="accessLog" type="string">
 | 
								<parameter name="accessLog" type="string">
 | 
				
			||||||
				<description>
 | 
									<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>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="requestLog" type="string">
 | 
								<parameter name="requestLog" type="string">
 | 
				
			||||||
				<description>
 | 
									<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>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="userSalt" type="string">
 | 
								<parameter name="userSalt" type="string">
 | 
				
			||||||
@ -121,7 +122,10 @@
 | 
				
			|||||||
				List of domain names Cross-Origin Resource Sharing (CORS)
 | 
									List of domain names Cross-Origin Resource Sharing (CORS)
 | 
				
			||||||
				request may originate from. A value of '*' allows any web page
 | 
									request may originate from. A value of '*' allows any web page
 | 
				
			||||||
				to embed your service. An empty value will switch of CORS
 | 
									to embed your service. An empty value will switch of CORS
 | 
				
			||||||
				requests entirely. An example of multiple domains might be:
 | 
									requests entirely.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									Example of multiple domains:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				'https://test.domain.de, https://production.domain.de'.
 | 
									'https://test.domain.de, https://production.domain.de'.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
@ -154,7 +158,7 @@
 | 
				
			|||||||
				If enabled, event comment elements are no longer accessible.
 | 
									If enabled, event comment elements are no longer accessible.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="evaluationMode" type="string">
 | 
								<parameter name="evaluationMode" type="string" values=",automatic,manual">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				If set, the event service will only return events having a
 | 
									If set, the event service will only return events having a
 | 
				
			||||||
				preferred origin with a matching evaluationMode property.
 | 
									preferred origin with a matching evaluationMode property.
 | 
				
			||||||
@ -168,7 +172,7 @@
 | 
				
			|||||||
					<description>List of disabled event types</description>
 | 
										<description>List of disabled event types</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<parameter name="eventFormats" type="list:string">
 | 
								<parameter name="eventFormats" type="list:string" values="csv,qml,qml-rt,sc3ml,text,xml">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				List of enabled event formats. If unspecified, all supported
 | 
									List of enabled event formats. If unspecified, all supported
 | 
				
			||||||
				formats are enabled.
 | 
									formats are enabled.
 | 
				
			||||||
@ -195,12 +199,12 @@
 | 
				
			|||||||
				standard FDSNWS extension served under fdsnws/ext/availability.
 | 
									standard FDSNWS extension served under fdsnws/ext/availability.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="stationFilter" type="string">
 | 
								<parameter name="stationFilter" type="file" options="read">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Path to station inventory filter file.
 | 
									Path to station inventory filter file.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="dataSelectFilter" type="string">
 | 
								<parameter name="dataSelectFilter" type="file" options="read">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Path to dataselect inventory filter file.
 | 
									Path to dataselect inventory filter file.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -288,6 +292,38 @@
 | 
				
			|||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
			</group>
 | 
								</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>
 | 
							</configuration>
 | 
				
			||||||
	</module>
 | 
						</module>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -34,7 +34,7 @@
 | 
				
			|||||||
				comma. Add ${plugins} to consider all previously read values.
 | 
									comma. Add ${plugins} to consider all previously read values.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
			</parameter>
 | 
								</parameter>
 | 
				
			||||||
			<parameter name="cityXML" type="string">
 | 
								<parameter name="cityXML" type="file" values="*.xml" options="read">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Path to the cities XML file. If undefined, the data is read
 | 
									Path to the cities XML file. If undefined, the data is read
 | 
				
			||||||
				from "@CONFIGDIR@/cities.xml" or
 | 
									from "@CONFIGDIR@/cities.xml" or
 | 
				
			||||||
@ -115,7 +115,7 @@
 | 
				
			|||||||
				are written to log files per modules as
 | 
									are written to log files per modules as
 | 
				
			||||||
				"@CONFIGDIR@/log/[module].log".
 | 
									"@CONFIGDIR@/log/[module].log".
 | 
				
			||||||
				</description>
 | 
									</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>
 | 
										<description>
 | 
				
			||||||
					Set the logging level between 1 and 4 where 1=ERROR,
 | 
										Set the logging level between 1 and 4 where 1=ERROR,
 | 
				
			||||||
					2=WARNING, 3=INFO and 4=DEBUG.
 | 
										2=WARNING, 3=INFO and 4=DEBUG.
 | 
				
			||||||
@ -269,14 +269,14 @@
 | 
				
			|||||||
				is established. Override these values only if you know what you
 | 
									is established. Override these values only if you know what you
 | 
				
			||||||
				are doing.
 | 
									are doing.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<parameter name="inventory" type="string">
 | 
									<parameter name="inventory" type="file" options="read" values="*.xml">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Load the inventory database from a given XML file if set.
 | 
										Load the inventory database from a given XML file if set.
 | 
				
			||||||
					This overrides the inventory definitions loaded from the
 | 
										This overrides the inventory definitions loaded from the
 | 
				
			||||||
					database backend.
 | 
										database backend.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="config" type="string">
 | 
									<parameter name="config" type="file" options="read" values="*.xml">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Load the configuration database from a given XML file if set.
 | 
										Load the configuration database from a given XML file if set.
 | 
				
			||||||
					This overrides the configuration definitions loaded from the
 | 
										This overrides the configuration definitions loaded from the
 | 
				
			||||||
@ -344,7 +344,7 @@
 | 
				
			|||||||
				</group>
 | 
									</group>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<group name="scripts">
 | 
								<group name="scripts">
 | 
				
			||||||
				<parameter name="crashHandler" type="path">
 | 
									<parameter name="crashHandler" type="file" options="read">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Path to crash handler script.
 | 
										Path to crash handler script.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
@ -453,9 +453,17 @@
 | 
				
			|||||||
					e.g. "signalBegin". This can be overridden per
 | 
										e.g. "signalBegin". This can be overridden per
 | 
				
			||||||
					station in its bindings.
 | 
										station in its bindings.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
					<parameter name="interface" type="string" default="libtau">
 | 
										<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>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="model" type="string" default="iasp91">
 | 
										<parameter name="model" type="string" default="iasp91">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											The name of the travel-time interface (velocity) model
 | 
				
			||||||
 | 
											to use.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<group name="WoodAnderson">
 | 
									<group name="WoodAnderson">
 | 
				
			||||||
@ -483,10 +491,25 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<struct type="GlobalAmplitudeProfile" title="Amplitude-type profile" aliases="config:amplitudes.aliases">
 | 
									<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">
 | 
										<parameter name="considerUnusedArrivals" type="boolean" default="false">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						If enabled then also stations with unused (disabled)
 | 
											If enabled, then also stations with unused (disabled)
 | 
				
			||||||
						arrivals are considerd for amplitude and implicitly
 | 
											arrivals are considered for amplitude and implicitly
 | 
				
			||||||
						magnitude computations, e.g. by scamp, scmag and scolv.
 | 
											magnitude computations, e.g. by scamp, scmag and scolv.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
@ -538,7 +561,7 @@
 | 
				
			|||||||
						interpolated but not extrapolated.
 | 
											interpolated but not extrapolated.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="regionFile" type="path">
 | 
										<parameter name="regionFile" type="file" options="read">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Path to a geofeature file, e.g. in BNA or GeoJSON format,
 | 
											Path to a geofeature file, e.g. in BNA or GeoJSON format,
 | 
				
			||||||
						with one or more polygons defining geographic regions.
 | 
											with one or more polygons defining geographic regions.
 | 
				
			||||||
@ -565,40 +588,72 @@
 | 
				
			|||||||
								Enable the region or not.
 | 
													Enable the region or not.
 | 
				
			||||||
								</description>
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="minDist" type="double" unit="deg">
 | 
												<parameter name="minDist" type="string" unit="deg">
 | 
				
			||||||
								<description>
 | 
													<description>
 | 
				
			||||||
								The minimum distance required to compute a
 | 
													The minimum distance required to compute a
 | 
				
			||||||
								magnitude. This settings has no effect with e.g.
 | 
													magnitude. This settings has no effect with e.g.
 | 
				
			||||||
								scautopick as there is no information about the
 | 
													scautopick as there is no information about the
 | 
				
			||||||
								source of the event to compute the distance.
 | 
													source of the event to compute the distance.
 | 
				
			||||||
								The default value is implementation specific.
 | 
													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>
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="maxDist" type="double" unit="deg">
 | 
												<parameter name="maxDist" type="string" unit="deg">
 | 
				
			||||||
								<description>
 | 
													<description>
 | 
				
			||||||
								The maximum distance allowed to compute a magnitude.
 | 
													The maximum distance allowed to compute a magnitude.
 | 
				
			||||||
								This settings has no effect with e.g. scautopick
 | 
													This settings has no effect with e.g. scautopick
 | 
				
			||||||
								as there is no information about the source of
 | 
													as there is no information about the source of
 | 
				
			||||||
								the event to compute the distance. The default
 | 
													the event to compute the distance. The default
 | 
				
			||||||
								value is implementation specific.
 | 
													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
 | 
				
			||||||
								</description>
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="minDepth" type="double" unit="km">
 | 
												<parameter name="minDepth" type="string" unit="km">
 | 
				
			||||||
								<description>
 | 
													<description>
 | 
				
			||||||
								The minimum depth required to compute a magnitude.
 | 
													The minimum depth required to compute a magnitude.
 | 
				
			||||||
								This settings has no effect with e.g. scautopick
 | 
													This settings has no effect with e.g. scautopick
 | 
				
			||||||
								as there is no information about the source of
 | 
													as there is no information about the source of
 | 
				
			||||||
								the event to retrieve the depth. The default
 | 
													the event to retrieve the depth. The default
 | 
				
			||||||
								value is implementation specific.
 | 
													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>
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="maxDepth" type="double" unit="km">
 | 
												<parameter name="maxDepth" type="string" unit="km">
 | 
				
			||||||
								<description>
 | 
													<description>
 | 
				
			||||||
								The maximum depth allowed to compute a magnitude.
 | 
													The maximum depth allowed to compute a magnitude.
 | 
				
			||||||
								This settings has no effect with e.g. scautopick
 | 
													This settings has no effect with e.g. scautopick
 | 
				
			||||||
								as there is no information about the source of
 | 
													as there is no information about the source of
 | 
				
			||||||
								the event to retrieve the depth. The default
 | 
													the event to retrieve the depth. The default
 | 
				
			||||||
								value is implementation specific.
 | 
													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>
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="check" type="string" default="source">
 | 
												<parameter name="check" type="string" default="source">
 | 
				
			||||||
@ -862,12 +917,12 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
				<option flag="I" long-flag="record-url" argument="arg" default="" publicID="records#record-url">
 | 
									<option flag="I" long-flag="record-url" argument="arg" default="" publicID="records#record-url">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The recordstream source URL, format:
 | 
										The RecordStream source URL. Format:
 | 
				
			||||||
					[service://]location[#type].
 | 
										[service://]location[#type].
 | 
				
			||||||
					"service" is the name of the recordstream driver
 | 
										"service" is the name of the RecordStream driver
 | 
				
			||||||
					which can be queried with "--record-driver-list".
 | 
										which can be queried with "--record-driver-list".
 | 
				
			||||||
					If "service" is not given, "file://" is
 | 
										If "service" is not given, "file://" is
 | 
				
			||||||
					used.
 | 
										used and simply the name of a miniSEED file can be given.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -883,7 +938,7 @@
 | 
				
			|||||||
			</group>
 | 
								</group>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
			<group name="Cities"  publicID="cities">
 | 
								<group name="Cities"  publicID="cities">
 | 
				
			||||||
				<option long-flag="city-xml" argument="arg" default="" publicID="cities#city-xml">
 | 
									<option long-flag="city-xml" argument="arg" default="" publicID="cities#city-xml" type="file" options="read" values="*.xml">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The path to the cities XML file. This overrides the default
 | 
										The path to the cities XML file. This overrides the default
 | 
				
			||||||
					paths. Compare with the global parameter "citiesXML".
 | 
										paths. Compare with the global parameter "citiesXML".
 | 
				
			||||||
@ -936,6 +991,8 @@
 | 
				
			|||||||
				Create amplitude type profiles to define the time windows,
 | 
									Create amplitude type profiles to define the time windows,
 | 
				
			||||||
				minimum signal-to-noise ratio, amplitude thresholds and
 | 
									minimum signal-to-noise ratio, amplitude thresholds and
 | 
				
			||||||
				restitution for measuring amplitudes of a certain type.
 | 
									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>
 | 
									</description>
 | 
				
			||||||
				<parameter name="saturationThreshold" type="string" default="false" unit="counts; %">
 | 
									<parameter name="saturationThreshold" type="string" default="false" unit="counts; %">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
@ -977,14 +1034,14 @@
 | 
				
			|||||||
					The parameters of this group will be overridden by type
 | 
										The parameters of this group will be overridden by type
 | 
				
			||||||
					specific settings if given (see GlobalAmplitudeProfile).
 | 
										specific settings if given (see GlobalAmplitudeProfile).
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
					<parameter name="taper" default="5" unit="s">
 | 
										<parameter name="taper" default="5" unit="s" type="double">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Define the length of the taper at either side of the
 | 
											Define the length of the taper at either side of the
 | 
				
			||||||
						waveform. The length will be added to the data
 | 
											waveform. The length will be added to the data
 | 
				
			||||||
						request: start - taper and end + taper.
 | 
											request: start - taper and end + taper.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="minFreq" default="0.00833333" unit="Hz">
 | 
										<parameter name="minFreq" default="0.00833333" unit="Hz" type="double">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The minimum frequency of the considered spectrum.
 | 
											The minimum frequency of the considered spectrum.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -995,7 +1052,7 @@
 | 
				
			|||||||
						that taper.
 | 
											that taper.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="maxFreq" default="0" unit="Hz">
 | 
										<parameter name="maxFreq" default="0" unit="Hz" type="double">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The maximum frequency of the considered spectrum.
 | 
											The maximum frequency of the considered spectrum.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -1014,9 +1071,17 @@
 | 
				
			|||||||
					noise time window specifications,
 | 
										noise time window specifications,
 | 
				
			||||||
					e.g. "signalBegin".
 | 
										e.g. "signalBegin".
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
					<parameter name="interface" type="string" default="libtau">
 | 
										<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>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="model" type="string" default="iasp91">
 | 
										<parameter name="model" type="string" default="iasp91">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											The name of the travel-time interface (velocity) model
 | 
				
			||||||
 | 
											to use.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<group name="WoodAnderson">
 | 
									<group name="WoodAnderson">
 | 
				
			||||||
@ -1043,7 +1108,7 @@
 | 
				
			|||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<struct type="GlobalAmplitudeProfile" title="Amplitude type profile">
 | 
									<struct type="GlobalBindingsAmplitudeProfile" title="Amplitude type profile: Use name of amplitude type" aliases="config:amplitudes.aliases">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					An amplitude profile configures global parameters for a
 | 
										An amplitude profile configures global parameters for a
 | 
				
			||||||
					particular amplitude type. The available amplitude types
 | 
										particular amplitude type. The available amplitude types
 | 
				
			||||||
@ -1083,14 +1148,38 @@
 | 
				
			|||||||
						will be used instead.
 | 
											will be used instead.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="minSNR" type="double">
 | 
										<parameter name="minSNR" type="double" default="3">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Define the minimum SNR to be reached to compute the
 | 
											Define the minimum SNR to be reached to compute the
 | 
				
			||||||
						amplitudes. This value is amplitude type specific and
 | 
											amplitudes. This value is amplitude type specific and
 | 
				
			||||||
						has no global default value.
 | 
											has no global default value.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="noiseBegin" type="double" unit="s">
 | 
										<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">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Override the default time (relative to the trigger
 | 
											Override the default time (relative to the trigger
 | 
				
			||||||
						time) of the begin of the noise window used to compute
 | 
											time) of the begin of the noise window used to compute
 | 
				
			||||||
@ -1099,7 +1188,7 @@
 | 
				
			|||||||
						should only be changed if you know what you are doing.
 | 
											should only be changed if you know what you are doing.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="noiseEnd" type="double" unit="s">
 | 
										<parameter name="noiseEnd" type="string" unit="time grammar" default="-5">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Override the default time (relative to the trigger
 | 
											Override the default time (relative to the trigger
 | 
				
			||||||
						time) of the end of the noise window used to compute
 | 
											time) of the end of the noise window used to compute
 | 
				
			||||||
@ -1108,7 +1197,7 @@
 | 
				
			|||||||
						should only be changed if you know what you are doing.
 | 
											should only be changed if you know what you are doing.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="signalBegin" type="double" unit="s">
 | 
										<parameter name="signalBegin" type="string" unit="time grammar" default="-5">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Override the default time (relative to the trigger
 | 
											Override the default time (relative to the trigger
 | 
				
			||||||
						time) of the begin of the signal window used to compute
 | 
											time) of the begin of the signal window used to compute
 | 
				
			||||||
@ -1117,7 +1206,7 @@
 | 
				
			|||||||
						changed if you know what you are doing.
 | 
											changed if you know what you are doing.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="signalEnd" type="double" unit="s">
 | 
										<parameter name="signalEnd" type="string" unit="time grammar" default="30">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Override the default time (relative to the trigger
 | 
											Override the default time (relative to the trigger
 | 
				
			||||||
						time) of the end of the signal window used to compute
 | 
											time) of the end of the signal window used to compute
 | 
				
			||||||
@ -1126,69 +1215,86 @@
 | 
				
			|||||||
						changed if you know what you are doing.
 | 
											changed if you know what you are doing.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="minDist" type="double" unit="deg">
 | 
										<parameter name="minDist" type="string" unit="deg" default="0">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The minimum distance required to compute an amplitude.
 | 
											The minimum distance required to compute an amplitude.
 | 
				
			||||||
						This settings has no effect with e.g. scautopick as there
 | 
											This settings has no effect with e.g. scautopick as there
 | 
				
			||||||
						is no information about the source of the event to compute
 | 
											is no information about the source of the event to compute
 | 
				
			||||||
						the distance. The default value is implementation
 | 
											the distance. The default value depends on
 | 
				
			||||||
						specific.
 | 
											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
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="maxDist" type="double" unit="deg">
 | 
										<parameter name="maxDist" type="string" unit="deg" default="180">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The maximum distance allowed to compute an amplitude.
 | 
											The maximum distance allowed to compute an amplitude.
 | 
				
			||||||
						This settings has no effect with e.g. scautopick as there
 | 
											This settings has no effect with e.g. scautopick as there
 | 
				
			||||||
						is no information about the source of the event to compute
 | 
											is no information about the source of the event to compute
 | 
				
			||||||
						the distance. The default value is implementation
 | 
											the distance. The default value depends on
 | 
				
			||||||
						specific.
 | 
											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
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="minDepth" type="double" unit="km">
 | 
										<parameter name="minDepth" type="string" unit="km" default="-1000000">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The minimum depth required to compute an amplitude.
 | 
											The minimum depth required to compute an amplitude.
 | 
				
			||||||
						This settings has no effect with e.g. scautopick as there
 | 
											This settings has no effect with e.g. scautopick as there
 | 
				
			||||||
						is no information about the source of the event to
 | 
											is no information about the source of the event to
 | 
				
			||||||
						retrieve the depth. The default value is implementation
 | 
											retrieve the depth. The default value depends on
 | 
				
			||||||
						specific.
 | 
											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
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="maxDepth" type="double" unit="km">
 | 
										<parameter name="maxDepth" type="string" unit="km" default="1000000">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The maximum depth allowed to compute an amplitude.
 | 
											The maximum depth allowed to compute an amplitude.
 | 
				
			||||||
						This settings has no effect with e.g. scautopick as there
 | 
											This settings has no effect with e.g. scautopick as there
 | 
				
			||||||
						is no information about the source of the event to
 | 
											is no information about the source of the event to
 | 
				
			||||||
						retrieve the depth. The default value is implementation
 | 
											retrieve the depth. The default value depends on
 | 
				
			||||||
						specific.
 | 
											amplitude type.
 | 
				
			||||||
						</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.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
						If amplitudes for this particular type shall be computed
 | 
											Although the default unit is 'km', values can be
 | 
				
			||||||
						regardless of any defined regions, set this parameter to
 | 
											given in any SI distance unit such km, m or cm
 | 
				
			||||||
						false.
 | 
											by simply appending the unit to the value.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											Example:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											maxDepth = 500km
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<group name="resp">
 | 
										<group name="resp">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Several parameters if usage of full responses is enabled.
 | 
											Several parameters if usage of full responses is enabled.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="taper" default="5" unit="s">
 | 
											<parameter name="taper" default="5" unit="s" type="double">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Define the length of the taper at either side of the
 | 
												Define the length of the taper at either side of the
 | 
				
			||||||
							waveform. The length will be added to the data
 | 
												waveform. The length will be added to the data
 | 
				
			||||||
							request: start - taper and end + taper.
 | 
												request: start - taper and end + taper.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="minFreq" default="0.00833333" unit="Hz">
 | 
											<parameter name="minFreq" default="0.00833333" unit="Hz" type="double">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							After data are converted in to the frequency domain
 | 
												After data are converted in to the frequency domain
 | 
				
			||||||
							that minimum frequency defines the end of the left-side
 | 
												that minimum frequency defines the end of the left-side
 | 
				
			||||||
@ -1197,7 +1303,7 @@
 | 
				
			|||||||
							A value of 0 or lower disables that taper.
 | 
												A value of 0 or lower disables that taper.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="maxFreq" default="0" unit="Hz">
 | 
											<parameter name="maxFreq" default="0" unit="Hz" type="double">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							After data are converted in to the frequency domain
 | 
												After data are converted in to the frequency domain
 | 
				
			||||||
							that maximum frequency defines the start of the right-side
 | 
												that maximum frequency defines the start of the right-side
 | 
				
			||||||
@ -1211,11 +1317,13 @@
 | 
				
			|||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<group name="magnitudes">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Define magnitude parameters independent of amplitude-type profiles.
 | 
									Define the calibration parameters and constraints for computing
 | 
				
			||||||
				For magnitude correction parameters, e.g., network of station
 | 
									magnitudes from measured amplitudes including static corrections.
 | 
				
			||||||
				corrections, create a magnitude type profile.
 | 
									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).
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<struct type="GlobalBindingsMagnitudeTypeProfile" title="Magnitude type profile">
 | 
									<struct type="GlobalBindingsMagnitudeProfile" title="Magnitude type profile: Use name of magnitude type" aliases="config:magnitudes.aliases">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					A magnitude profile configures global parameters for a
 | 
										A magnitude profile configures global parameters for a
 | 
				
			||||||
					particular magnitude type. The available magnitude types
 | 
										particular magnitude type. The available magnitude types
 | 
				
			||||||
@ -1243,6 +1351,106 @@
 | 
				
			|||||||
						Example: "0.0, regionA: -0.1, regionB: 0.2".
 | 
											Example: "0.0, regionA: -0.1, regionB: 0.2".
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</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>
 | 
									</struct>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<group name="picker">
 | 
								<group name="picker">
 | 
				
			||||||
 | 
				
			|||||||
@ -17,6 +17,30 @@
 | 
				
			|||||||
					documentation for the required interface name.
 | 
										documentation for the required interface name.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</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">
 | 
									<parameter name="usePickUncertainties" type="boolean" default="false">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Whether to use pick time uncertainties rather than a fixed
 | 
										Whether to use pick time uncertainties rather than a fixed
 | 
				
			||||||
 | 
				
			|||||||
@ -73,9 +73,10 @@
 | 
				
			|||||||
					/path/to/maps/%l/%c/%r.png.
 | 
										/path/to/maps/%l/%c/%r.png.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="format" type="string" default="Rectangular" values="Rectangular,Mercator">
 | 
									<parameter name="format" type="string" default="rectangular" values="rectangular,mercator">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Projection of the map tiles configured in 'map.location'.
 | 
										Projection of the map tiles configured in "map.location".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Note: Additional projections may be available by plugins.
 | 
										Note: Additional projections may be available by plugins.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
@ -114,6 +115,18 @@
 | 
				
			|||||||
						layer is "cities".
 | 
											layer is "cities".
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
									<group name="mercator">
 | 
				
			||||||
 | 
										<description>
 | 
				
			||||||
 | 
										Parameters specifically related to maps loaded with
 | 
				
			||||||
 | 
										mercator projection.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
 | 
										<parameter name="discrete" type="boolean" default="false">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Only support discrete zoom levels. The parameter impacts
 | 
				
			||||||
 | 
											the effect of "map.zoom.sensitivity".
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
 | 
									</group>
 | 
				
			||||||
				<group name="layers">
 | 
									<group name="layers">
 | 
				
			||||||
					<group name="events">
 | 
										<group name="events">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
@ -131,7 +144,7 @@
 | 
				
			|||||||
					<group name="fep">
 | 
										<group name="fep">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Configuration for the fep layer showing the polygons
 | 
											Configuration for the fep layer showing the polygons
 | 
				
			||||||
						of FEP (FLinn-Engdahl-Polygon) files on maps if they
 | 
											of FEP (Flinn-Engdahl-Polygon) files on maps if they
 | 
				
			||||||
						exist in @DATADIR@/fep or @CONFIGDIR@/fep.
 | 
											exist in @DATADIR@/fep or @CONFIGDIR@/fep.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="visible" type="boolean" default="true">
 | 
											<parameter name="visible" type="boolean" default="true">
 | 
				
			||||||
@ -144,9 +157,9 @@
 | 
				
			|||||||
						<parameter name="topPopulatedPlaces" type="int" default="-1">
 | 
											<parameter name="topPopulatedPlaces" type="int" default="-1">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Maximum number of cities to be rendered. If
 | 
												Maximum number of cities to be rendered. If
 | 
				
			||||||
							cityPopulationWeight is less or equal than 0 then
 | 
												"scheme.map.cityPopulationWeight" is less
 | 
				
			||||||
							all cities are rendered ordered by population count,
 | 
												or equal than 0 then all cities are rendered ordered
 | 
				
			||||||
							highest first.
 | 
												by population count, highest first.
 | 
				
			||||||
							To show the N most populated places in the visible
 | 
												To show the N most populated places in the visible
 | 
				
			||||||
							map region, set
 | 
												map region, set
 | 
				
			||||||
							"scheme.map.cityPopulationWeight" to 0
 | 
												"scheme.map.cityPopulationWeight" to 0
 | 
				
			||||||
@ -163,16 +176,17 @@
 | 
				
			|||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<group name="scheme">
 | 
								<group name="scheme">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
					This group defines various options for color, pen, brush, font, etc. for SeisComP
 | 
									This group defines various options controlling the look and feel
 | 
				
			||||||
					graphical user interfaces. There are various conventions to
 | 
									of graphical modules. The options include symbols, units,
 | 
				
			||||||
					define colors, fonts and gradients.
 | 
									precision, color, pen, brush, font, etc. There are various
 | 
				
			||||||
 | 
									conventions to define colors, fonts and gradients.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				Colors are defined in HTML
 | 
									Colors are defined in HTML
 | 
				
			||||||
				convention, e.g. as rgb values, hexadecimal numbers or color
 | 
									convention, e.g. as rgb values, hexadecimal numbers or color
 | 
				
			||||||
				keyword names defined by W3C. If rgb or rgba is used, it must
 | 
									keyword names defined by W3C. If rgb or rgba is used, it must
 | 
				
			||||||
				be quoted because the comma is handled as list separator by
 | 
									be quoted because the comma is handled as list separator by
 | 
				
			||||||
				the configuration.
 | 
									the configuration.
 | 
				
			||||||
					Examples: "rgb(255,0,0)", FF00FF40, green.
 | 
									Examples: "rgb(0,128,0)", 00800040, green.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				Gradients are configured as lists of tuples where each tuple
 | 
									Gradients are configured as lists of tuples where each tuple
 | 
				
			||||||
				is colon separated in the form value:color. Value is either
 | 
									is colon separated in the form value:color. Value is either
 | 
				
			||||||
@ -187,25 +201,57 @@
 | 
				
			|||||||
					<description>Show status bar.</description>
 | 
										<description>Show status bar.</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<parameter name="tabPosition" type="string">
 | 
									<parameter name="tabPosition" type="string" values="off,north,south,east,west">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						Set position if tab bar. An unset value lets the application
 | 
										The position of tab bar of GUI applications like scolv.
 | 
				
			||||||
						decide where to place the tab bar. This option might not be
 | 
										An unset value lets the application decide where to place
 | 
				
			||||||
						supported by all applications. Valid positions are: off, north,
 | 
										the tab bar. This option might not be supported by all
 | 
				
			||||||
						south, east, west
 | 
										applications. Valid positions are: off, north, south,
 | 
				
			||||||
 | 
										east, west.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
									<parameter name="distanceHypocentral" type="boolean" default="false">
 | 
				
			||||||
 | 
										<description>
 | 
				
			||||||
 | 
										Show hypocentral instead of epicentral distances.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<group name="map">
 | 
									<group name="map">
 | 
				
			||||||
					<parameter name="stationSize" type="int" default="8" unit="px">
 | 
										<parameter name="stationSize" type="int" default="8" unit="px">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The station symbol size (e.g. in scmv).
 | 
											The station symbol size, e.g., in scmv.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="originSymbolMinSize" type="int" default="9" unit="px">
 | 
										<parameter name="originSymbolMinSize" type="int" default="9" unit="px">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The origin symbol minimum size. The formula to compute the
 | 
											The minimum symbol size of origins. The size is scaled
 | 
				
			||||||
							size of the origin symbol is: 4.9*(M-1.2).
 | 
											with magnitude according to
 | 
				
			||||||
 | 
											"scheme.mag.originSymbolScaleMag".
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
 | 
										<parameter name="originSymbolMinMag" type="double" default="1.2" unit="">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											The minimum magnitude to be represented by an origin
 | 
				
			||||||
 | 
											symbol. The symbol size of origins with this or lower
 | 
				
			||||||
 | 
											magnitude is configured by
 | 
				
			||||||
 | 
											"scheme.mag.originSymbolMinSize". For origins
 | 
				
			||||||
 | 
											with larger magnitudes the symbol sizes are scaled according
 | 
				
			||||||
 | 
											to "scheme.mag.originSymbolScaleMag".
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											Starting from the minimum magnitude legends explaining
 | 
				
			||||||
 | 
											magnitudes will show eight symbols in steps of one
 | 
				
			||||||
 | 
											magnitude.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
 | 
										<parameter name="originSymbolScaleMag" type="double" default="4.9" unit="px/magnitude">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											The factor for scaling the symbol size of origins with
 | 
				
			||||||
 | 
											some magnitude as:
 | 
				
			||||||
 | 
											"scheme.mag.originSymbolScaleMag" * (magnitude - "scheme.mag.originSymbolMinMag").
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											The color of origins symbols is controlled by the parameters
 | 
				
			||||||
 | 
											"scheme.colors.originSymbol.*".
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="vectorLayerAntiAlias" type="boolean" default="false">
 | 
										<parameter name="vectorLayerAntiAlias" type="boolean" default="false">
 | 
				
			||||||
@ -251,10 +297,14 @@
 | 
				
			|||||||
						option.
 | 
											option.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="projection" type="string" default="Rectangular">
 | 
										<parameter name="projection" type="string" default="Rectangular" values="Rectangular,Mercator">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							SeisComP ships with the rectangular projection built-in.
 | 
											The projection for showing maps. SeisComP ships with
 | 
				
			||||||
 | 
											Rectangular and Mercator.
 | 
				
			||||||
						Other projections may be provided through plugins.
 | 
											Other projections may be provided through plugins.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											The visible latitude range of maps shown with Mercator
 | 
				
			||||||
 | 
											is limited to -85 - +85 deg.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="toBGR" type="boolean" default="false">
 | 
										<parameter name="toBGR" type="boolean" default="false">
 | 
				
			||||||
@ -267,11 +317,19 @@
 | 
				
			|||||||
						Minimum screen distance to plot a polygon or polyline line segment.
 | 
											Minimum screen distance to plot a polygon or polyline line segment.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
 | 
										<parameter name="maxZoom" type="float" default="24" range="1:24">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Maximum allowed zoom level.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<group name="colors">
 | 
									<group name="colors">
 | 
				
			||||||
					Colors can be configured as hexadecimal numbers or color keyword names
 | 
									<description>
 | 
				
			||||||
					defined by W3C.
 | 
										Colors can be configured as rgb, rgba. hexadecimal numbers or color keyword names
 | 
				
			||||||
 | 
										defined by W3C. If a color is unset, SeisComP applications
 | 
				
			||||||
 | 
										attempt to read it from your Desktop theme.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
					<parameter name="background" type="color">
 | 
										<parameter name="background" type="color">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						A general application background color. Can be used to give
 | 
											A general application background color. Can be used to give
 | 
				
			||||||
@ -316,8 +374,11 @@
 | 
				
			|||||||
							<parameter name="color" type="color" default="FFA000">
 | 
												<parameter name="color" type="color" default="FFA000">
 | 
				
			||||||
								<description>The color of the pen.</description>
 | 
													<description>The color of the pen.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="style" type="string" default="DotLine">
 | 
												<parameter name="style" type="string" default="DotLine" values="NoPen, SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
								<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
													<description>
 | 
				
			||||||
 | 
													The style of the pen. Supported values are:
 | 
				
			||||||
 | 
													NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="width" type="double" default="1" unit="px">
 | 
												<parameter name="width" type="double" default="1" unit="px">
 | 
				
			||||||
								<description>The width of the pen.</description>
 | 
													<description>The width of the pen.</description>
 | 
				
			||||||
@ -330,8 +391,12 @@
 | 
				
			|||||||
							<parameter name="color" type="color" default="FFFFFF">
 | 
												<parameter name="color" type="color" default="FFFFFF">
 | 
				
			||||||
								<description>The color of the pen.</description>
 | 
													<description>The color of the pen.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="style" type="string" default="DotLine">
 | 
												<parameter name="style" type="string" default="DotLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
								<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
													<description>
 | 
				
			||||||
 | 
													The style of the pen. Supported values are:
 | 
				
			||||||
 | 
													NoPen, SolidLine, DashLine, DotLine, DashDotLine,
 | 
				
			||||||
 | 
													DashDotDotLine.
 | 
				
			||||||
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="width" type="double" default="1" unit="px">
 | 
												<parameter name="width" type="double" default="1" unit="px">
 | 
				
			||||||
								<description>The width of the pen.</description>
 | 
													<description>The width of the pen.</description>
 | 
				
			||||||
@ -376,7 +441,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="c0c0c0">
 | 
													<parameter name="color" type="color" default="c0c0c0">
 | 
				
			||||||
									<description>The color of the pen.</description>
 | 
														<description>The color of the pen.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="SolidLine">
 | 
													<parameter name="style" type="string" default="SolidLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
									The style of the pen. Supported values are:
 | 
														The style of the pen. Supported values are:
 | 
				
			||||||
									NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
														NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -393,7 +458,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="a0a0a4">
 | 
													<parameter name="color" type="color" default="a0a0a4">
 | 
				
			||||||
									<description>The color of the pen.</description>
 | 
														<description>The color of the pen.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="SolidLine">
 | 
													<parameter name="style" type="string" default="SolidLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
									The style of the pen. Supported values are:
 | 
														The style of the pen. Supported values are:
 | 
				
			||||||
									NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
														NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -410,7 +475,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="202020c0">
 | 
													<parameter name="color" type="color" default="202020c0">
 | 
				
			||||||
									<description>The color of the brush.</description>
 | 
														<description>The color of the brush.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="solid">
 | 
													<parameter name="style" type="string" default="solid" values="solid,dense1,dense2,dense3,dense4,dense5,dense6,dense7,nobrush,horizontal,vertical,cross,bdiag,fdiag,diagcross">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
										The style of the brush. Supported values are, e.g.:
 | 
															The style of the brush. Supported values are, e.g.:
 | 
				
			||||||
										solid, dense1, dense7, horizontal, vertical,
 | 
															solid, dense1, dense7, horizontal, vertical,
 | 
				
			||||||
@ -425,7 +490,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="000000">
 | 
													<parameter name="color" type="color" default="000000">
 | 
				
			||||||
									<description>The color of the pen.</description>
 | 
														<description>The color of the pen.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="SolidLine">
 | 
													<parameter name="style" type="string" default="SolidLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
									The style of the pen. Supported values are:
 | 
														The style of the pen. Supported values are:
 | 
				
			||||||
									NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
														NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -442,7 +507,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="a0a0a4">
 | 
													<parameter name="color" type="color" default="a0a0a4">
 | 
				
			||||||
									<description>The color of the pen.</description>
 | 
														<description>The color of the pen.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="SolidLine">
 | 
													<parameter name="style" type="string" default="SolidLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
									The style of the pen. Supported values are:
 | 
														The style of the pen. Supported values are:
 | 
				
			||||||
									NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
														NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -459,7 +524,7 @@
 | 
				
			|||||||
								<parameter name="color" type="color" default="ffffffa0">
 | 
													<parameter name="color" type="color" default="ffffffa0">
 | 
				
			||||||
									<description>The color of the brush.</description>
 | 
														<description>The color of the brush.</description>
 | 
				
			||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
								<parameter name="style" type="string" default="solid">
 | 
													<parameter name="style" type="string" default="solid" values="solid,dense1,dense2,dense3,dense4,dense5,dense6,dense7,nobrush,horizontal,vertical,cross,bdiag,fdiag,diagcross">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
									The style of the brush. Supported values are, e.g.:
 | 
														The style of the brush. Supported values are, e.g.:
 | 
				
			||||||
									solid, dense1, dense7, horizontal, vertical,
 | 
														solid, dense1, dense7, horizontal, vertical,
 | 
				
			||||||
@ -468,7 +533,9 @@
 | 
				
			|||||||
								</parameter>
 | 
													</parameter>
 | 
				
			||||||
							</group>
 | 
												</group>
 | 
				
			||||||
							<parameter name="textSize" type="int" unit="pt" default="9">
 | 
												<parameter name="textSize" type="int" unit="pt" default="9">
 | 
				
			||||||
								<description>Font point size of the label text.</description>
 | 
													<description>
 | 
				
			||||||
 | 
													Font point size of the label text.
 | 
				
			||||||
 | 
													</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
						</group>
 | 
											</group>
 | 
				
			||||||
					</group>
 | 
										</group>
 | 
				
			||||||
@ -478,7 +545,9 @@
 | 
				
			|||||||
							<description>The general color of records/traces.</description>
 | 
												<description>The general color of records/traces.</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="alternateForeground" type="color" default="808080">
 | 
											<parameter name="alternateForeground" type="color" default="808080">
 | 
				
			||||||
							<description>A general trace color of the alternate trace (eg scheli).</description>
 | 
												<description>
 | 
				
			||||||
 | 
												A general trace color of the alternate trace, e.g., scheli.
 | 
				
			||||||
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="background" type="color">
 | 
											<parameter name="background" type="color">
 | 
				
			||||||
							<description>The general background color of records/traces.</description>
 | 
												<description>The general background color of records/traces.</description>
 | 
				
			||||||
@ -509,7 +578,7 @@
 | 
				
			|||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
											The style of the pen. Supported values are:
 | 
																The style of the pen. Supported values are:
 | 
				
			||||||
											NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
																NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -521,12 +590,12 @@
 | 
				
			|||||||
								</group>
 | 
													</group>
 | 
				
			||||||
								<group name="brush">
 | 
													<group name="brush">
 | 
				
			||||||
									<description>
 | 
														<description>
 | 
				
			||||||
										Defines the brush of the enlcosed area.
 | 
														Defines the brush of the enclosed area.
 | 
				
			||||||
									</description>
 | 
														</description>
 | 
				
			||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="solid,dense1,dense2,dense3,dense4,dense5,dense6,dense7,nobrush,horizontal,vertical,cross,bdiag,fdiag,diagcross">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
										The style of the brush. Supported values are, e.g.:
 | 
															The style of the brush. Supported values are, e.g.:
 | 
				
			||||||
										solid, dense1, dense7, horizontal, vertical,
 | 
															solid, dense1, dense7, horizontal, vertical,
 | 
				
			||||||
@ -544,7 +613,7 @@
 | 
				
			|||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
											The style of the pen. Supported values are:
 | 
																The style of the pen. Supported values are:
 | 
				
			||||||
											NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
																NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -561,7 +630,7 @@
 | 
				
			|||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="solid,dense1,dense2,dense3,dense4,dense5,dense6,dense7,nobrush,horizontal,vertical,cross,bdiag,fdiag,diagcross">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
											The style of the pen. Supported values are, e.g.:
 | 
																The style of the pen. Supported values are, e.g.:
 | 
				
			||||||
											solid, dense1, dense7, horizontal, vertical,
 | 
																solid, dense1, dense7, horizontal, vertical,
 | 
				
			||||||
@ -579,7 +648,7 @@
 | 
				
			|||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
											The style of the pen. Supported values are:
 | 
																The style of the pen. Supported values are:
 | 
				
			||||||
											NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
																NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.
 | 
				
			||||||
@ -596,7 +665,7 @@
 | 
				
			|||||||
									<parameter name="color" type="color" default="">
 | 
														<parameter name="color" type="color" default="">
 | 
				
			||||||
										<description>The color of the pen.</description>
 | 
															<description>The color of the pen.</description>
 | 
				
			||||||
									</parameter>
 | 
														</parameter>
 | 
				
			||||||
									<parameter name="style" type="string" default="">
 | 
														<parameter name="style" type="string" default="" values="solid,dense1,dense2,dense3,dense4,dense5,dense6,dense7,nobrush,horizontal,vertical,cross,bdiag,fdiag,diagcross">
 | 
				
			||||||
										<description>
 | 
															<description>
 | 
				
			||||||
											The style of the pen. Supported values are, e.g.:
 | 
																The style of the pen. Supported values are, e.g.:
 | 
				
			||||||
											solid, dense1, dense7, horizontal, vertical,
 | 
																solid, dense1, dense7, horizontal, vertical,
 | 
				
			||||||
@ -613,7 +682,7 @@
 | 
				
			|||||||
							<parameter name="color" type="color" default="C0C0FF">
 | 
												<parameter name="color" type="color" default="C0C0FF">
 | 
				
			||||||
								<description>The color of the pen.</description>
 | 
													<description>The color of the pen.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="style" type="string" default="SolidLine">
 | 
												<parameter name="style" type="string" default="SolidLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
								<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
													<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="width" type="double" default="0.0" unit="px">
 | 
												<parameter name="width" type="double" default="0.0" unit="px">
 | 
				
			||||||
@ -627,7 +696,7 @@
 | 
				
			|||||||
							<parameter name="color" type="color" default="00000020">
 | 
												<parameter name="color" type="color" default="00000020">
 | 
				
			||||||
								<description>The color of the pen.</description>
 | 
													<description>The color of the pen.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="style" type="string" default="DashLine">
 | 
												<parameter name="style" type="string" default="DashLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
								<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
													<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="width" type="double" default="1.0" unit="px">
 | 
												<parameter name="width" type="double" default="1.0" unit="px">
 | 
				
			||||||
@ -641,7 +710,7 @@
 | 
				
			|||||||
							<parameter name="color" type="color" default="00000000">
 | 
												<parameter name="color" type="color" default="00000000">
 | 
				
			||||||
								<description>The color of the pen.</description>
 | 
													<description>The color of the pen.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="style" type="string" default="DotLine">
 | 
												<parameter name="style" type="string" default="DotLine" values="NoPen,SolidLine,DashLine,DotLine,DashDotLine,DashDotDotLine">
 | 
				
			||||||
								<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
													<description>The style of the pen. Supported values are: NoPen, SolidLine, DashLine, DotLine, DashDotLine, DashDotDotLine.</description>
 | 
				
			||||||
							</parameter>
 | 
												</parameter>
 | 
				
			||||||
							<parameter name="width" type="double" default="1.0" unit="px">
 | 
												<parameter name="width" type="double" default="1.0" unit="px">
 | 
				
			||||||
@ -714,7 +783,7 @@
 | 
				
			|||||||
							The gradient of arrivals residuals. A gradient is defined as
 | 
												The gradient of arrivals residuals. A gradient is defined as
 | 
				
			||||||
							a list of tuples separated by colon where the first item is
 | 
												a list of tuples separated by colon where the first item is
 | 
				
			||||||
							the value and the second is the color. Colors can be given in
 | 
												the value and the second is the color. Colors can be given in
 | 
				
			||||||
							rgb notation or hexadecimal. When rgb is used double quotes are needed to
 | 
												rgb notation or hexadecimal. When rgb is used, double quotes are needed to
 | 
				
			||||||
							protect the comma inside the rgb definition, e.g.
 | 
												protect the comma inside the rgb definition, e.g.
 | 
				
			||||||
							-8:"rgb(0,0,100)", -4:"rgb(0,0,255)", -3:"rgb(100,100,255)", ...
 | 
												-8:"rgb(0,0,100)", -4:"rgb(0,0,255)", -3:"rgb(100,100,255)", ...
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
@ -741,7 +810,7 @@
 | 
				
			|||||||
							<description>The color of the station name.</description>
 | 
												<description>The color of the station name.</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="associated" type="color" default="82AD58">
 | 
											<parameter name="associated" type="color" default="82AD58">
 | 
				
			||||||
							<description>The color of associated stations (e.g. in scmv).</description>
 | 
												<description>The color of associated stations, e.g., in scmv.</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="triggering" type="color">
 | 
											<parameter name="triggering" type="color">
 | 
				
			||||||
							<description>The color of triggered stations.</description>
 | 
												<description>The color of triggered stations.</description>
 | 
				
			||||||
@ -847,7 +916,7 @@
 | 
				
			|||||||
					<group name="recordView">
 | 
										<group name="recordView">
 | 
				
			||||||
						<parameter name="selectedTraceZoom" type="color" default="C0C0FFC0">
 | 
											<parameter name="selectedTraceZoom" type="color" default="C0C0FFC0">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								The color of the selected zoom area (e.g. manual picker).
 | 
												The color of the selected zoom area, e.g., in scolv picker.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
					</group>
 | 
										</group>
 | 
				
			||||||
@ -876,6 +945,11 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					<group name="originSymbol">
 | 
										<group name="originSymbol">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Parameters controlling the color of origin symbols. The
 | 
				
			||||||
 | 
											size is controlled by the parameters
 | 
				
			||||||
 | 
											"scheme.mag.originSymbol*".
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
						<parameter name="classic" type="boolean" default="false"/>
 | 
											<parameter name="classic" type="boolean" default="false"/>
 | 
				
			||||||
						<group name="depth">
 | 
											<group name="depth">
 | 
				
			||||||
							<parameter name="gradient" type="gradient" default="0:FF0000,50:ffA500,100:FFFF00,250:00FF00,600:0000FF">
 | 
												<parameter name="gradient" type="gradient" default="0:FF0000,50:ffA500,100:FFFF00,250:00FF00,600:0000FF">
 | 
				
			||||||
@ -892,7 +966,7 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
					<group name="originStatus">
 | 
										<group name="originStatus">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The origin status colors (e.g. in event list).
 | 
												The origin status colors, e.g., in event lists.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="automatic" type="color">
 | 
											<parameter name="automatic" type="color">
 | 
				
			||||||
							<description></description>
 | 
												<description></description>
 | 
				
			||||||
@ -922,7 +996,7 @@
 | 
				
			|||||||
				<group name="marker">
 | 
									<group name="marker">
 | 
				
			||||||
					<parameter name="lineWidth" type="int" unit="px">
 | 
										<parameter name="lineWidth" type="int" unit="px">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The line width of the marker (e.g. picks of manual picker).
 | 
											The line width of the marker, e.g., picks of scolv picker).
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
@ -942,13 +1016,30 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="optimize" type="boolean" default="true">
 | 
										<parameter name="optimize" type="boolean" default="true">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Configures optimization of trace polylines. If activated
 | 
											Configures optimization of trace polylines. If activated,
 | 
				
			||||||
						then lines on the same pixel line or same pixel row
 | 
											lines on the same pixel line or same pixel row collapse
 | 
				
			||||||
						collapse into single lines.
 | 
											into single lines.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
 | 
										<parameter name="showEngineeringValues" type="boolean" default="true">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Shows numerical values in the vertical axis and the min/mean
 | 
				
			||||||
 | 
											values between 0 and 1000 with a unit prefix such as
 | 
				
			||||||
 | 
											m (milli) or M (mega).
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
											Supported prefixes are:
 | 
				
			||||||
 | 
											Q (queta = 10**30), R (ronna = 10**27), Y (yotta = 10**24),
 | 
				
			||||||
 | 
											Z (zetta = 10**21), E (exa = 10**18), P (peta = 10**15),
 | 
				
			||||||
 | 
											T (tera = 10**12), G (giga = 10**9), M (mega = 10**6),
 | 
				
			||||||
 | 
											k (kilo = 10**3),
 | 
				
			||||||
 | 
											m (milli = 10**-3), µ (micro = 10**-6), n (nano = 10**-9),
 | 
				
			||||||
 | 
											p (pico = 10**-12), f (femto = 10**-15), a (atto = 10**-18),
 | 
				
			||||||
 | 
											z (zepto = 10**-21), y (yocto = 10**-24), r (ronto = 10**-27),
 | 
				
			||||||
 | 
											q (quekto = 10**-30).
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<group name="borders">
 | 
										<group name="borders">
 | 
				
			||||||
						<parameter name="drawMode" type="string" default="box">
 | 
											<parameter name="drawMode" type="string" default="box" values="topline,box,bottomline">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Mode for drawing record borders as box or line on top or
 | 
												Mode for drawing record borders as box or line on top or
 | 
				
			||||||
							bottom.
 | 
												bottom.
 | 
				
			||||||
@ -967,12 +1058,13 @@
 | 
				
			|||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -982,11 +1074,13 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="small">
 | 
										<group name="small">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The smallest available font. If undefined the point size is 2 points smaller than the base font.
 | 
											The smallest available font. If undefined, the point
 | 
				
			||||||
 | 
											size is 2 points smaller than the base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
@ -1001,16 +1095,18 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="normal">
 | 
										<group name="normal">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The default text font. If undefined the point size is 2 points larger than the base font.
 | 
											The default text font. If undefined, the point size is 2
 | 
				
			||||||
 | 
											points larger than the base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -1020,11 +1116,13 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="large">
 | 
										<group name="large">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The largest text font. If undefined the point size is 6 points larger than the base font.
 | 
											The largest text font. If undefined, the point size is 6
 | 
				
			||||||
 | 
											points larger than the base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
@ -1039,11 +1137,13 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="highlight">
 | 
										<group name="highlight">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Font used to highlight text. If undefined it equals the normal font except for a bold font face.
 | 
											Font used to highlight text. If undefined, it equals the
 | 
				
			||||||
 | 
											normal font except for a bold font face.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
@ -1058,16 +1158,18 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="heading1">
 | 
										<group name="heading1">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The largest heading font. If undefined it uses a bold font face and a font size twice as large as the normal font.
 | 
											The largest heading font. If undefined, it uses a bold
 | 
				
			||||||
 | 
											font face and a font size twice as large as the normal font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -1077,16 +1179,18 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="heading2">
 | 
										<group name="heading2">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The second largest heading font. If undefined it uses a bold font face and a font size twice as large as the base font.
 | 
											The second largest heading font. If undefined, it uses a
 | 
				
			||||||
 | 
											bold font face and a font size twice as large as the base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -1096,11 +1200,13 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="heading3">
 | 
										<group name="heading3">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The smallest heading font. If undefined it uses a bold font face and a font size 4 points larger than the base font.
 | 
											The smallest heading font. If undefined, it uses a bold
 | 
				
			||||||
 | 
											font face and a font size 4 points larger than the base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
@ -1115,16 +1221,18 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="cityLabels">
 | 
										<group name="cityLabels">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Font used for city labels. If undefined it equals the base font.
 | 
											Font used for city labels. If undefined, it equals the
 | 
				
			||||||
 | 
											base font.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -1134,16 +1242,19 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="splashVersion">
 | 
										<group name="splashVersion">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Font used for version string in the splash dialog shown at application startup. If undefined it equals the base font with a bold font face and a font size of 12.
 | 
											Font used for version string in the splash dialog shown
 | 
				
			||||||
 | 
											at application startup. If undefined, it equals the base
 | 
				
			||||||
 | 
											font with a bold font face and a font size of 12.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Defines the point size of the font
 | 
												Defines the point size of the font.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="bold" type="boolean" default="false"/>
 | 
											<parameter name="bold" type="boolean" default="false"/>
 | 
				
			||||||
@ -1153,11 +1264,14 @@
 | 
				
			|||||||
					</group>
 | 
										</group>
 | 
				
			||||||
					<group name="splashMessage">
 | 
										<group name="splashMessage">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Font used for the message text in the splash dialog shown at application startup. If undefined it equals the base font with a font size of 12.
 | 
											Font used for the message text in the splash dialog
 | 
				
			||||||
 | 
											shown at application startup. If undefined, it equals
 | 
				
			||||||
 | 
											the base font with a font size of 12.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="family" type="string">
 | 
											<parameter name="family" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Sets the family name of the font. The name is case insensitive and may include a foundry name.
 | 
												Sets the family name of the font. The name is case
 | 
				
			||||||
 | 
												insensitive and may include a foundry name.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="size" type="int">
 | 
											<parameter name="size" type="int">
 | 
				
			||||||
@ -1173,6 +1287,10 @@
 | 
				
			|||||||
				</group>
 | 
									</group>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<group name="precision">
 | 
									<group name="precision">
 | 
				
			||||||
 | 
										<description>
 | 
				
			||||||
 | 
										Display values with the precisions configured as the number
 | 
				
			||||||
 | 
										of decimal places.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
					<parameter name="depth" type="int" default="0">
 | 
										<parameter name="depth" type="int" default="0">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The precision of depth values.
 | 
											The precision of depth values.
 | 
				
			||||||
@ -1186,7 +1304,7 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="location" type="int" default="2">
 | 
										<parameter name="location" type="int" default="2">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The precision of lat/lon values.
 | 
											The precision of latitude/longintude values.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="magnitude" type="int" default="1">
 | 
										<parameter name="magnitude" type="int" default="1">
 | 
				
			||||||
@ -1196,7 +1314,8 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="originTime" type="int" default="0">
 | 
										<parameter name="originTime" type="int" default="0">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							The precision of origin times.
 | 
											The precision of origin times and creation times of
 | 
				
			||||||
 | 
											origins and focal mechanisms.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="pickTime" type="int" default="1">
 | 
										<parameter name="pickTime" type="int" default="1">
 | 
				
			||||||
@ -1206,7 +1325,8 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="traceValues" type="int" default="1">
 | 
										<parameter name="traceValues" type="int" default="1">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Precision of displayed offset/amp in all trace widgets.
 | 
											Precision of displayed offset/amplitude in all trace
 | 
				
			||||||
 | 
											widgets.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="rms" type="int" default="1">
 | 
										<parameter name="rms" type="int" default="1">
 | 
				
			||||||
@ -1216,7 +1336,8 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="uncertainties" type="int" default="0">
 | 
										<parameter name="uncertainties" type="int" default="0">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Precision of uncertainty values, e.g. latitude errors.
 | 
											Precision of uncertainty values, e.g., for latitude and
 | 
				
			||||||
 | 
											longitude.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
@ -1230,7 +1351,9 @@
 | 
				
			|||||||
				<group name="dateTime">
 | 
									<group name="dateTime">
 | 
				
			||||||
					<parameter name="useLocalTime" type="boolean" default="false">
 | 
										<parameter name="useLocalTime" type="boolean" default="false">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
							Display times in localtime or UTC (default).
 | 
											Display times in localtime. If disabled all times are
 | 
				
			||||||
 | 
											shown in UTC which is also the time zone of all values
 | 
				
			||||||
 | 
											stored in the database.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
@ -1293,7 +1416,8 @@
 | 
				
			|||||||
			<group name="events">
 | 
								<group name="events">
 | 
				
			||||||
				<group name="timeAgo">
 | 
									<group name="timeAgo">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Defines maximum age of events to load. The value of all parameters are aggregated.
 | 
										Defines maximum age of events to load. The value of all
 | 
				
			||||||
 | 
										parameters are aggregated.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
					<parameter name="days" type="int" unit="d" default="1">
 | 
										<parameter name="days" type="int" unit="d" default="1">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
@ -1355,14 +1479,11 @@
 | 
				
			|||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Control the Events tab, e.g. in scolv, showing the list of loaded events.
 | 
									Control the Events tab, e.g. in scolv, showing the list of loaded events.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<parameter name="visibleColumns" type="list:string" default="M,MType,Phases,RMS,Lat,Lon,Depth,Stat,Agency,Region,ID">
 | 
									<parameter name="visibleColumns" type="list:string" default="M,MType,Phases,RMS,Lat,Lon,Depth,Stat,Agency,Region,ID" values="TimeAgo,Certainty,Type,M,MType,RMS,AzGap,Phases,Lat,Lon,Depth,DType,Stat,FM,Origins,Agency,Author,Region,ID">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Configure the columns of the event list that are visible
 | 
										Configure the columns of the event list that are visible
 | 
				
			||||||
					initially. The first column containing the origin time is
 | 
										initially. The first column containing the origin time is
 | 
				
			||||||
					always visible and cannot be hidden. Possible values are:
 | 
										always visible and cannot be hidden.
 | 
				
			||||||
 | 
					 | 
				
			||||||
					Certainty, Type, M, MType, RMS, AzGap, Phases, Lat, Lon, Depth, DType,
 | 
					 | 
				
			||||||
					Stat, FM, Origins, Agency, Author, Region, ID.
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
					Custom columns can be added by eventlist.customColumn.* or
 | 
										Custom columns can be added by eventlist.customColumn.* or
 | 
				
			||||||
					eventlist.scripts.* parameters.
 | 
										eventlist.scripts.* parameters.
 | 
				
			||||||
@ -1415,6 +1536,13 @@
 | 
				
			|||||||
					Custom columns showing parameters extracted by scripts e.g.
 | 
										Custom columns showing parameters extracted by scripts e.g.
 | 
				
			||||||
					from origins or events.
 | 
										from origins or events.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
 | 
										<parameter name="export" type="file" options="read">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Defines the export script to be called with the selected
 | 
				
			||||||
 | 
											event IDs in stdin when the corresponding action is triggered
 | 
				
			||||||
 | 
											from the context menu of the list of events.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="columns" type="list:string">
 | 
										<parameter name="columns" type="list:string">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Name of custom column profiles to be registered. Comma
 | 
											Name of custom column profiles to be registered. Comma
 | 
				
			||||||
@ -1428,7 +1556,7 @@
 | 
				
			|||||||
						The scolv documentation provides an example script.
 | 
											The scolv documentation provides an example script.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<struct type="custom column profile" link="eventlist.scripts.profiles">
 | 
											<struct type="custom column profile" link="eventlist.scripts.profiles">
 | 
				
			||||||
							<parameter name="script" type="path">
 | 
												<parameter name="script" type="file" options="read">
 | 
				
			||||||
								<description>
 | 
													<description>
 | 
				
			||||||
								External script to invoke for each event list entry. The object represented by the
 | 
													External script to invoke for each event list entry. The object represented by the
 | 
				
			||||||
								list entry is serialized to XML and passed to the script on stdin. If the return
 | 
													list entry is serialized to XML and passed to the script on stdin. If the return
 | 
				
			||||||
@ -1596,6 +1724,16 @@
 | 
				
			|||||||
							Maximum depth
 | 
												Maximum depth
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
 | 
											<parameter name="minphasecount" type="int" unit="">
 | 
				
			||||||
 | 
												<description>
 | 
				
			||||||
 | 
												Minimum number of phases
 | 
				
			||||||
 | 
												</description>
 | 
				
			||||||
 | 
											</parameter>
 | 
				
			||||||
 | 
											<parameter name="maxphasecount" type="int" unit="">
 | 
				
			||||||
 | 
												<description>
 | 
				
			||||||
 | 
												Maximum number of phases
 | 
				
			||||||
 | 
												</description>
 | 
				
			||||||
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="minmag" type="double">
 | 
											<parameter name="minmag" type="double">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Minimum magnitude
 | 
												Minimum magnitude
 | 
				
			||||||
@ -1608,6 +1746,35 @@
 | 
				
			|||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
					</group>
 | 
										</group>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
 | 
									<group name="timeAgo">
 | 
				
			||||||
 | 
										<description>
 | 
				
			||||||
 | 
										Parameters controlling the appearance of the TimeAgo column.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
 | 
										<parameter name="interval" type="double" unit="s" default="1.0">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											Update interval in seconds.
 | 
				
			||||||
 | 
											</description>
 | 
				
			||||||
 | 
										</parameter>
 | 
				
			||||||
 | 
										<group name="background">
 | 
				
			||||||
 | 
											<parameter name="gradient" type="gradient" unit="s:color">
 | 
				
			||||||
 | 
												<description>
 | 
				
			||||||
 | 
												Mapping of time values in seconds to colors used as
 | 
				
			||||||
 | 
												cell backgroud color. E.g., a mapping from green
 | 
				
			||||||
 | 
												over yellow (5min), red (10min) to
 | 
				
			||||||
 | 
												transparent (30min) can be expressed as
 | 
				
			||||||
 | 
												"0:40FF40FF,300:FFFF40FF,600:FF4040FF,1800:FF4040FF,1801:00000000".
 | 
				
			||||||
 | 
												</description>
 | 
				
			||||||
 | 
											</parameter>
 | 
				
			||||||
 | 
											<parameter name="discrete" type="boolean" default="true">
 | 
				
			||||||
 | 
												<description>
 | 
				
			||||||
 | 
												If time ago value falls between two color positions,
 | 
				
			||||||
 | 
												the resulting color will be interpolated linearly
 | 
				
			||||||
 | 
												between both colors by default. When the discrete
 | 
				
			||||||
 | 
												flag is set, the interpolation will be disabled.
 | 
				
			||||||
 | 
												</description>
 | 
				
			||||||
 | 
											</parameter>
 | 
				
			||||||
 | 
										</group>
 | 
				
			||||||
 | 
									</group>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
			<group name="eventedit">
 | 
								<group name="eventedit">
 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
@ -1620,7 +1787,7 @@
 | 
				
			|||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<group name="origin">
 | 
									<group name="origin">
 | 
				
			||||||
					<parameter name="visibleColumns" type="list:string" default="Phases, Lat, Lon, Depth, DType, RMS, AzGap, Stat, Method, Agency, Author, Region, ID">
 | 
										<parameter name="visibleColumns" type="list:string" default="Phases,Lat,Lon,Depth,DType,RMS,AzGap,Stat,Method,Agency,Author,Region,ID" values="Phases,Lat,Lon,Depth,DType,RMS,AzGap,Stat,Method,Agency,Author,Region,ID">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Configure the columns of the event edit origin table
 | 
											Configure the columns of the event edit origin table
 | 
				
			||||||
						that are visible initially. Origin creation time and
 | 
											that are visible initially. Origin creation time and
 | 
				
			||||||
@ -1647,27 +1814,31 @@
 | 
				
			|||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="pos" type="int" default="-1">
 | 
											<parameter name="pos" type="int" default="-1">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Position of the column. If the configured position is less than 0 or if it
 | 
												Position of the column. If the configured position
 | 
				
			||||||
							exceeds the total number of columns then the column is appended to the right.
 | 
												is less than 0 or if it exceeds the total number of
 | 
				
			||||||
 | 
												columns, then the column is appended to the right.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="default" type="string">
 | 
											<parameter name="default" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Default value to display if the specified origin or event comment id was not found.
 | 
												Default value to display if the specified origin or
 | 
				
			||||||
 | 
												event comment id was not found.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="colors" type="list:string">
 | 
											<parameter name="colors" type="list:string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Mapping of comment values to colors used as text color. E.g. "foo:#000,bar:red".
 | 
												Mapping of comment values to colors used as text
 | 
				
			||||||
 | 
												color. E.g. "foo:#000,bar:red".
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
					</group>
 | 
										</group>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<group name="fm">
 | 
									<group name="fm">
 | 
				
			||||||
					<parameter name="visibleColumns" type="list:string" default="Depth, M, Count, Misfit, STDR, AzGap, Stat, DC, CLVD, ISO, S1, D1, R1, S2, D2, R2, Agency, Author">
 | 
										<parameter name="visibleColumns" type="list:string" default="Depth,M,Count,Misfit,STDR,AzGap,Stat,DC,CLVD,ISO,S1,D1,R1,S2,D2,R2,Agency,Author" values="Depth,M,Count,Misfit,STDR,AzGap,Stat,DC,CLVD,ISO,S1,D1,R1,S2,D2,R2,Agency,Author">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						Configure the columns of the event edit focal mechanism
 | 
											Configure the columns of the event edit focal mechanism
 | 
				
			||||||
						tab that are visible initially.
 | 
											tab that are visible initially.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						Possible values are: Depth, M, Count, Misfit, STDR,
 | 
											Possible values are: Depth, M, Count, Misfit, STDR,
 | 
				
			||||||
						AzGap, Stat, DC, CLVD, ISO, S1,
 | 
											AzGap, Stat, DC, CLVD, ISO, S1,
 | 
				
			||||||
						D1, R1, S2, D2, R2, Agency, Author
 | 
											D1, R1, S2, D2, R2, Agency, Author
 | 
				
			||||||
@ -1699,7 +1870,8 @@
 | 
				
			|||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
					<parameter name="textSize" type="int" unit="pt">
 | 
										<parameter name="textSize" type="int" unit="pt">
 | 
				
			||||||
						<description>
 | 
											<description>
 | 
				
			||||||
						The text size of the time ago label in case of an active alert.
 | 
											The text size of the time ago label in case of an active
 | 
				
			||||||
 | 
											alert.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
 | 
				
			|||||||
@ -10,30 +10,32 @@
 | 
				
			|||||||
				<description>
 | 
									<description>
 | 
				
			||||||
					Locator parameters: Hypo71
 | 
										Locator parameters: Hypo71
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<parameter name="logFile" type="string" default="@LOGDIR@/HYPO71.LOG">
 | 
									<parameter name="logFile" type="file" default="@LOGDIR@/HYPO71.LOG" options="write">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Temporary file used by Hypo71 to store calculation logs.
 | 
										Temporary file used by Hypo71 to store calculation logs.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="inputFile" type="string" default="@DATADIR@/hypo71/HYPO71.INP">
 | 
									<parameter name="inputFile" type="file" default="@DATADIR@/hypo71/HYPO71.INP" options="write">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Temporary file to write Hypo71 input data to.
 | 
										Temporary file to write Hypo71 input data to.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="outputFile" type="string" default="@DATADIR@/hypo71/HYPO71.PRT">
 | 
									<parameter name="outputFile" type="file" default="@DATADIR@/hypo71/HYPO71.PRT" options="write">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Temporary output file to read Hypo71 location data from.
 | 
										Temporary output file to read Hypo71 location data from.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="defaultControlFile" type="string" default="@DATADIR@/hypo71/profiles/default.hypo71.conf">
 | 
									<parameter name="defaultControlFile" type="file" default="@DATADIR@/hypo71/profiles/default.hypo71.conf" options="read">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Hypo71 default profile.
 | 
										Hypo71 default profile. If no custom profile is specified,
 | 
				
			||||||
					If no custom profile is specified, this profile will be used by the plugin when proceeding to a localization. 
 | 
										this profile will be used by the plugin when proceeding to a
 | 
				
			||||||
 | 
										localization.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="hypo71ScriptFile" type="string" default="@DATADIR@/hypo71/run.sh">
 | 
									<parameter name="hypo71ScriptFile" type="file" default="@DATADIR@/hypo71/run.sh" options="execute">
 | 
				
			||||||
					<description>
 | 
										<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>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="profiles" type="list:string">
 | 
									<parameter name="profiles" type="list:string">
 | 
				
			||||||
@ -45,7 +47,8 @@
 | 
				
			|||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<group name="profile">
 | 
									<group name="profile">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						Profiles containing the profile-specific velocity model and the Hypo71 parameters.
 | 
										Profiles containing the profile-specific velocity model and
 | 
				
			||||||
 | 
										the Hypo71 parameters.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
					<struct type="Hypo71 profile" link = "hypo71.profiles">
 | 
										<struct type="Hypo71 profile" link = "hypo71.profiles">
 | 
				
			||||||
						<parameter name="earthModelID" type="string">
 | 
											<parameter name="earthModelID" type="string">
 | 
				
			||||||
@ -59,7 +62,7 @@
 | 
				
			|||||||
							It is generally the locator's name (Hypo71).
 | 
												It is generally the locator's name (Hypo71).
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="controlFile" type="string">
 | 
											<parameter name="controlFile" type="file" options="read">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							File containing the profile parameters.
 | 
												File containing the profile parameters.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
@ -76,10 +79,15 @@
 | 
				
			|||||||
					</struct>
 | 
										</struct>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				<parameter name="publicID" type="string">
 | 
									<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>
 | 
				
			||||||
				<parameter name="useHypo71PatternID" type="boolean">
 | 
									<parameter name="useHypo71PatternID" type="boolean">
 | 
				
			||||||
					<description>Specifies if the given publicD should be used for generating origin publicID</description>
 | 
										<description>
 | 
				
			||||||
 | 
										Specifies if the given public ID shall be used for
 | 
				
			||||||
 | 
										generating origin publicID.
 | 
				
			||||||
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
 | 
				
			|||||||
@ -10,9 +10,9 @@
 | 
				
			|||||||
				<description>
 | 
									<description>
 | 
				
			||||||
					Locator parameters: iLoc
 | 
										Locator parameters: iLoc
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<parameter name="auxDir" type="string" default="@DATADIR@/iloc/iLocAuxDir">
 | 
									<parameter name="auxDir" type="directory" default="@DATADIR@/iloc/iLocAuxDir" options="read">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					iLoc directory for auxialiary files and directories. Some
 | 
										iLoc directory for auxiliary files and directories. Some
 | 
				
			||||||
					of them must be provided from the iLoc website. Read the
 | 
										of them must be provided from the iLoc website. Read the
 | 
				
			||||||
					documentation for their installation.
 | 
										documentation for their installation.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
@ -32,9 +32,9 @@
 | 
				
			|||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<parameter name="profiles" type="list:string" default="iasp91,ak135">
 | 
									<parameter name="profiles" type="list:string" default="iasp91,ak135">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					iLoc profile name.
 | 
										List of iLoc profile name(s). Separate multiple names by comma.
 | 
				
			||||||
					Multiples names may be set separated by comma.
 | 
										Each profile can have different velocity or parameters. The
 | 
				
			||||||
					Each profile can have different velocity or parameters.
 | 
										must be defined separate by iLoc profiles.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				<group name="profile">
 | 
									<group name="profile">
 | 
				
			||||||
@ -60,17 +60,17 @@
 | 
				
			|||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="UseRSTT" type="boolean" default="false">
 | 
											<parameter name="UseRSTT" type="boolean" default="false">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Use regional seismic travel-time tables
 | 
												Use regional seismic travel-time tables.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="UseRSTTPnSn" type="boolean" default="true">
 | 
											<parameter name="UseRSTTPnSn" type="boolean" default="true">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Use regional seismic travel-time tables for Pn and Sn
 | 
												Use regional seismic travel-time tables for Pn and Sn.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="UseRSTTPgLg" type="boolean" default="true">
 | 
											<parameter name="UseRSTTPgLg" type="boolean" default="true">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Use regional seismic travel-time tables for Pg and Lg
 | 
												Use regional seismic travel-time tables for Pg and Lg.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="UseLocalTT" type="boolean" default="false">
 | 
											<parameter name="UseLocalTT" type="boolean" default="false">
 | 
				
			||||||
@ -78,7 +78,7 @@
 | 
				
			|||||||
							Use local velocity model if defined in LocalVmodel.
 | 
												Use local velocity model if defined in LocalVmodel.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="LocalVmodel" type="string" default="">
 | 
											<parameter name="LocalVmodel" type="file" default="" options="read">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Full path to a file containing the local velocity model.
 | 
												Full path to a file containing the local velocity model.
 | 
				
			||||||
							Requires: UseLocalTT = true. Empty string or unset or
 | 
												Requires: UseLocalTT = true. Empty string or unset or
 | 
				
			||||||
@ -98,124 +98,125 @@
 | 
				
			|||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="DoGridSearch" type="boolean" default="true">
 | 
											<parameter name="DoGridSearch" type="boolean" default="true">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Perform neighbourhood algorithm
 | 
												Perform neighbourhood algorithm.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAsearchRadius" type="float" default="5" unit="deg">
 | 
											<parameter name="NAsearchRadius" type="float" default="5" unit="deg">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Search radius around initial
 | 
												Neighbourhood Algorithm: Search radius around initial
 | 
				
			||||||
							epicentre
 | 
												epicentre.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAsearchDepth" type="float" default="300" unit="km">
 | 
											<parameter name="NAsearchDepth" type="float" default="300" unit="km">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Search radius around initial
 | 
												Neighbourhood Algorithm: Search radius around initial
 | 
				
			||||||
							depth
 | 
												depth.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAsearchOT" type="float" default="30" unit="s">
 | 
											<parameter name="NAsearchOT" type="float" default="30" unit="s">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Search radius around initial
 | 
												Neighbourhood Algorithm: Search radius around initial
 | 
				
			||||||
							origin time
 | 
												origin time.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAlpNorm" type="float" default="1">
 | 
											<parameter name="NAlpNorm" type="float" default="1" range="1:2">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: p-value for norm to compute
 | 
												Neighbourhood Algorithm: p-value for norm to compute
 | 
				
			||||||
							misfit [1,2]
 | 
												misfit.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAiterMax" type="integer" default="5">
 | 
											<parameter name="NAiterMax" type="int" default="5">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Maximum number of iterations
 | 
												Neighbourhood Algorithm: Maximum number of iterations.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAcells" type="integer" default="25">
 | 
											<parameter name="NAcells" type="int" default="25">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Number of cells to be resampled
 | 
												Neighbourhood Algorithm: Number of cells to be resampled
 | 
				
			||||||
							at each iteration
 | 
												at each iteration.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAinitialSample" type="integer" default="1000" unit="">
 | 
											<parameter name="NAinitialSample" type="int" default="1000" unit="">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Size of initial sample
 | 
												Neighbourhood Algorithm: Size of initial sample.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="NAnextSample" type="integer" default="100" unit="">
 | 
											<parameter name="NAnextSample" type="int" default="100" unit="">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Neighbourhood Algorithm: Size of subsequent samples
 | 
												Neighbourhood Algorithm: Size of subsequent samples.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						<parameter name="MinDepthPhases" type="integer" default="3" unit="">
 | 
											<parameter name="MinDepthPhases" type="int" default="3" unit="">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Minimum number of depth phases for depdp
 | 
												Depth resolution: Minimum number of depth phases.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MaxLocalDistDeg" type="float" default="0.2" unit="deg">
 | 
											<parameter name="MaxLocalDistDeg" type="float" default="0.2" unit="deg">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Maximum local distance
 | 
												Depth resolution: Maximum local distance.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MinLocalStations" type="integer" default="1">
 | 
											<parameter name="MinLocalStations" type="int" default="1">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Minimum number of local defining stations
 | 
												Depth resolution: Minimum number of local defining stations.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MaxSPDistDeg" type="float" default="2.0" unit="deg">
 | 
											<parameter name="MaxSPDistDeg" type="float" default="2.0" unit="deg">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Maximum distance for using S-P travel-time differences.
 | 
												Depth resolution: Maximum epicentral distance for
 | 
				
			||||||
 | 
												using S-P travel-time differences.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MinSPpairs" type="integer" default="3">
 | 
											<parameter name="MinSPpairs" type="int" default="3">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Minimum number of defining S-P phase pairs
 | 
												Depth resolution: Minimum number of defining S-P phase pairs.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MinCorePhases" type="integer" default="3">
 | 
											<parameter name="MinCorePhases" type="int" default="3">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Minimum number of defining core reflection phases
 | 
												Depth resolution: Minimum number of defining core reflection phases
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MaxShallowDepthError" type="float" default="30.0" unit="km">
 | 
											<parameter name="MaxShallowDepthError" type="float" default="30.0" unit="km">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Maximum depth error for crustal free-depth
 | 
												Depth resolution: Maximum depth error for crustal free-depth.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MaxDeepDepthError" type="float" default="60.0" unit="km">
 | 
											<parameter name="MaxDeepDepthError" type="float" default="60.0" unit="km">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Depth resolution: Maximum depth error for deep free-depth
 | 
												Depth resolution: Maximum depth error for deep free-depth.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						<parameter name="DoCorrelatedErrors" type="boolean" default="true">
 | 
											<parameter name="DoCorrelatedErrors" type="boolean" default="true">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Account for correlated errors
 | 
												Linearized inversion: Account for correlated errors.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="SigmaThreshold" type="float" default="6.0" unit="s">
 | 
											<parameter name="SigmaThreshold" type="float" default="6.0" unit="s">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Used to exclude big residuals from solution
 | 
												Linearized inversion: Used to exclude big residuals from solution.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="AllowDamping" type="boolean" default="true">
 | 
											<parameter name="AllowDamping" type="boolean" default="true">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Allow damping of model vector
 | 
												Linearized inversion: Allow damping of model vector.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MinIterations" type="integer" default="4">
 | 
											<parameter name="MinIterations" type="int" default="4">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Minimum number of iterations
 | 
												Linearized inversion: Minimum number of iterations.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MaxIterations" type="integer" default="20">
 | 
											<parameter name="MaxIterations" type="int" default="20">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Maximum number of iterations
 | 
												Linearized inversion: Maximum number of iterations.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="MinNdefPhases" type="integer" default="4">
 | 
											<parameter name="MinNdefPhases" type="int" default="4">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Linearized inversion: Minimum number of defining phases
 | 
												Linearized inversion: Minimum number of defining phases.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="DoNotRenamePhases" type="boolean" default="false">
 | 
											<parameter name="DoNotRenamePhases" type="boolean" default="false">
 | 
				
			||||||
 | 
				
			|||||||
@ -12,7 +12,7 @@
 | 
				
			|||||||
				Locator parameters: Router. This locator requires the plugin
 | 
									Locator parameters: Router. This locator requires the plugin
 | 
				
			||||||
				"locrouter" to be loaded.
 | 
									"locrouter" to be loaded.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
				<parameter name="regions" type="string">
 | 
									<parameter name="regions" type="file" options="read">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					A GeoJSON or BNA file defining locator profiles by region.
 | 
										A GeoJSON or BNA file defining locator profiles by region.
 | 
				
			||||||
					Supported polygon attributes:
 | 
										Supported polygon attributes:
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,7 @@
 | 
				
			|||||||
		Body wave magnitude at teleseismic distances measured at 1 s period.
 | 
							Body wave magnitude at teleseismic distances measured at 1 s period.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mb">
 | 
				
			||||||
				<group name="mb">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing mb magnitudes from mb amplitudes.
 | 
									Parameters for computing mb magnitudes from mb amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -28,8 +27,7 @@
 | 
				
			|||||||
					Maximum epicentral distance for computing mb.
 | 
										Maximum epicentral distance for computing mb.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,7 @@
 | 
				
			|||||||
		The body wave magnitude at teleseismic distances similar to mb.
 | 
							The body wave magnitude at teleseismic distances similar to mb.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mB">
 | 
				
			||||||
				<group name="mB">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing mB magnitudes from mB amplitudes.
 | 
									Parameters for computing mB magnitudes from mB amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -28,8 +27,7 @@
 | 
				
			|||||||
					Maximum epicentral distance for computing mB.
 | 
										Maximum epicentral distance for computing mB.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -17,8 +17,7 @@
 | 
				
			|||||||
		from the event.
 | 
							from the event.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="mb(IDC)">
 | 
				
			||||||
				<group name="mb(IDC)">
 | 
					 | 
				
			||||||
				<parameter name="Q" type="path">
 | 
									<parameter name="Q" type="path">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Location of the station specific Q table. If not
 | 
										Location of the station specific Q table. If not
 | 
				
			||||||
@ -28,8 +27,7 @@
 | 
				
			|||||||
					station code and location code.
 | 
										station code and location code.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,7 @@
 | 
				
			|||||||
		Duration magnitude plugin
 | 
							Duration magnitude plugin
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="md">
 | 
				
			||||||
				<group name="md">
 | 
					 | 
				
			||||||
				<parameter name="seismo" type="int" default="9">
 | 
									<parameter name="seismo" type="int" default="9">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Default filter type to use before processing and after deconvolution. It's possible to set :
 | 
										Default filter type to use before processing and after deconvolution. It's possible to set :
 | 
				
			||||||
@ -108,8 +107,7 @@
 | 
				
			|||||||
					Station correction
 | 
										Station correction
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -25,18 +25,28 @@
 | 
				
			|||||||
		Standard local (Richter) magnitude
 | 
							Standard local (Richter) magnitude
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="ML">
 | 
				
			||||||
				<group name="ML">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for measuring ML amplitudes. Add more parameters
 | 
									Parameters for measuring ML amplitudes. Add more parameters
 | 
				
			||||||
				by adding an amplitude type profile 'ML',
 | 
									by adding an amplitude type profile 'ML',
 | 
				
			||||||
				</description>
 | 
									</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="">
 | 
									<parameter name="preFilter" type="string" default="">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The filter applied to raw records before applying
 | 
										The filter applied to raw records before applying
 | 
				
			||||||
					Wood-Anderson simulation. Default: no pre-filtering.
 | 
										Wood-Anderson simulation. Default: no pre-filtering.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</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">
 | 
									<parameter name="measureType" type="string" default="AbsMax">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					This parameter allows to set how the amplitude is measured.
 | 
										This parameter allows to set how the amplitude is measured.
 | 
				
			||||||
@ -59,14 +69,13 @@
 | 
				
			|||||||
					magnitudes instead of their amplitudes.
 | 
										magnitudes instead of their amplitudes.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="ML">
 | 
				
			||||||
 | 
					 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="ML">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing ML magnitudes from ML amplitudes.
 | 
									Parameters for computing ML magnitudes from ML amplitudes.
 | 
				
			||||||
				</description>
 | 
									</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">
 | 
									<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The calibration function log10(A0).
 | 
										The calibration function log10(A0).
 | 
				
			||||||
@ -85,14 +94,7 @@
 | 
				
			|||||||
					maximum distance range for computing ML.
 | 
										maximum distance range for computing ML.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
					<parameter name="maxDistanceKm" type="double" unit="km" default="-1.0">
 | 
								</extend-struct>
 | 
				
			||||||
						<description>
 | 
					 | 
				
			||||||
							Maximum epicentral distance for computing ML.
 | 
					 | 
				
			||||||
							No distance limitation for maxDistanceKm = -1.
 | 
					 | 
				
			||||||
						</description>
 | 
					 | 
				
			||||||
					</parameter>
 | 
					 | 
				
			||||||
				</group>
 | 
					 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -11,8 +11,7 @@
 | 
				
			|||||||
		CTBTO/IDC local magnitude.
 | 
							CTBTO/IDC local magnitude.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="ML(IDC)">
 | 
				
			||||||
				<group name="ML(IDC)">
 | 
					 | 
				
			||||||
				<parameter name="A" type="path">
 | 
									<parameter name="A" type="path">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Location of the station specific attenuation table. If not
 | 
										Location of the station specific attenuation table. If not
 | 
				
			||||||
@ -22,8 +21,7 @@
 | 
				
			|||||||
					station code and location code.
 | 
										station code and location code.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -101,12 +101,16 @@
 | 
				
			|||||||
		Custom magnitude for local events measured on horizontal components
 | 
							Custom magnitude for local events measured on horizontal components
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLc">
 | 
				
			||||||
				<group name="MLc">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for measuring MLc amplitudes. Add more parameters
 | 
									Parameters for measuring MLc amplitudes. Add more parameters
 | 
				
			||||||
				by adding an amplitude type profile 'MLc',
 | 
									by adding an amplitude type profile 'MLc',
 | 
				
			||||||
				</description>
 | 
									</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)">
 | 
									<parameter name="preFilter" type="string" default="BW(3,0.5,12)">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The filter applied to raw records before applying
 | 
										The filter applied to raw records before applying
 | 
				
			||||||
@ -138,9 +142,9 @@
 | 
				
			|||||||
					excpected amplitude.
 | 
										excpected amplitude.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
					<parameter name="measureType" type="string" default="AbsMax">
 | 
									<parameter name="measureType" type="string" default="AbsMax" values="AbsMax,MinMax,PeakTrough">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						Type for measuring amplitudes. Available:
 | 
										Type for measuring amplitudes.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
					AbsMax: absolute maximum
 | 
										AbsMax: absolute maximum
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -150,7 +154,7 @@
 | 
				
			|||||||
					on a half cycle
 | 
										on a half cycle
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
					<parameter name="combiner" type="string" default="max">
 | 
									<parameter name="combiner" type="string" default="max" values="min,max,average,geometric_mean">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Define how to combine the amplitudes measured on both
 | 
										Define how to combine the amplitudes measured on both
 | 
				
			||||||
					horizontals components:
 | 
										horizontals components:
 | 
				
			||||||
@ -164,17 +168,16 @@
 | 
				
			|||||||
					geometric_mean: form the geometric mean
 | 
										geometric_mean: form the geometric mean
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLc">
 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="MLc">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing MLc magnitudes from MLc amplitudes.
 | 
									Parameters for computing MLc magnitudes from MLc amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
					<parameter name="distMode" type="string" default="hypocentral">
 | 
									<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>
 | 
										<description>
 | 
				
			||||||
					Considered distance measure between source and receiver.
 | 
										Considered distance measure between source and receiver.
 | 
				
			||||||
						Possible values are
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
					hypocentral: hypocentral distance
 | 
										hypocentral: hypocentral distance
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -193,16 +196,20 @@
 | 
				
			|||||||
					Negative values deactivate the check.
 | 
										Negative values deactivate the check.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</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">
 | 
									<parameter name="maxDepth" type="double" default="80" unit="km">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The maximum source depth up to which magnitudes are computed.
 | 
										The maximum source depth up to which magnitudes are computed.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
					<parameter name="calibrationType" type="string" default=""parametric"" unit="">
 | 
									<parameter name="calibrationType" type="string" default=""parametric"" unit="" values="parametric,A0">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Type of magnitude calibration formula to be considered.
 | 
										Type of magnitude calibration formula to be considered.
 | 
				
			||||||
					The calibration parameters are considered accordingly.
 | 
										The calibration parameters are considered accordingly.
 | 
				
			||||||
						Currently supported are
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
					"parametric": consider parameters of parametric
 | 
										"parametric": consider parameters of parametric
 | 
				
			||||||
					configuration in parametric section
 | 
										configuration in parametric section
 | 
				
			||||||
@ -238,7 +245,7 @@
 | 
				
			|||||||
				<group name="parametric">
 | 
									<group name="parametric">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Parameters for parametric magnitude calibration:
 | 
										Parameters for parametric magnitude calibration:
 | 
				
			||||||
						MLc = log10(A) + c3 * log10(r/c5) + c2 * (r + c4) + c1 + c0(station)
 | 
										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".
 | 
										Considered if magnitude.MLc.calibrationType = "parametric".
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
@ -280,9 +287,33 @@
 | 
				
			|||||||
						parametric magnitude calibration formula.
 | 
											parametric magnitude calibration formula.
 | 
				
			||||||
						</description>
 | 
											</description>
 | 
				
			||||||
					</parameter>
 | 
										</parameter>
 | 
				
			||||||
 | 
										<parameter name="c6" type="double" default="0.0">
 | 
				
			||||||
 | 
											<description>
 | 
				
			||||||
 | 
											The calibration value 'c6' applied in the
 | 
				
			||||||
 | 
											parametric magnitude calibration formula.
 | 
				
			||||||
 | 
											</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>
 | 
				
			||||||
				</group>
 | 
									</group>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -16,8 +16,7 @@
 | 
				
			|||||||
		at the Liverpool developer meeting.
 | 
							at the Liverpool developer meeting.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLh">
 | 
				
			||||||
				<group name="MLh">
 | 
					 | 
				
			||||||
				<parameter name="maxavg" type="string" default="max">
 | 
									<parameter name="maxavg" type="string" default="max">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Define combiner operation for both horizontals (min, max, avg).
 | 
										Define combiner operation for both horizontals (min, max, avg).
 | 
				
			||||||
@ -28,10 +27,8 @@
 | 
				
			|||||||
					MLh clipping level, in raw counts, eg. 80% of 2^23 = 6710886.
 | 
										MLh clipping level, in raw counts, eg. 80% of 2^23 = 6710886.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLh">
 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="MLh">
 | 
					 | 
				
			||||||
				<parameter name="params" type="string">
 | 
									<parameter name="params" type="string">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Defines attenuation parameters for MLh.
 | 
										Defines attenuation parameters for MLh.
 | 
				
			||||||
@ -50,8 +47,7 @@
 | 
				
			|||||||
						value. maxDepth should not be greater than 80km.
 | 
											value. maxDepth should not be greater than 80km.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -8,8 +8,7 @@
 | 
				
			|||||||
	</plugin>
 | 
						</plugin>
 | 
				
			||||||
	<binding name="MLr" module="global">
 | 
						<binding name="MLr" module="global">
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="magnitudes">
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLr">
 | 
				
			||||||
				<group name="MLr">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameter for computing MLr magnitudes for GNS/Geonet from MLv amplitudes.
 | 
									Parameter for computing MLr magnitudes for GNS/Geonet from MLv amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -26,8 +25,7 @@
 | 
				
			|||||||
					Note: No MLr computation if params is empty.
 | 
										Note: No MLr computation if params is empty.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -25,18 +25,29 @@
 | 
				
			|||||||
		Local (Richter) magnitude measured on the vertical component
 | 
							Local (Richter) magnitude measured on the vertical component
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MLv">
 | 
				
			||||||
				<group name="MLv">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for measuring MLv amplitudes. Add more parameters
 | 
									Parameters for measuring MLv amplitudes. Add more parameters
 | 
				
			||||||
				by adding an amplitude type profile 'MLv',
 | 
									by adding an amplitude type profile 'MLv',
 | 
				
			||||||
				</description>
 | 
									</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="">
 | 
									<parameter name="preFilter" type="string" default="">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The filter applied to raw records before applying
 | 
										The filter applied to raw records before applying
 | 
				
			||||||
					Wood-Anderson simulation. Default: no pre-filtering.
 | 
										Wood-Anderson simulation. Default: no pre-filtering.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</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">
 | 
									<parameter name="measureType" type="string" default="AbsMax">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					This parameter allows to set how the amplitude is measured.
 | 
										This parameter allows to set how the amplitude is measured.
 | 
				
			||||||
@ -49,14 +60,13 @@
 | 
				
			|||||||
					parameter has no effect.
 | 
										parameter has no effect.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MLv">
 | 
				
			||||||
 | 
					 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="MLv">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing MLv magnitudes from MLv amplitudes.
 | 
									Parameters for computing MLv magnitudes from MLv amplitudes.
 | 
				
			||||||
				</description>
 | 
									</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">
 | 
									<parameter name="logA0" type="string" default="0:-1.3,60:-2.8,100:-3.0,400:-4.5,1000:-5.85">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					The calibration function log10(A0).
 | 
										The calibration function log10(A0).
 | 
				
			||||||
@ -75,14 +85,7 @@
 | 
				
			|||||||
					maximum distance range for computing MLv.
 | 
										maximum distance range for computing MLv.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
					<parameter name="maxDistanceKm" type="double" unit="km" default="-1.0">
 | 
								</extend-struct>
 | 
				
			||||||
						<description>
 | 
					 | 
				
			||||||
							Maximum epicentral distance for computing MLv.
 | 
					 | 
				
			||||||
							No distance limitation for maxDistanceKm=-1
 | 
					 | 
				
			||||||
						</description>
 | 
					 | 
				
			||||||
					</parameter>
 | 
					 | 
				
			||||||
				</group>
 | 
					 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -6,8 +6,7 @@
 | 
				
			|||||||
			Nuttli magnitude for Canada and other Cratonic regions
 | 
								Nuttli magnitude for Canada and other Cratonic regions
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalAmplitudeProfile" match-name="MN">
 | 
				
			||||||
				<group name="MN">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Amplitude control parameters for MN (Nuttli magnitude).
 | 
									Amplitude control parameters for MN (Nuttli magnitude).
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -17,10 +16,8 @@
 | 
				
			|||||||
					are located in "share/locsat/tables/[vmodel].*".
 | 
										are located in "share/locsat/tables/[vmodel].*".
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalMagnitudeProfile" match-name="MN">
 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="MN">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Regionalization of MN (Nuttli magnitude).
 | 
									Regionalization of MN (Nuttli magnitude).
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -38,16 +35,14 @@
 | 
				
			|||||||
					will be applied.
 | 
										will be applied.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</plugin>
 | 
						</plugin>
 | 
				
			||||||
	<binding name="MN" module="global">
 | 
						<binding name="MN" module="global">
 | 
				
			||||||
		<description>
 | 
							<description>
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="MN">
 | 
				
			||||||
				<group name="MN">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for measuring AMN amplitudes.
 | 
									Parameters for measuring AMN amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -118,10 +113,8 @@
 | 
				
			|||||||
					Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
 | 
										Allowed tokens: Pg, Pn, P, Sg, Sn, S, Lg, Rg, Vmin, Vmax
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="MN">
 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="MN">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing MN magnitudes from AMN amplitudes.
 | 
									Parameters for computing MN magnitudes from AMN amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -169,8 +162,7 @@
 | 
				
			|||||||
					magnitude will be available at all.
 | 
										magnitude will be available at all.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -12,8 +12,7 @@
 | 
				
			|||||||
		at around 20 s period.
 | 
							at around 20 s period.
 | 
				
			||||||
		</description>
 | 
							</description>
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
			<group name="amplitudes">
 | 
								<extend-struct type="GlobalBindingsAmplitudeProfile" match-name="Ms_20">
 | 
				
			||||||
				<group name="Ms_20">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing Ms_20 amplitudes.
 | 
									Parameters for computing Ms_20 amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -27,10 +26,8 @@
 | 
				
			|||||||
					Maximum group velocity used to compute signal time window.
 | 
										Maximum group velocity used to compute signal time window.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
								<extend-struct type="GlobalBindingsMagnitudeProfile" match-name="Ms_20">
 | 
				
			||||||
			<group name="magnitudes">
 | 
					 | 
				
			||||||
				<group name="Ms_20">
 | 
					 | 
				
			||||||
				<description>
 | 
									<description>
 | 
				
			||||||
				Parameters for computing Ms_20 magnitudes from Ms_20 amplitudes.
 | 
									Parameters for computing Ms_20 magnitudes from Ms_20 amplitudes.
 | 
				
			||||||
				</description>
 | 
									</description>
 | 
				
			||||||
@ -59,8 +56,7 @@
 | 
				
			|||||||
					Maximum depth for computing Ms_20.
 | 
										Maximum depth for computing Ms_20.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
				</group>
 | 
								</extend-struct>
 | 
				
			||||||
			</group>
 | 
					 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
	</binding>
 | 
						</binding>
 | 
				
			||||||
</seiscomp>
 | 
					</seiscomp>
 | 
				
			||||||
 | 
				
			|||||||
@ -14,9 +14,9 @@
 | 
				
			|||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<parameter name="outputPath" type="path" default="/tmp/sc3.nll">
 | 
									<parameter name="outputPath" type="directory" default="/tmp/sc3.nll" options="write">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						Defines the output path for all native NonLinLoc input and output files.
 | 
										Defines the output directory for all native NonLinLoc input and output files.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -35,9 +35,10 @@
 | 
				
			|||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
				<parameter name="controlFile" type="path">
 | 
									<parameter name="controlFile" type="file" options="read">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						The default NonLinLoc control file to use.
 | 
										The default NonLinLoc control file to use. Parameters
 | 
				
			||||||
 | 
										therein are overridden per profile.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</parameter>
 | 
									</parameter>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -81,17 +82,25 @@
 | 
				
			|||||||
						</description>
 | 
											</description>
 | 
				
			||||||
						<parameter name="earthModelID" type="string">
 | 
											<parameter name="earthModelID" type="string">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								earthModelID that is stored in the created origin.
 | 
												Earth model ID stored in the created origin.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="methodID" type="string" default="NonLinLoc">
 | 
											<parameter name="methodID" type="string" default="NonLinLoc">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								methodID that is stored in the created origin.
 | 
												Method ID stored in the created origin.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="tablePath" type="path">
 | 
											<parameter name="tablePath" type="path">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Path to travel time tables (grids).
 | 
												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].*
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter> 
 | 
											</parameter> 
 | 
				
			||||||
						<parameter name="stationNameFormat" type="string" default="@STA@">
 | 
											<parameter name="stationNameFormat" type="string" default="@STA@">
 | 
				
			||||||
@ -104,21 +113,19 @@
 | 
				
			|||||||
							To overcome this limitation this parameter could be set in a more general way, for
 | 
												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
 | 
												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.*
 | 
												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
 | 
												Where @NET@ @STA@ @LOC@ are just placeholder for the actual codes.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter> 
 | 
											</parameter> 
 | 
				
			||||||
						<parameter name="controlFile" type="path">
 | 
											<parameter name="controlFile" type="file" options="read">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Control file of the current profile. If not set, the default
 | 
												Control file of the current profile overriding
 | 
				
			||||||
								control file will be used instead.
 | 
												parameters of the default control file.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="transform" type="string" default="GLOBAL">
 | 
											<parameter name="transform" type="string" default="GLOBAL">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Transformation type of the configured region. Supported are
 | 
												Transformation type of the configured region.
 | 
				
			||||||
								SIMPLE and GLOBAL.
 | 
												Supported are SIMPLE and GLOBAL.
 | 
				
			||||||
 | 
					 | 
				
			||||||
								Default: GLOBAL is assumed.
 | 
					 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="region" type="list:double">
 | 
											<parameter name="region" type="list:double">
 | 
				
			||||||
@ -127,24 +134,30 @@
 | 
				
			|||||||
							The original epicentre must be within the region.
 | 
												The original epicentre must be within the region.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
							If transform is GLOBAL: min_lat, min_lon, max_lat, max_lon.
 | 
												If transform is GLOBAL: min_lat, min_lon, max_lat, max_lon.
 | 
				
			||||||
								The values define the geographic corner coordinates. Unit is degree.
 | 
												The values define the geographic corner coordinates.
 | 
				
			||||||
 | 
												Unit: degree.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
								If transform is SIMPLE: xmin, ymin, xmax, ymax.
 | 
												If transform is SIMPLE: min_x, min_y, max_x, max_y.
 | 
				
			||||||
								The values define the region relative to the configured origin.
 | 
												The values define the region relative to the origin
 | 
				
			||||||
								Unit is km.
 | 
												configured with "origin".
 | 
				
			||||||
 | 
												Unit: km.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
												When this parameter is empty, the generated NonLinLoc
 | 
				
			||||||
 | 
												configuration is automatically overwritten with
 | 
				
			||||||
 | 
												TRANS GLOBAL.
 | 
				
			||||||
 | 
												Otherwise TRANS from "controlFile" applies.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="origin" type="list:double" unit="deg">
 | 
											<parameter name="origin" type="list:double" unit="deg">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
							Only used for transformation SIMPLE. Expects 2 values: latitude, longitude.
 | 
												Only used for transformation SIMPLE. Expects 2 values: latitude, longitude.
 | 
				
			||||||
							The value define the geographic origin of the area spanned by region.
 | 
												The value define the geographic origin of the area spanned by region.
 | 
				
			||||||
								Unit is degree.
 | 
					 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
						<parameter name="rotation" type="double" unit="deg">
 | 
											<parameter name="rotation" type="double" unit="deg">
 | 
				
			||||||
							<description>
 | 
												<description>
 | 
				
			||||||
								Only used for transformation SIMPLE. Defines the rotation around the
 | 
												Only used for transformation SIMPLE. Defines the
 | 
				
			||||||
								origin of the defined region.
 | 
												rotation around the origin of the defined region.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</parameter>
 | 
				
			||||||
					</struct>
 | 
										</struct>
 | 
				
			||||||
 | 
				
			|||||||
@ -74,7 +74,7 @@
 | 
				
			|||||||
							applies.
 | 
												applies.
 | 
				
			||||||
							</description>
 | 
												</description>
 | 
				
			||||||
						</parameter>
 | 
											</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>
 | 
												<description>
 | 
				
			||||||
							Confidence level, between 0.5 and 1.0, used in
 | 
												Confidence level, between 0.5 and 1.0, used in
 | 
				
			||||||
							computing the hypocenter confidence ellipsoid.
 | 
												computing the hypocenter confidence ellipsoid.
 | 
				
			||||||
 | 
				
			|||||||
@ -1,7 +1,9 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<seiscomp>
 | 
					<seiscomp>
 | 
				
			||||||
	<module name="invextr" category="Inventory">
 | 
						<module name="invextr" category="Inventory">
 | 
				
			||||||
		<description>Extract channels from inventory.</description>
 | 
							<description>
 | 
				
			||||||
 | 
							Extract and clean or remove streams from inventory.
 | 
				
			||||||
 | 
							</description>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
		<configuration>
 | 
							<configuration>
 | 
				
			||||||
		</configuration>
 | 
							</configuration>
 | 
				
			||||||
@ -52,11 +54,15 @@
 | 
				
			|||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="" long-flag="chans" argument="arg">
 | 
									<option flag="" long-flag="chans" argument="arg">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
						A comma separated list of channel IDs to extract
 | 
										A comma separated list of streams to extract or remove (--rm)
 | 
				
			||||||
						which can contain wildcards. Default: *.*.*.* meaning
 | 
										which can contain wildcards. Avoiding confusion with files
 | 
				
			||||||
						all streams.
 | 
										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.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
						Example: invextr --chans "GE.*.*.BHZ,GE.MORC.*.*" inv.xml
 | 
										Example: invextr --chans "GE.*.*.BHZ,GE.MORC.*.*" inventory.xml
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="" long-flag="nslc" argument="arg">
 | 
									<option flag="" long-flag="nslc" argument="arg">
 | 
				
			||||||
@ -68,7 +74,7 @@
 | 
				
			|||||||
				<option flag="r" long-flag="region" argument="arg">
 | 
									<option flag="r" long-flag="region" argument="arg">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Filter streams by geographic region given as
 | 
										Filter streams by geographic region given as
 | 
				
			||||||
					"South, East, North, West". Region is unused by default.
 | 
										"South,West,North,East". Region is unused by default.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="" long-flag="rm" argument="arg">
 | 
									<option flag="" long-flag="rm" argument="arg">
 | 
				
			||||||
@ -79,8 +85,18 @@
 | 
				
			|||||||
					Example: invextr --rm --chans "GE.*" inv.xml
 | 
										Example: invextr --rm --chans "GE.*" inv.xml
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
 | 
								</group>
 | 
				
			||||||
 | 
								<group name="Output">
 | 
				
			||||||
				<option flag="f" long-flag="formatted">
 | 
									<option flag="f" long-flag="formatted">
 | 
				
			||||||
					<description>Enables formatted XML output.</description>
 | 
										<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>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
		</command-line>
 | 
							</command-line>
 | 
				
			||||||
 | 
				
			|||||||
@ -1,18 +1,18 @@
 | 
				
			|||||||
<?xml version="1.0" encoding="UTF-8"?>
 | 
					<?xml version="1.0" encoding="UTF-8"?>
 | 
				
			||||||
<seiscomp>
 | 
					<seiscomp>
 | 
				
			||||||
	<module name="msrtsimul" category="Acquisition">
 | 
						<module name="msrtsimul" category="Acquisition" standalone="true">
 | 
				
			||||||
		<description>MiniSEED real time playback and simulation</description>
 | 
							<description>MiniSEED real time playback and simulation</description>
 | 
				
			||||||
		<command-line>
 | 
							<command-line>
 | 
				
			||||||
			<synopsis>
 | 
								<synopsis>
 | 
				
			||||||
				msrtsimul [OPTION] miniSEED-file
 | 
									msrtsimul [OPTION] miniSEED-file
 | 
				
			||||||
			</synopsis>
 | 
								</synopsis>
 | 
				
			||||||
			<group name="Verbosity">
 | 
								<group name="Verbosity">
 | 
				
			||||||
				<option flag="h" long-flag="help" argument="" unit="">
 | 
									<option flag="h" long-flag="help" argument="">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Display this help message.
 | 
										Display this help message.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="v" long-flag="verbose" argument="" unit="">
 | 
									<option flag="v" long-flag="verbose" argument="">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Verbose mode.
 | 
										Verbose mode.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
@ -35,7 +35,7 @@
 | 
				
			|||||||
					Minutes to skip at the beginning.
 | 
										Minutes to skip at the beginning.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="m" long-flag="mode" argument="string" unit="">
 | 
									<option flag="m" long-flag="mode" argument="string" unit="" values="realtime,historic">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					Playback mode: choose between 'realtime' and 'historic'
 | 
										Playback mode: choose between 'realtime' and 'historic'
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
@ -59,7 +59,8 @@
 | 
				
			|||||||
				</option>
 | 
									</option>
 | 
				
			||||||
				<option flag="u" long-flag="unlimited" argument="" unit="">
 | 
									<option flag="u" long-flag="unlimited" argument="" unit="">
 | 
				
			||||||
					<description>
 | 
										<description>
 | 
				
			||||||
					 Allow miniSEED records which are not 512 bytes.
 | 
										Allow miniSEED records which are not 512 bytes. By default
 | 
				
			||||||
 | 
										seedlink supports 512 bytes only.
 | 
				
			||||||
					</description>
 | 
										</description>
 | 
				
			||||||
				</option>
 | 
									</option>
 | 
				
			||||||
			</group>
 | 
								</group>
 | 
				
			||||||
 | 
				
			|||||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user