@atmosx/event-product-parser 2.0.1
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 +269 -0
- package/dist/cjs/index.cjs +7554 -0
- package/dist/esm/index.mjs +7542 -0
- package/dist/index.d.mts +1024 -0
- package/dist/index.d.ts +1024 -0
- package/package.json +55 -0
- package/src/@dictionaries/awips.ts +358 -0
- package/src/@dictionaries/events.ts +168 -0
- package/src/@dictionaries/icao.ts +250 -0
- package/src/@dictionaries/signatures.ts +139 -0
- package/src/@parsers/@events/api.ts +146 -0
- package/src/@parsers/@events/cap.ts +123 -0
- package/src/@parsers/@events/text.ts +104 -0
- package/src/@parsers/@events/ugc.ts +107 -0
- package/src/@parsers/@events/vtec.ts +76 -0
- package/src/@parsers/events.ts +392 -0
- package/src/@parsers/hvtec.ts +46 -0
- package/src/@parsers/pvtec.ts +72 -0
- package/src/@parsers/stanza.ts +97 -0
- package/src/@parsers/text.ts +165 -0
- package/src/@parsers/ugc.ts +247 -0
- package/src/@submodules/database.ts +162 -0
- package/src/@submodules/eas.ts +490 -0
- package/src/@submodules/utils.ts +222 -0
- package/src/@submodules/xmpp.ts +142 -0
- package/src/bootstrap.ts +190 -0
- package/src/index.ts +218 -0
- package/src/types.ts +259 -0
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@atmosx/event-product-parser",
|
|
3
|
+
"version": "2.0.01",
|
|
4
|
+
"description": "NOAA Weather Wire & NWS API Parser - Built for standalone and Project AtmosphericX Integration.",
|
|
5
|
+
"main": "dist/cjs/index.cjs",
|
|
6
|
+
"module": "dist/esm/index.mjs",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"files": [
|
|
9
|
+
"dist/**/*",
|
|
10
|
+
"src/**/*"
|
|
11
|
+
],
|
|
12
|
+
"repository": {
|
|
13
|
+
"type": "git",
|
|
14
|
+
"url": "git+https://github.com/AtmosphericX/event-product-parser",
|
|
15
|
+
"branch": "beta"
|
|
16
|
+
},
|
|
17
|
+
"scripts": {
|
|
18
|
+
"start": "cd ./test && node ./index.js",
|
|
19
|
+
"build": "tsup && cd ./test && node ./index.js",
|
|
20
|
+
"publish": "tsup && npm publish --access public",
|
|
21
|
+
"publish-beta": "tsup && npm publish --tag beta --access public"
|
|
22
|
+
},
|
|
23
|
+
"keywords": [
|
|
24
|
+
"NWWS",
|
|
25
|
+
"NOAA Weather Wire Service",
|
|
26
|
+
"TypeScript",
|
|
27
|
+
"XMPP",
|
|
28
|
+
"Parser",
|
|
29
|
+
"JavaScript",
|
|
30
|
+
"CommonJS",
|
|
31
|
+
"ESM"
|
|
32
|
+
],
|
|
33
|
+
"author": "k3yomi, StarflightWx",
|
|
34
|
+
"license": "MIT",
|
|
35
|
+
"bugs": {
|
|
36
|
+
"url": "https://github.com/AtmosphericX/event-product-parser/issues"
|
|
37
|
+
},
|
|
38
|
+
"homepage": "https://github.com/AtmosphericX/event-product-parser#readme",
|
|
39
|
+
"dependencies": {
|
|
40
|
+
"@xmpp/client": "0.14.0",
|
|
41
|
+
"axios": "1.13.2",
|
|
42
|
+
"better-sqlite3": "11.10.0",
|
|
43
|
+
"croner": "10.0.1",
|
|
44
|
+
"jszip": "3.10.1",
|
|
45
|
+
"polygon-clipping": "0.15.7",
|
|
46
|
+
"say": "0.16.0",
|
|
47
|
+
"shapefile": "0.6.6",
|
|
48
|
+
"typescript": "5.9.3",
|
|
49
|
+
"xml2js": "0.6.2"
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/node": "25.2.0",
|
|
53
|
+
"tsup": "8.5.1"
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
/*
|
|
2
|
+
_ _ __ __
|
|
3
|
+
/\ | | | | (_) \ \ / /
|
|
4
|
+
/ \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
|
|
5
|
+
/ /\ \| __| "_ ` _ \ / _ \/ __| "_ \| "_ \ / _ \ "__| |/ __| > <
|
|
6
|
+
/ ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
|
|
7
|
+
/_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
|
|
8
|
+
| |
|
|
9
|
+
|_|
|
|
10
|
+
|
|
11
|
+
Written by: KiyoWx (k3yomi)
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export const awips: Record<string, string> = {
|
|
15
|
+
ABV: `rawinsonde-data-above-100-millibars`,
|
|
16
|
+
ADA: `alarm-alert-administrative-message`,
|
|
17
|
+
ADM: `alert-administrative-message`,
|
|
18
|
+
ADR: `nws-administrative-message`,
|
|
19
|
+
ADV: `space-environment-advisory`,
|
|
20
|
+
AFD: `area-forecast-discussion`,
|
|
21
|
+
AFM: `area-forecast-matrices`,
|
|
22
|
+
AFP: `area-forecast-product`,
|
|
23
|
+
AFW: `fire-weather-matrix`,
|
|
24
|
+
AGF: `agricultural-forecast`,
|
|
25
|
+
AGO: `agricultural-observations`,
|
|
26
|
+
ALT: `space-environment-alert`,
|
|
27
|
+
AQA: `air-quality-alert`,
|
|
28
|
+
AQI: `air-quality-index-statement`,
|
|
29
|
+
ASA: `air-stagnation-advisory`,
|
|
30
|
+
AVA: `avalanche-watch`,
|
|
31
|
+
AVG: `avalanche-weather-guidance`,
|
|
32
|
+
AVW: `avalanche-warning`,
|
|
33
|
+
AWO: `area-weather-outlook`,
|
|
34
|
+
AWS: `area-weather-summary`,
|
|
35
|
+
AWU: `area-weather-update`,
|
|
36
|
+
AWW: `airport-weather-warning`,
|
|
37
|
+
BLU: `blue-alert`,
|
|
38
|
+
BOY: `buoy-report`,
|
|
39
|
+
BRG: `coast-guard-observations`,
|
|
40
|
+
BRT: `hourly-roundup-for-weather-radio`,
|
|
41
|
+
CAE: `child-abduction-emergency`,
|
|
42
|
+
CCF: `coded-city-forecast`,
|
|
43
|
+
CDW: `civil-danger-warning`,
|
|
44
|
+
CEM: `civil-emergency-message`,
|
|
45
|
+
CF6: `monthly-daily-climate-data`,
|
|
46
|
+
CFP: `convective-forecast-product`,
|
|
47
|
+
CFW: `coastal-flood-warnings-watches-statements`,
|
|
48
|
+
CGR: `coast-guard-surface-report`,
|
|
49
|
+
CHG: `computer-hurricane-guidance`,
|
|
50
|
+
CLA: `climatological-report-annual`,
|
|
51
|
+
CLI: `climatological-report-daily`,
|
|
52
|
+
CLM: `climatological-report-monthly`,
|
|
53
|
+
CLQ: `climatological-report-quarterly`,
|
|
54
|
+
CLS: `climatological-report-seasonal`,
|
|
55
|
+
CLT: `climate-report`,
|
|
56
|
+
CMM: `coded-climatological-monthly-means`,
|
|
57
|
+
COD: `coded-analysis-and-forecasts`,
|
|
58
|
+
CPF: `great-lakes-port-forecast`,
|
|
59
|
+
CUR: `space-environment-products-routine`,
|
|
60
|
+
CWA: `center-weather-advisory`,
|
|
61
|
+
CWF: `coastal-waters-forecast`,
|
|
62
|
+
CWS: `center-weather-statement`,
|
|
63
|
+
DAY: `space-environment-product-daily`,
|
|
64
|
+
DDO: `daily-dispersion-outlook`,
|
|
65
|
+
DGT: `drought-information-statement`,
|
|
66
|
+
DMO: `practice-demo-warning`,
|
|
67
|
+
DSA: `unnumbered-depression-advisory`,
|
|
68
|
+
DSM: `asos-daily-summary`,
|
|
69
|
+
DSW: `dust-storm-warning`,
|
|
70
|
+
EFP: `extended-forecast-3-to-5-day`,
|
|
71
|
+
EOL: `six-to-ten-day-weather-outlook-local`,
|
|
72
|
+
EQI: `tsunami-bulletin`,
|
|
73
|
+
EQR: `earthquake-report`,
|
|
74
|
+
EQW: `earthquake-warning`,
|
|
75
|
+
ESF: `flood-potential-outlook`,
|
|
76
|
+
ESG: `extended-streamflow-guidance`,
|
|
77
|
+
ESP: `extended-streamflow-prediction`,
|
|
78
|
+
ESS: `water-supply-outlook`,
|
|
79
|
+
EVI: `evacuation-immediate`,
|
|
80
|
+
EWW: `extreme-wind-warning`,
|
|
81
|
+
FA0: `aviation-area-forecast-pacific`,
|
|
82
|
+
FA1: `aviation-area-forecast-northeast`,
|
|
83
|
+
FA2: `aviation-area-forecast-southeast`,
|
|
84
|
+
FA3: `aviation-area-forecast-north-central`,
|
|
85
|
+
FA4: `aviation-area-forecast-south-central`,
|
|
86
|
+
FA5: `aviation-area-forecast-rocky-mountains`,
|
|
87
|
+
FA6: `aviation-area-forecast-west-coast`,
|
|
88
|
+
FA7: `aviation-area-forecast-juneau-ak`,
|
|
89
|
+
FA8: `aviation-area-forecast-anchorage-ak`,
|
|
90
|
+
FA9: `aviation-area-forecast-fairbanks-ak`,
|
|
91
|
+
FD0: `winds-aloft-forecast-24hr-high-altitude`,
|
|
92
|
+
FD1: `winds-aloft-forecast-6hr`,
|
|
93
|
+
FD2: `winds-aloft-forecast-12hr`,
|
|
94
|
+
FD3: `winds-aloft-forecast-24hr`,
|
|
95
|
+
FD4: `winds-aloft-forecast`,
|
|
96
|
+
FD5: `winds-aloft-forecast`,
|
|
97
|
+
FD6: `winds-aloft-forecast`,
|
|
98
|
+
FD7: `winds-aloft-forecast`,
|
|
99
|
+
FD8: `winds-aloft-forecast-6hr-high-altitude`,
|
|
100
|
+
FD9: `winds-aloft-forecast-12hr-high-altitude`,
|
|
101
|
+
FDI: `fire-danger-indices`,
|
|
102
|
+
FFA: `flash-flood-watch`,
|
|
103
|
+
FFG: `flash-flood-guidance`,
|
|
104
|
+
FFH: `headwater-guidance`,
|
|
105
|
+
FFS: `flash-flood-statement`,
|
|
106
|
+
FFW: `flash-flood-warning`,
|
|
107
|
+
FLN: `national-flood-summary`,
|
|
108
|
+
FLS: `flood-statement`,
|
|
109
|
+
FLW: `flood-warning`,
|
|
110
|
+
FOF: `upper-wind-fallout-forecast`,
|
|
111
|
+
FRW: `fire-warning`,
|
|
112
|
+
FSH: `marine-fisheries-service-message`,
|
|
113
|
+
FTM: `radar-outage-notification`,
|
|
114
|
+
FTP: `temp-pop-guidance`,
|
|
115
|
+
FWA: `fire-weather-administrative-message`,
|
|
116
|
+
FWD: `fire-weather-outlook-discussion`,
|
|
117
|
+
FWF: `fire-weather-forecast`,
|
|
118
|
+
FWL: `land-management-forecast`,
|
|
119
|
+
FWM: `miscellaneous-fire-weather-product`,
|
|
120
|
+
FWN: `fire-weather-notification`,
|
|
121
|
+
FWO: `fire-weather-observation`,
|
|
122
|
+
FWS: `fire-weather-spot-forecast`,
|
|
123
|
+
FZL: `freezing-level-data`,
|
|
124
|
+
GLF: `great-lakes-forecast`,
|
|
125
|
+
GLS: `great-lakes-storm-summary`,
|
|
126
|
+
GRE: `green`,
|
|
127
|
+
HD1: `rfc-qpf-data-product`,
|
|
128
|
+
HD2: `rfc-qpf-data-product`,
|
|
129
|
+
HD3: `rfc-qpf-data-product`,
|
|
130
|
+
HD4: `rfc-qpf-data-product`,
|
|
131
|
+
HD7: `rfc-qpf-data-product`,
|
|
132
|
+
HD8: `rfc-qpf-data-product`,
|
|
133
|
+
HD9: `rfc-qpf-data-product`,
|
|
134
|
+
HLS: `hurricane-local-statement`,
|
|
135
|
+
HMD: `hydrometeorological-discussion`,
|
|
136
|
+
HML: `ahps-xml-product`,
|
|
137
|
+
HMW: `hazardous-materials-warning`,
|
|
138
|
+
HP1: `rfc-qpf-verification-product`,
|
|
139
|
+
HP2: `rfc-qpf-verification-product`,
|
|
140
|
+
HP3: `rfc-qpf-verification-product`,
|
|
141
|
+
HP4: `rfc-qpf-verification-product`,
|
|
142
|
+
HP5: `rfc-qpf-verification-product`,
|
|
143
|
+
HP6: `rfc-qpf-verification-product`,
|
|
144
|
+
HP7: `rfc-qpf-verification-product`,
|
|
145
|
+
HP8: `rfc-qpf-verification-product`,
|
|
146
|
+
HRR: `weather-roundup`,
|
|
147
|
+
HSF: `high-seas-forecast`,
|
|
148
|
+
HWO: `hazardous-weather-outlook`,
|
|
149
|
+
HWR: `hourly-weather-roundup`,
|
|
150
|
+
HYD: `daily-hydrometeorological-products`,
|
|
151
|
+
HYM: `monthly-hydrometeorological-product`,
|
|
152
|
+
ICE: `ice-forecast`,
|
|
153
|
+
IDM: `ice-drift-vectors`,
|
|
154
|
+
INI: `administrative-message`,
|
|
155
|
+
IOB: `ice-observation`,
|
|
156
|
+
KPA: `keep-alive-message`,
|
|
157
|
+
LAE: `local-area-emergency`,
|
|
158
|
+
LCD: `preliminary-local-climatological-data`,
|
|
159
|
+
LCO: `local-cooperative-observation`,
|
|
160
|
+
LEW: `law-enforcement-warning`,
|
|
161
|
+
LFP: `local-forecast`,
|
|
162
|
+
LKE: `lake-stages`,
|
|
163
|
+
LLS: `low-level-sounding`,
|
|
164
|
+
LOW: `low-temperatures`,
|
|
165
|
+
LSR: `local-storm-report`,
|
|
166
|
+
LTG: `lightning-data`,
|
|
167
|
+
MAN: `rawinsonde-mandatory-levels`,
|
|
168
|
+
MAP: `mean-areal-precipitation`,
|
|
169
|
+
MAW: `amended-marine-forecast`,
|
|
170
|
+
MFM: `marine-forecast-matrix`,
|
|
171
|
+
MIM: `marine-interpretation-message`,
|
|
172
|
+
MIS: `miscellaneous-local-product`,
|
|
173
|
+
MOB: `marine-observations`,
|
|
174
|
+
MON: `space-environment-product-monthly`,
|
|
175
|
+
MRP: `marine-product-techniques-development`,
|
|
176
|
+
MSM: `asos-monthly-summary-message`,
|
|
177
|
+
MTR: `metar-observation`,
|
|
178
|
+
MTT: `metar-test-message`,
|
|
179
|
+
MVF: `marine-verification-coded-message`,
|
|
180
|
+
MWS: `marine-weather-statement`,
|
|
181
|
+
MWW: `marine-weather-message`,
|
|
182
|
+
NOU: `weather-reconnaissance-flights`,
|
|
183
|
+
NOW: `short-term-forecast`,
|
|
184
|
+
NOX: `data-management-message`,
|
|
185
|
+
NPW: `non-precipitation-warning`,
|
|
186
|
+
NSH: `nearshore-marine-forecast`,
|
|
187
|
+
NUW: `nuclear-power-plant-warning`,
|
|
188
|
+
NWR: `noaa-weather-radio-forecast`,
|
|
189
|
+
OAV: `other-aviation-products`,
|
|
190
|
+
OBS: `observations`,
|
|
191
|
+
OFA: `offshore-aviation-forecast`,
|
|
192
|
+
OFF: `offshore-forecast`,
|
|
193
|
+
OMR: `other-marine-products`,
|
|
194
|
+
OPU: `other-public-products`,
|
|
195
|
+
OSO: `other-surface-observations`,
|
|
196
|
+
OSW: `ocean-surface-winds`,
|
|
197
|
+
OUA: `other-upper-air-data`,
|
|
198
|
+
OZF: `zone-forecast`,
|
|
199
|
+
PFM: `point-forecast-matrices`,
|
|
200
|
+
PFW: `fire-weather-point-forecast-matrices`,
|
|
201
|
+
PLS: `plain-language-ship-report`,
|
|
202
|
+
PMD: `prognostic-meteorological-discussion`,
|
|
203
|
+
PNS: `public-information-statement`,
|
|
204
|
+
POE: `probability-of-exceedance`,
|
|
205
|
+
PRB: `heat-index-forecast-tables`,
|
|
206
|
+
PRC: `pilot-report-collective`,
|
|
207
|
+
PRE: `preliminary-forecasts`,
|
|
208
|
+
PSH: `post-storm-hurricane-report`,
|
|
209
|
+
PTS: `probabilistic-outlook-points`,
|
|
210
|
+
PWO: `public-severe-weather-outlook`,
|
|
211
|
+
PWS: `tropical-cyclone-probabilities`,
|
|
212
|
+
QPF: `quantitative-precipitation-forecast`,
|
|
213
|
+
QPS: `quantitative-precipitation-statement`,
|
|
214
|
+
RDF: `revised-digital-forecast`,
|
|
215
|
+
REC: `recreational-report`,
|
|
216
|
+
RER: `record-report`,
|
|
217
|
+
RET: `eas-activation-request`,
|
|
218
|
+
RFD: `rangeland-fire-danger-forecast`,
|
|
219
|
+
RFI: `rfi-observation`,
|
|
220
|
+
RFR: `route-forecast`,
|
|
221
|
+
RFW: `red-flag-warning`,
|
|
222
|
+
RHW: `radiological-hazard-warning`,
|
|
223
|
+
RMT: `required-monthly-test`,
|
|
224
|
+
RNS: `rain-information-statement`,
|
|
225
|
+
RR1: `hydro-met-data-report-part-1`,
|
|
226
|
+
RR2: `hydro-met-data-report-part-2`,
|
|
227
|
+
RR3: `hydro-met-data-report-part-3`,
|
|
228
|
+
RR4: `hydro-met-data-report-part-4`,
|
|
229
|
+
RR5: `hydro-met-data-report-part-5`,
|
|
230
|
+
RR6: `hydro-met-data-report-part-6`,
|
|
231
|
+
RR7: `hydro-met-data-report-part-7`,
|
|
232
|
+
RR8: `hydro-met-data-report-part-8`,
|
|
233
|
+
RR9: `hydro-met-data-report-part-9`,
|
|
234
|
+
RRA: `automated-hydrologic-observation-report`,
|
|
235
|
+
RRM: `miscellaneous-hydrologic-data`,
|
|
236
|
+
RRS: `hads-data`,
|
|
237
|
+
RRY: `asos-hourly-test-message`,
|
|
238
|
+
RSD: `daily-snotel-data`,
|
|
239
|
+
RSM: `monthly-snotel-data`,
|
|
240
|
+
RTP: `regional-temp-precip-table`,
|
|
241
|
+
RVA: `river-summary`,
|
|
242
|
+
RVD: `daily-river-forecast`,
|
|
243
|
+
RVF: `river-forecast`,
|
|
244
|
+
RVI: `river-ice-statement`,
|
|
245
|
+
RVM: `miscellaneous-river-product`,
|
|
246
|
+
RVR: `river-recreation-statement`,
|
|
247
|
+
RVS: `river-statement`,
|
|
248
|
+
RWR: `regional-weather-roundup`,
|
|
249
|
+
RWS: `regional-weather-summary`,
|
|
250
|
+
RWT: `required-weekly-test`,
|
|
251
|
+
SAB: `special-avalanche-bulletin`,
|
|
252
|
+
SAF: `agricultural-weather-forecast`,
|
|
253
|
+
SAG: `snow-avalanche-guidance`,
|
|
254
|
+
SAT: `apt-prediction`,
|
|
255
|
+
SAW: `preliminary-notice-of-watch`,
|
|
256
|
+
SCC: `storm-summary`,
|
|
257
|
+
SCD: `supplementary-climatological-data`,
|
|
258
|
+
SCN: `soil-climate-analysis-network`,
|
|
259
|
+
SCP: `satellite-cloud-product`,
|
|
260
|
+
SCS: `selected-cities-summary`,
|
|
261
|
+
SDO: `supplementary-data-observation`,
|
|
262
|
+
SDS: `special-dispersion-statement`,
|
|
263
|
+
SEL: `severe-local-storm-watch`,
|
|
264
|
+
SEV: `spc-watch-point-information`,
|
|
265
|
+
SFP: `state-forecast`,
|
|
266
|
+
SFT: `tabular-state-forecast`,
|
|
267
|
+
SGL: `rawinsonde-significant-levels`,
|
|
268
|
+
SHP: `surface-ship-report`,
|
|
269
|
+
SIG: `international-sigmet`,
|
|
270
|
+
SIM: `satellite-interpretation-message`,
|
|
271
|
+
SLS: `severe-local-storm-outline`,
|
|
272
|
+
SMF: `smoke-management-weather-forecast`,
|
|
273
|
+
SMW: `special-marine-warning`,
|
|
274
|
+
SOO: `science-operations-officer-product`,
|
|
275
|
+
SPE: `satellite-precipitation-estimates`,
|
|
276
|
+
SPF: `storm-strike-probability-bulletin`,
|
|
277
|
+
SPS: `special-weather-statement`,
|
|
278
|
+
SPW: `shelter-in-place-warning`,
|
|
279
|
+
SQW: `snow-squall-warning`,
|
|
280
|
+
SRD: `surf-discussion`,
|
|
281
|
+
SRF: `surf-forecast`,
|
|
282
|
+
SRG: `soaring-guidance`,
|
|
283
|
+
SSM: `synoptic-surface-observation`,
|
|
284
|
+
STA: `weather-statistical-summary`,
|
|
285
|
+
STD: `satellite-tropical-disturbance-summary`,
|
|
286
|
+
STO: `road-condition-report`,
|
|
287
|
+
STP: `state-temp-precip-table`,
|
|
288
|
+
STQ: `spot-forecast-request`,
|
|
289
|
+
SUM: `space-weather-message`,
|
|
290
|
+
SVR: `severe-thunderstorm-warning`,
|
|
291
|
+
SVS: `severe-weather-statement`,
|
|
292
|
+
SWOMCD: `mesoscale-discussion`,
|
|
293
|
+
SWODY1: `day-1`,
|
|
294
|
+
SWODY2: `day-2`,
|
|
295
|
+
SWODY3: `day-3`,
|
|
296
|
+
SWS: `state-weather-summary`,
|
|
297
|
+
SYN: `regional-weather-synopsis`,
|
|
298
|
+
TAF: `terminal-aerodrome-forecast`,
|
|
299
|
+
TAP: `terminal-alerting-products`,
|
|
300
|
+
TAV: `travelers-forecast-table`,
|
|
301
|
+
TCA: `tropical-cyclone-advisory`,
|
|
302
|
+
TCD: `tropical-cyclone-discussion`,
|
|
303
|
+
TCE: `tropical-cyclone-position-estimate`,
|
|
304
|
+
TCM: `tropical-cyclone-marine-aviation-advisory`,
|
|
305
|
+
TCP: `public-tropical-cyclone-advisory`,
|
|
306
|
+
TCS: `satellite-tropical-cyclone-summary`,
|
|
307
|
+
TCU: `tropical-cyclone-update`,
|
|
308
|
+
TCV: `tropical-cyclone-break-points`,
|
|
309
|
+
TIB: `tsunami-bulletin`,
|
|
310
|
+
TID: `tide-report`,
|
|
311
|
+
TMA: `tsunami-tide-seismic-acknowledgement`,
|
|
312
|
+
TOE: `telephone-outage-emergency`,
|
|
313
|
+
TOR: `tornado-warning`,
|
|
314
|
+
TPT: `temperature-precipitation-table`,
|
|
315
|
+
TSU: `tsunami-watch-warning`,
|
|
316
|
+
TUV: `ultraviolet-index`,
|
|
317
|
+
TVL: `travelers-forecast`,
|
|
318
|
+
TWB: `transcribed-weather-broadcast`,
|
|
319
|
+
TWD: `tropical-weather-discussion`,
|
|
320
|
+
TWO: `tropical-weather-outlook`,
|
|
321
|
+
TWS: `tropical-weather-summary`,
|
|
322
|
+
URN: `aircraft-reconnaissance`,
|
|
323
|
+
UVI: `ultraviolet-index`,
|
|
324
|
+
VAA: `volcanic-activity-advisory`,
|
|
325
|
+
VER: `forecast-verification-statistics`,
|
|
326
|
+
VFT: `taf-verification-product`,
|
|
327
|
+
VOW: `volcano-warning`,
|
|
328
|
+
WA0: `airmet-pacific`,
|
|
329
|
+
WA1: `airmet-northeast`,
|
|
330
|
+
WA2: `airmet-southeast`,
|
|
331
|
+
WA3: `airmet-north-central`,
|
|
332
|
+
WA4: `airmet-south-central`,
|
|
333
|
+
WA5: `airmet-rocky-mountains`,
|
|
334
|
+
WA6: `airmet-west-coast`,
|
|
335
|
+
WA7: `airmet-juneau-ak`,
|
|
336
|
+
WA8: `airmet-anchorage-ak`,
|
|
337
|
+
WA9: `airmet-fairbanks-ak`,
|
|
338
|
+
WAR: `space-environment-warning`,
|
|
339
|
+
WAT: `space-environment-watch`,
|
|
340
|
+
WCN: `weather-watch-clearance-notification`,
|
|
341
|
+
WCR: `weekly-weather-and-crop-report`,
|
|
342
|
+
WDA: `weekly-data-for-agriculture`,
|
|
343
|
+
WDU: `warning-decision-update`,
|
|
344
|
+
WEK: `space-environment-product-weekly`,
|
|
345
|
+
WOU: `watch-outline-update`,
|
|
346
|
+
WS1: `sigmet-northeast`,
|
|
347
|
+
WS2: `sigmet-southeast`,
|
|
348
|
+
WS3: `sigmet-north-central`,
|
|
349
|
+
WS4: `sigmet-south-central`,
|
|
350
|
+
WS5: `sigmet-rocky-mountains`,
|
|
351
|
+
WS6: `sigmet-west-coast`,
|
|
352
|
+
WST: `tropical-cyclone-sigmet`,
|
|
353
|
+
WSV: `volcanic-activity-sigmet`,
|
|
354
|
+
WSW: `winter-weather-warning`,
|
|
355
|
+
WWA: `watch-status-report`,
|
|
356
|
+
WWP: `watch-probabilities`,
|
|
357
|
+
ZFP: `zone-forecast-product`,
|
|
358
|
+
};
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
/*
|
|
2
|
+
_ _ __ __
|
|
3
|
+
/\ | | | | (_) \ \ / /
|
|
4
|
+
/ \ | |_ _ __ ___ ___ ___ _ __ | |__ ___ _ __ _ ___ \ V /
|
|
5
|
+
/ /\ \| __| "_ ` _ \ / _ \/ __| "_ \| "_ \ / _ \ "__| |/ __| > <
|
|
6
|
+
/ ____ \ |_| | | | | | (_) \__ \ |_) | | | | __/ | | | (__ / . \
|
|
7
|
+
/_/ \_\__|_| |_| |_|\___/|___/ .__/|_| |_|\___|_| |_|\___/_/ \_\
|
|
8
|
+
| |
|
|
9
|
+
|_|
|
|
10
|
+
|
|
11
|
+
Written by: KiyoWx (k3yomi)
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
export const events: Record<string, string> = {
|
|
15
|
+
"AF": "Ashfall",
|
|
16
|
+
"AS": "Air Stagnation",
|
|
17
|
+
"BH": "Beach Hazard",
|
|
18
|
+
"BW": "Brisk Wind",
|
|
19
|
+
"BZ": "Blizzard",
|
|
20
|
+
"CF": "Coastal Flood",
|
|
21
|
+
"DF": "Debris Flow",
|
|
22
|
+
"DS": "Dust Storm",
|
|
23
|
+
"EC": "Extreme Cold",
|
|
24
|
+
"EH": "Excessive Heat",
|
|
25
|
+
"XH": "Extreme Heat",
|
|
26
|
+
"EW": "Extreme Wind",
|
|
27
|
+
"FA": "Areal Flood",
|
|
28
|
+
"FF": "Flash Flood",
|
|
29
|
+
"FG": "Dense Fog",
|
|
30
|
+
"FL": "Flood",
|
|
31
|
+
"FR": "Frost",
|
|
32
|
+
"FW": "Fire Weather",
|
|
33
|
+
"FZ": "Freeze",
|
|
34
|
+
"GL": "Gale",
|
|
35
|
+
"HF": "Hurricane Force Wind",
|
|
36
|
+
"HT": "Heat",
|
|
37
|
+
"HU": "Hurricane",
|
|
38
|
+
"HW": "High Wind",
|
|
39
|
+
"HY": "Hydrologic",
|
|
40
|
+
"HZ": "Hard Freeze",
|
|
41
|
+
"IS": "Ice Storm",
|
|
42
|
+
"LE": "Lake Effect Snow",
|
|
43
|
+
"LO": "Low Water",
|
|
44
|
+
"LS": "Lakeshore Flood",
|
|
45
|
+
"LW": "Lake Wind",
|
|
46
|
+
"MA": "Special Marine",
|
|
47
|
+
"EQ": "Earthquake",
|
|
48
|
+
"MF": "Dense Fog",
|
|
49
|
+
"MH": "Ashfall",
|
|
50
|
+
"MS": "Dense Smoke",
|
|
51
|
+
"RB": "Small Craft for Rough Bar",
|
|
52
|
+
"RP": "Rip Current Risk",
|
|
53
|
+
"SC": "Small Craft",
|
|
54
|
+
"SE": "Hazardous Seas",
|
|
55
|
+
"SI": "Small Craft for Winds",
|
|
56
|
+
"SM": "Dense Smoke",
|
|
57
|
+
"SQ": "Snow Squall",
|
|
58
|
+
"SR": "Storm",
|
|
59
|
+
"SS": "Storm Surge",
|
|
60
|
+
"SU": "High Surf",
|
|
61
|
+
"SV": "Severe Thunderstorm",
|
|
62
|
+
"SW": "Small Craft for Hazardous Seas",
|
|
63
|
+
"TO": "Tornado",
|
|
64
|
+
"TR": "Tropical Storm",
|
|
65
|
+
"TS": "Tsunami",
|
|
66
|
+
"TY": "Typhoon",
|
|
67
|
+
"SP": "Special Weather",
|
|
68
|
+
"UP": "Heavy Freezing Spray",
|
|
69
|
+
"WC": "Wind Chill",
|
|
70
|
+
"WI": "Wind",
|
|
71
|
+
"WS": "Winter Storm",
|
|
72
|
+
"WW": "Winter Weather",
|
|
73
|
+
"ZF": "Freezing Fog",
|
|
74
|
+
"ZR": "Freezing Rain",
|
|
75
|
+
"ZY": "Freezing Spray"
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export const offshore: Record<string, string> = {
|
|
79
|
+
"Special Weather Statement": "Special Weather Statement",
|
|
80
|
+
"Hurricane Warning": "Hurricane Warning",
|
|
81
|
+
"Hurricane Force Wind Warning": "Hurricane Force Wind Warning",
|
|
82
|
+
"Hurricane Watch": "Hurricane Watch",
|
|
83
|
+
"Tropical Storm Warning": "Tropical Storm Warning",
|
|
84
|
+
"Tropical Storm Watch": "Tropical Storm Watch",
|
|
85
|
+
"High Wind Warning": "High Wind Warning",
|
|
86
|
+
"Gale Warning": "Gale Warning",
|
|
87
|
+
"Small Craft Advisory": "Small Craft Advisory",
|
|
88
|
+
"Small Craft Warning": "Small Craft Warning",
|
|
89
|
+
};
|
|
90
|
+
|
|
91
|
+
export const actions: Record<string, string> = {
|
|
92
|
+
"W": "Warning",
|
|
93
|
+
"F": "Forecast",
|
|
94
|
+
"A": "Watch",
|
|
95
|
+
"O": "Outlook",
|
|
96
|
+
"Y": "Advisory",
|
|
97
|
+
"N": "Synopsis",
|
|
98
|
+
"S": "Statement"
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
|
|
102
|
+
export const status: Record<string, string> = {
|
|
103
|
+
"NEW": "Issued",
|
|
104
|
+
"CON": "Updated",
|
|
105
|
+
"EXT": "Extended",
|
|
106
|
+
"EXA": "Extended",
|
|
107
|
+
"EXB": "Extended",
|
|
108
|
+
"UPG": "Upgraded",
|
|
109
|
+
"COR": "Correction",
|
|
110
|
+
"ROU": "Routine",
|
|
111
|
+
"CAN": "Cancelled",
|
|
112
|
+
"EXP": "Expired"
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
export const types: Record<string, string> = {
|
|
116
|
+
"O": "Operational Product",
|
|
117
|
+
"T": "Test Product",
|
|
118
|
+
"E": "Experimental Product",
|
|
119
|
+
"X": "Experimental Product (Non-Operational)",
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
export const status_correlations: {type: string, forward: string, cancel: boolean, update: boolean, new: boolean}[] = [
|
|
123
|
+
{type: "Update", forward: "Updated", cancel: false, update: true, new: false},
|
|
124
|
+
{type: "Cancel", forward: "Cancelled", cancel: true, update: false, new: false},
|
|
125
|
+
{type: "Alert", forward: "Issued", cancel: false, update: false, new: true},
|
|
126
|
+
{type: "Updated", forward: "Updated", cancel: false, update: true, new: false},
|
|
127
|
+
{type: "Expired", forward: "Expired", cancel: true, update: false, new: false},
|
|
128
|
+
{type: "Issued", forward: "Issued", cancel: false, update: false, new: true},
|
|
129
|
+
{type: "Extended", forward: "Updated", cancel: false, update: true, new: false},
|
|
130
|
+
{type: "Correction", forward: "Updated", cancel: false, update: true, new: false},
|
|
131
|
+
{type: "Upgraded", forward: "Upgraded", cancel: false, update: true, new: false},
|
|
132
|
+
{type: "Cancelled", forward: "Cancelled", cancel: true, update: false, new: false},
|
|
133
|
+
{type: "Routine", forward: "Routine", cancel: false, update: true, new: false},
|
|
134
|
+
]
|
|
135
|
+
|
|
136
|
+
export const causes : Record<string, string> = {
|
|
137
|
+
"SM": "Snow Melt",
|
|
138
|
+
"RS": "Rain/Snow Melt",
|
|
139
|
+
"ER": "Excessive Rain",
|
|
140
|
+
"DM": "Dam/Levee Failure",
|
|
141
|
+
"IJ": "Ice Jam",
|
|
142
|
+
"GO": "Glacier Lake Outburst",
|
|
143
|
+
"IC": "Ice",
|
|
144
|
+
"FS": "Flash Flood / Storm Surge",
|
|
145
|
+
"FT": "Tidal Effects",
|
|
146
|
+
"ET": "Elevated Upstream Flow",
|
|
147
|
+
"MC": "Other Multiple Causes",
|
|
148
|
+
"WT": "Wind and/or Tidal Effects",
|
|
149
|
+
"DR": "Reservoir Release",
|
|
150
|
+
"UU": "Unknown",
|
|
151
|
+
"OT": "Other Effects"
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
export const records: Record<string, string> = {
|
|
155
|
+
"NO": "No Record Expected",
|
|
156
|
+
"NR": "Near Record or possible record",
|
|
157
|
+
"UU": "Unknown history of records",
|
|
158
|
+
"OO": "Other",
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export const severity: Record<string, string> = {
|
|
162
|
+
N: "Not Expected",
|
|
163
|
+
0: "Areal Flood or FF Product",
|
|
164
|
+
1: "Minor",
|
|
165
|
+
2: "Moderate",
|
|
166
|
+
3: "Major",
|
|
167
|
+
U: "Unknown",
|
|
168
|
+
}
|