-
Notifications
You must be signed in to change notification settings - Fork 12
Configuration
Nikolaos Triantafyllis edited this page Sep 8, 2021
·
24 revisions
The most important part of Gisola is to set a representative configuration file. Gisola will try to reach the default pathname for the configuration file (./config.yaml). The operator can override the default path by appending the command with the -c
flag and the new pathname. Gisola commands can be triggered with various configuration files. In that way, it is provided a quite adjustable software to fit in various use cases. For example the user can define various configurations for sub-regions or having different workspaces where the MT solutions are archived, etc.
Version: 1.0
# Set the workspace where all MT calculations will be performed and archived.
# The directory includes the web suite's pages.
WorkDir: results/realtime
# The Inventory refers to the stations' characteristics such
# as the poloes-zeros, digitizer's gain etc.
Inventory:
# Supported types of retrieval services can be the FDSNWS-station
# and/or file in stationXML format. You can use as many services as
# you want and the stations' metadata will be merged by looking
# in FIFO order. At the below example first, it will try to retrieve
# the metadata from the first entry, then it will merge the results
# from the second service etc.
# Format is: [FDSNWS, url, token] and/or [StationXML, file.xml]
# When FDSNWS-station is used, you have to set null to the 3rd variable
# since no restricted metadata exist and no token is needed. Also, the
# most updated inventory will be retrieved from the FDSNWS hosts,
# relevant to the seismic events. The more services you provided,
# the more time will be consumed for retrieval. If stationXML file is
# used, you are responsible to provide updated meta-data relevant to the
# seismic events or real-time scenario (e.g. daily inventory update cron-job).
Service:
- [FDSNWS, http://eida.gein.noa.gr, null] # get metadata from NOA
- [FDSNWS, http://www.orfeus-eu.org, null] # get metadata from ODC
- [StationXML, inventory.xml] # get metadata from file
# The WhiteList parameters indicate the quality evaluation of the stations.
# 0 - Zero value indicate station blacklisting
# int - A higher integer value denotes a good quality station,
# while a lower value a bad quality station.
WhiteList:
# Set path to station evaluation file
# The file consists of lines with the format: NET STA QUALITY
# For example: HL ATH 5 denotes, station ATH of network HL to be
# quality of 5. If more than one lines found for a certain station
# the first one will be used.
# You can use the * (asterisk) wildcard if you want to apply the
# evaluation for the entire network. At the below example
# all stations from NET2 are disabled from process, while
# all stations, apart from STA -which is set to 5-, of network NET
# are set to 1
# Example of ./stations file:
# NET STA 5
# NET2 * 0
# NET * 1
# You can set filepath to null not to take into account
# the stations' evaluation file
# If stations are not defined in the evaluation file or
# evaluation file is set to null, then these stations
# will be mapped with the default Priority value
# e.g. in our case, 2
# Inventory rules has the form of: minMag, maxMag, minPriority
# The Rules note which Priority class (and above) stations
# to be used, based on the initial event's magnitude.
# For example, if 4.0<= Mag <=4.5, Gisola will use all stations
# with Priority value >=3. According to our configuration, since
# default value=2, which excludes all stations that are not defined
# in the evaluation file and from the evaluation file it includes
# only those with Priority value >=3.
Filepath: ./stations
Priority: 2 # default value
Rules:
- [4.0, 4.5, 3]
- [4.6, 5.0, 3]
- [5.1, 5.8, 4]
- [5.9, 9.0, 5]
# Accepted types of components
# Only these type of orientations will be
# considered (recommended not be altered)
Components: ['Z23', 'Z12', '123', 'ZNE']
# Retrieve channel types based on distance rules
# Distance rules has the form of: minMag, maxMag,
# minDist (km), maxDist (km), channels
# Multiple rules can be used simultaneously.
# For example, if 5.1<= Mag <=5.5, Gisola will
# retrieve stations within a range of: 40 km <= loc<= 300 km
# where loc is the initial location (hypocenter) of the event
# and only for channel type of BH, HH (Broadband stations)
# AND
# retrieve stations within a range of: 20 km <= loc<= 100 km
# where loc is the initial location (hypocenter) of the event
# and only for channel type of HN, EN (Strong-Motion stations)
# If for some reason (e.g. seismic network orientation),
# you need to define a different set of Distance rules according
# to regional restrictions, another configuration file is needed
Distance:
- [4.0, 5.0, [10, 250, ['BH','HH']]]
- [5.1, 5.5, [40, 300, ['BH','HH']]]
- [5.1, 5.5, [20, 100, ['HN','EN']]]
- [5.6, 6.0, [50, 450, ['BH','HH']]]
- [5.6, 6.0, [50, 150, ['HN','EN']]]
- [6.1, 9.0, [100, 700, ['BH','HH']]]
# Azimuth has the form of: [minSectors, maxStations per sector]
# 8 sectors of 45 deg each are defined around the initial location
# (hypocenter) of the event. The first number indicates the number
# of sectors, where at least one station is found, to be considered.
# For example, a value of 1 indicates that proceed with the MT
# calculation even there is only 1 sector coverage (weak station
# azimuthal distribution) and easily reached. A value of 8 is the
# maximum value, where it requests at least x stations per sector
# for all sectors (strong azimuthal distribution) and might not be
# easily reached (based on networks' regional limitation)
# We set a value of 3 at least sectors as a feasible case scenario.
# x stations: The next value indicates the number of stations that
# is within the sector, in order to flag the sector as valid.
# A null valid can be used, in order to use all possible stations
# found. At the above example, Gisola will continue the MT
# computations only if at least 3 sectors, with a maximum of 2
# stations, are found, otherwise it will indicate an azimuthal error
# and it will stop the process. If more stations are found, than the
# limitation, the Gisola will sort according to (i) priority value,
# ii) type: first Broadband, then Strong-Motion, iii) the number of
# passed traces (NEZ), iv) lowest distance from the epicenter
# and retrieve only those that reach the limit. In our case,
# a minimum of 3*2=6 stations will be necessary, in order to continue
# with the MT procedure. This must also comply with the parameters
# defined in the parameters.f90 file within the inversion code.
Azimuth: [3,2] # sectors, stations per sector
# The Stream refers to the seismic waveforms
Stream:
# Supported types of retrieval services can be the FDSNWS-dataselect,
# SeedLink, and/or SDS archive path. You can use as many services as
# you want and the seismic waveforms will be merged by looking
# in FIFO order. At the below example first, it will try to retrieve
# the seismic waveforms from the first entry, then it will merge the
# results from the second service etc.
# Format is: [FDSNWS, url, token], [SeedLink, URL], and/or [SDS, path]
# For realtime operation is recommended a SeedLink service. However,
# it takes more time than the other services. The more service you add
# the more time is required before it process to the next phase.
# If you need to use restricted data from the FDSNWS-dataselect, you
# should provide the token value, otherwise, use null.
Service:
- [FDSNWS, http://eida.gein.noa.gr, null]
- [FDSNWS, http://www.orfeus-eu.org, null]
# The modules help to choose good quality waveforms.
# The possible values are: clip, mouse, snr, ppsd, ppsdoffline
# * clip: real-time check for clipped waveforms (based on module's threshold)
# * mouse: real-time check for disturbances so-called mouses
# * snr: real-time check for clipped waveforms (based on module's threshold)
# * ppsd: real-time check by comparing Power Spectral Densities (based
# on module's threshold). This module requires 1-hour of data before
# event. Thus, more time will be needed to finalize the MT computation
# * ppsdoffline: The same mechanism reads a directory with PPSD values
# per station. Thus, a cronjob needs to run (e.g. daily) to update them.
# Currently, it can be used for realtime operation (keeps no history).
# Use an empty list [] if no modules need to be set.
# Recommended for real-time operation:
# Modules: ['clip', 'ppsdoffline', 'mouse']
# Recommended for past-time operation:
# Modules: ['clip', 'ppsd', 'mouse']
Modules: ['clip', 'ppsdoffline', 'mouse']
# Greens' Functions (GFs) computation
# GFs are computed in real-time according to
# event's location, previous rules, and MT search grid dimensions.
Green:
# The operator can set different grids based on the size
# of event. Multiple grids could be triggered simultaneously.
# The best-correlated solution will be chosen, however, more time
# will be needed for finalizing the MT computation. You can
# have an adjustable grid by adding as many as you like
# inner distance and depth rules. Every rule has the
# form of minValue, maxValue, and stepValue in km.
# In the distance rules, the starting point is relevant to
# the init estimated location of the hypocenter, and a square will
# be generated where the location will be at the center of it.
# The above mechanism will be performed for each possible depth
# (see below), leading to a cube of MT computations.
# For each point of the cube, time-shifted searches will be
# calculated, leading finally to a 4D grid MT search and the
# best-correlated solution will be chosen.
# In the depth rules the starting point is relevant to
# the init estimated depth of the hypocenter. And the
# search continues in two directions; above and below it
# (auto limits to 1 km from the surface).
# For example, according to this configuration,
# if Mag==6.0, Gisola will trigger only the second rule,
# thus 1 grid will be generated. The grid points where
# the MT calculations will be performed, will start
# from 0 to 9 km with a step of 4 km starting from hypocenter location,
# meaning: 0, 4, 8 km from h. loc. in four directions (east, west,
# north, south), thus -8, -4, 0, 4, 8 (horizontally and vertically)
# 5x5=25 grid points (by the first distance rule)
# AND
# from 15 to 21 km with a step of 5 km starting from hypocenter location,
# meaning: 15, 20 km from h. loc. in four directions (east, west,
# north, south), thus -20, -15, 15, 20 (horizontally and vertically)
# and 4x4=16 grid points (by the second distance rule)
# leading to a total of 25+16=41 grid points per depth layer
# The depth layers will be generated by only one rule. That is:
# 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30 in two
# direction below and above init hypocenter's depth with an automatic
# limit of 1 km from the surface. Assuming that we have an event with 50 km
# init hyp. depth, will calculate MTs from 50-30=20 km to 50+30=80 km from
# the surface. Since, we don't reach the limitation of 1 km from surface, it
# will lead to 15+1+15=31 depth layers leading to the final MT search grid
# with a total of 31*41=1271 grid points. The time shifts are configured at
# a following parameter.
Grid:
- Rule: [4.0, 5.5] # magnitude condition
Distance: # maxValue is NOT reached (+stepValue if you want to reach it)
- [0,9,2] # minValue, maxValue, stepValue in km
Depth: # relevant to init depth
- [0,31,2]
- Rule: [5.6, 6.5]
Distance:
- [0,9,4]
- [15,21,5]
Depth:
- [0,31,2]
- Rule: [6.6, 9.0]
Distance:
- [0,31,5]
Depth:
- [0,31,2]
Crustal:
- Filepath: crustals/drakatos.vz
Geobox: (22.6163,37.6465), (23.3432,36.8208), (24.6418,36.6669), (25.6634,37.5202), (24.9950,38.6259), (23.6373,39.4235), (22.3654,39.2644), (21.8251,39.1394), (22.6163,37.6465)
- Filepath: crustals/hasslinger.vz
Geobox: (19.2844,39.7272), (19.3869,39.6062), (20.6181,36.2835), (21.0868,36.3442), (21.6460,36.3353), (22.4078,36.3616), (22.4193,36.8072), (22.3387,37.8602), (22.1245,38.5904), (21.5799,39.8288), (20.8563,41.2116), (19.2330,40.5713), (19.2844,39.7272)
- Filepath: crustals/karagianniN.vz
Geobox: (27.8207,37.7397), (27.7968,37.8825), (27.6912,39.8097), (26.7934,40.8404), (25.5053,41.0043), (23.8058,40.9247), (22.2572,40.3739), (22.7997,39.5096), (23.6678,38.8283), (24.5977,38.1499), (25.4623,37.5535), (27.8207,37.7397)
- Filepath: crustals/karagianniS.vz
Geobox: (23.0601,34.3852), (23.6039,34.0317), (26.8522,33.6953), (29.1178,34.7188), (29.9628,36.1148), (27.4820,37.5490), (26.4968,37.6732), (21.4060,37.0584), (23.0601,34.3852)
- Filepath: crustals/novotny.vz
Geobox: null # null indicates default: if none of the above crustal models match use this
ExePath: core/green/gr_xyz
MaxStations: 30 # must be the same with the one in parameters.f90
MaxSources: 100 # must be the same with the one in parameters.f90
Inversion:
TimeShift:
- [4.0, 4.5, [-67, 10, 167]] # must be the same with the one in parameters.f90
- [4.6, 5.5, [-51, 10, 161]]
- [5.6, 9.0, [-81, 15, 341]]
Window:
- [4.0, 4.5, 245.76]
- [4.6, 5.5, 327.68]
- [5.6, 9.0, 409.6]
Frequency:
- [4.0, 5.5, [0.04, 0.05, 0.08, 0.09]]
- [5.6, 5.9, [0.02, 0.03, 0.06, 0.07]]
- [6.0, 7.0, [0.01, 0.02, 0.05, 0.06]]
- [6.0, 7.0, [0.007, 0.008, 0.02, 0.03]]
- [7.1, 9.0, [0.007, 0.008, 0.02, 0.03]]
ExePath: core/inversion/isola
# This service provides gisola with event info
Event:
Host: http://eida.gein.noa.gr
Notification:
Email:
Smtp: null # use null if not in use
User: user
Pass: pass
Sender: sender
Recipients: null
HostSite: http://orfeus.gein.noa.gr/gisola2/ppsd
Command: null # invoke bash command when processing is finished.
# Use keyword $bestinvdir in your script. Gisola will
# reserve this keyword to indicate the full path
# of the best inversion directory
# The Watcher Service monitors FDSNWS-event
# for new events and triggers the auto MT procedure
Watcher:
Magnitudetype: MLh # or null if not specifications is wanted
Range: 540 # check interval in sec
Playback: 0 # set sec for historic run
Historical: true # set playback option
Geobox: (20.3054,37.2037), (22.4079,33.6323), (27.0569,33.8793), (30.3113,35.8225), (27.4245,41.5998), (24.9779,42.0729), (21.7796,41.8349), (18.6751,40.6285), (20.3054,37.2037) # null indicates not bounds
Quality: # uncertainty
Time: 1
Depth: 10 # km
Latitude: 15
Longitude: 15
Magnitude: 0.3
Timeout: 540 # must get associated with the Time Range
# Apply your citation for the results generation
Citation:
Agency: National Observatory of Athens - Institute of Geodynamics
Website: http://bbnet.gein.noa.gr
Logo: web/logo.png
Quality: B4 # choose threshold to view starting from A1 to D4
Author: Gisola
Version: 1.0
View the real-time operation in the Institute of Geodynamics of the National Observatory of Athens (NOA), Greece