-
Notifications
You must be signed in to change notification settings - Fork 9
GlassBrokerApp
Glass-Broker-App is an implementation of the neic-glass3 libraries that reads input, station, and configuration updates from HazDev Broker topics, and writes output and station information requests to HazDev Broker topics.
To build glass-broker-app, set the BUILD_GLASS-BROKER-APP
option equal to true (1) in the cmake command or GUI. Building glass-broker-app requires dependencies, such as hazdev-broker and librdkafka.
An example configuration for glass-broker-app is available in the glass-broker-app params directory
{
"Configuration":"glass-broker-app",
"LogLevel":"debug",
"ConfigDirectory":"./params",
"InitializeFile":"glass_initialize.d",
"StationList":"stationlist.d",
"GridFiles":[
"glass_ak_grid.d",
],
"InputConfig":"glass_input.d",
"OutputConfig":"glass_output.d"
}
- LogLevel - Sets the logging level, trace, debug, info, warning, error, criticalerror
- ConfigDirectory - Path to directory containing the other glass subcomponent configuration files
- InitializeFile - Configuration file containing the GLASS3 Algorithm configuration
- StationList - File containing the initial GLASS3 station list
- GridFiles - One or more files defining detection grids
- InputConfig - Configuration file containing the input configuration
- OutputConfig - Configuration file containing the output configuration
{
"Configuration":"GlassInput",
"HazdevBrokerConfig": {
"Type":"ConsumerConfig",
"Properties":{
"client.id":"glass3Default",
"group.id":"1",
"metadata.broker.list":"<HazDev Brokers>",
"enable.auto.commit":"false"
}
},
"HazdevBrokerTopicConfig": {
"Type":"TopicConfig",
"Properties":{
"auto.commit.enable":"false",
"auto.offset.reset":"latest"
}
},
"Topics":["Dev-RayPicker-1", "Station-Data"],
"QueueMaxSize":1000,
"DefaultAgencyID":"US",
"DefaultAuthor":"glassConverter"
}
- HazdevBrokerConfig - The HazDev Broker configuration to use for input, see HazDev-Broker
- HazdevBrokerTopicConfig - The HazDev Broker topic configuration to use, see HazDev-Broker
- Topics - The HazDev Broker topic(s) to receive input data from
- QueueMaxSize - The maximum size of the input queue
- DefaultAgencyID - The default agency identifier to use when converting data to json
- DefaultAuthor - The default author to use when converting data to json
{
"Configuration":"GlassOutput",
"PublishOnExpiration":false,
"PublicationTimes":[20,180],
"HazdevBrokerConfig": {
"Type":"ProducerConfig",
"Properties":{
"client.id":"glass3Default",
"group.id":"0",
"metadata.broker.list":"<HazDev Brokers>",
"retries":"0"
}
},
"OutputTopic":"Glass3-Default",
"StationRequestTopic":"Station-Lookup",
"SiteListDelay":7200,
"StationFile":"./params/stationlist.d",
"OutputAgencyID":"US",
"OutputAuthor":"glass"
}
- PublishOnExpiration - Flag indicating whether to always publish a final version of a detection when it expires out of glass
- PublicationTimes - The time(s), in seconds since the detections was first found, to publish
- HazdevBrokerConfig - The HazDev Broker configuration to use for output, see HazDev-Broker
- OutputTopic - The HazDev Broker topic to write output to.
- StationRequestTopic - Optional HazDev Broker topic to request station information.
- SiteListDelay - Optional delay between writing updated station files to disk
- StationFile - Optional file name of updated station file
- OutputAgencyID - The agency identifier to use when generating output data
- OutputAuthor - The author to use when generating output data
For neic-glass3 algorithmic configuration, see GLASS 3 Configuration.
To run glass-broker-app, use the following command: glass-broker-app <configfile> [logname] [noconsole]
where <configfile>
is the required path the the glass.d configuration file, [logname]
is an optional command that when present specifies the log file name (useful if more than one glass-broker-app is running on a system), and [noconsole]
is an optional command that when present suppresses all console messages from glass-broker-app.