neic-glass3

glass-broker-app

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.

Building

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.

Configuration

An example configuration for glass-broker-app is available in the glass-broker-app params directory

glass.d

{
    "Configuration":"glass-broker-app",
    "LogLevel":"debug",
    "ConfigDirectory":"./params",
    "StationList":"stationlist.d",
    "InitializeFile":"initialize.d",
    "GridFiles":[
        "ak_grid.d",
    ],
    "InputConfig":"input.d",
    "OutputConfig":"output.d"
}

input.d

{
    "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"],
    "HeartbeatDirectory":"./",
    "BrokerHeartbeatInterval":300,
    "QueueMaxSize":1000,
    "DefaultAgencyID":"US",
    "DefaultAuthor":"glassConverter"
}

output.d

{
    "Configuration":"GlassOutput",
    "PublishOnExpiration":false,
    "PublicationTimes":[20,180],
    "HazdevBrokerConfig": {
        "Type":"ProducerConfig",
        "Properties":{
          "client.id":"glass3Default",
            "group.id":"0",
            "metadata.broker.list":"<HazDev Brokers>",
            "retries":"0"
        }
    },
    "OutputTopics":[
        {
            "TopicName":"OK",
            "TopLatitude":38.0,
            "LeftLongitude":-101.0,
            "BottomLatitude":33.0,
            "RightLongitude":-94.0
        },
        {    "TopicName":"DefaultWorld"
        }
    ],
    "StationRequestTopic":"Station-Lookup",
    "SiteListDelay":7200,
    "StationFile":"./params/stationlist.d",
    "OutputAgencyID":"US",
    "OutputAuthor":"glass"
}

neic-glass3 Algorithm

For neic-glass3 algorithmic configuration, see GLASS 3 Configuration.

Running

To run glass-broker-app, use the following command: glass-broker-app <configfile> [logname] [noconsole] where <configfile> is the required path to the glass.d configuration file, [logname] is an optional command that defining an alternate name for the glass-broker-app log file, and [noconsole] is an optional command specifying that glass-broker-app should not write messages to the console.

glass-broker-app uses the environment variable GLASS_LOG to define the location to write log files