atmosx-nwws-parser 1.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +17 -0
- package/README.md +6 -0
- package/dist/cjs/bootstrap.cjs +1009 -0
- package/dist/cjs/database.cjs +1114 -0
- package/dist/cjs/dictionaries/awips.cjs +379 -0
- package/dist/cjs/dictionaries/events.cjs +139 -0
- package/dist/cjs/dictionaries/icao.cjs +265 -0
- package/dist/cjs/dictionaries/offshore.cjs +40 -0
- package/dist/cjs/dictionaries/signatures.cjs +132 -0
- package/dist/cjs/eas.cjs +2857 -0
- package/dist/cjs/helper.cjs +3014 -0
- package/dist/cjs/parsers/events.cjs +2857 -0
- package/dist/cjs/parsers/stanza.cjs +1108 -0
- package/dist/cjs/parsers/text.cjs +1142 -0
- package/dist/cjs/parsers/types/api.cjs +2857 -0
- package/dist/cjs/parsers/types/cap.cjs +2857 -0
- package/dist/cjs/parsers/types/text.cjs +2857 -0
- package/dist/cjs/parsers/types/ugc.cjs +2857 -0
- package/dist/cjs/parsers/types/vtec.cjs +2857 -0
- package/dist/cjs/parsers/ugc.cjs +1139 -0
- package/dist/cjs/parsers/vtec.cjs +1060 -0
- package/dist/cjs/types.cjs +17 -0
- package/dist/cjs/utils.cjs +2857 -0
- package/dist/cjs/xmpp.cjs +2857 -0
- package/dist/esm/bootstrap.mjs +972 -0
- package/dist/esm/database.mjs +1079 -0
- package/dist/esm/dictionaries/awips.mjs +355 -0
- package/dist/esm/dictionaries/events.mjs +111 -0
- package/dist/esm/dictionaries/icao.mjs +241 -0
- package/dist/esm/dictionaries/offshore.mjs +16 -0
- package/dist/esm/dictionaries/signatures.mjs +106 -0
- package/dist/esm/eas.mjs +2824 -0
- package/dist/esm/helper.mjs +2974 -0
- package/dist/esm/parsers/events.mjs +2824 -0
- package/dist/esm/parsers/stanza.mjs +1072 -0
- package/dist/esm/parsers/text.mjs +1106 -0
- package/dist/esm/parsers/types/api.mjs +2824 -0
- package/dist/esm/parsers/types/cap.mjs +2824 -0
- package/dist/esm/parsers/types/text.mjs +2824 -0
- package/dist/esm/parsers/types/ugc.mjs +2824 -0
- package/dist/esm/parsers/types/vtec.mjs +2824 -0
- package/dist/esm/parsers/ugc.mjs +1104 -0
- package/dist/esm/parsers/vtec.mjs +1025 -0
- package/dist/esm/types.mjs +0 -0
- package/dist/esm/utils.mjs +2824 -0
- package/dist/esm/xmpp.mjs +2824 -0
- package/package.json +47 -0
- package/shapefiles/FireCounties.dbf +0 -0
- package/shapefiles/FireCounties.shp +0 -0
- package/shapefiles/FireZones.dbf +0 -0
- package/shapefiles/FireZones.shp +0 -0
- package/shapefiles/ForecastZones.dbf +0 -0
- package/shapefiles/ForecastZones.shp +0 -0
- package/shapefiles/Marine.dbf +0 -0
- package/shapefiles/Marine.shp +0 -0
- package/shapefiles/OffShoreZones.dbf +0 -0
- package/shapefiles/OffShoreZones.shp +0 -0
- package/shapefiles/USCounties.dbf +0 -0
- package/shapefiles/USCounties.shp +0 -0
- package/src/bootstrap.ts +171 -0
- package/src/database.ts +99 -0
- package/src/dictionaries/awips.ts +351 -0
- package/src/dictionaries/events.ts +109 -0
- package/src/dictionaries/icao.ts +237 -0
- package/src/dictionaries/offshore.ts +12 -0
- package/src/dictionaries/signatures.ts +103 -0
- package/src/eas.ts +428 -0
- package/src/helper.ts +167 -0
- package/src/parsers/events.ts +289 -0
- package/src/parsers/stanza.ts +103 -0
- package/src/parsers/text.ts +167 -0
- package/src/parsers/types/api.ts +94 -0
- package/src/parsers/types/cap.ts +89 -0
- package/src/parsers/types/text.ts +54 -0
- package/src/parsers/types/ugc.ts +85 -0
- package/src/parsers/types/vtec.ts +60 -0
- package/src/parsers/ugc.ts +148 -0
- package/src/parsers/vtec.ts +66 -0
- package/src/types.ts +187 -0
- package/src/utils.ts +216 -0
- package/src/xmpp.ts +123 -0
- package/test.js +1 -0
- package/tsconfig.json +14 -0
- package/tsup.config.ts +11 -0
|
@@ -0,0 +1,1009 @@
|
|
|
1
|
+
var __create = Object.create;
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
6
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
+
var __export = (target, all) => {
|
|
8
|
+
for (var name in all)
|
|
9
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
10
|
+
};
|
|
11
|
+
var __copyProps = (to, from, except, desc) => {
|
|
12
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
13
|
+
for (let key of __getOwnPropNames(from))
|
|
14
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
15
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
16
|
+
}
|
|
17
|
+
return to;
|
|
18
|
+
};
|
|
19
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
+
mod
|
|
26
|
+
));
|
|
27
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
+
|
|
29
|
+
// src/bootstrap.ts
|
|
30
|
+
var bootstrap_exports = {};
|
|
31
|
+
__export(bootstrap_exports, {
|
|
32
|
+
cache: () => cache,
|
|
33
|
+
definitions: () => definitions,
|
|
34
|
+
packages: () => packages,
|
|
35
|
+
settings: () => settings
|
|
36
|
+
});
|
|
37
|
+
module.exports = __toCommonJS(bootstrap_exports);
|
|
38
|
+
var fs = __toESM(require("fs"));
|
|
39
|
+
var path = __toESM(require("path"));
|
|
40
|
+
var events = __toESM(require("events"));
|
|
41
|
+
var xmpp = __toESM(require("@xmpp/client"));
|
|
42
|
+
var shapefile = __toESM(require("shapefile"));
|
|
43
|
+
var xml2js = __toESM(require("xml2js"));
|
|
44
|
+
var cron = __toESM(require("node-cron"));
|
|
45
|
+
var import_better_sqlite3 = __toESM(require("better-sqlite3"));
|
|
46
|
+
var import_axios = __toESM(require("axios"));
|
|
47
|
+
var import_crypto = __toESM(require("crypto"));
|
|
48
|
+
var import_os = __toESM(require("os"));
|
|
49
|
+
var import_say = __toESM(require("say"));
|
|
50
|
+
|
|
51
|
+
// src/dictionaries/events.ts
|
|
52
|
+
var EVENTS = {
|
|
53
|
+
"AF": "Ashfall",
|
|
54
|
+
"AS": "Air Stagnation",
|
|
55
|
+
"BH": "Beach Hazard",
|
|
56
|
+
"BW": "Brisk Wind",
|
|
57
|
+
"BZ": "Blizzard",
|
|
58
|
+
"CF": "Coastal Flood",
|
|
59
|
+
"DF": "Debris Flow",
|
|
60
|
+
"DS": "Dust Storm",
|
|
61
|
+
"EC": "Extreme Cold",
|
|
62
|
+
"EH": "Excessive Heat",
|
|
63
|
+
"XH": "Extreme Heat",
|
|
64
|
+
"EW": "Extreme Wind",
|
|
65
|
+
"FA": "Areal Flood",
|
|
66
|
+
"FF": "Flash Flood",
|
|
67
|
+
"FG": "Dense Fog",
|
|
68
|
+
"FL": "Flood",
|
|
69
|
+
"FR": "Frost",
|
|
70
|
+
"FW": "Fire Weather",
|
|
71
|
+
"FZ": "Freeze",
|
|
72
|
+
"GL": "Gale",
|
|
73
|
+
"HF": "Hurricane Force Wind",
|
|
74
|
+
"HT": "Heat",
|
|
75
|
+
"HU": "Hurricane",
|
|
76
|
+
"HW": "High Wind",
|
|
77
|
+
"HY": "Hydrologic",
|
|
78
|
+
"HZ": "Hard Freeze",
|
|
79
|
+
"IS": "Ice Storm",
|
|
80
|
+
"LE": "Lake Effect Snow",
|
|
81
|
+
"LO": "Low Water",
|
|
82
|
+
"LS": "Lakeshore Flood",
|
|
83
|
+
"LW": "Lake Wind",
|
|
84
|
+
"MA": "Special Marine",
|
|
85
|
+
"EQ": "Earthquake",
|
|
86
|
+
"MF": "Dense Fog",
|
|
87
|
+
"MH": "Ashfall",
|
|
88
|
+
"MS": "Dense Smoke",
|
|
89
|
+
"RB": "Small Craft for Rough Bar",
|
|
90
|
+
"RP": "Rip Current Risk",
|
|
91
|
+
"SC": "Small Craft",
|
|
92
|
+
"SE": "Hazardous Seas",
|
|
93
|
+
"SI": "Small Craft for Winds",
|
|
94
|
+
"SM": "Dense Smoke",
|
|
95
|
+
"SQ": "Snow Squall",
|
|
96
|
+
"SR": "Storm",
|
|
97
|
+
"SS": "Storm Surge",
|
|
98
|
+
"SU": "High Surf",
|
|
99
|
+
"SV": "Severe Thunderstorm",
|
|
100
|
+
"SW": "Small Craft for Hazardous Seas",
|
|
101
|
+
"TO": "Tornado",
|
|
102
|
+
"TR": "Tropical Storm",
|
|
103
|
+
"TS": "Tsunami",
|
|
104
|
+
"TY": "Typhoon",
|
|
105
|
+
"SP": "Special Weather",
|
|
106
|
+
"UP": "Heavy Freezing Spray",
|
|
107
|
+
"WC": "Wind Chill",
|
|
108
|
+
"WI": "Wind",
|
|
109
|
+
"WS": "Winter Storm",
|
|
110
|
+
"WW": "Winter Weather",
|
|
111
|
+
"ZF": "Freezing Fog",
|
|
112
|
+
"ZR": "Freezing Rain",
|
|
113
|
+
"ZY": "Freezing Spray"
|
|
114
|
+
};
|
|
115
|
+
var ACTIONS = {
|
|
116
|
+
"W": "Warning",
|
|
117
|
+
"F": "Forecast",
|
|
118
|
+
"A": "Watch",
|
|
119
|
+
"O": "Outlook",
|
|
120
|
+
"Y": "Advisory",
|
|
121
|
+
"N": "Synopsis",
|
|
122
|
+
"S": "Statement"
|
|
123
|
+
};
|
|
124
|
+
var STATUS = {
|
|
125
|
+
"NEW": "Issued",
|
|
126
|
+
"CON": "Updated",
|
|
127
|
+
"EXT": "Extended",
|
|
128
|
+
"EXA": "Extended",
|
|
129
|
+
"EXB": "Extended",
|
|
130
|
+
"UPG": "Upgraded",
|
|
131
|
+
"COR": "Correction",
|
|
132
|
+
"ROU": "Routine",
|
|
133
|
+
"CAN": "Cancelled",
|
|
134
|
+
"EXP": "Expired"
|
|
135
|
+
};
|
|
136
|
+
var TYPES = {
|
|
137
|
+
"O": "Operational Product",
|
|
138
|
+
"T": "Test Product",
|
|
139
|
+
"E": "Experimental Product",
|
|
140
|
+
"X": "Experimental Product (Non-Operational)"
|
|
141
|
+
};
|
|
142
|
+
var STATUS_CORRELATIONS = [
|
|
143
|
+
{ type: "Update", forward: "Updated", cancel: false },
|
|
144
|
+
{ type: "Cancel", forward: "Cancelled", cancel: true },
|
|
145
|
+
{ type: "Alert", forward: "Issued", cancel: false },
|
|
146
|
+
{ type: "Updated", forward: "Updated", cancel: false },
|
|
147
|
+
{ type: "Expired", forward: "Expired", cancel: true },
|
|
148
|
+
{ type: "Issued", forward: "Issued", cancel: false },
|
|
149
|
+
{ type: "Extended", forward: "Updated", cancel: false },
|
|
150
|
+
{ type: "Correction", forward: "Updated", cancel: false },
|
|
151
|
+
{ type: "Upgraded", forward: "Upgraded", cancel: false },
|
|
152
|
+
{ type: "Cancelled", forward: "Cancelled", cancel: true },
|
|
153
|
+
{ type: "Routine", forward: "Routine", cancel: false }
|
|
154
|
+
];
|
|
155
|
+
|
|
156
|
+
// src/dictionaries/offshore.ts
|
|
157
|
+
var OFFSHORE = {
|
|
158
|
+
"Special Weather Statement": "Special Weather Statement",
|
|
159
|
+
"Hurricane Warning": "Hurricane Warning",
|
|
160
|
+
"Hurricane Force Wind Warning": "Hurricane Force Wind Warning",
|
|
161
|
+
"Hurricane Watch": "Hurricane Watch",
|
|
162
|
+
"Tropical Storm Warning": "Tropical Storm Warning",
|
|
163
|
+
"Tropical Storm Watch": "Tropical Storm Watch",
|
|
164
|
+
"High Wind Warning": "High Wind Warning",
|
|
165
|
+
"Gale Warning": "Gale Warning",
|
|
166
|
+
"Small Craft Advisory": "Small Craft Advisory",
|
|
167
|
+
"Small Craft Warning": "Small Craft Warning"
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
// src/dictionaries/awips.ts
|
|
171
|
+
var AWIPS = {
|
|
172
|
+
ABV: `abv`,
|
|
173
|
+
ADA: `administrative-message`,
|
|
174
|
+
ADM: `administrative-message`,
|
|
175
|
+
ADR: `administrative-message`,
|
|
176
|
+
AHD: `area-hydrological-discussion`,
|
|
177
|
+
AHONT1: `high-density-observations-usaf-noaa`,
|
|
178
|
+
AHOPA1: `high-density-observations-usaf-noaa-west-pac`,
|
|
179
|
+
AHOPN1: `high-density-observations-usaf-noaa`,
|
|
180
|
+
AFD: `area-forecast-discussion`,
|
|
181
|
+
AQA: `air-quality-alert`,
|
|
182
|
+
AQI: `ground-level-ozone-forecast`,
|
|
183
|
+
AVA: `avalanche-watch`,
|
|
184
|
+
AVW: `avalanche-warning`,
|
|
185
|
+
AWU: `area-weather-update`,
|
|
186
|
+
AVG: `avalanche-weather-guidance`,
|
|
187
|
+
AWW: `airport-weather-warning`,
|
|
188
|
+
BLU: `blue-alert`,
|
|
189
|
+
CAE: `child-abduction-emergency`,
|
|
190
|
+
CDW: `civil-danger-warning`,
|
|
191
|
+
CEM: `civil-emergency-message`,
|
|
192
|
+
CFW: `coastal-hazard-message`,
|
|
193
|
+
CGR: `coastal-weather-observations`,
|
|
194
|
+
CLI: `daily-climate-report`,
|
|
195
|
+
CLM: `monthly-climate-report`,
|
|
196
|
+
CRF: `contingency-river-forecast`,
|
|
197
|
+
CWA: `center-weather-advisory`,
|
|
198
|
+
CWF: `coastal-waters-forecast`,
|
|
199
|
+
DGT: `drought-information`,
|
|
200
|
+
DSA: `tropical-disturbance-statement`,
|
|
201
|
+
DSW: `dust-storm-warning`,
|
|
202
|
+
EQI: `earthquake-information`,
|
|
203
|
+
EQR: `earthquake-report`,
|
|
204
|
+
EQW: `earthquake-warning`,
|
|
205
|
+
ESF: `hydrologic-outlook`,
|
|
206
|
+
EVI: `evacuation-immediate`,
|
|
207
|
+
EWW: `extreme-wind-warning`,
|
|
208
|
+
FFA: `flood-watch`,
|
|
209
|
+
FFG: `flash-flood-guidance`,
|
|
210
|
+
FFGMPD: `mesoscale-precipitation-discussion`,
|
|
211
|
+
FLS: `flood-advisory`,
|
|
212
|
+
FLW: `flood-warning`,
|
|
213
|
+
FFS: `flash-flood-statement`,
|
|
214
|
+
FFW: `flash-flood-warning`,
|
|
215
|
+
MWS: `marine-weather-statement`,
|
|
216
|
+
MWW: `marine-weather-warning`,
|
|
217
|
+
NMN: `network-message-notification`,
|
|
218
|
+
NOW: `short-term-forecast`,
|
|
219
|
+
NPW: `non-convective-advisory`,
|
|
220
|
+
NSH: `nearshore-marine-forecast`,
|
|
221
|
+
NUW: `nuclear-power-plant-warning`,
|
|
222
|
+
PMDAK: `alaska-discussion`,
|
|
223
|
+
PMDCA: `tropical-discussion`,
|
|
224
|
+
PMDEPD: `extended-forecast-discussion`,
|
|
225
|
+
PMDHI: `hawaii-discussion`,
|
|
226
|
+
PMDHMD: `model-diagnostic-discussion`,
|
|
227
|
+
PMDSA: `south-america-forecast-discussion`,
|
|
228
|
+
PMDSPD: `short-range-forecast-discussion`,
|
|
229
|
+
PNS: `public-information-statement`,
|
|
230
|
+
FRW: `fire-warning`,
|
|
231
|
+
FTM: `free-text-message`,
|
|
232
|
+
FWF: `fire-weather-planning-forecast`,
|
|
233
|
+
FWA: `fire-weather-administrative-message`,
|
|
234
|
+
FWS: `fire-weather-spot-forecast`,
|
|
235
|
+
GLF: `open-lake-forecast`,
|
|
236
|
+
HCM: `hydromet-coordination-message`,
|
|
237
|
+
HMT: `hmt`,
|
|
238
|
+
HMW: `hazardous-materials-warning`,
|
|
239
|
+
HPA: `high-pollution-advisory`,
|
|
240
|
+
HLS: `hurricane-local-statement`,
|
|
241
|
+
HMD: `rainfall-and-flood-outlook-product`,
|
|
242
|
+
HSF: `high-seas-forecast`,
|
|
243
|
+
HWO: `hazardous-weather-outlook`,
|
|
244
|
+
HYD: `supplementary-temp-and-precip`,
|
|
245
|
+
LAE: `local-area-emergency`,
|
|
246
|
+
LCO: `local-cooperative-observation`,
|
|
247
|
+
LEW: `law-enforcement-warning`,
|
|
248
|
+
LSR: `local-storm-report`,
|
|
249
|
+
ICE: `ice-outlook`,
|
|
250
|
+
MIS: `meteorological-impact-statement`,
|
|
251
|
+
OAV: `other-aviation-report`,
|
|
252
|
+
OEP: `taf-collaboration-product`,
|
|
253
|
+
OFF: `offshore-waters-forecast`,
|
|
254
|
+
OMR: `other-marine-reports`,
|
|
255
|
+
OSO: `weather-roundup`,
|
|
256
|
+
PFM: `point-forecast-matrices`,
|
|
257
|
+
PSH: `post-tropical-event-report`,
|
|
258
|
+
PWO: `public-severe-weather-outlook`,
|
|
259
|
+
QPFERD: `excessive-rainfall-discussion`,
|
|
260
|
+
QPFHSD: `heavy-snow-discussion`,
|
|
261
|
+
QPS: `quantitative-precipitation-forecast`,
|
|
262
|
+
REC: `recreational-forecast`,
|
|
263
|
+
REPNT0: `recco-observations-non-tropical-cyclone`,
|
|
264
|
+
REPNT1: `recco-observations-tropical-cyclone`,
|
|
265
|
+
REPNT2: `vortex-data-message`,
|
|
266
|
+
REPNTS: `supplementary-vortex-data-message`,
|
|
267
|
+
REPNT3: `dropsonde-observations`,
|
|
268
|
+
REPPN0: `recco-observations-non-tropical-cyclone`,
|
|
269
|
+
REPPN1: `recco-observations-tropical-cyclone`,
|
|
270
|
+
REPPN2: `vortex-data-message`,
|
|
271
|
+
REPPNS: `supplementary-vortex-data-message`,
|
|
272
|
+
REPPN3: `dropsonde-observations`,
|
|
273
|
+
REPPA0: `recco-observations-west-pac-non-tropical-cyclone`,
|
|
274
|
+
REPPA1: `recco-observations-west-pac-tropical-cyclone`,
|
|
275
|
+
REPPA2: `vortex-data-message-west-pac`,
|
|
276
|
+
REPPAS: `supplementary-vortex-data-message-west-pac`,
|
|
277
|
+
REPPA3: `dropsonde-observations-west-pac`,
|
|
278
|
+
REPRPD: `weather-reconnaissance-flights`,
|
|
279
|
+
RER: `record-event-report`,
|
|
280
|
+
RFD: `grassland-fire-danger`,
|
|
281
|
+
RFW: `red-flag-warning`,
|
|
282
|
+
RHW: `radiological-hazard-warning`,
|
|
283
|
+
RRM: `rainfall-storm-total`,
|
|
284
|
+
RTP: `regional-temperature-and-precipitation`,
|
|
285
|
+
RVA: `hydrologic-summary`,
|
|
286
|
+
RVD: `river-and-lake-summary`,
|
|
287
|
+
RVF: `river-forecast`,
|
|
288
|
+
RVS: `hydrologic-statement`,
|
|
289
|
+
RWR: `weather-roundup`,
|
|
290
|
+
RWS: `regional-weather-summary`,
|
|
291
|
+
SAB: `special-avalanche-bulletin`,
|
|
292
|
+
SCC: `storm-summary`,
|
|
293
|
+
SFT: `state-forecast-tabular-product`,
|
|
294
|
+
SIG: `convective-sigment`,
|
|
295
|
+
SMF: `smoke-management-weather-forecast`,
|
|
296
|
+
SMW: `special-marine-warning`,
|
|
297
|
+
SPS: `special-weather-statement`,
|
|
298
|
+
SPW: `shelter-in-place-warning`,
|
|
299
|
+
SQW: `snow-squall-warning`,
|
|
300
|
+
SRF: `surf-zone-forecast`,
|
|
301
|
+
STF: `tabular-state-forecast`,
|
|
302
|
+
STQ: `spot-forecast-request`,
|
|
303
|
+
SVR: `severe-thunderstorm-warning`,
|
|
304
|
+
SVS: `severe-weather-statement`,
|
|
305
|
+
SWOMCD: `mesoscale-convective-discussion`,
|
|
306
|
+
TAF: `terminal-aerodrome-forecast`,
|
|
307
|
+
TCD: `tropical-cyclone-discussion`,
|
|
308
|
+
TCE: `tropical-cyclone-position-estimate`,
|
|
309
|
+
TCM: `tropical-storm-forecast`,
|
|
310
|
+
TCU: `tropical-cyclone-update`,
|
|
311
|
+
TCV: `tropical-watch-warning-local-statement`,
|
|
312
|
+
TIB: `tsunami-information-statement`,
|
|
313
|
+
TID: `tide-data`,
|
|
314
|
+
TMA: `tsunami-message-acknowledgement`,
|
|
315
|
+
TOE: `telephone-outage-emergency`,
|
|
316
|
+
TOR: `tornado-warning`,
|
|
317
|
+
TWD: `tropical-weather-discussion`,
|
|
318
|
+
TWO: `tropical-weather-outlook`,
|
|
319
|
+
VAA: `volcanic-ash-advisory`,
|
|
320
|
+
VOW: `volcano-warning`,
|
|
321
|
+
WCN: `watch-county-notification`,
|
|
322
|
+
WRK: `work-product`,
|
|
323
|
+
WSV: `volcanic-ash-sigmet`,
|
|
324
|
+
WSW: `winter-weather-message`,
|
|
325
|
+
XTEUS: `wpc-contiguous-us-daily-max-min-temps`,
|
|
326
|
+
ZFP: `zone-forecast-package`,
|
|
327
|
+
RR1: `hydro-meteorological-data-report-pt1`,
|
|
328
|
+
RR2: `hydro-meteorological-data-report-pt2`,
|
|
329
|
+
RR3: `hydro-meteorological-data-report-pt3`,
|
|
330
|
+
RR4: `hydro-meteorological-data-report-pt4`,
|
|
331
|
+
RR5: `hydro-meteorological-data-report-pt5`,
|
|
332
|
+
RR6: `hydro-meteorological-data-report-pt6`,
|
|
333
|
+
RR7: `hydro-meteorological-data-report-pt7`,
|
|
334
|
+
RR8: `hydro-meteorological-data-report-pt8`,
|
|
335
|
+
RR9: `hydro-meteorological-data-report-pt9`,
|
|
336
|
+
SFP: `state-forecast-product`,
|
|
337
|
+
AFM: `area-forecast-matrices`,
|
|
338
|
+
AAG: `aag`,
|
|
339
|
+
ADV: `adv`,
|
|
340
|
+
AFP: `afp`,
|
|
341
|
+
AFW: `afw`,
|
|
342
|
+
AGO: `ago`,
|
|
343
|
+
AIR: `air`,
|
|
344
|
+
ALG: `alg`,
|
|
345
|
+
ALT: `alt`,
|
|
346
|
+
AVD: `avd`,
|
|
347
|
+
AWO: `awo`,
|
|
348
|
+
BOY: `boy`,
|
|
349
|
+
BRT: `brt`,
|
|
350
|
+
CF6: `cf6`,
|
|
351
|
+
CFP: `cfp`,
|
|
352
|
+
CLS: `cls`,
|
|
353
|
+
CMM: `cmm`,
|
|
354
|
+
COD: `cod`,
|
|
355
|
+
CRN: `crn`,
|
|
356
|
+
CUR: `cur`,
|
|
357
|
+
CWD: `cwd`,
|
|
358
|
+
CWS: `cws`,
|
|
359
|
+
DAY: `day`,
|
|
360
|
+
DDO: `ddo`,
|
|
361
|
+
DMO: `dmo`,
|
|
362
|
+
DSM: `dsm`,
|
|
363
|
+
ECD: `ecd`,
|
|
364
|
+
EFP: `efp`,
|
|
365
|
+
EOL: `eol`,
|
|
366
|
+
EOM: `eom`,
|
|
367
|
+
ESG: `esg`,
|
|
368
|
+
ESP: `esp`,
|
|
369
|
+
ESS: `ess`,
|
|
370
|
+
ETT: `ett`,
|
|
371
|
+
FA0: `fa0`,
|
|
372
|
+
FA7: `fa7`,
|
|
373
|
+
FA8: `fa8`,
|
|
374
|
+
FA9: `fa9`,
|
|
375
|
+
FD0: `fd0`,
|
|
376
|
+
FD1: `fd1`,
|
|
377
|
+
FD3: `fd3`,
|
|
378
|
+
FD5: `fd5`,
|
|
379
|
+
FD8: `fd8`,
|
|
380
|
+
FD9: `fd9`,
|
|
381
|
+
FDI: `fdi`,
|
|
382
|
+
FFH: `ffh`,
|
|
383
|
+
FFP: `ffp`,
|
|
384
|
+
FLR: `flr`,
|
|
385
|
+
FOP: `fop`,
|
|
386
|
+
FRH: `frh`,
|
|
387
|
+
FSH: `fsh`,
|
|
388
|
+
FTP: `ftp`,
|
|
389
|
+
FWD: `fwd`,
|
|
390
|
+
FWL: `fwl`,
|
|
391
|
+
FWM: `fwm`,
|
|
392
|
+
FWN: `fwn`,
|
|
393
|
+
FWO: `fwo`,
|
|
394
|
+
FZL: `fzl`,
|
|
395
|
+
GEN: `gen`,
|
|
396
|
+
GMT: `gmt`,
|
|
397
|
+
HD0: `hd0`,
|
|
398
|
+
HD2: `hd2`,
|
|
399
|
+
HD3: `hd3`,
|
|
400
|
+
HD4: `hd4`,
|
|
401
|
+
HD6: `hd6`,
|
|
402
|
+
HD8: `hd8`,
|
|
403
|
+
HML: `hml`,
|
|
404
|
+
HWR: `hwr`,
|
|
405
|
+
LAK: `lak`,
|
|
406
|
+
LEV: `lev`,
|
|
407
|
+
LLL: `lll`,
|
|
408
|
+
HP2: `hp2`,
|
|
409
|
+
HRR: `hrr`,
|
|
410
|
+
HYM: `hym`,
|
|
411
|
+
ICO: `ico`,
|
|
412
|
+
IDM: `idm`,
|
|
413
|
+
MAN: `man`,
|
|
414
|
+
MAP: `map`,
|
|
415
|
+
MAR: `mar`,
|
|
416
|
+
MAV: `mav`,
|
|
417
|
+
MCG: `mcg`,
|
|
418
|
+
MCX: `mcx`,
|
|
419
|
+
MET: `met`,
|
|
420
|
+
MEX: `mex`,
|
|
421
|
+
MFM: `mfm`,
|
|
422
|
+
MFP: `mfp`,
|
|
423
|
+
MHF: `mhf`,
|
|
424
|
+
MME: `mme`,
|
|
425
|
+
MMG: `mmg`,
|
|
426
|
+
MRP: `mrp`,
|
|
427
|
+
MSM: `msm`,
|
|
428
|
+
MTR: `mtr`,
|
|
429
|
+
MTT: `mtt`,
|
|
430
|
+
MVF: `mvf`,
|
|
431
|
+
NWR: `nwr`,
|
|
432
|
+
OFA: `ofa`,
|
|
433
|
+
OPU: `opu`,
|
|
434
|
+
OPW: `opw`,
|
|
435
|
+
OSB: `osb`,
|
|
436
|
+
PFW: `pfw`,
|
|
437
|
+
PLS: `pls`,
|
|
438
|
+
PMD: `pmd`,
|
|
439
|
+
POE: `poe`,
|
|
440
|
+
PRB: `prb`,
|
|
441
|
+
PTS: `pts`,
|
|
442
|
+
PWS: `pws`,
|
|
443
|
+
QPF: `qpf`,
|
|
444
|
+
QPG: `qpg`,
|
|
445
|
+
RBG: `rbg`,
|
|
446
|
+
REP: `rep`,
|
|
447
|
+
RFM: `rfm`,
|
|
448
|
+
RFR: `rfr`,
|
|
449
|
+
RRA: `rra`,
|
|
450
|
+
RRS: `rrs`,
|
|
451
|
+
RRY: `rry`,
|
|
452
|
+
RRZ: `rrz`,
|
|
453
|
+
RVC: `rvc`,
|
|
454
|
+
RVG: `rvg`,
|
|
455
|
+
RVK: `rvk`,
|
|
456
|
+
RVM: `rvm`,
|
|
457
|
+
RVO: `rvo`,
|
|
458
|
+
RVR: `rvr`,
|
|
459
|
+
RVU: `rvu`,
|
|
460
|
+
SAF: `saf`,
|
|
461
|
+
SAG: `sag`,
|
|
462
|
+
SAT: `sat`,
|
|
463
|
+
SAW: `saw`,
|
|
464
|
+
SCN: `scn`,
|
|
465
|
+
SCP: `scp`,
|
|
466
|
+
SCS: `scs`,
|
|
467
|
+
SCV: `scv`,
|
|
468
|
+
SEL: `sel`,
|
|
469
|
+
SGL: `sgl`,
|
|
470
|
+
SPE: `spe`,
|
|
471
|
+
SPN: `spn`,
|
|
472
|
+
SRG: `srg`,
|
|
473
|
+
SSM: `ssm`,
|
|
474
|
+
STA: `sta`,
|
|
475
|
+
SUM: `sum`,
|
|
476
|
+
SWE: `swe`,
|
|
477
|
+
SYN: `syn`,
|
|
478
|
+
TAP: `tap`,
|
|
479
|
+
TCA: `tca`,
|
|
480
|
+
TCP: `tcp`,
|
|
481
|
+
TCS: `tcs`,
|
|
482
|
+
TPT: `tpt`,
|
|
483
|
+
TST: `tst`,
|
|
484
|
+
TSU: `tsu`,
|
|
485
|
+
TUV: `tuv`,
|
|
486
|
+
TVL: `tvl`,
|
|
487
|
+
TWS: `tws`,
|
|
488
|
+
TXT: `txt`,
|
|
489
|
+
UVI: `uvi`,
|
|
490
|
+
VFT: `vft`,
|
|
491
|
+
WA0: `wa0`,
|
|
492
|
+
WA1: `wa1`,
|
|
493
|
+
WA2: `wa2`,
|
|
494
|
+
WA3: `wa3`,
|
|
495
|
+
WA4: `wa4`,
|
|
496
|
+
WA5: `wa5`,
|
|
497
|
+
WA6: `wa6`,
|
|
498
|
+
WA7: `wa7`,
|
|
499
|
+
WA8: `wa8`,
|
|
500
|
+
WA9: `wa9`,
|
|
501
|
+
WAR: `war`,
|
|
502
|
+
WAT: `wat`,
|
|
503
|
+
WCL: `wcl`,
|
|
504
|
+
WEE: `wee`,
|
|
505
|
+
WEK: `wek`,
|
|
506
|
+
WOU: `wou`,
|
|
507
|
+
WRM: `wrm`,
|
|
508
|
+
WS1: `ws1`,
|
|
509
|
+
WS2: `ws2`,
|
|
510
|
+
WS3: `ws3`,
|
|
511
|
+
WS4: `ws4`,
|
|
512
|
+
WS5: `ws5`,
|
|
513
|
+
WS6: `ws6`,
|
|
514
|
+
WSC: `wsc`,
|
|
515
|
+
WST: `wst`,
|
|
516
|
+
WTA: `wta`,
|
|
517
|
+
WWA: `wwa`,
|
|
518
|
+
WWP: `wwp`,
|
|
519
|
+
XF0: `xf0`,
|
|
520
|
+
XOB: `xob`
|
|
521
|
+
};
|
|
522
|
+
|
|
523
|
+
// src/dictionaries/signatures.ts
|
|
524
|
+
var TAGS = {
|
|
525
|
+
"A LARGE AND EXTREMELY DANGEROUS TORNADO": "Large and Dangerous Tornado",
|
|
526
|
+
"THIS IS A PARTICULARLY DANGEROUS SITUATION": "Particularly Dangerous Situation",
|
|
527
|
+
"RADAR INDICATED ROTATION": "Radar Indicated Tornado",
|
|
528
|
+
"WEATHER SPOTTERS CONFIRMED TORNADO": "Confirmed by Storm Spotters",
|
|
529
|
+
"A SEVERE THUNDERSTORM CAPABLE OF PRODUCING A TORNADO": "Developing Tornado",
|
|
530
|
+
"LAW ENFORCEMENT CONFIRMED TORNADO": "Reported by Law Enforcement",
|
|
531
|
+
"A TORNADO IS ON THE GROUND": "Confirmed Tornado",
|
|
532
|
+
"WEATHER SPOTTERS REPORTED FUNNEL CLOUD": "Confirmed Funnel Cloud by Storm Spotters",
|
|
533
|
+
"PUBLIC CONFIRMED TORNADO": "Public reports of Tornado",
|
|
534
|
+
"RADAR CONFIRMED": "Radar Confirmed",
|
|
535
|
+
"TORNADO WAS REPORTED BRIEFLY ON THE GROUND": "Tornado no longer on ground",
|
|
536
|
+
"SPOTTERS INDICATE THAT A FUNNEL CLOUD CONTINUES WITH THIS STORM": "Funnel Cloud Continues",
|
|
537
|
+
"A TORNADO MAY DEVELOP AT ANY TIME": "Potentional still exists for Tornado to form",
|
|
538
|
+
"LIFE-THREATENING SITUATION": "Life Threating Situation",
|
|
539
|
+
"COMPLETE DESTRUCTION IS POSSIBLE": "Extremly Damaging Tornado",
|
|
540
|
+
"POTENTIALLY DEADLY TORNADO": "Deadly Tornado",
|
|
541
|
+
"RADAR INDICATED": "Radar Indicated",
|
|
542
|
+
"HAIL DAMAGE TO VEHICLES IS EXPECTED": "Damaging to Vehicles",
|
|
543
|
+
"EXPECT WIND DAMAGE": "Wind Damage",
|
|
544
|
+
"FREQUENT LIGHTNING": "Frequent Lightning",
|
|
545
|
+
"PEOPLE AND ANIMALS OUTDOORS WILL BE INJURED": "Capable of Injuring People and Animals",
|
|
546
|
+
"TRAINED WEATHER SPOTTERS": "Confirmed by Storm Spotters",
|
|
547
|
+
"SOURCE...PUBLIC": "Confirmed by Public",
|
|
548
|
+
"SMALL CRAFT COULD BE DAMAGED": "Potential Damage to Small Craft",
|
|
549
|
+
"A TORNADO WATCH REMAINS IN EFFECT": "Active Tornado Watch",
|
|
550
|
+
"TENNIS BALL SIZE HAIL": "Tennis Ball Size Hail",
|
|
551
|
+
"BASEBALL SIZE HAIL": "Baseball Size Hail",
|
|
552
|
+
"GOLF BALL SIZE HAIL": "Golf Ball Size Hail",
|
|
553
|
+
"QUARTER SIZE HAIL": "Quarter Size Hail",
|
|
554
|
+
"PING PONG BALL SIZE HAIL": "Ping Pong Ball Size Hail",
|
|
555
|
+
"NICKEL SIZE HAIL": "Nickel Size Hail",
|
|
556
|
+
"DOPPLER RADAR.": "Confirmed by Radar",
|
|
557
|
+
"DOPPLER RADAR AND AUTOMATED GAUGES.": "Confirmed by Radar and Gauges",
|
|
558
|
+
"FLASH FLOODING CAUSED BY THUNDERSTORMS.": "Caused by Thunderstorm",
|
|
559
|
+
"SOURCE...EMERGENCY MANAGEMENT.": "Confirmed by Emergency Management",
|
|
560
|
+
"FLASH FLOODING CAUSED BY HEAVY RAIN.": "Caused by heavy rain",
|
|
561
|
+
"SOURCE...LAW ENFORCEMENT REPORTED.": "Confirmed by Law Enforcement"
|
|
562
|
+
};
|
|
563
|
+
var CANCEL_SIGNATURES = [
|
|
564
|
+
"THIS_MESSAGE_IS_FOR_TEST_PURPOSES_ONLY",
|
|
565
|
+
"this is a test",
|
|
566
|
+
"subsided sufficiently for the advisory to be cancelled",
|
|
567
|
+
"has been cancelled",
|
|
568
|
+
"will be allowed to expire",
|
|
569
|
+
"has diminished",
|
|
570
|
+
"and no longer",
|
|
571
|
+
"has been replaced",
|
|
572
|
+
"The threat has ended",
|
|
573
|
+
"has weakened below severe"
|
|
574
|
+
];
|
|
575
|
+
var MESSAGE_SIGNATURES = [
|
|
576
|
+
{ regex: /\r?\n/g, replacement: " " },
|
|
577
|
+
{ regex: /\s+/g, replacement: " " },
|
|
578
|
+
{ regex: /\*/g, replacement: "." },
|
|
579
|
+
{ regex: /\bUTC\b/g, replacement: "Coordinated Universal Time" },
|
|
580
|
+
{ regex: /\bGMT\b/g, replacement: "Greenwich Mean Time" },
|
|
581
|
+
{ regex: /\bEST\b/g, replacement: "Eastern Standard Time" },
|
|
582
|
+
{ regex: /\bEDT\b/g, replacement: "Eastern Daylight Time" },
|
|
583
|
+
{ regex: /\bCST\b/g, replacement: "Central Standard Time" },
|
|
584
|
+
{ regex: /\bCDT\b/g, replacement: "Central Daylight Time" },
|
|
585
|
+
{ regex: /\bMST\b/g, replacement: "Mountain Standard Time" },
|
|
586
|
+
{ regex: /\bMDT\b/g, replacement: "Mountain Daylight Time" },
|
|
587
|
+
{ regex: /\bPST\b/g, replacement: "Pacific Standard Time" },
|
|
588
|
+
{ regex: /\bPDT\b/g, replacement: "Pacific Daylight Time" },
|
|
589
|
+
{ regex: /\bAKST\b/g, replacement: "Alaska Standard Time" },
|
|
590
|
+
{ regex: /\bAKDT\b/g, replacement: "Alaska Daylight Time" },
|
|
591
|
+
{ regex: /\bHST\b/g, replacement: "Hawaii Standard Time" },
|
|
592
|
+
{ regex: /\bHDT\b/g, replacement: "Hawaii Daylight Time" },
|
|
593
|
+
{ regex: /\bmph\b/g, replacement: "miles per hour" },
|
|
594
|
+
{ regex: /\bkm\/h\b/g, replacement: "kilometers per hour" },
|
|
595
|
+
{ regex: /\bkmh\b/g, replacement: "kilometers per hour" },
|
|
596
|
+
{ regex: /\bkt\b/g, replacement: "knots" },
|
|
597
|
+
{ regex: /\bNE\b/g, replacement: "northeast" },
|
|
598
|
+
{ regex: /\bNW\b/g, replacement: "northwest" },
|
|
599
|
+
{ regex: /\bSE\b/g, replacement: "southeast" },
|
|
600
|
+
{ regex: /\bSW\b/g, replacement: "southwest" },
|
|
601
|
+
{ regex: /\bNM\b/g, replacement: "nautical miles" },
|
|
602
|
+
{ regex: /\bdeg\b/g, replacement: "degrees" },
|
|
603
|
+
{ regex: /\btstm\b/g, replacement: "thunderstorm" },
|
|
604
|
+
{ regex: /\bmm\b/g, replacement: "millimeters" },
|
|
605
|
+
{ regex: /\bcm\b/g, replacement: "centimeters" },
|
|
606
|
+
{ regex: /\bin\b/g, replacement: "inches" },
|
|
607
|
+
{ regex: /\bft\b/g, replacement: "feet" },
|
|
608
|
+
{ regex: /\bmi\b/g, replacement: "miles" },
|
|
609
|
+
{ regex: /\bhr\b/g, replacement: "hour" },
|
|
610
|
+
{ regex: /\bhourly\b/g, replacement: "per hour" },
|
|
611
|
+
{ regex: /\bkg\b/g, replacement: "kilograms" },
|
|
612
|
+
{ regex: /\bg\/kg\b/g, replacement: "grams per kilogram" },
|
|
613
|
+
{ regex: /\bmb\b/g, replacement: "millibars" },
|
|
614
|
+
{ regex: /\bhPa\b/g, replacement: "hectopascals" },
|
|
615
|
+
{ regex: /\bPa\b/g, replacement: "pascals" },
|
|
616
|
+
{ regex: /\bKPa\b/g, replacement: "kilopascals" },
|
|
617
|
+
{ regex: /\bC\/hr\b/g, replacement: "degrees Celsius per hour" },
|
|
618
|
+
{ regex: /\bF\/hr\b/g, replacement: "degrees Fahrenheit per hour" },
|
|
619
|
+
{ regex: /\bC\/min\b/g, replacement: "degrees Celsius per minute" },
|
|
620
|
+
{ regex: /\bF\/min\b/g, replacement: "degrees Fahrenheit per minute" },
|
|
621
|
+
{ regex: /\bC\b/g, replacement: "degrees Celsius" },
|
|
622
|
+
{ regex: /\bF\b/g, replacement: "degrees Fahrenheit" }
|
|
623
|
+
];
|
|
624
|
+
|
|
625
|
+
// src/dictionaries/icao.ts
|
|
626
|
+
var ICAOs = {
|
|
627
|
+
"KLCH": "Lake Charles, LA",
|
|
628
|
+
"TSTL": "St. Louis, MO",
|
|
629
|
+
"PABC": "Bethel, AK",
|
|
630
|
+
"TCMH": "Columbus, OH",
|
|
631
|
+
"KEPZ": "El Paso, TX",
|
|
632
|
+
"KCYS": "Cheyenne, WY",
|
|
633
|
+
"KJKL": "Jackson, KY",
|
|
634
|
+
"KPAH": "Paducah, KY",
|
|
635
|
+
"KEMX": "Tucson, AZ",
|
|
636
|
+
"KMHX": "Morehead City, NC",
|
|
637
|
+
"PAPD": "Fairbanks, AK",
|
|
638
|
+
"KDLH": "Duluth, MN",
|
|
639
|
+
"TADW": "Andrews Air Force Base, MD",
|
|
640
|
+
"KOKX": "Brookhaven, NY",
|
|
641
|
+
"KLZK": "Little Rock, AR",
|
|
642
|
+
"KHGX": "Houston, TX",
|
|
643
|
+
"TMSY": "New Orleans, LA",
|
|
644
|
+
"KDGX": "Jackson/Brandon, MS",
|
|
645
|
+
"KCTP": "Caribou, ME",
|
|
646
|
+
"KAMA": "Amarillo, TX",
|
|
647
|
+
"PGUA": "Andersen AFB, GU",
|
|
648
|
+
"KAPX": "Gaylord, MI",
|
|
649
|
+
"PAHG": "Kenai, AK",
|
|
650
|
+
"KLWX": "Sterling, VA",
|
|
651
|
+
"HWPA2": "Homer, AK",
|
|
652
|
+
"KGRK": "Fort Hood, TX",
|
|
653
|
+
"KAKQ": "Wakefield, VA",
|
|
654
|
+
"ROCO2": "Norman, OK",
|
|
655
|
+
"KCLX": "Charleston, SC",
|
|
656
|
+
"TPHX": "Phoenix, AZ",
|
|
657
|
+
"KNKX": "San Diego, CA",
|
|
658
|
+
"TDEN": "Denver, CO",
|
|
659
|
+
"TLAS": "Las Vegas, NV",
|
|
660
|
+
"KBUF": "Buffalo, NY",
|
|
661
|
+
"KTLX": "Norman, OK",
|
|
662
|
+
"KILX": "Lincoln, IL",
|
|
663
|
+
"KHDC": "Hammond, LA",
|
|
664
|
+
"KVWX": "Evansville, IN",
|
|
665
|
+
"TCLT": "Charlotte, NC",
|
|
666
|
+
"TEWR": "Newark, NJ",
|
|
667
|
+
"KFSD": "Sioux Falls, SD",
|
|
668
|
+
"KEAX": "Pleasant Hill, MO",
|
|
669
|
+
"KICX": "Cedar City, UT",
|
|
670
|
+
"KHTX": "Huntsville, AL",
|
|
671
|
+
"PACG": "Sitka, AK",
|
|
672
|
+
"KSOX": "Santa Ana Mountains, CA",
|
|
673
|
+
"TPBI": "West Palm Beach, FL",
|
|
674
|
+
"TSLC": "Salt Lake City, UT",
|
|
675
|
+
"KGLD": "Goodland, KS",
|
|
676
|
+
"TRDU": "Raleigh-Durham, NC",
|
|
677
|
+
"KATX": "Seattle, WA",
|
|
678
|
+
"TICH": "Wichita, KS",
|
|
679
|
+
"TSDF": "Louisville, KY",
|
|
680
|
+
"TBOS": "Boston, MA",
|
|
681
|
+
"TDCA": "Washington, DC",
|
|
682
|
+
"KUEX": "Grand Island, NE",
|
|
683
|
+
"TLKA2": "Talkeetna, AK",
|
|
684
|
+
"KBGM": "Binghamton, NY",
|
|
685
|
+
"TLVE": "Cleveland, OH",
|
|
686
|
+
"KCAE": "Columbia, SC",
|
|
687
|
+
"KDVN": "Quad Cities, IA",
|
|
688
|
+
"KABR": "Aberdeen, SD",
|
|
689
|
+
"KBYX": "Key West, FL",
|
|
690
|
+
"KMPX": "Minneapolis, MN",
|
|
691
|
+
"KCRP": "Corpus Christi, TX",
|
|
692
|
+
"KCBW": "Caribou, ME",
|
|
693
|
+
"KMRX": "Knoxville, TN",
|
|
694
|
+
"KSHV": "Shreveport, LA",
|
|
695
|
+
"KIWA": "Phoenix, AZ",
|
|
696
|
+
"KRGX": "Reno, NV",
|
|
697
|
+
"PHKM": "Kamuela, HI",
|
|
698
|
+
"KABX": "Albuquerque, NM",
|
|
699
|
+
"KBMX": "Birmingham, AL",
|
|
700
|
+
"TMDW": "Chicago Midway, IL",
|
|
701
|
+
"KVAX": "Moody AFB, GA",
|
|
702
|
+
"KHDX": "Holloman AFB, NM",
|
|
703
|
+
"KBRO": "Brownsville, TX",
|
|
704
|
+
"KTWX": "Topeka, KS",
|
|
705
|
+
"KRTX": "Portland, OR",
|
|
706
|
+
"KCXX": "Burlington, VT",
|
|
707
|
+
"KFCX": "Roanoke, VA",
|
|
708
|
+
"KFFC": "Atlanta, GA",
|
|
709
|
+
"KBOX": "Boston, MA",
|
|
710
|
+
"KTLH": "Tallahassee, FL",
|
|
711
|
+
"KPUX": "Pueblo, CO",
|
|
712
|
+
"KFDR": "Altus AFB, OK",
|
|
713
|
+
"KGJX": "Grand Junction, CO",
|
|
714
|
+
"KDTX": "Detroit, MI",
|
|
715
|
+
"PHWA": "Waimea, HI",
|
|
716
|
+
"KMQT": "Marquette, MI",
|
|
717
|
+
"KSJT": "San Angelo, TX",
|
|
718
|
+
"KUDX": "Rapid City, SD",
|
|
719
|
+
"TIAH": "Houston, TX",
|
|
720
|
+
"KSRX": "Fort Smith, AR",
|
|
721
|
+
"TJFK": "New York City, NY",
|
|
722
|
+
"KDDC": "Dodge City, KS",
|
|
723
|
+
"PAKC": "King Salmon, AK",
|
|
724
|
+
"PAIH": "Middleton Island, AK",
|
|
725
|
+
"RODN": "Kadena AB, JA",
|
|
726
|
+
"TBWI": "Baltimore/Washington, MD",
|
|
727
|
+
"KIWX": "Northern Indiana, IN",
|
|
728
|
+
"KFDX": "Cannon AFB, NM",
|
|
729
|
+
"TMIA": "Miami, FL",
|
|
730
|
+
"KICT": "Wichita, KS",
|
|
731
|
+
"TMKE": "Milwaukee, WI",
|
|
732
|
+
"TFLL": "Fort Lauderdale, FL",
|
|
733
|
+
"KARX": "La Crosse, WI",
|
|
734
|
+
"KLRX": "Elko, NV",
|
|
735
|
+
"KDAX": "Sacramento, CA",
|
|
736
|
+
"KGRB": "Green Bay, WI",
|
|
737
|
+
"KLGX": "Langley Hill, WA",
|
|
738
|
+
"KFTG": "Denver, CO",
|
|
739
|
+
"KMKX": "Milwaukee, WI",
|
|
740
|
+
"TTUL": "Tulsa, OK",
|
|
741
|
+
"TDFW": "Dallas/Fort Worth, TX",
|
|
742
|
+
"TTPA": "Tampa Bay, FL",
|
|
743
|
+
"TDAL": "Dallas Love Field, TX",
|
|
744
|
+
"KDFX": "Laughlin AFB, TX",
|
|
745
|
+
"KSFX": "Pocatello, ID",
|
|
746
|
+
"KMTX": "Salt Lake City, UT",
|
|
747
|
+
"PAEC": "Nome, AK",
|
|
748
|
+
"RKSG": "Camp Humphreys, KR",
|
|
749
|
+
"KOAX": "Omaha, NE",
|
|
750
|
+
"PHMO": "Molokai, HI",
|
|
751
|
+
"TDTW": "Detroit, MI",
|
|
752
|
+
"THOU": "Houston, TX",
|
|
753
|
+
"AWPA2": "Anchorage, AK",
|
|
754
|
+
"KTYX": "Fort Drum, NY",
|
|
755
|
+
"KCCX": "State College, PA",
|
|
756
|
+
"TMSP": "Minneapolis, MN",
|
|
757
|
+
"KMVX": "Grand Forks, ND",
|
|
758
|
+
"KBIS": "Bismarck, ND",
|
|
759
|
+
"KBBX": "Beale AFB, CA",
|
|
760
|
+
"KVBX": "Vandenberg AFB, CA",
|
|
761
|
+
"KPOE": "Fort Polk, LA",
|
|
762
|
+
"KMOB": "Mobile, AL",
|
|
763
|
+
"KJGX": "Robins AFB, GA",
|
|
764
|
+
"KMUX": "San Francisco, CA",
|
|
765
|
+
"TMCI": "Kansas City, MO",
|
|
766
|
+
"KLSX": "St. Louis, MO",
|
|
767
|
+
"KMAX": "Medford, OR",
|
|
768
|
+
"KRAX": "Raleigh/Durham, NC",
|
|
769
|
+
"KINX": "Tulsa, OK",
|
|
770
|
+
"RKJK": "Kunsan AB, KR",
|
|
771
|
+
"KSGF": "Springfield, MO",
|
|
772
|
+
"TDAY": "Dayton, OH",
|
|
773
|
+
"KDOX": "Dover AFB, DE",
|
|
774
|
+
"KGGW": "Glasgow, MT",
|
|
775
|
+
"KAMX": "Miami, FL",
|
|
776
|
+
"KENX": "Albany, NY",
|
|
777
|
+
"KTFX": "Great Falls, MT",
|
|
778
|
+
"KPBZ": "Pittsburgh, PA",
|
|
779
|
+
"KMAF": "Midland/Odessa, TX",
|
|
780
|
+
"KPDT": "Pendleton, OR",
|
|
781
|
+
"KLNX": "North Platte, NE",
|
|
782
|
+
"KEOX": "Fort Rucker, AL",
|
|
783
|
+
"KGSP": "Greer, SC",
|
|
784
|
+
"KHPX": "Fort Campbell, KY",
|
|
785
|
+
"KGRR": "Grand Rapids, MI",
|
|
786
|
+
"KLOT": "Chicago, IL",
|
|
787
|
+
"TPIT": "Pittsburgh, PA",
|
|
788
|
+
"KEYX": "Edwards AFB, CA",
|
|
789
|
+
"TIAD": "Dulles, VA",
|
|
790
|
+
"KFWS": "Dallas/Fort Worth, TX",
|
|
791
|
+
"KMLB": "Melbourne, FL",
|
|
792
|
+
"KMBX": "Minot AFB, ND",
|
|
793
|
+
"KDMX": "Des Moines, IA",
|
|
794
|
+
"KEVX": "Eglin AFB, FL",
|
|
795
|
+
"TBNA": "Nashville, TN",
|
|
796
|
+
"KDYX": "Dyess AFB, TX",
|
|
797
|
+
"TOKC": "Oklahoma City, OK",
|
|
798
|
+
"PHKI": "South Kauai, HI",
|
|
799
|
+
"TMCO": "Orlando, FL",
|
|
800
|
+
"KDIX": "Philadelphia, PA",
|
|
801
|
+
"TORD": "Chicago, IL",
|
|
802
|
+
"KYUX": "Yuma, AZ",
|
|
803
|
+
"KVNX": "Vance AFB, OK",
|
|
804
|
+
"TJUA": "San Juan, PR",
|
|
805
|
+
"TATL": "Atlanta, GA",
|
|
806
|
+
"KVTX": "Los Angeles, CA",
|
|
807
|
+
"KIND": "Indianapolis, IN",
|
|
808
|
+
"KCBX": "Boise, ID",
|
|
809
|
+
"KGYX": "Portland, ME",
|
|
810
|
+
"KMXX": "Maxwell AFB, AL",
|
|
811
|
+
"TSJU": "San Juan, PR",
|
|
812
|
+
"KHNX": "San Joaquin Valley, CA",
|
|
813
|
+
"KLVX": "Louisville, KY",
|
|
814
|
+
"KMSX": "Missoula, MT",
|
|
815
|
+
"KJAX": "Jacksonville, FL",
|
|
816
|
+
"KNQA": "Memphis, TN",
|
|
817
|
+
"KRIW": "Riverton/Lander, WY",
|
|
818
|
+
"TCVG": "Covington, KY",
|
|
819
|
+
"KBLX": "Billings, MT",
|
|
820
|
+
"TPHL": "Philadelphia, PA",
|
|
821
|
+
"KRLX": "Charleston, WV",
|
|
822
|
+
"TMEM": "Memphis, TN",
|
|
823
|
+
"KCLE": "Cleveland, OH",
|
|
824
|
+
"KBHX": "Eureka, CA",
|
|
825
|
+
"KLBB": "Lubbock, TX",
|
|
826
|
+
"KOTX": "Spokane, WA",
|
|
827
|
+
"KEWX": "Austin/San Antonio, TX",
|
|
828
|
+
"KGWX": "Columbus AFB, MS",
|
|
829
|
+
"KESX": "Las Vegas, NV",
|
|
830
|
+
"KTBW": "Tampa, FL",
|
|
831
|
+
"KOHX": "Nashville, TN",
|
|
832
|
+
"KLTX": "Wilmington, NC",
|
|
833
|
+
"KFSX": "Flagstaff, AZ",
|
|
834
|
+
"TIDS": "Indianapolis, IN",
|
|
835
|
+
"KILN": "Cincinnati, OH",
|
|
836
|
+
"PAFG": "Fairbanks, AK",
|
|
837
|
+
"KPQR": "Portland, OR",
|
|
838
|
+
"KILM": "Wilmington, NC",
|
|
839
|
+
"KEKA": "Eureka, CA",
|
|
840
|
+
"KCHS": "Charleston, SC",
|
|
841
|
+
"KPHI": "Philadelphia/Mt. Holly, NJ",
|
|
842
|
+
"KUNR": "Rapid City, SD",
|
|
843
|
+
"KMFL": "Miami, FL",
|
|
844
|
+
"TJSJ": "San Juan, PR",
|
|
845
|
+
"KFGF": "Grand Forks, ND",
|
|
846
|
+
"KSEW": "Seattle, WA",
|
|
847
|
+
"PAFC": "Anchorage, AK",
|
|
848
|
+
"KLMK": "Louisville, KY",
|
|
849
|
+
"PHFO": "Honolulu, HI",
|
|
850
|
+
"KLIX": "New Orleans/Baton Rouge, LA",
|
|
851
|
+
"KBOI": "Boise, ID",
|
|
852
|
+
"KPIH": "Pocatello, ID",
|
|
853
|
+
"KMTR": "San Francisco/Monterey, CA",
|
|
854
|
+
"KGJT": "Grand Junction, CO",
|
|
855
|
+
"PAAQ": "Anchorage, AK",
|
|
856
|
+
"KABQ": "Albuquerque, NM",
|
|
857
|
+
"KTAE": "Tallahassee, FL",
|
|
858
|
+
"KCAR": "Caribou, ME",
|
|
859
|
+
"KMFR": "Medford, OR",
|
|
860
|
+
"PGUM": "Guam, GU",
|
|
861
|
+
"PAJK": "Juneau, AK"
|
|
862
|
+
};
|
|
863
|
+
|
|
864
|
+
// src/bootstrap.ts
|
|
865
|
+
var packages = {
|
|
866
|
+
fs,
|
|
867
|
+
path,
|
|
868
|
+
events,
|
|
869
|
+
xmpp,
|
|
870
|
+
shapefile,
|
|
871
|
+
xml2js,
|
|
872
|
+
sqlite3: import_better_sqlite3.default,
|
|
873
|
+
cron,
|
|
874
|
+
axios: import_axios.default,
|
|
875
|
+
crypto: import_crypto.default,
|
|
876
|
+
os: import_os.default,
|
|
877
|
+
say: import_say.default
|
|
878
|
+
};
|
|
879
|
+
var cache = {
|
|
880
|
+
isReady: true,
|
|
881
|
+
sigHalt: false,
|
|
882
|
+
isConnected: false,
|
|
883
|
+
attemptingReconnect: false,
|
|
884
|
+
totalReconnects: 0,
|
|
885
|
+
lastStanza: null,
|
|
886
|
+
session: null,
|
|
887
|
+
lastConnect: null,
|
|
888
|
+
db: null,
|
|
889
|
+
events: new events.EventEmitter(),
|
|
890
|
+
isProcessingAudioQueue: false,
|
|
891
|
+
audioQueue: []
|
|
892
|
+
};
|
|
893
|
+
var settings = {
|
|
894
|
+
database: path.join(process.cwd(), "shapefiles.db"),
|
|
895
|
+
isNWWS: true,
|
|
896
|
+
NoaaWeatherWireService: {
|
|
897
|
+
clientReconnections: {
|
|
898
|
+
canReconnect: true,
|
|
899
|
+
currentInterval: 60
|
|
900
|
+
},
|
|
901
|
+
clientCredentials: {
|
|
902
|
+
username: null,
|
|
903
|
+
password: null,
|
|
904
|
+
nickname: "AtmosphericX Standalone Parser"
|
|
905
|
+
},
|
|
906
|
+
cache: {
|
|
907
|
+
read: false,
|
|
908
|
+
maxSizeMB: 5,
|
|
909
|
+
maxHistory: 5e3,
|
|
910
|
+
directory: null
|
|
911
|
+
},
|
|
912
|
+
alertPreferences: {
|
|
913
|
+
isCapOnly: false,
|
|
914
|
+
isShapefileUGC: false
|
|
915
|
+
}
|
|
916
|
+
},
|
|
917
|
+
NationalWeatherService: {
|
|
918
|
+
checkInterval: 15,
|
|
919
|
+
endpoint: "https://api.weather.gov/alerts/active"
|
|
920
|
+
},
|
|
921
|
+
global: {
|
|
922
|
+
useParentEvents: true,
|
|
923
|
+
betterEventParsing: true,
|
|
924
|
+
alertFiltering: {
|
|
925
|
+
filteredEvents: [],
|
|
926
|
+
filteredICOAs: [],
|
|
927
|
+
ignoredICOAs: [`KWNS`],
|
|
928
|
+
ignoredEvents: [`Unknown`, `Test Message`],
|
|
929
|
+
ugcFilter: [],
|
|
930
|
+
stateFilter: [],
|
|
931
|
+
checkExpired: true
|
|
932
|
+
},
|
|
933
|
+
easSettings: {
|
|
934
|
+
easAlerts: [],
|
|
935
|
+
easDirectory: null,
|
|
936
|
+
easIntroWav: null
|
|
937
|
+
}
|
|
938
|
+
}
|
|
939
|
+
};
|
|
940
|
+
var definitions = {
|
|
941
|
+
events: EVENTS,
|
|
942
|
+
actions: ACTIONS,
|
|
943
|
+
status: STATUS,
|
|
944
|
+
productTypes: TYPES,
|
|
945
|
+
correlations: STATUS_CORRELATIONS,
|
|
946
|
+
offshore: OFFSHORE,
|
|
947
|
+
awips: AWIPS,
|
|
948
|
+
cancelSignatures: CANCEL_SIGNATURES,
|
|
949
|
+
messageSignatures: MESSAGE_SIGNATURES,
|
|
950
|
+
tags: TAGS,
|
|
951
|
+
ICAO: ICAOs,
|
|
952
|
+
enhancedEvents: [
|
|
953
|
+
{ "Tornado Warning": {
|
|
954
|
+
"Tornado Emergency": { description: "tornado emergency", condition: (tornadoThreatTag) => tornadoThreatTag === "OBSERVED" },
|
|
955
|
+
"PDS Tornado Warning": { description: "particularly dangerous situation", condition: (damageThreatTag) => damageThreatTag === "CONSIDERABLE" },
|
|
956
|
+
"Confirmed Tornado Warning": { condition: (tornadoThreatTag) => tornadoThreatTag === "OBSERVED" },
|
|
957
|
+
"Radar Indicated Tornado Warning": { condition: (tornadoThreatTag) => tornadoThreatTag !== "OBSERVED" }
|
|
958
|
+
} },
|
|
959
|
+
{ "Tornado Watch": {
|
|
960
|
+
"PDS Tornado Watch": { description: "particularly dangerous situation" }
|
|
961
|
+
} },
|
|
962
|
+
{ "Flash Flood Warning": {
|
|
963
|
+
"Flash Flood Emergency": { description: "flash flood emergency" },
|
|
964
|
+
"Considerable Flash Flood Warning": { condition: (damageThreatTag) => damageThreatTag === "CONSIDERABLE" }
|
|
965
|
+
} },
|
|
966
|
+
{ "Severe Thunderstorm Warning": {
|
|
967
|
+
"EDS Severe Thunderstorm Warning": { description: "extremely dangerous situation" },
|
|
968
|
+
"Destructive Severe Thunderstorm Warning": { condition: (damageThreatTag) => damageThreatTag === "DESTRUCTIVE" },
|
|
969
|
+
"Considerable Severe Thunderstorm Warning": { condition: (damageThreatTag) => damageThreatTag === "CONSIDERABLE" }
|
|
970
|
+
} }
|
|
971
|
+
],
|
|
972
|
+
expressions: {
|
|
973
|
+
vtec: `[OTEX].(NEW|CON|EXT|EXA|EXB|UPG|CAN|EXP|COR|ROU).[A-Z]{4}.[A-Z]{2}.[WAYSFON].[0-9]{4}.[0-9]{6}T[0-9]{4}Z-[0-9]{6}T[0-9]{4}Z`,
|
|
974
|
+
wmo: `[A-Z0-9]{6}\\s[A-Z]{4}\\s\\d{6}`,
|
|
975
|
+
ugc1: `(\\w{2}[CZ](\\d{3}((-|>)\\s?(
|
|
976
|
+
|
|
977
|
+
)?))+)`,
|
|
978
|
+
ugc2: `(\\d{6}(-|>)\\s?(
|
|
979
|
+
|
|
980
|
+
)?)`,
|
|
981
|
+
ugc3: `(\\d{6})(?=-|$)`,
|
|
982
|
+
dateline: `/d{3,4}s*(AM|PM)?s*[A-Z]{2,4}s+[A-Z]{3,}s+[A-Z]{3,}s+d{1,2}s+d{4}`,
|
|
983
|
+
wmoID: `[A-Z0-9]{2}([A-Z]{3})`
|
|
984
|
+
},
|
|
985
|
+
shapefiles: [
|
|
986
|
+
{ id: `C`, file: `USCounties` },
|
|
987
|
+
{ id: `Z`, file: `ForecastZones` },
|
|
988
|
+
{ id: `Z`, file: `FireZones` },
|
|
989
|
+
{ id: `Z`, file: `OffShoreZones` },
|
|
990
|
+
{ id: `Z`, file: `FireCounties` },
|
|
991
|
+
{ id: `Z`, file: `Marine` }
|
|
992
|
+
],
|
|
993
|
+
messages: {
|
|
994
|
+
shapefile_creation: `[NOTICE] DO NOT CLOSE THIS PROJECT UNTIL THE SHAPEFILES ARE DONE COMPLETING!
|
|
995
|
+
THIS COULD TAKE A WHILE DEPENDING ON THE SPEED OF YOUR STORAGE!!
|
|
996
|
+
IF YOU CLOSE YOUR PROJECT, THE SHAPEFILES WILL NOT BE CREATED AND YOU WILL NEED TO DELETE ${settings.database} AND RESTART TO CREATE THEM AGAIN!`,
|
|
997
|
+
shapefile_creation_finished: `[NOTICE] SHAPEFILES HAVE BEEN SUCCESSFULLY CREATED AND THE DATABASE IS READY FOR USE!`,
|
|
998
|
+
not_ready: "[ERROR] You can NOT create another instance without shutting down the current one first, please make sure to call the stop() method first!",
|
|
999
|
+
invalid_nickname: "[WARNING] The nickname you provided is invalid, please provide a valid nickname to continue.",
|
|
1000
|
+
eas_no_directory: "[WARNING] You have not set a directory for EAS audio files to be saved to, please set the 'easDirectory' setting in the global settings to enable EAS audio generation."
|
|
1001
|
+
}
|
|
1002
|
+
};
|
|
1003
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
1004
|
+
0 && (module.exports = {
|
|
1005
|
+
cache,
|
|
1006
|
+
definitions,
|
|
1007
|
+
packages,
|
|
1008
|
+
settings
|
|
1009
|
+
});
|