NAME
orbsmrsp - real-time computation of strong motion response spectra
SYNOPSIS
orbsmrsp [-start start_time] [-end time] [-select select_expr]
[-reject reject_expr] [-state statefile]
[-p parameter_file] [-statefile_update_interval update_interval]
[{-v|-vv|-vvv}]
dbmaster [orbtag1 orbname1 [orbtag2 orbname2 [...]]]
DESCRIPTION
orbsmrsp computes continuous time strong motion response spectra for sets of 3-component
waveforms and outputs the spectra as both frequency-slice waveform ORB packets and as time-slice
parameter file spectra ORB packets.
OPTIONS
-
-start start_time
Where to start processing in the ORBs that contain waveform packets.
This argument is optional.
-
-end end_time
Where to end processing in the ORBs that contain waveform packets.
This argument is optional.
-
-select select_expr
An ORB select expression that is applied to the waveform packet ORB reads.
This argument is optional.
-
-reject reject_expr
An ORB reject expression that is applied to the waveform packet ORB reads.
This argument is optional.
-
-state statefile
This specifies a file for containing state information used by the various
computational tasks.
-
-p parameter_file
Name of program parameter file.
The actual parameter file name is pfname.pf. If this argument
is not specified, then the default pfname is "orbsmrsp".
-
-statefile_update_interval update_interval
This is a time duration in seconds that determines how often the program state
file is updated.
-
{-v|-vv|-vvv}
Verbose log output at various levels.
-
dbmaster
Name of a master database that contains metadata that is used with the waveform packets. This argument is required.
The stations and channels that are meant to be processed must be in the database calibration table along
with proper values of the fields samprate, calib, calper and segtype.
-
orbtag1 orbname1 [orbtag2 orbname2 [...]]
These orbtag-orbname pairs define sets of ORBs that will be used
for input/output. This provides a generalized mechanism for
routing particular packet types to particular ORBs. Each pair should correspond to different
running ORBs that will be used by the orbsmrsp tasks. The orbtagN values
are just unique character string tokens that are referenced in the various tasks
to define each of the ORBs.
A typical orbtag name, in
fact the name that would be used with the parameter file example described below, would
be orbin.
The orbnameN are the corresponding
ORB names and should follow normal ORB naming conventions.
PARAMETER FILE
Following is an example of a parameter file.
# This is the orbsmrsp parameter file
process_interval 10.0 # processing time interval
orb_output orbout # orbtag for the output ORB
output_wfs no # output frequency-slice waveforms?
output_specs yes # output time-slice parameter file spectra??
inspect_verbose 0 # inspect module verbose level
# This is the master table for defining station-process suites
staprocs &Arr{
# name data_src process facility limit1 limit2 limit3 ...
BR_Q113_D5 BR_Q113 D5pcnt BRTT1 STRUC1_DRS STRUC1_SSE
BR_Q113_D10 BR_Q113 D10pcnt BRTT1 STRUC1_DRS STRUC1_SSE
BR_E3469_D5 BR_E3469 D5pcnt BRTT1 STRUC1_DRS
BR_R130_D5 BR_R130 D5pcnt BRTT2 STRUC1_DRS
}
# This defines 3-component data sources for processing
data_templates &Arr{
# data_src_name orb_tag srcname_select channels_select calibfromdb
BR_Q113 orbin BR_Q113/MGENC/M200 BR_Q113_HH. no
BR_E3469 orbin BR_E3469_HG./GENC/STR BR_E3469_HG. no
BR_R130 orbin BR_R130_HG./GENC BR_R130_HG. yes
}
# This defines a set of processing parameter templates
process_templates &Arr{
D5pcnt &Arr{ # processing template name
process_code_peak_accel pa # a process code for peak acceleration
process_code_peak_vel pv # a process code for peak velocity
proc_pre s01 # a prefix for process code
tpad 300.0 # time pad for filter transients
decimation_factor 200 # decimation factor
parameters &Tbl{ # explicit smrsp filter parameters
# freq damping
-0.010 0.05
-0.015
-0.020
-0.025
-0.030
-0.035
-0.040
-0.042
...
-25.000
-30.000
}
}
D10pcnt &Arr{ # processing template name
process_code_peak_accel pa # a process code for peak acceleration
process_code_peak_vel pv # a process code for peak velocity
proc_pre s01 # a prefix for process code
tpad 300.0 # time pad for filter transients
decimation_factor 200 # decimation factor
parameters &Tbl{ # explicit smrsp filter parameters
# freq damping
-0.010 0.10
-0.015
-0.020
-0.025
-0.030
-0.035
-0.040
-0.042
...
-25.000
-30.000
}
}
}
# This defines a set of exceedance limit parameter templates
limit_templates &Arr{
STRUC1_DRS &Arr{ # Limit name
type DRS # Exceedance type
units g # units of spectrum values
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
-0.01 0.1050
-0.025 0.1050
-0.08 0.1760
-0.38 0.1760
-30.0 0.0022
}
}
STRUC1_SSE &Arr{ # Limit name
type SSE # Exceedance type
units g # units of spectrum values
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
0.03 0.02
0.25 0.04
0.5 0.08
1.0 0.16
2.0 0.32
2.25 0.36
10.0 0.36
50.0 0.20
100.0 0.20
}
}
STRUC1_LSA &Arr{ # Limit name
type LSA # Exceedance type
units g # units of spectrum values
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
0.03 0.50
100.0 0.50
}
}
STRUC2_OBE &Arr{ # Limit name
type OBE # Exceedance type
units g # units of spectrum values
limit_ratio 1.1 # limit ratio parameter for OBE and SSE types
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
0.03 0.01
0.25 0.02
0.5 0.04
1.0 0.08
2.0 0.16
2.25 0.18
10.0 0.18
50.0 0.05
100.0 0.02
}
}
STRUC2_SSE &Arr{ # Limit name
type SSE # Exceedance type
units g # units of spectrum values
limit_ratio 1.1 # limit ratio parameter for OBE and SSE types
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
0.03 0.02
0.25 0.04
0.5 0.08
1.0 0.16
2.0 0.32
2.25 0.36
10.0 0.36
50.0 0.10
100.0 0.04
}
}
STRUC2_LSA &Arr{ # Limit name
type LSA # Exceedance type
units g # units of spectrum values
spectrum &Tbl{ # Exceedance spectrum, frequency value pairs
0.03 0.50
100.0 0.50
}
}
}
The orbsmrsp parameters are as follows.
-
orb_output
This is the ORB tag name from the command line that identifies the ORB for
writing out the spectra. This parameter is required.
-
process_interval
This is the fundamental time processing interval in seconds. This determines
the duration of each internal wfgather object and thus the interval at which
parameter file spectra objects are generated and the time window for computing
spectra maximum amplitudes. This parameter is required
-
output_wfs
This is a boolean that determines if waveform frequency-slices should be output.
This parameter is required.
-
output_specs
This is a boolean that determines if spectra parameter file time-slices should be output.
This parameter is required.
-
inspect_verbose
This is the verbose loggin level of the internal inspect module and is only
used for debugging purposes.
This parameter is required.
-
staprocs
This is an associative array which acts as the master configuration switch
to determine which stations, channels and processing parameter suites are used.
Each entry in this array must have a unique key value that is used as an identifier for a
particular station and set of processing parameters. The key values appear within the
various output parameter file ORB packets as parameter staproc and in the ORB srcnames.
The values for each key entry correspond to two or more fields that specify the particular
input waveform data channels, the processing parameters and a set of limit spectra that are used
in downstream processing. The first of the value fields is the data_src parameter which
identifies the source of the input waveform data and must match one of the entries in the data_templates
array defined below. The second of the value fields is the process parameter which
identifies the spectra processing parameters and must match one of the entries in the process_templates
array defined below. The third of the values fields is the facility string identifier used to
identify the facility. This field is not used by orbsmrsp, but it is put into the output parameter file ORB
packets and can be used by downstream processing to identify the facility. Any remaining value fields are used to define one or more limiting spectra
and must match the entries in the limit_templates array defined below. Note that the limiting spectra
are packaged in the stash packets associated with the parameter file spectra output ORB packets, but are not
used or interpreted in any other way by orbsmrsp. This provides a means for putting all of the
parameter information for downstream alarming in a single parameter file along with the other processing
parameters.
This array is required.
-
data_templates
This is an associative array which defines the data source parameters referenced
in the staprocs array.
Each entry in this array must have a unique key value that is used as an identifier for a
particular set of data source parameters. The remaining fields are orb_tag, srcname_select, channels_select
and calibfromdb. orb_tag specifies the ORB tag name from the command line where the input
waveform packets can be found. srcname_select is an ORB select key that should be applied to extract
the desired waveform packets. channels_select is a SEED net_sta_chan[_loc] regulser expression
for matching the 3-component channels for a particular data source. If calibfromdb
is yes, then the calib, calper and segtype values
are obtained from the master database calibration table, instead of the ORB input packets.
If this is no, then the calib, calper and segtype values
are obtained from the ORB input packets.
This array is required.
-
process_templates
This is an associative array which defines the spectra processing parameters referenced
in the staprocs array.
Each entry in this array must have a unique key value that is used as an identifier for a
particular set of spectra processing parameters.
This array is required.
Each set of spectra processing parameters is another associate array with the following parameters.
-
tpad
This is a time duration in seconds used to buffer waveform filter transients.
-
decimation_factor
This is an integer decimation factor used to decimate output frequency-slice waveforms. Note
that output frequency slice waveforms are composed of maximum amplitude values over a time window
equal to the input wfgather data object time durations. Therefore these waveforms do not need to
be sampled at high sample rates. This provides an efficient way to down sample the spectra amplitide waveform
functions to a more reasonable sample rate.
-
proc_pre
This is a process code prefix used to name individual feqeuency slice waveforms in a manner similar to the
multiple filter option in orbwfproc_wffilter(3o). The actual process code is composed by appending
the filter index to the prefix for each waveform frequency slice.
-
parameters
This is a table with each line representing a single frequency for the strong motion response spectra.
The first field is the frequency in Hz, if the frequency value is > 0.0, or if the field is negative, it
is taken as the negative of the period in seconds and the frequency is computed as 1 over the absolute value
of the field. The second field is the dampling ratio and need only be specified in the first entry in the
table unles it changes for different frequencies.
-
process_code_peak_accel
This is a process code for identifying peak acceleration. If this is not specified, then peak acceleration will not be computed.
-
process_code_peak_vel
This is a process code for identifying peak velocity. If this is not specified, then peak velocity will not be computed.
-
limit_templates
This is an associative array which defines limit spectra processing parameters referenced
in the staprocs array.
Each entry in this array must have a unique key value that is used as an identifier for a
particular set of limit spectra parameters.
Note that the limiting spectra
are packaged in the stash packets associated with the parameter file spectra output ORB packets, but are not
used or interpreted in any other way by orbsmrsp. This provides a means for putting all of the
parameter information for downstream alarming in a single parameter file along with the other processing
parameters.
EXAMPLE PARAMETER FILE OUTPUT
> ]
#784111 'BR_E3469_D5/pf/SMRSP': 7/30/2012 (212) 14:35:05.476 : 4031 bytes
parameter file data packet
staproc BR_E3469_D5
time 1343658910.000000
type spectrum
channels &Tbl{
BR_E3469_HGE nm/s**2
BR_E3469_HGN nm/s**2
BR_E3469_HGZ nm/s**2
}
endtime 1343658920.000000
facility BRTT1
peak_accel &Tbl{
2.998769e+07
1.938402e+07
5.734927e+07
}
peak_vel &Tbl{
1.929457e+07
3829134
670787.2
}
pfid BR_E3469_D5:1343658910.000000
pfinstance 0
pftype spectra/smrsp
proc_name D5pcnt
spectrum &Tbl{
100.000 2.998769e+07 1.938402e+07 5.734927e+07
66.667 4.312242e+07 2.235167e+07 9.403972e+07
50.000 7.780119e+07 3.060213e+07 1.24404e+08
40.000 9.80971e+07 4.520877e+07 1.95706e+08
33.333 6.615184e+07 3.982145e+07 1.238342e+08
28.571 6.45157e+07 3.697196e+07 1.203019e+08
25.000 5.286286e+07 4.40717e+07 9.395864e+07
23.810 6.037682e+07 4.766978e+07 9.524687e+07
...
0.100 1866793 3421332 396892
0.091 2210179 3722130 339210.7
0.083 2192323 4081793 329379.5
0.077 1981210 4003609 323489.2
0.071 1826225 3811786 310033.3
0.067 1671365 3645837 435131.5
0.050 1295316 2817446 541923.6
0.040 1062096 2249769 476898.4
0.033 896866.7 1651227 426807.2
}
>
BUGS AND CAVEATS
orbsmrsp is a skin for
orbwfproc.
SEE ALSO
orbwfproc(1)
orbwfproc_wfspec(3o)
AUTHOR
Danny Harvey
Boulder Real Time Technologies, Inc.