Installation¶
SHARD software package via GSM¶
Obtain the GSM script from gempa
Update the package information and install added package(s) with:
$ ./gsm update $ ./gsm install shard-server
Install optional packages, e.g.:
$ ./gsm install quakelink
Building configuration¶
SHARD needs to know where stations are located in the building. The inventory that is used to describe stations and instruments is not sufficient for that task. Until more formal schema extensions are available SHARD uses its own configuration.
Buildings can be configured with scconfig or directly in shard.cfg
.
The entry point is buildings
. This variable holds a list of building
IDs that shall be used. Each building ID points to additional entries in the
configuration. An example:
# Configure two buildings, A and B
buildings = A,B
Now only two building IDs are requested but they are not yet configured. That is
done with the building
prefix, as shown below:
# Configure building A
building.A.name = "A building"
building.A.description = "Description of building A"
building.A.latlon = 1,2
building.A.picture = A.png
Note
Per default, building pictures are expected to be in “@DATADIR@/shard/apps/assets/images/structure”
That piece just configured the meta data of the building itself. The next step is to configure the sensors that are placed in the building.
# Building A has two sensors, top and bottom. These are just IDs and are
# not used anywhere else.
building.A.sensors = top, bottom
Analogous to the building configuration sensors are configured via IDs:
# Name that is shown in the frontend
building.A.sensor.top.name = "Top Sensor"
building.A.sensor.top.id = AB.STA01
building.A.sensor.top.type = acceleration
building.A.sensor.top.imgpos = 100, 200
building.A.sensor.top.channels = HLZ,HLN,HLE
That step has to be repeated for sensor bottom as well. The channels are appended to the sensor ID to form a full waveform channel ID. In the example above the resulting channel IDs are AB.STA01..HLZ, AB.STA01..HLN and AB.STA01..HLE.
If the channels should have a location code then this must be added to the sensor ID:
building.A.sensor.top.id = AB.STA01.00
Then the resulting channel IDs are AB.STA01.00.HLZ, AB.STA01.00.HLN and AB.STA01.00.HLE.
AVD configuration¶
Additionally, SHARD needs configured Acceleration, Velocity and Displacement strong motion parameters to monitor the structural health accordingly and to issue warnings and incidents. Those AVD parameters can be defined globally, meaning for all buildings, or building-specific, only for one building. Building parameters have priority.
avd.streams
or avd.bindings.$name.patterns
define for
which streams the configured AVD-parameters should apply.
Thresholds¶
Currently, following trigger parameters are configurable:
If one of those thresholds is exceeded, a warning or alert is issued. The thresholds can be defined globally and building-vise, e.g.:
# global level
avd.pgaAlert = 0.1
# only for building A
avd.bindings.A.pgaWarning = 0.05
Design spectrum¶
To monitor the frequency-dependent movement of the building, SHARD uses response spectra in combination with pre-defined design spectra. They can be based, e.g., on design codes of the EC, NEHRP or DIN.
specific station. All design spectra files have to be stored in
@DATADIR@/stations/design
. Further, we recommend to name the files
matching to their stream IDs, e.g., net.sta.loc.cha.ds
. In that way,
other modules like SIGMA or RGSM can make use the same files.
| The other option to define the design spectrum is to give pairs of (frequency:magnitude).
| The design spectrum can be defined either globally or building-specific.
| Exemplary:
# global level - defined by pairs
avd.referenceSpectrum = 0.5:1, 1:2, -1:3
# only for a building - defined by .ds file. IMPORTANT: path needs to begin with '<'
avd.bindings.BUILDING_NAME.referenceSpectrum = <@DATADIR@/stations/design/NET.LOC.STA.CHA.ds
Fragility curve¶
SHARD allows to display fragility curves. Each curve might represent different damage sate probabilities depending on the shaking level (here PGA).
We recommend to define a path to a file that holds the fragility curves for a
specific station. All files have to be stored in
@DATADIR@/stations/fragility
. Further, we recommend to name the files
matching to their stream IDs, e.g., net.sta.loc.cha.xml
. In that way,
other modules like SIGMA or RGSM can make use the same files. The fragility
curve can be defined either globally or building-specific. Exemplary:
# # global level
avd.fragilityCurves = @DATADIR@/stations/fragility/NET.LOC.STA.CHA.xml
# only for a building
avd.bindings.BUILDING_NAME.fragilityCurves = @DATADIR@/stations/fragility/NET.LOC.STA.CHA.xml
Map properties¶
The location of maps stored as Tiles [2] as well as the initial zoom level can be configured. Maps from OpenStreetMap [1] or generated by the user can be included. High resolution maps can also be purchased from gempa GmbH [3]. Contact gempa GmbH for the details.
Add the mbtiles plugin to global parameters and configure
map.location
andmap.type
with the map tile file or URL and the map type, respectively.plugins = ${plugins}, mbtiles map.location = [file/map URL] map.type = [type]
Note
These parameters are typically set by global module configuration in
$SEISCOMP_ROOT/etc/global.cfg
but they may be overridden in SHARD in$SEISCOMP_ROOT/etc/shard.cfg
.The maps are available through global parameters but you may adjust map features
Set
tileDB
to the MBTiles tile database if SHARD should serve tiles itself. Leave it empty if mapURI is configured with a remote tile server inapps.mapURI
.tileDB = /home/data/maps/world-11/world-11.mbtiles
For using a remote tile server set
apps.mapURI
. Provide start values for zoom level {z}, latitude {y} and longitude {x}, e.g.:locally stored maps, provided by SHARD itself:
apps.mapURI = "../tiles/{z}/{y}/{x}"
a remote server:
apps.mapURI = "http://example.com:8080/tiles/{z}/{x}/{y}"
or a OpenStreetMap server:
apps.mapURI = "http://tile.openstreetmap.org/{z}/{x}/{y}.png"
Note
OpenStreetMap and probably other tile server expect the tile indexes as z, x, y whereas the built-in SHARD tile server expects z, y, x.
Set
apps.mapZoom
to the initial zoom level when showing the map view.