Files
NEXRAD_Public/dashboard.json
2024-05-03 09:52:48 -05:00

2963 lines
89 KiB
JSON

{
"annotations": {
"list": [
{
"builtIn": 1,
"datasource": {
"type": "grafana",
"uid": "-- Grafana --"
},
"enable": true,
"hide": true,
"iconColor": "rgba(0, 211, 255, 1)",
"name": "Annotations & Alerts",
"type": "dashboard"
}
]
},
"editable": true,
"fiscalYearStartMonth": 0,
"graphTooltip": 0,
"id": 3,
"links": [],
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"gridPos": {
"h": 3,
"w": 24,
"x": 0,
"y": 0
},
"id": 36,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "<div style=\"display: flex; justify-content: center; align-items: flex-end;\">\n <div style=\"text-align: center; color: #738276; font-weight: bold; font-size: 15px;\">\n <span style=\"color: red;\">FOR REFERENCE USE ONLY</span><br>NEXRAD.info\n </div>\n <img src=\"https://nexrad.info/nexrad.PNG\" alt=\"Nexrad\" style=\"width: 50px; height: auto; margin: 0 auto;\">\n <div style=\"text-align: center; color: #738276; font-weight: bold; font-size: 15px;\">\n <span style=\"color: red;\">FOR REFERENCE USE ONLY</span><br>BUILD: 2.2\n </div>\n</div>\n",
"mode": "markdown"
},
"pluginVersion": "10.4.2",
"transparent": true,
"type": "text"
},
{
"collapsed": false,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 3
},
"id": 9,
"panels": [],
"title": "KMBX - Minot NEXRAD",
"type": "row"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 80
}
]
},
"unit": "dateTimeAsSystem"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 0,
"y": 4
},
"id": 22,
"options": {
"colorMode": "none",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"mean"
],
"fields": "/^Time$/",
"values": false
},
"showPercentChange": false,
"textMode": "value",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> last()\n |> yield(name: \"last_received_time_of_output_power\")\n",
"refId": "A"
}
],
"title": "Last Updated",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is based off the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"from": 0,
"result": {
"color": "green",
"index": 0,
"text": "Operational"
},
"to": 5
},
"type": "range"
},
{
"options": {
"from": 5.1,
"result": {
"color": "orange",
"index": 1,
"text": "Degraded"
},
"to": 10
},
"type": "range"
},
{
"options": {
"from": 10.1,
"result": {
"color": "red",
"index": 2,
"text": "Down"
},
"to": 1000000000000
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 10
},
{
"color": "orange",
"value": 15
},
{
"color": "red",
"value": 20
},
{
"color": "purple",
"value": 30
}
]
},
"unit": "m"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 4,
"y": 4
},
"id": 28,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "NEXRAD Status",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is based off the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"fillOpacity": 70,
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineWidth": 0,
"spanNulls": false
},
"displayName": "Status",
"mappings": [
{
"options": {
"from": 0,
"result": {
"color": "dark-green",
"index": 0,
"text": "Operational"
},
"to": 5
},
"type": "range"
},
{
"options": {
"from": 5.1,
"result": {
"color": "dark-orange",
"index": 1,
"text": "Degraded"
},
"to": 10
},
"type": "range"
},
{
"options": {
"from": 10.1,
"result": {
"color": "dark-red",
"index": 2,
"text": "Inoperable"
},
"to": 100000000000
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
}
]
},
"unit": "string"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 8,
"y": 4
},
"id": 31,
"options": {
"alignValue": "left",
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"mergeValues": true,
"rowHeight": 0.9,
"showValue": "auto",
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "NEXRAD Status",
"transformations": [
{
"id": "convertFieldType",
"options": {
"conversions": [
{
"destinationType": "string",
"targetField": "data_age_minutes KMBX"
}
],
"fields": {}
}
}
],
"transparent": true,
"type": "state-timeline"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "yellow",
"value": 10
},
{
"color": "orange",
"value": 15
},
{
"color": "red",
"value": 20
},
{
"color": "purple",
"value": 30
}
]
},
"unit": "m"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 12,
"y": 4
},
"id": 27,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "Time Since Level II Date Received",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds",
"seriesBy": "last"
},
"fieldMinMax": false,
"mappings": [
{
"options": {
"12": {
"index": 3,
"text": "VCP 12"
},
"31": {
"index": 2,
"text": "VCP 31"
},
"35": {
"index": 1,
"text": "VCP 35"
},
"112": {
"index": 4,
"text": "VCP 112"
},
"212": {
"index": 5,
"text": "VCP 212"
},
"215": {
"index": 0,
"text": "VCP 215"
}
},
"type": "value"
}
],
"max": 215,
"min": 12,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 12
},
{
"color": "#E24D42",
"value": 31
},
{
"color": "green",
"value": 35
},
{
"color": "#EF843C",
"value": 112
},
{
"color": "#6ED0E0",
"value": 212
},
{
"color": "purple",
"value": 215
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 16,
"y": 4
},
"id": 38,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"vcp\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "VCP",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds",
"seriesBy": "last"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line"
}
},
"fieldMinMax": false,
"mappings": [
{
"options": {
"12": {
"index": 3,
"text": "VCP 12"
},
"31": {
"index": 2,
"text": "VCP 31"
},
"35": {
"index": 1,
"text": "VCP 35"
},
"112": {
"index": 4,
"text": "VCP 112"
},
"212": {
"index": 5,
"text": "VCP 212"
},
"215": {
"index": 0,
"text": "VCP 215"
}
},
"type": "value"
}
],
"max": 215,
"min": 12,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "#EAB839",
"value": 12
},
{
"color": "#E24D42",
"value": 31
},
{
"color": "green",
"value": 35
},
{
"color": "#EF843C",
"value": 112
},
{
"color": "#6ED0E0",
"value": 212
},
{
"color": "purple",
"value": 215
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 4
},
"id": 25,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"vcp\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "VCP",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"fieldMinMax": false,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 600
},
{
"color": "orange",
"value": 650
},
{
"color": "green",
"value": 690
},
{
"color": "green",
"value": 700
},
{
"color": "green",
"value": 710
},
{
"color": "orange",
"value": 710
},
{
"color": "orange",
"value": 750
},
{
"color": "red",
"value": 800
}
]
},
"unit": "kwatt"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 10
},
"id": 2,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"text": {},
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "XMTR Peak Power",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 18.333
},
{
"color": "yellow",
"value": 21.111
},
{
"color": "orange",
"value": 23.8889
},
{
"color": "red",
"value": 26.6667
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 8,
"y": 10
},
"id": 3,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 65
},
{
"color": "yellow",
"value": 70
},
{
"color": "orange",
"value": 75
},
{
"color": "red",
"value": 80
}
]
},
"unit": "fahrenheit"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 12,
"y": 10
},
"id": 7,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> map(fn: (r) => ({ r with _value: r._value * (9.0 / 5.0) + 32.0 }))\n |> yield(name: \"mean\")\n",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 30
},
{
"color": "yellow",
"value": 32
},
{
"color": "orange",
"value": 34
},
{
"color": "red",
"value": 36
},
{
"color": "purple",
"value": 40
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 16,
"y": 10
},
"id": 6,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 86
},
{
"color": "yellow",
"value": 89.6
},
{
"color": "orange",
"value": 93.2
},
{
"color": "red",
"value": 96.8
},
{
"color": "purple",
"value": 104
}
]
},
"unit": "fahrenheit"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 10
},
"id": 8,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> map(fn: (r) => ({ r with _value: r._value * (9.0 / 5.0) + 32.0 }))\n |> yield(name: \"mean\")\n",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "red",
"value": 600
},
{
"color": "orange",
"value": 650
},
{
"color": "green",
"value": 690
},
{
"color": "green",
"value": 700
},
{
"color": "green",
"value": 710
},
{
"color": "orange",
"value": 710
},
{
"color": "orange",
"value": 750
},
{
"color": "red",
"value": 800
}
]
},
"unit": "kwatt"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 16
},
"id": 1,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "XMTR Peak Power",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineStyle": {
"fill": "solid"
},
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 18.333
},
{
"color": "yellow",
"value": 21.111
},
{
"color": "orange",
"value": 23.8889
},
{
"color": "red",
"value": 26.6667
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 16
},
"id": 19,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green",
"value": null
},
{
"color": "green",
"value": 30
},
{
"color": "yellow",
"value": 32
},
{
"color": "orange",
"value": 34
},
{
"color": "red",
"value": 36
},
{
"color": "purple",
"value": 40
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 16
},
"id": 5,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KMBX\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KMBX\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 26
},
"id": 39,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Radar Station Alarms</title>\n <style>\n /* Define styles for different alarm statuses */\n .alarm-container {\n max-height: 300px;\n overflow-y: auto;\n }\n\n .alarm-item {\n padding: 10px;\n margin-bottom: 5px;\n color: black;\n border-radius: 5px;\n }\n\n .status-cleared { background-color: green; }\n .status-required { background-color: yellow; }\n .status-mandatory { background-color: orange; }\n .status-inoperative { background-color: red; }\n .status-secondary { background-color: white; }\n </style>\n</head>\n<body>\n <div class=\"alarm-container\">\n <div id=\"alarms-container\">\n <p>Loading alarms...</p>\n </div>\n </div>\n\n <!-- Include jQuery library -->\n <script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n <script>\n $(document).ready(function() {\n // Function to fetch the radar station alarms\n function fetchAlarms(stationId, elementId) {\n var apiUrl = \"https://api.weather.gov/radar/stations/\" + stationId + \"/alarms\";\n var alarmsElement = $(\"#\" + elementId);\n\n $.getJSON(apiUrl, function(data) {\n alarmsElement.empty();\n\n if (data[\"@graph\"] && data[\"@graph\"].length > 0) {\n data[\"@graph\"].forEach(function(alarm) {\n var alarmStatus = alarm.status;\n var alarmMessage = alarm.message;\n var alarmTimestamp = new Date(alarm.timestamp).toLocaleString();\n\n var alarmItem = $(\"<div class='alarm-item'></div>\").text(alarmMessage);\n var alarmTimestampElement = $(\"<div class='alarm-timestamp'></div>\").text(alarmTimestamp);\n\n // Set the status color based on its value\n if (alarmStatus === \"cleared\") {\n alarmItem.addClass(\"status-cleared\");\n } else if (alarmStatus === \"required\") {\n alarmItem.addClass(\"status-required\");\n } else if (alarmStatus === \"mandatory\") {\n alarmItem.addClass(\"status-mandatory\");\n } else if (alarmStatus === \"inoperative\") {\n alarmItem.addClass(\"status-inoperative\");\n } else if (alarmStatus === \"secondary\") {\n alarmItem.addClass(\"status-secondary\");\n }\n\n alarmItem.append(alarmTimestampElement);\n alarmsElement.append(alarmItem);\n });\n } else {\n alarmsElement.text(\"No alarms found.\");\n }\n }).fail(function() {\n alarmsElement.text(\"Failed to fetch alarms.\");\n });\n }\n\n // Call the fetchAlarms function initially and then every minute\n fetchAlarms(\"KMBX\", \"alarms-container\");\n setInterval(function() {\n fetchAlarms(\"KMBX\", \"alarms-container\");\n }, 60000); // 60000 milliseconds = 1 minute\n });\n </script>\n</body>\n</html>\n",
"mode": "html"
},
"pluginVersion": "10.4.2",
"title": "Site Alarms (BETA)",
"transparent": true,
"type": "text"
},
{
"collapsed": true,
"gridPos": {
"h": 1,
"w": 24,
"x": 0,
"y": 35
},
"id": 10,
"panels": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 80
}
]
},
"unit": "dateTimeAsSystem"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 0,
"y": 36
},
"id": 21,
"options": {
"colorMode": "none",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"mean"
],
"fields": "/^Time$/",
"values": false
},
"showPercentChange": false,
"textMode": "value",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> last()\n |> yield(name: \"last_received_time_of_output_power\")\n",
"refId": "A"
}
],
"title": "Last Updated",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is based off the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [
{
"options": {
"from": 0,
"result": {
"color": "green",
"index": 0,
"text": "Operational"
},
"to": 5
},
"type": "range"
},
{
"options": {
"from": 5.1,
"result": {
"color": "orange",
"index": 1,
"text": "Degraded"
},
"to": 10
},
"type": "range"
},
{
"options": {
"from": 10.1,
"result": {
"color": "red",
"index": 2,
"text": "Down"
},
"to": 1000000000000
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "yellow",
"value": 10
},
{
"color": "orange",
"value": 15
},
{
"color": "red",
"value": 20
},
{
"color": "purple",
"value": 30
}
]
},
"unit": "m"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 4,
"y": 36
},
"id": 29,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "NEXRAD Status",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is based off the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"fillOpacity": 70,
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineWidth": 0,
"spanNulls": false
},
"displayName": "Status",
"mappings": [
{
"options": {
"from": 0,
"result": {
"color": "dark-green",
"index": 0,
"text": "Operational"
},
"to": 5
},
"type": "range"
},
{
"options": {
"from": 5.1,
"result": {
"color": "dark-orange",
"index": 1,
"text": "Degraded"
},
"to": 10
},
"type": "range"
},
{
"options": {
"from": 10.1,
"result": {
"color": "dark-red",
"index": 2,
"text": "Down"
},
"to": 1000000000000
},
"type": "range"
}
],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
}
]
},
"unit": "m"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 8,
"y": 36
},
"id": 33,
"options": {
"alignValue": "left",
"legend": {
"displayMode": "list",
"placement": "bottom",
"showLegend": true
},
"mergeValues": true,
"rowHeight": 0.9,
"showValue": "auto",
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "NEXRAD Status",
"transformations": [
{
"id": "convertFieldType",
"options": {
"conversions": [
{
"destinationType": "string",
"targetField": "data_age_minutes KBIS"
}
],
"fields": {}
}
}
],
"transparent": true,
"type": "state-timeline"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "This is the time difference from when the last Level 2 radar data was received and now. On average new data should be received every 5-10 min. ",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "yellow",
"value": 10
},
{
"color": "orange",
"value": 15
},
{
"color": "red",
"value": 20
},
{
"color": "purple",
"value": 30
}
]
},
"unit": "m"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 12,
"y": 36
},
"id": 30,
"options": {
"colorMode": "value",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"data_age_minutes\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: last, createEmpty: false)\n |> yield(name: \"last\")",
"refId": "A"
}
],
"title": "Time Since Level II Date Received",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds",
"seriesBy": "last"
},
"fieldMinMax": false,
"mappings": [
{
"options": {
"12": {
"index": 3,
"text": "VCP 12"
},
"31": {
"index": 2,
"text": "VCP 31"
},
"35": {
"index": 1,
"text": "VCP 35"
},
"112": {
"index": 4,
"text": "VCP 112"
},
"212": {
"index": 5,
"text": "VCP 212"
},
"215": {
"index": 0,
"text": "VCP 215"
}
},
"type": "value"
}
],
"max": 215,
"min": 12,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "#EAB839",
"value": 12
},
{
"color": "#E24D42",
"value": 31
},
{
"color": "green",
"value": 35
},
{
"color": "#EF843C",
"value": 112
},
{
"color": "#6ED0E0",
"value": 212
},
{
"color": "purple",
"value": 215
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 16,
"y": 36
},
"id": 37,
"options": {
"colorMode": "value",
"graphMode": "none",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"vcp\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "VCP",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds",
"seriesBy": "last"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line"
}
},
"fieldMinMax": false,
"mappings": [
{
"options": {
"12": {
"index": 3,
"text": "VCP 12"
},
"31": {
"index": 2,
"text": "VCP 31"
},
"35": {
"index": 1,
"text": "VCP 35"
},
"112": {
"index": 4,
"text": "VCP 112"
},
"212": {
"index": 5,
"text": "VCP 212"
},
"215": {
"index": 0,
"text": "VCP 215"
}
},
"type": "value"
}
],
"max": 215,
"min": 12,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "#EAB839",
"value": 12
},
{
"color": "#E24D42",
"value": 31
},
{
"color": "green",
"value": 35
},
{
"color": "#EF843C",
"value": 112
},
{
"color": "#6ED0E0",
"value": 212
},
{
"color": "purple",
"value": 215
}
]
}
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 36
},
"id": 26,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"vcp\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "VCP",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"fieldMinMax": false,
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 600
},
{
"color": "orange",
"value": 650
},
{
"color": "green",
"value": 690
},
{
"color": "green",
"value": 700
},
{
"color": "green",
"value": 710
},
{
"color": "orange",
"value": 710
},
{
"color": "orange",
"value": 750
},
{
"color": "red",
"value": 800
}
]
},
"unit": "kwatt"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 8,
"x": 0,
"y": 42
},
"id": 14,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"text": {},
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "XMTR Peak Power",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 18.333
},
{
"color": "yellow",
"value": 21.111
},
{
"color": "orange",
"value": 23.8889
},
{
"color": "red",
"value": 26.6667
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 8,
"y": 42
},
"id": 13,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"max": 40,
"min": 0,
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 65
},
{
"color": "yellow",
"value": 70
},
{
"color": "orange",
"value": 75
},
{
"color": "red",
"value": 80
}
]
},
"unit": "fahrenheit"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 12,
"y": 42
},
"id": 15,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> map(fn: (r) => ({ r with _value: r._value * (9.0 / 5.0) + 32.0 }))\n |> yield(name: \"mean\")\n",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 30
},
{
"color": "yellow",
"value": 32
},
{
"color": "orange",
"value": 34
},
{
"color": "red",
"value": 36
},
{
"color": "purple",
"value": 40
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 16,
"y": 42
},
"id": 16,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 86
},
{
"color": "yellow",
"value": 89.6
},
{
"color": "orange",
"value": 93.2
},
{
"color": "red",
"value": 96.8
},
{
"color": "purple",
"value": 104
}
]
},
"unit": "fahrenheit"
},
"overrides": []
},
"gridPos": {
"h": 6,
"w": 4,
"x": 20,
"y": 42
},
"id": 17,
"options": {
"colorMode": "background",
"graphMode": "area",
"justifyMode": "auto",
"orientation": "auto",
"reduceOptions": {
"calcs": [
"lastNotNull"
],
"fields": "",
"values": false
},
"showPercentChange": false,
"textMode": "auto",
"wideLayout": true
},
"pluginVersion": "10.4.2",
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> map(fn: (r) => ({ r with _value: r._value * (9.0 / 5.0) + 32.0 }))\n |> yield(name: \"mean\")\n",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "stat"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "red",
"value": 600
},
{
"color": "orange",
"value": 650
},
{
"color": "green",
"value": 690
},
{
"color": "green",
"value": 700
},
{
"color": "green",
"value": 710
},
{
"color": "orange",
"value": 710
},
{
"color": "orange",
"value": 750
},
{
"color": "red",
"value": 800
}
]
},
"unit": "kwatt"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 0,
"y": 48
},
"id": 18,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"output_power\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "XMTR Peak Power",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 18.333
},
{
"color": "yellow",
"value": 21.111
},
{
"color": "orange",
"value": 23.8889
},
{
"color": "red",
"value": 26.6667
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 8,
"y": 48
},
"id": 4,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"shelter_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Shelter Temperature",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"description": "",
"fieldConfig": {
"defaults": {
"color": {
"mode": "thresholds"
},
"custom": {
"axisBorderShow": false,
"axisCenteredZero": false,
"axisColorMode": "text",
"axisLabel": "",
"axisPlacement": "auto",
"barAlignment": 0,
"drawStyle": "line",
"fillOpacity": 50,
"gradientMode": "none",
"hideFrom": {
"legend": false,
"tooltip": false,
"viz": false
},
"insertNulls": false,
"lineInterpolation": "smooth",
"lineWidth": 4,
"pointSize": 5,
"scaleDistribution": {
"type": "linear"
},
"showPoints": "auto",
"spanNulls": false,
"stacking": {
"group": "A",
"mode": "none"
},
"thresholdsStyle": {
"mode": "line+area"
}
},
"mappings": [],
"thresholds": {
"mode": "absolute",
"steps": [
{
"color": "green"
},
{
"color": "green",
"value": 30
},
{
"color": "yellow",
"value": 32
},
{
"color": "orange",
"value": 34
},
{
"color": "red",
"value": 36
},
{
"color": "purple",
"value": 40
}
]
},
"unit": "celsius"
},
"overrides": []
},
"gridPos": {
"h": 10,
"w": 8,
"x": 16,
"y": 48
},
"id": 20,
"options": {
"legend": {
"calcs": [],
"displayMode": "list",
"placement": "bottom",
"showLegend": false
},
"tooltip": {
"mode": "single",
"sort": "none"
}
},
"targets": [
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"query": "from(bucket: \"KBIS\")\n |> range(start: v.timeRangeStart, stop: v.timeRangeStop)\n |> filter(fn: (r) => r[\"_measurement\"] == \"radar_station\")\n |> filter(fn: (r) => r[\"_field\"] == \"xmtr_temperature\")\n |> filter(fn: (r) => r[\"id\"] == \"KBIS\")\n |> aggregateWindow(every: v.windowPeriod, fn: mean, createEmpty: false)\n |> yield(name: \"mean\")",
"refId": "A"
}
],
"title": "Transmitter Temperature",
"transparent": true,
"type": "timeseries"
},
{
"datasource": {
"type": "influxdb",
"uid": "bdk9nr0tksnwgf"
},
"gridPos": {
"h": 9,
"w": 24,
"x": 0,
"y": 58
},
"id": 40,
"options": {
"code": {
"language": "plaintext",
"showLineNumbers": false,
"showMiniMap": false
},
"content": "<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n <meta charset=\"UTF-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n <title>Radar Station Alarms</title>\n <style>\n /* Define styles for different alarm statuses */\n .alarm-container {\n max-height: 300px;\n overflow-y: auto;\n }\n\n .alarm-item {\n padding: 10px;\n margin-bottom: 5px;\n color: black;\n border-radius: 5px;\n }\n\n .status-cleared { background-color: green; }\n .status-required { background-color: yellow; }\n .status-mandatory { background-color: orange; }\n .status-inoperative { background-color: red; }\n .status-secondary { background-color: white; }\n </style>\n</head>\n<body>\n <div class=\"alarm-container\">\n <div id=\"alarms-container\">\n <p>Loading alarms...</p>\n </div>\n </div>\n\n <!-- Include jQuery library -->\n <script src=\"https://code.jquery.com/jquery-3.6.0.min.js\"></script>\n <script>\n $(document).ready(function() {\n // Function to fetch the radar station alarms\n function fetchAlarms(stationId, elementId) {\n var apiUrl = \"https://api.weather.gov/radar/stations/\" + stationId + \"/alarms\";\n var alarmsElement = $(\"#\" + elementId);\n\n $.getJSON(apiUrl, function(data) {\n alarmsElement.empty();\n\n if (data[\"@graph\"] && data[\"@graph\"].length > 0) {\n data[\"@graph\"].forEach(function(alarm) {\n var alarmStatus = alarm.status;\n var alarmMessage = alarm.message;\n var alarmTimestamp = new Date(alarm.timestamp).toLocaleString();\n\n var alarmItem = $(\"<div class='alarm-item'></div>\").text(alarmMessage);\n var alarmTimestampElement = $(\"<div class='alarm-timestamp'></div>\").text(alarmTimestamp);\n\n // Set the status color based on its value\n if (alarmStatus === \"cleared\") {\n alarmItem.addClass(\"status-cleared\");\n } else if (alarmStatus === \"required\") {\n alarmItem.addClass(\"status-required\");\n } else if (alarmStatus === \"mandatory\") {\n alarmItem.addClass(\"status-mandatory\");\n } else if (alarmStatus === \"inoperative\") {\n alarmItem.addClass(\"status-inoperative\");\n } else if (alarmStatus === \"secondary\") {\n alarmItem.addClass(\"status-secondary\");\n }\n\n alarmItem.append(alarmTimestampElement);\n alarmsElement.append(alarmItem);\n });\n } else {\n alarmsElement.text(\"No alarms found.\");\n }\n }).fail(function() {\n alarmsElement.text(\"Failed to fetch alarms.\");\n });\n }\n\n // Call the fetchAlarms function initially and then every minute\n fetchAlarms(\"KBIS\", \"alarms-container\");\n setInterval(function() {\n fetchAlarms(\"KBIS\", \"alarms-container\");\n }, 60000); // 60000 milliseconds = 1 minute\n });\n </script>\n</body>\n</html>\n",
"mode": "html"
},
"pluginVersion": "10.4.2",
"title": "Site Alarms (BETA)",
"transparent": true,
"type": "text"
}
],
"title": "KBIS - Bismarck NEXRAD",
"type": "row"
}
],
"refresh": "5s",
"schemaVersion": 39,
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "now-6h",
"to": "now"
},
"timepicker": {},
"timezone": "browser",
"title": "NEXRAD Data",
"uid": "cdk9pt4f5l5hcb",
"version": 50,
"weekStart": ""
}