local p = {}
-- Define categories
-- All sortkeys have been guessed. They may be changed by common sense
-- or consensus at [[Wikipedia talk:WikiProject Tropical cyclones]]
local cats = {
--
-- TROPICAL CYCLONES
--
severe = {
color = "ccffff",
name = "Severe tropical storm",
sortkey = 120,
icon = "[[File:Severe tropical storm icon.png|18px]]"
},
mtstorm = {
color = "00faf4", -- Old {{storm colour}} did not support. Value guessed.
name = "Moderate tropical storm",
sortkey = 105,
icon = "[[File:Moderate tropical storm icon.png|18px]]"
},
storm = {
color = "00faf4",
name = "Tropical storm",
sortkey = 100,
icon = "[[File:Tropical storm icon.png|18px]]"
},
severedep = {
color = "5ebaff", -- Old {{storm colour}} did not support. Value guessed.
name = "Severe tropical depression",
sortkey = 120
},
moddepression = {
color = "5ebaff", -- Old {{storm colour}} did not support. Value guessed.
name = "Moderate tropical depression",
sortkey = 95
},
depression = {
color = "5ebaff",
name = "Tropical depression",
sortkey = 90,
icon = "[[File:Tropical Depression.png|25px]]"
},
disturbance = {
color = "80ccff",
name = "Tropical disturbance",
sortkey = 80,
icon = "[[File:Disturbance icon.png|25px]]"
},
subtropicalcyclone = {
color = "00faf4",
name = "Subtropical cyclone",
sortkey = 70
},
subtropical = {
color = "00faf4",
name = "Subtropical storm",
sortkey = 65,
icon = "[[File:Subtropical storm icon.png|18px]]"
},
subdepression = {
color = "5ebaff",
name = "Subtropical depression",
sortkey = 62,
icon = "[[File:Subtropical Depression icon.png|25px]]"
},
overland = {
color = "5ebaff",
name = "Overland depression",
sortkey = 60,
icon = "[[File:Depression icon.png|25px]]"
},
subdisturbance = {
color = "80ccff",
name = "Subtropical disturbance",
sortkey = 55,
icon = "[[File:Disturbance icon.png|25px]]"
},
extratropical = {
color = "cccccc",
name = "Extratropical cyclone",
sortkey = 50,
icon = "[[File:Extratropical cyclone icon.png|18px]]"
},
monsoondepression = {
color = "5ebaff",
name = "Monsoon depression",
sortkey = 30,
icon = "[[File:Monsoon Depression icon.png|25px]]"
},
potential = {
color = "80ccff",
name = "Potential tropical cyclone",
sortkey = 25,
icon = "[[File:Potential tropical cyclone icon.png|25px]]"
},
posttropical = {
color = "cccccc",
name = "Post-tropical depression",
sortkey = 70,
icon = "[[File:Post tropical cyclone icon.png|25px]]"
},
remnant = {
color = "cccccc",
name = "Post-tropical depression",
sortkey = 70,
icon = "[[File:Remnant low icon.png|25px]]"
},
unknown = {
color = "c0c0c0",
name = "Unknown strength tropical cyclone",
sortkey = 0,
icon = "'''?'''"
},
-- SSWHS hurricane categories
cat5 = {
color = "ff6060",
name = {
atl = "Category 5 hurricane",
epac = "Category 5 hurricane",
satl = "Category 5 hurricane",
wpac = "Category 5-equivalent super typhoon",
default = "Category 5-equivalent tropical cyclone"
},
sortkey = 80050,
icon = "[[File:Category 5 hurricane icon.png|18px]]"
},
cat4 = {
color = "ff8f20",
name = {
atl = "Category 4 hurricane",
epac = "Category 4 hurricane",
satl = "Category 4 hurricane",
wpac = "Category 4-equivalent typhoon",
default = "Category 4-equivalent tropical cyclone"
},
sortkey = 80040,
icon = "[[File:Category 4 hurricane icon.png|18px]]"
},
cat3 = {
color = "ffc140",
name = {
atl = "Category 3 hurricane",
epac = "Category 3 hurricane",
satl = "Category 3 hurricane",
wpac = "Category 3-equivalent typhoon",
default = "Category 3-equivalent tropical cyclone"
},
sortkey = 80030,
icon = "[[File:Category 3 hurricane icon.png|18px]]"
},
cat2 = {
color = "ffe775",
name = {
atl = "Category 2 hurricane",
epac = "Category 2 hurricane",
satl = "Category 2 hurricane",
wpac = "Category 2-equivalent typhoon",
default = "Category 2-equivalent tropical cyclone"
},
sortkey = 80020,
icon = "[[File:Category 2 hurricane icon.png|18px]]"
},
cat1 = {
color = "ffffcc",
name = {
atl = "Category 1 hurricane",
epac = "Category 1 hurricane",
satl = "Category 1 hurricane",
wpac = "Category 1-equivalent typhoon",
default = "Category 1-equivalent tropical cyclone"
},
sortkey = 80010,
icon = "[[File:Category 1 hurricane icon.png|18px]]"
},
supertyphoon = {
color = "ff6060",
name = "Category 4 super typhoon",
sortkey = 80045
},
typhoon = {
color = "fdaf9a",
name = "Typhoon",
sortkey = 60010
},
-- HKO
svtyphoon = {
color = "ff8f20",
name = "Severe typhoon",
sortkey = 60015
},
vstyphoon = {
color = "fe887d",
name = "Very strong typhoon",
sortkey = 60020,
icon = "[[File:Very strong typhoon icon.png|18px]]"
},
vityphoon = {
color = "ff6060",
name = "Violent typhoon",
sortkey = 60030,
icon = "[[File:Violent typhoon icon.png|18px]]"
},
-- PAGASA
styphoon = {
color = "ff6060",
name = "Supertyphoon",
sortkey = 60050
},
sprcyclstorm = {
color = "ff6060",
name = "Super cyclonic storm",
sortkey = 50020,
icon = "[[File:Super cyclonic storm icon.png|18px]]"
},
esvrcyclstorm = {
color = "ffc140",
name = "Extremely severe cyclonic storm",
sortkey = 50015,
icon = "[[File:Extremely severe cyclonic storm icon.png|18px]]"
},
vsvrcyclstorm = {
color = "ffffcc",
name = "Very severe cyclonic storm",
sortkey = 50010,
icon = "[[File:Very severe cyclonic storm icon.png|18px]]"
},
svrcyclstorm = {
color = "ccffff",
name = "Severe cyclonic storm",
sortkey = 50008,
icon = "[[File:Severe cyclonic storm icon.png|18px]]"
},
niocyclone = {
color = "00faf4",
name = "Cyclonic storm",
sortkey = 50006,
icon = "[[File:Cyclonic storm icon.png|18px]]"
},
deepdepression = {
color = "5ebaff",
name = "Deep depression",
sortkey = 50002,
icon = "[[File:Deep depression icon.png|25px]]"
},
niodepression = {
color = "80ccff",
name = "Depression",
sortkey = 50001,
icon = "[[File:Depression icon.png|25px]]"
},
nioland = {
color = "80ccff",
name = "Land depression",
sortkey = 50000,
icon = "[[File:Land depression icon.png|25px]]"
},
aus5 = {
color = "ff6060",
name = "Category 5 severe tropical cyclone",
sortkey = 40015,
icon = "[[File:Aus 5 icon.png|18px]]"
},
aus4 = {
color = "ffc140",
name = "Category 4 severe tropical cyclone",
sortkey = 40013,
icon = "[[File:Aus 4 icon.png|18px]]"
},
aus3 = {
color = "ffffcc",
name = "Category 3 severe tropical cyclone",
sortkey = 40010,
icon = "[[File:Aus 3 icon.png|18px]]"
},
aus2 = {
color = "ccffff",
name = "Category 2 tropical cyclone",
sortkey = 40008,
icon = "[[File:Aus 2 icon.png|18px]]"
},
aus1 = {
color = "00faf4",
name = "Category 1 tropical cyclone",
sortkey = 40006,
icon = "[[File:Aus 1 icon.png|18px]]"
},
low = {
color = "5ebaff",
name = "Tropical low",
sortkey = 40002,
icon = "[[File:Tropical Low.png|25px]]"
},
sublow = {
color = "5ebaff",
name = "Subtropical low",
sortkey = 40000
},
vintense = {
color = "ff6060",
name = "Very intense tropical cyclone",
sortkey = 30010,
icon = "[[File:Very intense tropical cyclone icon.png|18px]]"
},
intense = {
color = "ffc140",
name = "Intense tropical cyclone",
sortkey = 30008,
icon = "[[File:Intense tropical cyclone icon.png|18px]]"
},
tropicalcyclone = {
color = "ffffcc",
name = "Tropical cyclone",
sortkey = 30006,
icon = "'''TC'''"
},
mstorm = {
color = "00faf4",
name = "Moderate tropical storm",
sortkey = 30004,
icon = "[[File:Moderate tropical storm icon.png|18px]]"
},
zodw = {
color = "80ccff",
name = "Zone of disturbed weather",
sortkey = 30000,
icon = "[[File:Disturbed weather icon.png|25px]]"
},
shemsvrtc = {
color = "ffe775",
name = "Severe tropical cyclone",
sortkey = 20020
},
shem5 = {
color = "ff6060",
name = "Severe tropical cyclone",
sortkey = 20010
},
shem4 = {
color = "ffc140",
name = "Tropical cyclone",
sortkey = 20008
},
shem2 = {
color = "ccffff",
name = "Tropical cyclone",
sortkey = 20008
},
shem1 = {
color = "00faf4",
name = "Tropical cyclone",
sortkey = 20008
},
--
-- WINTER STORMS
--
-- Regional Snowfall Index
rsi0 = {
color = "cccccc",
name = "Category 0 \"Nuisance\"",
sortkey = 80100,
icon = "[[File:RsiC0.png|25px]]"
},
rsi1 = {
color = "ffffcc",
name = "Category 1 \"Notable\"",
sortkey = 80110,
icon = "[[File:RsiC1.png|25px]]"
},
rsi2 = {
color = "ffe775",
name = "Category 2 \"Minor\"",
sortkey = 80120,
icon = "[[File:RsiC2.png|25px]]"
},
rsi3 = {
color = "ffc140",
name = "Category 3 \"Major\"",
sortkey = 80130,
icon = "[[File:RsiC3.png|25px]]"
},
rsi4 = {
color = "ff8f20",
name = "Category 4 \"Crippling\"",
sortkey = 80140,
icon = "[[File:RsiC4.png|25px]]"
},
rsi5 = {
color = "ff6060",
name = "Category 5 \"Extreme\"",
sortkey = 80150,
icon = "[[File:RsiC5.png|25px]]"
},
-- Winter Storm Severity Index
wssinone = {
color = "cccccc",
name = "No impacts",
sortkey = 80200,
icon = "[[File:RsiC0.png|25px]]"
},
wssilimited = {
color = "80ccff",
name = "Limited impacts",
sortkey = 80210,
icon = "[[File:RsiC1.png|25px]]"
},
wssiminor = {
color = "ffc140",
name = "Minor impacts",
sortkey = 80220,
icon = "[[File:RsiC2.png|25px]]"
},
wssimoderate = {
color = "ff8f20",
name = "Moderate impacts",
sortkey = 80230,
icon = "[[File:RsiC3.png|25px]]"
},
wssimajor = {
color = "ff6060",
name = "Major impacts",
sortkey = 80240,
icon = "[[File:RsiC4.png|25px]]"
},
wssiextreme = {
color = "cf75ff",
name = "Extreme impacts",
sortkey = 80250,
icon = "[[File:RsiC5.png|25px]]"
},
--
-- TORNADOES
--
efu = {
color = "cccccc",
name = "EFU tornado",
sortkey = 1001,
icon = "[[File:Ef-scaleU.png|25px]]"
},
ef0 = {
color = "00faf4",
name = "EF0 tornado",
sortkey = 1000,
icon = "[[File:Ef-scale0.png|25px]]"
},
ef1 = {
color = "ffffcc",
name = "EF1 tornado",
sortkey = 1010,
icon = "[[File:Ef-scale1.png|25px]]"
},
ef2 = {
color = "ffe775",
name = "EF2 tornado",
sortkey = 1020,
icon = "[[File:Ef-scale2.png|25px]]"
},
ef3 = {
color = "ffc140",
name = "EF3 tornado",
sortkey = 1030,
icon = "[[File:Ef-scale3.png|25px]]"
},
ef4 = {
color = "ff8f20",
name = "EF4 tornado",
sortkey = 1040,
icon = "[[File:Ef-scale4.png|25px]]"
},
ef5 = {
color = "ff6060",
name = "EF5 tornado",
sortkey = 1050,
icon = "[[File:Ef-scale5.png|25px]]"
},
-- Beaufort Scale (windstorms)
beaufort0 = {
color = "FFFFFF",
name = "Calm (Force 0)",
sortkey = 1500,
},
beaufort1 = {
color = "757575",
name = "Light Air (Force 1)",
sortkey = 1510,
},
beaufort2 = {
color = "909090",
name = "Light Breeze (Force 2)",
sortkey = 1520,
},
beaufort3 = {
color = "B7B7B7",
name = "Gentle Breeze (Force 3)",
sortkey = 1530,
},
beaufort4 = {
color = "D2D2D2",
name = "Moderate Breeze (Force 4)",
sortkey = 1540,
},
beaufort5 = {
color = "F1F1F1",
name = "Fresh Breeze (Force 5)",
sortkey = 1550,
},
beaufort6 = {
color = "007FCE",
name = "Strong Breeze (Force 6)",
sortkey = 1560,
},
beaufort7 = {
color = "46A1FF",
name = "Near Gale (Force 7)",
sortkey = 1570,
},
beaufort8 = {
color = "5EDBF8",
name = "Gale (Force 8)",
sortkey = 1580,
},
beaufort9 = {
color = "3BFDFD",
name = "Strong Gale (Force 9)",
sortkey = 1590,
},
beaufort10 = {
color = "AAFD9C",
name = "Storm (Force 10)",
sortkey = 1600,
},
beaufort11 = {
color = "D6FFA4",
name = "Violent Storm (Force 11)",
sortkey = 1610,
},
beaufort12 = {
color = "FFFCD1",
name = "Hurricane-force (Force 12)",
sortkey = 1620,
}
}
-- Define aliases
-- All non-alphanumeric characters are already stripped, and the string is
-- already set to lowercase, so additional aliases for those are no longer
-- required.
cats["rsinuisance"] = cats["rsi0"]
cats["rsinotable"] = cats["rsi1"]
cats["rsiminor"] = cats["rsi2"]
cats["rsimajor"] = cats["rsi3"]
cats["rsicrippling"] = cats["rsi4"]
cats["rsiextreme"] = cats["rsi5"]
cats["rsinuisance"] = cats["rsi0"]
cats["wssi0"] = cats["wssinone"]
cats["wssi1"] = cats["wssilimited"]
cats["wssi2"] = cats["wssiminor"]
cats["wssi3"] = cats["wssimoderate"]
cats["wssi4"] = cats["wssimajor"]
cats["wssi5"] = cats["wssiextreme"]
cats["sty"] = cats["supertyphoon"]
cats["nwpsevere"] = cats["severe"]
cats["strong"] = cats["severe"]
cats["swiosts"] = cats["severe"]
cats["sts"] = cats["severe"]
cats["severets"] = cats["severe"]
cats["ty"] = cats["typhoon"]
cats["vstrtyphoon"] = cats["vstyphoon"]
cats["vsty"] = cats["vstyphoon"]
cats["vity"] = cats["vityphoon"]
cats["td"] = cats["depression"]
cats["ts"] = cats["storm"]
cats["nwpstorm"] = cats["storm"]
cats["d"] = cats["depression"]
cats["overlanddepression"] = cats["overland"]
cats["od"] = cats["overland"]
cats["spdepression"] = cats["depression"]
cats["shdepression"] = cats["depression"]
cats["shemdepression"] = cats["depression"]
cats["swiodepression"] = cats["depression"]
cats["spdepression"] = cats["depression"]
cats["nwpdepression"] = cats["depression"]
cats["swsubdep"] = cats["subdepression"]
cats["sd"] = cats["subdepression"]
cats["ss"] = cats["subtropical"]
cats["et"] = cats["extratropical"]
cats["ex"] = cats["extratropical"]
cats["md"] = cats["monsoondepression"]
cats["pt"] = cats["potential"]
cats["potentialtropicalcyclone"] = cats["potential"]
cats["potentialtropicalcyclone"] = cats["potential"]
cats["post"] = cats["posttropical"]
cats["remnantlow"] = cats["remnant"]
cats["rl"] = cats["remnant"]
cats["sucs"] = cats["sprcyclstorm"]
cats["escs"] = cats["esvrcyclstorm"]
cats["vscs"] = cats["vsvrcyclstorm"]
cats["scs"] = cats["svrcyclstorm"]
cats["cs"] = cats["niocyclone"]
cats["dd"] = cats["deepdepression"]
cats["cyclstorm"] = cats["niocyclone"]
cats["landdepression"] = cats["nioland"]
cats["land"] = cats["nioland"]
cats["ld"] = cats["nioland"]
cats["fiji5"] = cats["aus5"]
cats["fiji4"] = cats["aus4"]
cats["fiji3"] = cats["aus3"]
cats["fiji2"] = cats["aus2"]
cats["fiji1"] = cats["aus1"]
cats["tl"] = cats["low"]
cats["di"] = cats["disturbance"]
cats["swiodisturbance"] = cats["disturbance"]
cats["tdist"] = cats["disturbance"]
cats["mts"] = cats["mstorm"]
cats["sub"] = cats["mstorm"]
cats["vitc"] = cats["vintense"]
cats["itc"] = cats["intense"]
cats["tc"] = cats["tropicalcyclone"]
cats["swiotc"] = cats["tropicalcyclone"]
cats["shem3"] = cats["tropicalcyclone"]
cats["shemtc"] = cats["tropicalcyclone"]
cats["f12"] = cats["beaufort12"]
cats["f11"] = cats["beaufort11"]
cats["f10"] = cats["beaufort10"]
cats["f9"] = cats["beaufort9"]
cats["f8"] = cats["beaufort8"]
cats["f7"] = cats["beaufort7"]
cats["f6"] = cats["beaufort6"]
cats["f5"] = cats["beaufort5"]
cats["f4"] = cats["beaufort4"]
cats["f3"] = cats["beaufort3"]
cats["f2"] = cats["beaufort2"]
cats["f1"] = cats["beaufort1"]
cats["f0"] = cats["beaufort0"]
-- Key standardization check
for k, v in pairs(cats) do
if k ~= mw.ustring.gsub(k, "[^%w]", "") then
mw.addWarning(
"Category \""
.. k
.. "\" in [[Module:Storm categories/categories]] is defined with a non-alphanumeric key. "
.. "This key will likely be unusable unless non-alphanumeric characters are removed."
)
end
end
p.defaultCategory = "unknown"
p.cats = cats
return p