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,109 @@
|
|
|
1
|
+
export const EVENTS: Record<string, string> = {
|
|
2
|
+
"AF": "Ashfall",
|
|
3
|
+
"AS": "Air Stagnation",
|
|
4
|
+
"BH": "Beach Hazard",
|
|
5
|
+
"BW": "Brisk Wind",
|
|
6
|
+
"BZ": "Blizzard",
|
|
7
|
+
"CF": "Coastal Flood",
|
|
8
|
+
"DF": "Debris Flow",
|
|
9
|
+
"DS": "Dust Storm",
|
|
10
|
+
"EC": "Extreme Cold",
|
|
11
|
+
"EH": "Excessive Heat",
|
|
12
|
+
"XH": "Extreme Heat",
|
|
13
|
+
"EW": "Extreme Wind",
|
|
14
|
+
"FA": "Areal Flood",
|
|
15
|
+
"FF": "Flash Flood",
|
|
16
|
+
"FG": "Dense Fog",
|
|
17
|
+
"FL": "Flood",
|
|
18
|
+
"FR": "Frost",
|
|
19
|
+
"FW": "Fire Weather",
|
|
20
|
+
"FZ": "Freeze",
|
|
21
|
+
"GL": "Gale",
|
|
22
|
+
"HF": "Hurricane Force Wind",
|
|
23
|
+
"HT": "Heat",
|
|
24
|
+
"HU": "Hurricane",
|
|
25
|
+
"HW": "High Wind",
|
|
26
|
+
"HY": "Hydrologic",
|
|
27
|
+
"HZ": "Hard Freeze",
|
|
28
|
+
"IS": "Ice Storm",
|
|
29
|
+
"LE": "Lake Effect Snow",
|
|
30
|
+
"LO": "Low Water",
|
|
31
|
+
"LS": "Lakeshore Flood",
|
|
32
|
+
"LW": "Lake Wind",
|
|
33
|
+
"MA": "Special Marine",
|
|
34
|
+
"EQ": "Earthquake",
|
|
35
|
+
"MF": "Dense Fog",
|
|
36
|
+
"MH": "Ashfall",
|
|
37
|
+
"MS": "Dense Smoke",
|
|
38
|
+
"RB": "Small Craft for Rough Bar",
|
|
39
|
+
"RP": "Rip Current Risk",
|
|
40
|
+
"SC": "Small Craft",
|
|
41
|
+
"SE": "Hazardous Seas",
|
|
42
|
+
"SI": "Small Craft for Winds",
|
|
43
|
+
"SM": "Dense Smoke",
|
|
44
|
+
"SQ": "Snow Squall",
|
|
45
|
+
"SR": "Storm",
|
|
46
|
+
"SS": "Storm Surge",
|
|
47
|
+
"SU": "High Surf",
|
|
48
|
+
"SV": "Severe Thunderstorm",
|
|
49
|
+
"SW": "Small Craft for Hazardous Seas",
|
|
50
|
+
"TO": "Tornado",
|
|
51
|
+
"TR": "Tropical Storm",
|
|
52
|
+
"TS": "Tsunami",
|
|
53
|
+
"TY": "Typhoon",
|
|
54
|
+
"SP": "Special Weather",
|
|
55
|
+
"UP": "Heavy Freezing Spray",
|
|
56
|
+
"WC": "Wind Chill",
|
|
57
|
+
"WI": "Wind",
|
|
58
|
+
"WS": "Winter Storm",
|
|
59
|
+
"WW": "Winter Weather",
|
|
60
|
+
"ZF": "Freezing Fog",
|
|
61
|
+
"ZR": "Freezing Rain",
|
|
62
|
+
"ZY": "Freezing Spray"
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export const ACTIONS: Record<string, string> = {
|
|
66
|
+
"W": "Warning",
|
|
67
|
+
"F": "Forecast",
|
|
68
|
+
"A": "Watch",
|
|
69
|
+
"O": "Outlook",
|
|
70
|
+
"Y": "Advisory",
|
|
71
|
+
"N": "Synopsis",
|
|
72
|
+
"S": "Statement"
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
export const STATUS: Record<string, string> = {
|
|
76
|
+
"NEW": "Issued",
|
|
77
|
+
"CON": "Updated",
|
|
78
|
+
"EXT": "Extended",
|
|
79
|
+
"EXA": "Extended",
|
|
80
|
+
"EXB": "Extended",
|
|
81
|
+
"UPG": "Upgraded",
|
|
82
|
+
"COR": "Correction",
|
|
83
|
+
"ROU": "Routine",
|
|
84
|
+
"CAN": "Cancelled",
|
|
85
|
+
"EXP": "Expired"
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export const TYPES: Record<string, string> = {
|
|
89
|
+
"O": "Operational Product",
|
|
90
|
+
"T": "Test Product",
|
|
91
|
+
"E": "Experimental Product",
|
|
92
|
+
"X": "Experimental Product (Non-Operational)",
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export const STATUS_CORRELATIONS: {type: string, forward: string, cancel: boolean}[] = [
|
|
96
|
+
{type: "Update", forward: "Updated", cancel: false},
|
|
97
|
+
{type: "Cancel", forward: "Cancelled", cancel: true},
|
|
98
|
+
{type: "Alert", forward: "Issued", cancel: false},
|
|
99
|
+
{type: "Updated", forward: "Updated", cancel: false},
|
|
100
|
+
{type: "Expired", forward: "Expired", cancel: true},
|
|
101
|
+
{type: "Issued", forward: "Issued", cancel: false},
|
|
102
|
+
{type: "Extended", forward: "Updated", cancel: false},
|
|
103
|
+
{type: "Correction", forward: "Updated", cancel: false},
|
|
104
|
+
{type: "Upgraded", forward: "Upgraded", cancel: false},
|
|
105
|
+
{type: "Cancelled", forward: "Cancelled", cancel: true},
|
|
106
|
+
{type: "Routine", forward: "Routine", cancel: false},
|
|
107
|
+
]
|
|
108
|
+
|
|
109
|
+
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
export const ICAOs: Record<string, string> = {
|
|
2
|
+
"KLCH": "Lake Charles, LA",
|
|
3
|
+
"TSTL": "St. Louis, MO",
|
|
4
|
+
"PABC": "Bethel, AK",
|
|
5
|
+
"TCMH": "Columbus, OH",
|
|
6
|
+
"KEPZ": "El Paso, TX",
|
|
7
|
+
"KCYS": "Cheyenne, WY",
|
|
8
|
+
"KJKL": "Jackson, KY",
|
|
9
|
+
"KPAH": "Paducah, KY",
|
|
10
|
+
"KEMX": "Tucson, AZ",
|
|
11
|
+
"KMHX": "Morehead City, NC",
|
|
12
|
+
"PAPD": "Fairbanks, AK",
|
|
13
|
+
"KDLH": "Duluth, MN",
|
|
14
|
+
"TADW": "Andrews Air Force Base, MD",
|
|
15
|
+
"KOKX": "Brookhaven, NY",
|
|
16
|
+
"KLZK": "Little Rock, AR",
|
|
17
|
+
"KHGX": "Houston, TX",
|
|
18
|
+
"TMSY": "New Orleans, LA",
|
|
19
|
+
"KDGX": "Jackson/Brandon, MS",
|
|
20
|
+
"KCTP": "Caribou, ME",
|
|
21
|
+
"KAMA": "Amarillo, TX",
|
|
22
|
+
"PGUA": "Andersen AFB, GU",
|
|
23
|
+
"KAPX": "Gaylord, MI",
|
|
24
|
+
"PAHG": "Kenai, AK",
|
|
25
|
+
"KLWX": "Sterling, VA",
|
|
26
|
+
"HWPA2": "Homer, AK",
|
|
27
|
+
"KGRK": "Fort Hood, TX",
|
|
28
|
+
"KAKQ": "Wakefield, VA",
|
|
29
|
+
"ROCO2": "Norman, OK",
|
|
30
|
+
"KCLX": "Charleston, SC",
|
|
31
|
+
"TPHX": "Phoenix, AZ",
|
|
32
|
+
"KNKX": "San Diego, CA",
|
|
33
|
+
"TDEN": "Denver, CO",
|
|
34
|
+
"TLAS": "Las Vegas, NV",
|
|
35
|
+
"KBUF": "Buffalo, NY",
|
|
36
|
+
"KTLX": "Norman, OK",
|
|
37
|
+
"KILX": "Lincoln, IL",
|
|
38
|
+
"KHDC": "Hammond, LA",
|
|
39
|
+
"KVWX": "Evansville, IN",
|
|
40
|
+
"TCLT": "Charlotte, NC",
|
|
41
|
+
"TEWR": "Newark, NJ",
|
|
42
|
+
"KFSD": "Sioux Falls, SD",
|
|
43
|
+
"KEAX": "Pleasant Hill, MO",
|
|
44
|
+
"KICX": "Cedar City, UT",
|
|
45
|
+
"KHTX": "Huntsville, AL",
|
|
46
|
+
"PACG": "Sitka, AK",
|
|
47
|
+
"KSOX": "Santa Ana Mountains, CA",
|
|
48
|
+
"TPBI": "West Palm Beach, FL",
|
|
49
|
+
"TSLC": "Salt Lake City, UT",
|
|
50
|
+
"KGLD": "Goodland, KS",
|
|
51
|
+
"TRDU": "Raleigh-Durham, NC",
|
|
52
|
+
"KATX": "Seattle, WA",
|
|
53
|
+
"TICH": "Wichita, KS",
|
|
54
|
+
"TSDF": "Louisville, KY",
|
|
55
|
+
"TBOS": "Boston, MA",
|
|
56
|
+
"TDCA": "Washington, DC",
|
|
57
|
+
"KUEX": "Grand Island, NE",
|
|
58
|
+
"TLKA2": "Talkeetna, AK",
|
|
59
|
+
"KBGM": "Binghamton, NY",
|
|
60
|
+
"TLVE": "Cleveland, OH",
|
|
61
|
+
"KCAE": "Columbia, SC",
|
|
62
|
+
"KDVN": "Quad Cities, IA",
|
|
63
|
+
"KABR": "Aberdeen, SD",
|
|
64
|
+
"KBYX": "Key West, FL",
|
|
65
|
+
"KMPX": "Minneapolis, MN",
|
|
66
|
+
"KCRP": "Corpus Christi, TX",
|
|
67
|
+
"KCBW": "Caribou, ME",
|
|
68
|
+
"KMRX": "Knoxville, TN",
|
|
69
|
+
"KSHV": "Shreveport, LA",
|
|
70
|
+
"KIWA": "Phoenix, AZ",
|
|
71
|
+
"KRGX": "Reno, NV",
|
|
72
|
+
"PHKM": "Kamuela, HI",
|
|
73
|
+
"KABX": "Albuquerque, NM",
|
|
74
|
+
"KBMX": "Birmingham, AL",
|
|
75
|
+
"TMDW": "Chicago Midway, IL",
|
|
76
|
+
"KVAX": "Moody AFB, GA",
|
|
77
|
+
"KHDX": "Holloman AFB, NM",
|
|
78
|
+
"KBRO": "Brownsville, TX",
|
|
79
|
+
"KTWX": "Topeka, KS",
|
|
80
|
+
"KRTX": "Portland, OR",
|
|
81
|
+
"KCXX": "Burlington, VT",
|
|
82
|
+
"KFCX": "Roanoke, VA",
|
|
83
|
+
"KFFC": "Atlanta, GA",
|
|
84
|
+
"KBOX": "Boston, MA",
|
|
85
|
+
"KTLH": "Tallahassee, FL",
|
|
86
|
+
"KPUX": "Pueblo, CO",
|
|
87
|
+
"KFDR": "Altus AFB, OK",
|
|
88
|
+
"KGJX": "Grand Junction, CO",
|
|
89
|
+
"KDTX": "Detroit, MI",
|
|
90
|
+
"PHWA": "Waimea, HI",
|
|
91
|
+
"KMQT": "Marquette, MI",
|
|
92
|
+
"KSJT": "San Angelo, TX",
|
|
93
|
+
"KUDX": "Rapid City, SD",
|
|
94
|
+
"TIAH": "Houston, TX",
|
|
95
|
+
"KSRX": "Fort Smith, AR",
|
|
96
|
+
"TJFK": "New York City, NY",
|
|
97
|
+
"KDDC": "Dodge City, KS",
|
|
98
|
+
"PAKC": "King Salmon, AK",
|
|
99
|
+
"PAIH": "Middleton Island, AK",
|
|
100
|
+
"RODN": "Kadena AB, JA",
|
|
101
|
+
"TBWI": "Baltimore/Washington, MD",
|
|
102
|
+
"KIWX": "Northern Indiana, IN",
|
|
103
|
+
"KFDX": "Cannon AFB, NM",
|
|
104
|
+
"TMIA": "Miami, FL",
|
|
105
|
+
"KICT": "Wichita, KS",
|
|
106
|
+
"TMKE": "Milwaukee, WI",
|
|
107
|
+
"TFLL": "Fort Lauderdale, FL",
|
|
108
|
+
"KARX": "La Crosse, WI",
|
|
109
|
+
"KLRX": "Elko, NV",
|
|
110
|
+
"KDAX": "Sacramento, CA",
|
|
111
|
+
"KGRB": "Green Bay, WI",
|
|
112
|
+
"KLGX": "Langley Hill, WA",
|
|
113
|
+
"KFTG": "Denver, CO",
|
|
114
|
+
"KMKX": "Milwaukee, WI",
|
|
115
|
+
"TTUL": "Tulsa, OK",
|
|
116
|
+
"TDFW": "Dallas/Fort Worth, TX",
|
|
117
|
+
"TTPA": "Tampa Bay, FL",
|
|
118
|
+
"TDAL": "Dallas Love Field, TX",
|
|
119
|
+
"KDFX": "Laughlin AFB, TX",
|
|
120
|
+
"KSFX": "Pocatello, ID",
|
|
121
|
+
"KMTX": "Salt Lake City, UT",
|
|
122
|
+
"PAEC": "Nome, AK",
|
|
123
|
+
"RKSG": "Camp Humphreys, KR",
|
|
124
|
+
"KOAX": "Omaha, NE",
|
|
125
|
+
"PHMO": "Molokai, HI",
|
|
126
|
+
"TDTW": "Detroit, MI",
|
|
127
|
+
"THOU": "Houston, TX",
|
|
128
|
+
"AWPA2": "Anchorage, AK",
|
|
129
|
+
"KTYX": "Fort Drum, NY",
|
|
130
|
+
"KCCX": "State College, PA",
|
|
131
|
+
"TMSP": "Minneapolis, MN",
|
|
132
|
+
"KMVX": "Grand Forks, ND",
|
|
133
|
+
"KBIS": "Bismarck, ND",
|
|
134
|
+
"KBBX": "Beale AFB, CA",
|
|
135
|
+
"KVBX": "Vandenberg AFB, CA",
|
|
136
|
+
"KPOE": "Fort Polk, LA",
|
|
137
|
+
"KMOB": "Mobile, AL",
|
|
138
|
+
"KJGX": "Robins AFB, GA",
|
|
139
|
+
"KMUX": "San Francisco, CA",
|
|
140
|
+
"TMCI": "Kansas City, MO",
|
|
141
|
+
"KLSX": "St. Louis, MO",
|
|
142
|
+
"KMAX": "Medford, OR",
|
|
143
|
+
"KRAX": "Raleigh/Durham, NC",
|
|
144
|
+
"KINX": "Tulsa, OK",
|
|
145
|
+
"RKJK": "Kunsan AB, KR",
|
|
146
|
+
"KSGF": "Springfield, MO",
|
|
147
|
+
"TDAY": "Dayton, OH",
|
|
148
|
+
"KDOX": "Dover AFB, DE",
|
|
149
|
+
"KGGW": "Glasgow, MT",
|
|
150
|
+
"KAMX": "Miami, FL",
|
|
151
|
+
"KENX": "Albany, NY",
|
|
152
|
+
"KTFX": "Great Falls, MT",
|
|
153
|
+
"KPBZ": "Pittsburgh, PA",
|
|
154
|
+
"KMAF": "Midland/Odessa, TX",
|
|
155
|
+
"KPDT": "Pendleton, OR",
|
|
156
|
+
"KLNX": "North Platte, NE",
|
|
157
|
+
"KEOX": "Fort Rucker, AL",
|
|
158
|
+
"KGSP": "Greer, SC",
|
|
159
|
+
"KHPX": "Fort Campbell, KY",
|
|
160
|
+
"KGRR": "Grand Rapids, MI",
|
|
161
|
+
"KLOT": "Chicago, IL",
|
|
162
|
+
"TPIT": "Pittsburgh, PA",
|
|
163
|
+
"KEYX": "Edwards AFB, CA",
|
|
164
|
+
"TIAD": "Dulles, VA",
|
|
165
|
+
"KFWS": "Dallas/Fort Worth, TX",
|
|
166
|
+
"KMLB": "Melbourne, FL",
|
|
167
|
+
"KMBX": "Minot AFB, ND",
|
|
168
|
+
"KDMX": "Des Moines, IA",
|
|
169
|
+
"KEVX": "Eglin AFB, FL",
|
|
170
|
+
"TBNA": "Nashville, TN",
|
|
171
|
+
"KDYX": "Dyess AFB, TX",
|
|
172
|
+
"TOKC": "Oklahoma City, OK",
|
|
173
|
+
"PHKI": "South Kauai, HI",
|
|
174
|
+
"TMCO": "Orlando, FL",
|
|
175
|
+
"KDIX": "Philadelphia, PA",
|
|
176
|
+
"TORD": "Chicago, IL",
|
|
177
|
+
"KYUX": "Yuma, AZ",
|
|
178
|
+
"KVNX": "Vance AFB, OK",
|
|
179
|
+
"TJUA": "San Juan, PR",
|
|
180
|
+
"TATL": "Atlanta, GA",
|
|
181
|
+
"KVTX": "Los Angeles, CA",
|
|
182
|
+
"KIND": "Indianapolis, IN",
|
|
183
|
+
"KCBX": "Boise, ID",
|
|
184
|
+
"KGYX": "Portland, ME",
|
|
185
|
+
"KMXX": "Maxwell AFB, AL",
|
|
186
|
+
"TSJU": "San Juan, PR",
|
|
187
|
+
"KHNX": "San Joaquin Valley, CA",
|
|
188
|
+
"KLVX": "Louisville, KY",
|
|
189
|
+
"KMSX": "Missoula, MT",
|
|
190
|
+
"KJAX": "Jacksonville, FL",
|
|
191
|
+
"KNQA": "Memphis, TN",
|
|
192
|
+
"KRIW": "Riverton/Lander, WY",
|
|
193
|
+
"TCVG": "Covington, KY",
|
|
194
|
+
"KBLX": "Billings, MT",
|
|
195
|
+
"TPHL": "Philadelphia, PA",
|
|
196
|
+
"KRLX": "Charleston, WV",
|
|
197
|
+
"TMEM": "Memphis, TN",
|
|
198
|
+
"KCLE": "Cleveland, OH",
|
|
199
|
+
"KBHX": "Eureka, CA",
|
|
200
|
+
"KLBB": "Lubbock, TX",
|
|
201
|
+
"KOTX": "Spokane, WA",
|
|
202
|
+
"KEWX": "Austin/San Antonio, TX",
|
|
203
|
+
"KGWX": "Columbus AFB, MS",
|
|
204
|
+
"KESX": "Las Vegas, NV",
|
|
205
|
+
"KTBW": "Tampa, FL",
|
|
206
|
+
"KOHX": "Nashville, TN",
|
|
207
|
+
"KLTX": "Wilmington, NC",
|
|
208
|
+
"KFSX": "Flagstaff, AZ",
|
|
209
|
+
"TIDS": "Indianapolis, IN",
|
|
210
|
+
"KILN": "Cincinnati, OH",
|
|
211
|
+
"PAFG": "Fairbanks, AK",
|
|
212
|
+
"KPQR": "Portland, OR",
|
|
213
|
+
"KILM": "Wilmington, NC",
|
|
214
|
+
"KEKA": "Eureka, CA",
|
|
215
|
+
"KCHS": "Charleston, SC",
|
|
216
|
+
"KPHI": "Philadelphia/Mt. Holly, NJ",
|
|
217
|
+
"KUNR": "Rapid City, SD",
|
|
218
|
+
"KMFL": "Miami, FL",
|
|
219
|
+
"TJSJ": "San Juan, PR",
|
|
220
|
+
"KFGF": "Grand Forks, ND",
|
|
221
|
+
"KSEW": "Seattle, WA",
|
|
222
|
+
"PAFC": "Anchorage, AK",
|
|
223
|
+
"KLMK": "Louisville, KY",
|
|
224
|
+
"PHFO": "Honolulu, HI",
|
|
225
|
+
"KLIX": "New Orleans/Baton Rouge, LA",
|
|
226
|
+
"KBOI": "Boise, ID",
|
|
227
|
+
"KPIH": "Pocatello, ID",
|
|
228
|
+
"KMTR": "San Francisco/Monterey, CA",
|
|
229
|
+
"KGJT": "Grand Junction, CO",
|
|
230
|
+
"PAAQ": "Anchorage, AK",
|
|
231
|
+
"KABQ": "Albuquerque, NM",
|
|
232
|
+
"KTAE": "Tallahassee, FL",
|
|
233
|
+
"KCAR": "Caribou, ME",
|
|
234
|
+
"KMFR": "Medford, OR",
|
|
235
|
+
"PGUM": "Guam, GU",
|
|
236
|
+
"PAJK": "Juneau, AK"
|
|
237
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export const OFFSHORE: Record<string, string> = {
|
|
2
|
+
"Special Weather Statement": "Special Weather Statement",
|
|
3
|
+
"Hurricane Warning": "Hurricane Warning",
|
|
4
|
+
"Hurricane Force Wind Warning": "Hurricane Force Wind Warning",
|
|
5
|
+
"Hurricane Watch": "Hurricane Watch",
|
|
6
|
+
"Tropical Storm Warning": "Tropical Storm Warning",
|
|
7
|
+
"Tropical Storm Watch": "Tropical Storm Watch",
|
|
8
|
+
"High Wind Warning": "High Wind Warning",
|
|
9
|
+
"Gale Warning": "Gale Warning",
|
|
10
|
+
"Small Craft Advisory": "Small Craft Advisory",
|
|
11
|
+
"Small Craft Warning": "Small Craft Warning",
|
|
12
|
+
};
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
export const TAGS: Record<string, string> = {
|
|
2
|
+
"A LARGE AND EXTREMELY DANGEROUS TORNADO": "Large and Dangerous Tornado",
|
|
3
|
+
"THIS IS A PARTICULARLY DANGEROUS SITUATION": "Particularly Dangerous Situation",
|
|
4
|
+
"RADAR INDICATED ROTATION": "Radar Indicated Tornado",
|
|
5
|
+
"WEATHER SPOTTERS CONFIRMED TORNADO": "Confirmed by Storm Spotters",
|
|
6
|
+
"A SEVERE THUNDERSTORM CAPABLE OF PRODUCING A TORNADO": "Developing Tornado",
|
|
7
|
+
"LAW ENFORCEMENT CONFIRMED TORNADO": "Reported by Law Enforcement",
|
|
8
|
+
"A TORNADO IS ON THE GROUND": "Confirmed Tornado",
|
|
9
|
+
"WEATHER SPOTTERS REPORTED FUNNEL CLOUD": "Confirmed Funnel Cloud by Storm Spotters",
|
|
10
|
+
"PUBLIC CONFIRMED TORNADO": "Public reports of Tornado",
|
|
11
|
+
"RADAR CONFIRMED": "Radar Confirmed",
|
|
12
|
+
"TORNADO WAS REPORTED BRIEFLY ON THE GROUND": "Tornado no longer on ground",
|
|
13
|
+
"SPOTTERS INDICATE THAT A FUNNEL CLOUD CONTINUES WITH THIS STORM": "Funnel Cloud Continues",
|
|
14
|
+
"A TORNADO MAY DEVELOP AT ANY TIME": "Potentional still exists for Tornado to form",
|
|
15
|
+
"LIFE-THREATENING SITUATION": "Life Threating Situation",
|
|
16
|
+
"COMPLETE DESTRUCTION IS POSSIBLE": "Extremly Damaging Tornado",
|
|
17
|
+
"POTENTIALLY DEADLY TORNADO": "Deadly Tornado",
|
|
18
|
+
"RADAR INDICATED": "Radar Indicated",
|
|
19
|
+
"HAIL DAMAGE TO VEHICLES IS EXPECTED": "Damaging to Vehicles",
|
|
20
|
+
"EXPECT WIND DAMAGE": "Wind Damage",
|
|
21
|
+
"FREQUENT LIGHTNING": "Frequent Lightning",
|
|
22
|
+
"PEOPLE AND ANIMALS OUTDOORS WILL BE INJURED": "Capable of Injuring People and Animals",
|
|
23
|
+
"TRAINED WEATHER SPOTTERS": "Confirmed by Storm Spotters",
|
|
24
|
+
"SOURCE...PUBLIC": "Confirmed by Public",
|
|
25
|
+
"SMALL CRAFT COULD BE DAMAGED": "Potential Damage to Small Craft",
|
|
26
|
+
"A TORNADO WATCH REMAINS IN EFFECT": "Active Tornado Watch",
|
|
27
|
+
"TENNIS BALL SIZE HAIL": "Tennis Ball Size Hail",
|
|
28
|
+
"BASEBALL SIZE HAIL": "Baseball Size Hail",
|
|
29
|
+
"GOLF BALL SIZE HAIL": "Golf Ball Size Hail",
|
|
30
|
+
"QUARTER SIZE HAIL": "Quarter Size Hail",
|
|
31
|
+
"PING PONG BALL SIZE HAIL": "Ping Pong Ball Size Hail",
|
|
32
|
+
"NICKEL SIZE HAIL": "Nickel Size Hail",
|
|
33
|
+
"DOPPLER RADAR.": "Confirmed by Radar",
|
|
34
|
+
"DOPPLER RADAR AND AUTOMATED GAUGES.": "Confirmed by Radar and Gauges",
|
|
35
|
+
"FLASH FLOODING CAUSED BY THUNDERSTORMS.": "Caused by Thunderstorm",
|
|
36
|
+
"SOURCE...EMERGENCY MANAGEMENT.": "Confirmed by Emergency Management",
|
|
37
|
+
"FLASH FLOODING CAUSED BY HEAVY RAIN.": "Caused by heavy rain",
|
|
38
|
+
"SOURCE...LAW ENFORCEMENT REPORTED.": "Confirmed by Law Enforcement"
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const CANCEL_SIGNATURES: string[] = [
|
|
42
|
+
"THIS_MESSAGE_IS_FOR_TEST_PURPOSES_ONLY",
|
|
43
|
+
"this is a test",
|
|
44
|
+
"subsided sufficiently for the advisory to be cancelled",
|
|
45
|
+
"has been cancelled",
|
|
46
|
+
"will be allowed to expire",
|
|
47
|
+
"has diminished",
|
|
48
|
+
"and no longer",
|
|
49
|
+
"has been replaced",
|
|
50
|
+
"The threat has ended",
|
|
51
|
+
"has weakened below severe"
|
|
52
|
+
]
|
|
53
|
+
|
|
54
|
+
export const MESSAGE_SIGNATURES: { regex: RegExp, replacement: string }[] = [
|
|
55
|
+
{ regex: /\r?\n/g, replacement: ' ' },
|
|
56
|
+
{ regex: /\s+/g, replacement: ' ' },
|
|
57
|
+
{ regex: /\*/g, replacement: '.' },
|
|
58
|
+
{ regex: /\bUTC\b/g, replacement: 'Coordinated Universal Time' },
|
|
59
|
+
{ regex: /\bGMT\b/g, replacement: 'Greenwich Mean Time' },
|
|
60
|
+
{ regex: /\bEST\b/g, replacement: 'Eastern Standard Time' },
|
|
61
|
+
{ regex: /\bEDT\b/g, replacement: 'Eastern Daylight Time' },
|
|
62
|
+
{ regex: /\bCST\b/g, replacement: 'Central Standard Time' },
|
|
63
|
+
{ regex: /\bCDT\b/g, replacement: 'Central Daylight Time' },
|
|
64
|
+
{ regex: /\bMST\b/g, replacement: 'Mountain Standard Time' },
|
|
65
|
+
{ regex: /\bMDT\b/g, replacement: 'Mountain Daylight Time' },
|
|
66
|
+
{ regex: /\bPST\b/g, replacement: 'Pacific Standard Time' },
|
|
67
|
+
{ regex: /\bPDT\b/g, replacement: 'Pacific Daylight Time' },
|
|
68
|
+
{ regex: /\bAKST\b/g, replacement: 'Alaska Standard Time' },
|
|
69
|
+
{ regex: /\bAKDT\b/g, replacement: 'Alaska Daylight Time' },
|
|
70
|
+
{ regex: /\bHST\b/g, replacement: 'Hawaii Standard Time' },
|
|
71
|
+
{ regex: /\bHDT\b/g, replacement: 'Hawaii Daylight Time' },
|
|
72
|
+
{ regex: /\bmph\b/g, replacement: 'miles per hour' },
|
|
73
|
+
{ regex: /\bkm\/h\b/g, replacement: 'kilometers per hour' },
|
|
74
|
+
{ regex: /\bkmh\b/g, replacement: 'kilometers per hour' },
|
|
75
|
+
{ regex: /\bkt\b/g, replacement: 'knots' },
|
|
76
|
+
{ regex: /\bNE\b/g, replacement: 'northeast' },
|
|
77
|
+
{ regex: /\bNW\b/g, replacement: 'northwest' },
|
|
78
|
+
{ regex: /\bSE\b/g, replacement: 'southeast' },
|
|
79
|
+
{ regex: /\bSW\b/g, replacement: 'southwest' },
|
|
80
|
+
{ regex: /\bNM\b/g, replacement: 'nautical miles' },
|
|
81
|
+
{ regex: /\bdeg\b/g, replacement: 'degrees' },
|
|
82
|
+
{ regex: /\btstm\b/g, replacement: 'thunderstorm' },
|
|
83
|
+
{ regex: /\bmm\b/g, replacement: 'millimeters' },
|
|
84
|
+
{ regex: /\bcm\b/g, replacement: 'centimeters' },
|
|
85
|
+
{ regex: /\bin\b/g, replacement: 'inches' },
|
|
86
|
+
{ regex: /\bft\b/g, replacement: 'feet' },
|
|
87
|
+
{ regex: /\bmi\b/g, replacement: 'miles' },
|
|
88
|
+
{ regex: /\bhr\b/g, replacement: 'hour' },
|
|
89
|
+
{ regex: /\bhourly\b/g, replacement: 'per hour' },
|
|
90
|
+
{ regex: /\bkg\b/g, replacement: 'kilograms' },
|
|
91
|
+
{ regex: /\bg\/kg\b/g, replacement: 'grams per kilogram' },
|
|
92
|
+
{ regex: /\bmb\b/g, replacement: 'millibars' },
|
|
93
|
+
{ regex: /\bhPa\b/g, replacement: 'hectopascals' },
|
|
94
|
+
{ regex: /\bPa\b/g, replacement: 'pascals' },
|
|
95
|
+
{ regex: /\bKPa\b/g, replacement: 'kilopascals' },
|
|
96
|
+
{ regex: /\bC\/hr\b/g, replacement: 'degrees Celsius per hour' },
|
|
97
|
+
{ regex: /\bF\/hr\b/g, replacement: 'degrees Fahrenheit per hour' },
|
|
98
|
+
{ regex: /\bC\/min\b/g, replacement: 'degrees Celsius per minute' },
|
|
99
|
+
{ regex: /\bF\/min\b/g, replacement: 'degrees Fahrenheit per minute' },
|
|
100
|
+
{ regex: /\bC\b/g, replacement: 'degrees Celsius' },
|
|
101
|
+
{ regex: /\bF\b/g, replacement: 'degrees Fahrenheit' },
|
|
102
|
+
];
|
|
103
|
+
|