模組:Storm categories

Pang-bô͘:Module rating

This template is used to control a multitude of tropical cyclone-related templates: Pang-bô͘:T, Pang-bô͘:T, Pang-bô͘:T, and Pang-bô͘:T. It acts as a centralized location for storm categories to avoid discrepancies between templates, allowing for the same ID to be used across all related templates.

Data is located in the following submodules:

This module exports three functions for templates: p.color, p.name, p.sortkey, and p.icon. It also provides p._color, p._name, p._sortkey, and p._icon for use in other modules.

All input IDs are case-insensitive, and all non-alphanumeric characters are stripped.

Provides the color of the given tropical cyclone category code. This comes in the format of their raw hexadecimal code. This function is available as a template at Pang-bô͘:T.

Code Output
<span style="padding:4px;border:1px solid black;background-color:#{{#invoke:Storm categories|color|depression}}">depression</span> depression

Provides the name of the given tropical cyclone category code. A optional basin argument can be provided as the second argument in order to slightly tweak the name of the category, if the given category definition supports it. This function is available as a template at Pang-bô͘:T.

Code Interpreted Output
ID Basin
{{#invoke:Storm categories|name|severe}} severe (default) Kiông jia̍t-tài hong-pō
{{#invoke:Storm categories|name|spr - cYcL -s TorM}} sprcyclstorm (default) Chhiau-kip jia̍t-tài hong-pō
{{#invoke:Storm categories|name|cat5}} cat5 (default) 5-kip jia̍t-tài khì-soân
{{#invoke:Storm categories|name|cat5|ATl}} cat5 ATl 5-kip toā-hêng ha-líh-kéⁿ
{{#invoke:Storm categories|name|cat5|WPac}} cat5 WPac 5-kip chhiau-kip hong-thai

Sortkey

siu-kái

The sortkey is a number that aids in sorting categories. Using the sortkey, it is possible to automatically sort a table of tropical cyclones given their category code. Due to the ambiguous nature of sortkeys, tables may be sorted incorrectly if values from other basins were used. For categories that span multiple basins, however, (e.g. depression and storm) they are given the lowest possible sortkeys in order to achieve maximum compatibility.

This sortkey is used in Pang-bô͘:T and Pang-bô͘:T, a subtemplate of Pang-bô͘:T.

The sortkey format is as follows. Note that not all values between the given ranges were used. The arrangement of these were determined by their positions in the Pang-bô͘:T template.

Basin Sortkey range
Global (unused) 90000 to 99999
Atl/EPac/SAtl 80000 to 89999
WPac 60000 to 69999
Nio 50000 to 59999
Aus/Fiji 40000 to 49999
SWio 30000 to 39999
Historical 20000 to 29999
Global 0 to 9999

A demonstration of a sortable table using these sortkeys can be found below. Note that it does not use categories outside of its own basin (in this case, the Atl/EPac/SAtl basin) and the global range.

Category Sortkey Code
cat3 80,030 {{#invoke:Storm categories|sortkey|cat3}}
cat1 80,010 {{#invoke:Storm categories|sortkey|cat1}}
cat5 80,050 {{#invoke:Storm categories|sortkey|cat5}}
cat4 80,040 {{#invoke:Storm categories|sortkey|cat4}}
depression 90 {{#invoke:Storm categories|sortkey|depression}}
cat2 80,020 {{#invoke:Storm categories|sortkey|cat2}}

Pang-bô͘:Ctop

Category Sortkey Code
typhoon 60,010 {{#invoke:Storm categories|sortkey|typhoon}}
potential 25 {{#invoke:Storm categories|sortkey|potential}}
cat5 80,050 {{#invoke:Storm categories|sortkey|cat5}}
svrcyclstorm 50,008 {{#invoke:Storm categories|sortkey|svrcyclstorm}}
unknown 0 {{#invoke:Storm categories|sortkey|unknown}}
supertyphoon 80,045 {{#invoke:Storm categories|sortkey|supertyphoon}}
niodepression 50,001 {{#invoke:Storm categories|sortkey|niodepression}}

Pang-bô͘:Cbot

Icons exist for some Storm categories for presentation purposes. This function is available as a template at Pang-bô͘:T. p.icon will return wikitext of an image or formatted text.

Full list of available values

siu-kái

The following table is generated by invoking the demo function of this module. Some IDs are only available as colors or icons because they existed as parameters on old non-module template implementations and cannot be feasibly aliased to a specific tropical cyclone category.

It will show any color errors, including colors which aren't compliant with the minimal Web Content Accessibility Guidelines 2.0 AA color standards (see for more information).

Legend

  1. 1.0 1.1 Overriden from original color (     #6EC1EA)
  2. 2.0 2.1 Overriden from original icon (File:Severe Tropical storm icon.png)
  3. 3.0 3.1 3.2 Overriden from original icon (TC)
IconIDNameColorSortkey
BasinNameBasinSortkey
atmosriv1Category 1: Weak (Atmospheric river)#FFFFD9Atl/EPac/SAtl81200
atmosriv2Category 2: Moderate (Atmospheric river)#FFD98CAtl/EPac/SAtl81201
atmosriv3Category 3: Strong (Atmospheric river)#FF9E59[W 1]Atl/EPac/SAtl81202
atmosriv4Category 4: Extreme (Atmospheric river)#FF738A[W 1]Atl/EPac/SAtl81203
atmosriv5Category 5: Exceptional (Atmospheric river)#A188FC[W 1]Atl/EPac/SAtl81204
aus11-kip jia̍t-tài soân-hong#4DFFFFAus/Fiji40006
aus22-kip jia̍t-tài soân-hong#C0FFC0Aus/Fiji40008
aus33-kip kiông jia̍t-tài soân-hong#FFD98CAus/Fiji40010
aus44-kip kiông jia̍t-tài soân-hong#FF738A[W 1]Aus/Fiji40013
aus55-kip kiông jia̍t-tài soân-hong#A188FC[W 1]Aus/Fiji40015
beaufort0Calm (Force 0)#FFFFFFGlobal1500
beaufort1Light Air (Force 1)#757575[W 1][W 2]Global1510
beaufort10Storm (Force 10)#C0FFC0Global1600
beaufort11Violent Storm (Force 11)#E0FFCDGlobal1610
beaufort12Hurricane-force (Force 12)#FFFFD9Global1620
beaufort2Light Breeze (Force 2)#909090[W 1]Global1520
beaufort3Gentle Breeze (Force 3)#B7B7B7[W 1]Global1530
beaufort4Moderate Breeze (Force 4)#D2D2D2Global1540
beaufort5Fresh Breeze (Force 5)#F1F1F1Global1550
beaufort6Strong Breeze (Force 6)#1591DE[W 1]Global1560
beaufort7Near Gale (Force 7)#6EC1EA[W 1]Global1570
beaufort8Gale (Force 8)#5EE0F5Global1580
beaufort9Strong Gale (Force 9)#4DFFFFGlobal1590
cat1atl1-kip ha-líh-kéⁿ#FFFFD9Atl/EPac/SAtl80010
default1-kip jia̍t-tài khì-soân
epac1-kip ha-líh-kéⁿ
satl1-kip ha-líh-kéⁿ
wpac1-kip hong-thai
cat2atl2-kip ha-líh-kéⁿ#FFD98CAtl/EPac/SAtl80020
default2-kip jia̍t-tài khì-soân
epac2-kip ha-líh-kéⁿ
satl2-kip ha-líh-kéⁿ
wpac2-kip hong-thai
cat3atl3-kip toā-hêng ha-líh-kéⁿ#FF9E59[W 1]Atl/EPac/SAtl80030
default3-kip jia̍t-tài khì-soân
epac3-kip toā-hêng ha-líh-kéⁿ
satl3-kip ha-líh-kéⁿ
wpac3-kip hong-thai
cat4atl4-kip toā-hêng ha-líh-kéⁿ#FF738A[W 1]Atl/EPac/SAtl80040
default4-kip jia̍t-tài khì-soân
epac4-kip toā-hêng ha-líh-kéⁿ
satl4-kip ha-líh-kéⁿ
wpac4-kip hong-thai
cat5atl5-kip toā-hêng ha-líh-kéⁿ#A188FC[W 1]Atl/EPac/SAtl80050
default5-kip jia̍t-tài khì-soân
epac5-kip toā-hêng ha-líh-kéⁿ
satl5-kip ha-líh-kéⁿ
wpac5-kip chhiau-kip hong-thai
criticalrCritical Risk#FF738A[W 1]Atl/EPac/SAtl84101
criticalriskCritical Risk#FF738A[W 1]Atl/EPac/SAtl84101
csJia̍t-tài hong-pō#4DFFFFNIO50006
cyclstormJia̍t-tài hong-pō#4DFFFFNIO50006
dJia̍t-tài kē-khì-ap#1591de[1][W 1]Global90
TCd0Abnormally Dry#FFFFD9Atl/EPac/SAtl81100
TCd1Moderate Drought#FFD98CAtl/EPac/SAtl81101
TCd2Severe Drought#FF9E59[W 1]Atl/EPac/SAtl81102
TCd3Extreme Drought#FF738A[W 1]Atl/EPac/SAtl81103
TCd4Exceptional Drought#A188FC[W 1]Atl/EPac/SAtl81104
ddDeep depression#6EC1EA[W 1]NIO50002
deepdepressionDeep depression#6EC1EA[W 1]NIO50002
depressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
diJia̍t-tài jiáu-tōng#1591DE[W 1]Global80
disturbanceJia̍t-tài jiáu-tōng#1591DE[W 1]Global80
TCdrought0Abnormally Dry#FFFFD9Atl/EPac/SAtl81100
TCdrought1Moderate Drought#FFD98CAtl/EPac/SAtl81101
TCdrought2Severe Drought#FF9E59[W 1]Atl/EPac/SAtl81102
TCdrought3Extreme Drought#FF738A[W 1]Atl/EPac/SAtl81103
TCdrought4Exceptional Drought#A188FC[W 1]Atl/EPac/SAtl81104
ef0EF0 tornado#4DFFFFGlobal1000
ef1EF1 tornado#FFFFD9Global1010
ef2EF2 tornado#FFD98CGlobal1020
ef3EF3 tornado#FF9E59[W 1]Global1030
ef4EF4 tornado#FF738A[W 1]Global1040
ef5EF5 tornado#A188FC[W 1]Global1050
efuEFU tornado#CCCCCCGlobal1001
elExtratropical low#CCCCCCGlobal50
elevatedrElevated Risk#FF9E59[W 1]Atl/EPac/SAtl84100
elevatedriskElevated Risk#FF9E59[W 1]Atl/EPac/SAtl84100
enhancedriskEnhanced Risk#FF9E59[W 1]Atl/EPac/SAtl84003
enhrEnhanced Risk#FF9E59[W 1]Atl/EPac/SAtl84003
TCensomenENSO Moderate El Nino#D46356[W 1][W 2]Global202
TCensomlnENSO Moderate La Nina#3A90D2[W 1]Global206
TCensonENSO Neutral#ACACAC[W 1]Global200
TCensosenENSO Strong El Nino#E73E2B[W 1][W 2]Global203
TCensoslnENSO Strong La Nina#0082E6[W 1][W 2]Global205
TCensovsenENSO Very Strong El Nino#FA1900[W 1][W 2]Global204
TCensowenENSO Weak El Nino#C18881[W 1]Global201
TCensowlnENSO Weak La Nina#739EBF[W 1]Global207
escsTe̍k kiông jia̍t-tài hong-pō#FF738A[W 1]NIO50015
esvrcyclstormTe̍k kiông jia̍t-tài hong-pō#FF738A[W 1]NIO50015
etUn-tài soân-hong#CCCCCCGlobal50
exUn-tài soân-hong#CCCCCCGlobal50
extratropicalUn-tài soân-hong#CCCCCCGlobal50
extratropicallowExtratropical low#CCCCCCGlobal50
extremerExtreme risk#A188FC[W 1]Atl/EPac/SAtl84102
extremeriskExtreme risk#A188FC[W 1]Atl/EPac/SAtl84102
f0Calm (Force 0)#FFFFFFGlobal1500
f1Light Air (Force 1)#757575[W 1][W 2]Global1510
f10Storm (Force 10)#C0FFC0Global1600
f11Violent Storm (Force 11)#E0FFCDGlobal1610
f12Hurricane-force (Force 12)#FFFFD9Global1620
f2Light Breeze (Force 2)#909090[W 1]Global1520
f3Gentle Breeze (Force 3)#B7B7B7[W 1]Global1530
f4Moderate Breeze (Force 4)#D2D2D2Global1540
f5Fresh Breeze (Force 5)#F1F1F1Global1550
f6Strong Breeze (Force 6)#1591DE[W 1]Global1560
f7Near Gale (Force 7)#6EC1EA[W 1]Global1570
f8Gale (Force 8)#5EE0F5Global1580
f9Strong Gale (Force 9)#4DFFFFGlobal1590
fcFunnel Cloud#6EC1EA[W 1]Global1201
fiji11-kip jia̍t-tài soân-hong#4DFFFFAus/Fiji40006
fiji22-kip jia̍t-tài soân-hong#C0FFC0Aus/Fiji40008
fiji33-kip kiông jia̍t-tài soân-hong#FFD98CAus/Fiji40010
fiji44-kip kiông jia̍t-tài soân-hong#FF738A[W 1]Aus/Fiji40013
fiji55-kip kiông jia̍t-tài soân-hong#A188FC[W 1]Aus/Fiji40015
TCfrostbite10US: Frostbite 10 mins#FF738A[W 1]Atl/EPac/SAtl83011
TCfrostbite30US: Frostbite 30 mins#FFD98CAtl/EPac/SAtl83012
TCfrostbite5US: Frostbite 5 mins#A188FC[W 1]Atl/EPac/SAtl83010
TCfrostbitenUS: Frostbite more than 30 mins/not possible#FFFFD9Atl/EPac/SAtl83013
funnelcloudFunnel Cloud#6EC1EA[W 1]Global1201
g1Minor Geomagnetic Storms#FFFFD9Atl/EPac/SAtl82200
g2Moderate Geomagnetic Storms#FFD98CAtl/EPac/SAtl82201
g3Strong Geomagnetic Storms#FF9E59[W 1]Atl/EPac/SAtl82202
g4Severe Geomagnetic Storms#FF738A[W 1]Atl/EPac/SAtl82203
g5Extreme Geomagnetic Storms#A188FC[W 1]Atl/EPac/SAtl82204
geo1Minor Geomagnetic Storms#FFFFD9Atl/EPac/SAtl82200
geo2Moderate Geomagnetic Storms#FFD98CAtl/EPac/SAtl82201
geo3Strong Geomagnetic Storms#FF9E59[W 1]Atl/EPac/SAtl82202
geo4Severe Geomagnetic Storms#FF738A[W 1]Atl/EPac/SAtl82203
geo5Extreme Geomagnetic Storms#A188FC[W 1]Atl/EPac/SAtl82204
TCh1Category 1: Extremely Hot#A188FC[W 1]Atl/EPac/SAtl83004
TCh2Category 2: Very Hot#FF738A[W 1]Atl/EPac/SAtl83003
TCh3Category 3: Hot#FF9E59[W 1]Atl/EPac/SAtl83002
TCh4Category 4: Very Warm#FFD98CAtl/EPac/SAtl83001
TCheat1Category 1: Extremely Hot#A188FC[W 1]Atl/EPac/SAtl83004
TCheat2Category 2: Very Hot#FF738A[W 1]Atl/EPac/SAtl83003
TCheat3Category 3: Hot#FF9E59[W 1]Atl/EPac/SAtl83002
TCheat4Category 4: Very Warm#FFD98CAtl/EPac/SAtl83001
TCheatindex100f≥ 100F heat index#FE1212[W 1][W 2]Global2208
TCheatindex110f≥ 110F heat index#FE1284[W 1][W 2]Global2209
TCheatindex120f≥ 120F heat index#FF7BC3[W 1]Global2210
TCheatindex130f≥ 130F heat index#FFC1E3Global2211
TCheatindex140f≥ 140F heat index#FFD6EDGlobal2212
TCheatindex150f≥ 150F heat index#FFEDF7Global2214
TCheatindex160f≥ 160F heat index#FFFFFFGlobal2215
TCheatindex30f≥ 30F heat index#009614[W 1][W 2]Global2201
TCheatindex30fb< 30F heat index#aedff9Global2200
TCheatindex40f≥ 40F heat index#96df00Global2202
TCheatindex50f≥ 50F heat index#c5ee03Global2203
TCheatindex60f≥ 60F heat index#ffff00Global2204
TCheatindex70f≥ 70F heat index#ffc502Global2205
TCheatindex80f≥ 80F heat index#ff9606[W 1]Global2206
TCheatindex90f≥ 90F heat index#FF5500[W 1]Global2207
TCheatwWarm#FFFFD9Atl/EPac/SAtl83000
highrHigh Risk#A188FC[W 1]Atl/EPac/SAtl84005
highriskHigh Risk#A188FC[W 1]Atl/EPac/SAtl84005
TChwWarm#FFFFD9Atl/EPac/SAtl83000
ice0Ice Damage Index: 0#4DFFFFAtl/EPac/SAtl80300
ice1Ice Damage Index: 1#FFFFD9Atl/EPac/SAtl80301
ice2Ice Damage Index: 2#FFD98CAtl/EPac/SAtl80302
ice3Ice Damage Index: 3#FF9E59[W 1]Atl/EPac/SAtl80303
ice4Ice Damage Index: 4#FF738A[W 1]Atl/EPac/SAtl80304
ice5Ice Damage Index: 5#A188FC[W 1]Atl/EPac/SAtl80305
if0IF0 tornado#4DFFFFGlobal1102
if0mIF0- tornado#58EBF8Global1101
if0pIF0+ tornado#89FFF3Global1103
if1IF1 tornado#FFFFD9Global1105
if1mIF1- tornado#C4FFE6Global1104
if1pIF1+ tornado#FFF2BFGlobal1106
if2IF2 tornado#FFD98CGlobal1108
if2mIF2- tornado#FFE5A5Global1107
if2pIF2+ tornado#FFC57BGlobal1109
if3IF3 tornado#FF9E59[W 1]Global1110
if4IF4 tornado#FF738A[W 1]Global1111
if5IF5 tornado#A188FC[W 1]Global1112
ifuIFU tornado#CCCCCCGlobal1100
intenseIntense tropical cyclone#FF738A[W 1]SWIO30008
itcIntense tropical cyclone#FF738A[W 1]SWIO30008
landLand depression#1591DE[W 1]NIO50000
landdepressionLand depression#1591DE[W 1]NIO50000
ldLand depression#1591DE[W 1]NIO50000
lowTropical low#6EC1EA[W 1]Aus/Fiji40002
marginalriskMarginal Risk#1BC800[W 1]Atl/EPac/SAtl84001
mdMonsoon depression#6EC1EA[W 1]Global30
mdtrModerate Risk#FF738A[W 1]Atl/EPac/SAtl84004
TCmoddepressionTiong-téng jia̍t-tài kē-khì-ap#6EC1EA[W 1]Global95
moderateriskModerate Risk#FF738A[W 1]Atl/EPac/SAtl84004
monsoondepressionMonsoon depression#6EC1EA[W 1]Global30
mrglrMarginal Risk#1BC800[W 1]Atl/EPac/SAtl84001
tóng-àn:Moderate Tropical storm icon.pngmstormTiong-téng jia̍t-tài hong-pō#4DFFFFSWIO30004
tóng-àn:Moderate Tropical storm icon.pngmtsTiong-téng jia̍t-tài hong-pō#4DFFFFSWIO30004
tóng-àn:Moderate Tropical storm icon.pngmtstormTiong-téng jia̍t-tài hong-pō#4DFFFFGlobal105
niocycloneJia̍t-tài hong-pō#4DFFFFNIO50006
niodepressionKē-khì-ap#1591DE[W 1]NIO50001
niolandLand depression#1591DE[W 1]NIO50000
nwpdepressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
tóng-àn:Severe Tropical storm icon.pngnwpsevereKiông jia̍t-tài hong-pō#C0FFC0Global120
nwpstormJia̍t-tài hong-pō#4DFFFFGlobal100
odOverland depression#6EC1EA[W 1]Global60
overlandOverland depression#6EC1EA[W 1]Global60
overlanddepressionOverland depression#6EC1EA[W 1]Global60
TCp1Extremely moist#1BC800[W 1]Atl/EPac/SAtl81006
TCp2Very Moist#5FFF46Atl/EPac/SAtl81005
TCp3Moderately Moist#A9FEC4Atl/EPac/SAtl81004
TCp4Near Normal#FFFFFFAtl/EPac/SAtl81003
TCp5Moderate Drought#FFB3B0Atl/EPac/SAtl81002
TCp6Severe Drought#FF5A55[W 1]Atl/EPac/SAtl81001
TCp7Extreme Drought#FF0800[W 1][W 2]Atl/EPac/SAtl81000
TCpalmer1Extremely moist#1BC800[W 1]Atl/EPac/SAtl81006
TCpalmer2Very Moist#5FFF46Atl/EPac/SAtl81005
TCpalmer3Moderately Moist#A9FEC4Atl/EPac/SAtl81004
TCpalmer4Near Normal#FFFFFFAtl/EPac/SAtl81003
TCpalmer5Moderate Drought#FFB3B0Atl/EPac/SAtl81002
TCpalmer6Severe Drought#FF5A55[W 1]Atl/EPac/SAtl81001
TCpalmer7Extreme Drought#FF0800[W 1][W 2]Atl/EPac/SAtl81000
postPost-tropical depression#CCCCCCGlobal70
posttropicalPost-tropical depression#CCCCCCGlobal70
potentialPotential tropical cyclone#1591DE[W 1]Global25
potentialtropicalcyclonePotential tropical cyclone#1591DE[W 1]Global25
ptPotential tropical cyclone#1591DE[W 1]Global25
TCr1Minor Radio Blackout#FFFFD9Atl/EPac/SAtl82000
TCr2Moderate Radio Blackout#FFD98CAtl/EPac/SAtl82001
TCr3Strong Radio Blackout#FF9E59[W 1]Atl/EPac/SAtl82002
TCr4Severe Radio Blackout#FF738A[W 1]Atl/EPac/SAtl82003
TCr5Extreme Radio Blackout#A188FC[W 1]Atl/EPac/SAtl82004
TCradio1Minor Radio Blackout#FFFFD9Atl/EPac/SAtl82000
TCradio2Moderate Radio Blackout#FFD98CAtl/EPac/SAtl82001
TCradio3Strong Radio Blackout#FF9E59[W 1]Atl/EPac/SAtl82002
TCradio4Severe Radio Blackout#FF738A[W 1]Atl/EPac/SAtl82003
TCradio5Extreme Radio Blackout#A188FC[W 1]Atl/EPac/SAtl82004
redflag0RFTI NIL#4DFFFFAtl/EPac/SAtl83100
redflag1RFTI Elevated#FFFFD9Atl/EPac/SAtl83101
redflag3RFTI Critical-low#FFD98CAtl/EPac/SAtl83102
redflag5RFTI Critical-High#FF9E59[W 1]Atl/EPac/SAtl83103
redflag7RFTI Extremely Critical#FF738A[W 1]Atl/EPac/SAtl83104
redflag9RFTI Historically critical#A188FC[W 1]Atl/EPac/SAtl83004
redflagcrhRFTI Critical-High#FF9E59[W 1]Atl/EPac/SAtl83103
redflagcrlRFTI Critical-low#FFD98CAtl/EPac/SAtl83102
redflagecrRFTI Extremely Critical#FF738A[W 1]Atl/EPac/SAtl83104
redflagelvRFTI Elevated#FFFFD9Atl/EPac/SAtl83101
redflaghcrRFTI Historically critical#A188FC[W 1]Atl/EPac/SAtl83004
redflagnilRFTI NIL#4DFFFFAtl/EPac/SAtl83100
remnantPost-tropical depression#CCCCCCGlobal70
remnantlowPost-tropical depression#CCCCCCGlobal70
rfti0RFTI NIL#4DFFFFAtl/EPac/SAtl83100
rfti1RFTI Elevated#FFFFD9Atl/EPac/SAtl83101
rfti3RFTI Critical-low#FFD98CAtl/EPac/SAtl83102
rfti5RFTI Critical-High#FF9E59[W 1]Atl/EPac/SAtl83103
rfti7RFTI Extremely Critical#FF738A[W 1]Atl/EPac/SAtl83104
rfti9RFTI Historically critical#A188FC[W 1]Atl/EPac/SAtl83004
rlPost-tropical depression#CCCCCCGlobal70
rsi0Category 0 "Nuisance"#CCCCCCAtl/EPac/SAtl80100
rsi1Category 1 "Notable"#FFFFD9Atl/EPac/SAtl80110
rsi2Category 2 "Minor"#FFD98CAtl/EPac/SAtl80120
rsi3Category 3 "Major"#FF9E59[W 1]Atl/EPac/SAtl80130
rsi4Category 4 "Crippling"#FF738A[W 1]Atl/EPac/SAtl80140
rsi5Category 5 "Extreme"#A188FC[W 1]Atl/EPac/SAtl80150
rsicripplingCategory 4 "Crippling"#FF738A[W 1]Atl/EPac/SAtl80140
rsiextremeCategory 5 "Extreme"#A188FC[W 1]Atl/EPac/SAtl80150
rsimajorCategory 3 "Major"#FF9E59[W 1]Atl/EPac/SAtl80130
rsiminorCategory 2 "Minor"#FFD98CAtl/EPac/SAtl80120
rsinotableCategory 1 "Notable"#FFFFD9Atl/EPac/SAtl80110
rsinuisanceCategory 0 "Nuisance"#CCCCCCAtl/EPac/SAtl80100
TCs1Minor Solar Radiation Storms#FFFFD9Atl/EPac/SAtl82100
TCs2Moderate Solar Radiation Storms#FFD98CAtl/EPac/SAtl82101
TCs3Strong Solar Radiation Storms#FF9E59[W 1]Atl/EPac/SAtl82102
TCs4Severe Solar Radiation Storms#FF738A[W 1]Atl/EPac/SAtl82103
TCs5Extreme Solar Radiation Storms#A188FC[W 1]Atl/EPac/SAtl82104
scsKiông jia̍t-tài hong-pō#C0FFC0NIO50008
sdA-jia̍t-tài kē-khì-ap#6EC1EA[W 1]Global62
tóng-àn:Severe Tropical storm icon.pngsevereKiông jia̍t-tài hong-pō#C0FFC0Global120
TCseveredepKiông jia̍t-tài kē-khì-ap#6EC1EA[W 1]Global120
tóng-àn:Severe Tropical storm icon.pngseveretsKiông jia̍t-tài hong-pō#C0FFC0Global120
shdepressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
TCshem1Jia̍t-tài soân-hong#4DFFFFHistorical20008
TCshem2Jia̍t-tài soân-hong#C0FFC0Historical20008
TCshem3Jia̍t-tài soân-hong#FFD98CSWIO30006
TCshem4Jia̍t-tài soân-hong#FFD98CHistorical20008
TCshem5Kiông jia̍t-tài soân-hong#A188FC[W 1]Historical20010
shemdepressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
TCshemsvrtcKiông jia̍t-tài soân-hong#FFD98CHistorical20020
TCshemtcJia̍t-tài soân-hong#FFD98CSWIO30006
slgtrSlight Risk#FFD98CAtl/EPac/SAtl84002
slightriskSlight Risk#FFD98CAtl/EPac/SAtl84002
TCsolar1Minor Solar Radiation Storms#FFFFD9Atl/EPac/SAtl82100
TCsolar2Moderate Solar Radiation Storms#FFD98CAtl/EPac/SAtl82101
TCsolar3Strong Solar Radiation Storms#FF9E59[W 1]Atl/EPac/SAtl82102
TCsolar4Severe Solar Radiation Storms#FF738A[W 1]Atl/EPac/SAtl82103
TCsolar5Extreme Solar Radiation Storms#A188FC[W 1]Atl/EPac/SAtl82104
spdepressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
spia0Ice Damage Index: 0#4DFFFFAtl/EPac/SAtl80300
spia1Ice Damage Index: 1#FFFFD9Atl/EPac/SAtl80301
spia2Ice Damage Index: 2#FFD98CAtl/EPac/SAtl80302
spia3Ice Damage Index: 3#FF9E59[W 1]Atl/EPac/SAtl80303
spia4Ice Damage Index: 4#FF738A[W 1]Atl/EPac/SAtl80304
spia5Ice Damage Index: 5#A188FC[W 1]Atl/EPac/SAtl80305
sprcyclstormChhiau-kip jia̍t-tài hong-pō#A188FC[W 1]NIO50020
tóng-àn:SubTropical storm icon.pngssA-jia̍t-tài hong-pō#4DFFFFGlobal65
stormJia̍t-tài hong-pō#4DFFFFGlobal100
tóng-àn:Severe Tropical storm icon.pngstrongKiông jia̍t-tài hong-pō#C0FFC0Global120
tóng-àn:Severe Tropical storm icon.pngstsKiông jia̍t-tài hong-pō#C0FFC0Global120
sty4-kip chhiau-kip hong-thai#FF738A[W 1]Atl/EPac/SAtl80045
TCstyphoonChhiau-kip hong-thai#A188FC[W 1]WPAC60050
tóng-àn:Moderate Tropical storm icon.pngsubTiong-téng jia̍t-tài hong-pō#4DFFFFSWIO30004
subdepressionA-jia̍t-tài kē-khì-ap#6EC1EA[W 1]Global62
subdisturbanceA-jia̍t-tài jiáu-tōng#1591DE[W 1]Global55
TCsublowSubtropical low#6EC1EA[W 1]Aus/Fiji40000
tóng-àn:SubTropical storm icon.pngsubtropicalA-jia̍t-tài hong-pō#4DFFFFGlobal65
TCsubtropicalcycloneA-jia̍t-tài soân-hong#4DFFFFGlobal70
sucsChhiau-kip jia̍t-tài hong-pō#A188FC[W 1]NIO50020
supertyphoon4-kip chhiau-kip hong-thai#FF738A[W 1]Atl/EPac/SAtl80045
svrcyclstormKiông jia̍t-tài hong-pō#C0FFC0NIO50008
TCsvtyphoonKiông hong-thai#FF738A[W 1]WPAC60015
swiodepressionJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
swiodisturbanceJia̍t-tài jiáu-tōng#1591DE[W 1]Global80
[2]swiostsKiông jia̍t-tài hong-pō#C0FFC0Global120
[3]swiotcJia̍t-tài soân-hong#FFD98CSWIO30006
swsubdepA-jia̍t-tài kē-khì-ap#6EC1EA[W 1]Global62
t0T0 tornado#5EE0F5Global1202
t1T1 tornado#4DFFFFGlobal1203
t10T10 tornado#D07EC3[W 1]Global1212
t11T11 tornado#A188FC[W 1]Global1213
t2T2 tornado#A6FFECGlobal1204
t3T3 tornado#FFFFD9Global1205
t4T4 tornado#FFECB3Global1206
t5T5 tornado#FFD98CGlobal1207
t6T6 tornado#FFBC73Global1208
t7T7 tornado#FF9E59[W 1]Global1209
t8T8 tornado#FF8972[W 1]Global1210
t9T9 tornado#FF738A[W 1]Global1211
[3]tcJia̍t-tài soân-hong#FFD98CSWIO30006
tdJia̍t-tài kē-khì-ap#6EC1EA[W 1]Global90
tdistJia̍t-tài jiáu-tōng#1591DE[W 1]Global80
TCtemp0c≥ 0C temperature#009614[W 1][W 2]Global2015
TCtemp10c≥ 10C temperature#c5ee03Global2017
TCtemp10cn≥ -10C temperature#19c5ff[W 1]Global2013
TCtemp15c≥ 15C temperature#ffff00Global2018
TCtemp15cn≥ -15C temperature#1e96f8[W 1]Global2012
TCtemp20c≥ 20C temperature#ffc502Global2019
TCtemp20cn≥ -20C temperature#716EEE[W 1][W 2]Global2011
TCtemp25c≥ 25C temperature#ff9606[W 1]Global2020
TCtemp25cn≥ -25C temperature#9F6FD2[W 1][W 2]Global2010
TCtemp30c≥ 30C temperature#FF5500[W 1]Global2021
TCtemp30cn≥ -30C temperature#CEA8E7[W 1]Global2009
TCtemp35c≥ 35C temperature#FE1212[W 1][W 2]Global2022
TCtemp35cn≥ -35C temperature#FEE9FFGlobal2008
TCtemp40c≥ 40C temperature#FE1284[W 1][W 2]Global2023
TCtemp40cn≥ -40C temperature#FFFFFFGlobal2007
TCtemp45c≥ 45C temperature#FF7BC3[W 1]Global2024
TCtemp45cn≥ -45C temperature#DCDCDCGlobal2006
TCtemp50c≥ 50C temperature#FFC1E3Global2025
TCtemp50cn≥ -50C temperature#BEBEBEGlobal2005
TCtemp55c≥ 55C temperature#FFD6EDGlobal2026
TCtemp55cn≥ -55C temperature#868686[W 1][W 2]Global2004
TCtemp5c≥ 5C temperature#96df00Global2016
TCtemp5cn≥ -5C temperature#aedff9Global2014
TCtemp60cn≥ -60C temperature#FAD6EBGlobal2003
TCtemp65cn≥ -65C temperature#DCAAC2[W 1]Global2002
TCtemp70cn≥ -70C temperature#CB83A5[W 1]Global2001
TCtempb70cn< -70C temperature#B7698E[W 1][W 2]Global2000
thunderstormT-storm#A9FEC4Atl/EPac/SAtl84000
tlTropical low#6EC1EA[W 1]Aus/Fiji40002
torro0T0 tornado#5EE0F5Global1202
torro1T1 tornado#4DFFFFGlobal1203
torro10T10 tornado#D07EC3[W 1]Global1212
torro11T11 tornado#A188FC[W 1]Global1213
torro2T2 tornado#A6FFECGlobal1204
torro3T3 tornado#FFFFD9Global1205
torro4T4 tornado#FFECB3Global1206
torro5T5 tornado#FFD98CGlobal1207
torro6T6 tornado#FFBC73Global1208
torro7T7 tornado#FF9E59[W 1]Global1209
torro8T8 tornado#FF8972[W 1]Global1210
torro9T9 tornado#FF738A[W 1]Global1211
torrouTU tornado#CCCCCCGlobal1200
TCtropicalcycloneJia̍t-tài soân-hong#FFD98CSWIO30006
tsJia̍t-tài hong-pō#4DFFFFGlobal100
tstmT-storm#A9FEC4Atl/EPac/SAtl84000
tstormT-storm#A9FEC4Atl/EPac/SAtl84000
tuTU tornado#CCCCCCGlobal1200
tyHong-thai#FFD98CWPAC60010
typhoonHong-thai#FFD98CWPAC60010
?unknownPut-bêng téng-kip hong-pō#C0C0C0Global0
vintenseVery intense tropical cyclone#A188FC[W 1]SWIO30010
vitcVery intense tropical cyclone#A188FC[W 1]SWIO30010
vityMé hong-thai#A188FC[W 1]WPAC60030
vityphoonMé hong-thai#A188FC[W 1]WPAC60030
vscsChin kiông jia̍t-tài hong-pō#FFD98CNIO50010
vstrtyphoonChin kiông hong-thai#FF738A[W 1]WPAC60020
vstyChin kiông hong-thai#FF738A[W 1]WPAC60020
vstyphoonChin kiông hong-thai#FF738A[W 1]WPAC60020
vsvrcyclstormChin kiông jia̍t-tài hong-pō#FFD98CNIO50010
TCwindchill0f≥ 0F wind chill#716EEE[W 1][W 2]Global2111
TCwindchill100fn≥ -100F wind chill#CB83A5[W 1]Global2101
TCwindchill10f≥ 10F wind chill#1e96f8[W 1]Global2112
TCwindchill10fn≥ -10F wind chill#9F6FD2[W 1][W 2]Global2110
TCwindchill20f≥ 20F wind chill#19c5ff[W 1]Global2113
TCwindchill20fn≥ -20F wind chill#CEA8E7[W 1]Global2109
TCwindchill30f≥ 30F wind chill#aedff9Global2114
TCwindchill30fn≥ -30F wind chill#FEE9FFGlobal2108
TCwindchill40f≥ 40F wind chill#009614[W 1][W 2]Global2115
TCwindchill40fn≥ -40F wind chill#FFFFFFGlobal2107
TCwindchill50f≥ 50F wind chill#96df00Global2116
TCwindchill50fn≥ -50F wind chill#DCDCDCGlobal2106
TCwindchill60f≥ 60F wind chill#c5ee03Global2117
TCwindchill60fn≥ -60F wind chill#BEBEBEGlobal2105
TCwindchill70fn≥ -70F wind chill#868686[W 1][W 2]Global2104
TCwindchill80fn≥ -80F wind chill#FAD6EBGlobal2103
TCwindchill90fn≥ -90F wind chill#DCAAC2[W 1]Global2102
TCwindchillb100fn≤ -100F wind chill#B7698E[W 1][W 2]Global2100
TCwindchillextremeCanada: extreme windchill risk#A188FC[W 1]Atl/EPac/SAtl83025
TCwindchillhighCanada: high windchill risk#FFD98CAtl/EPac/SAtl83022
TCwindchilllowCanada: low windchill risk#4DFFFFAtl/EPac/SAtl83020
TCwindchillmoderateCanada: moderate windchill risk#FFFFD9Atl/EPac/SAtl83021
TCwindchillsevereCanada: severe windchill risk#FF738A[W 1]Atl/EPac/SAtl83024
TCwindchillveryhighCanada: very high windchill risk#FF9E59[W 1]Atl/EPac/SAtl83023
TCwssi0No impacts#CCCCCCAtl/EPac/SAtl80200
TCwssi1Limited impacts#1591DE[W 1]Atl/EPac/SAtl80210
TCwssi2Minor impacts#FFFFD9Atl/EPac/SAtl80220
TCwssi3Moderate impacts#FF9E59[W 1]Atl/EPac/SAtl80230
TCwssi4Major impacts#FF738A[W 1]Atl/EPac/SAtl80240
TCwssi5Extreme impacts#A188FC[W 1]Atl/EPac/SAtl80250
TCwssiextremeExtreme impacts#A188FC[W 1]Atl/EPac/SAtl80250
TCwssilimitedLimited impacts#1591DE[W 1]Atl/EPac/SAtl80210
TCwssimajorMajor impacts#FF738A[W 1]Atl/EPac/SAtl80240
TCwssiminorMinor impacts#FFFFD9Atl/EPac/SAtl80220
TCwssimoderateModerate impacts#FF9E59[W 1]Atl/EPac/SAtl80230
TCwssinoneNo impacts#CCCCCCAtl/EPac/SAtl80200
zodwZone of disturbed weather#1591DE[W 1]SWIO30000
1not available#FFFFD9not available
2not available#FFD98Cnot available
3not available#FF9E59[W 1]not available
4not available#FF738A[W 1]not available
5not available#A188FC[W 1]not available
a1not available#4DFFFFnot available
a2not available#C0FFC0not available
a3not available#FFD98Cnot available
a4not available#FF738A[W 1]not available
a5not available#A188FC[W 1]not available
et2not available
ex2not available
extratropical2not available
stssnot available

Warnings

This table contains warnings than should be addressed. Please note that some warnings cannot be fully addressed without changes that would require consensus.

  1. 1.000 1.001 1.002 1.003 1.004 1.005 1.006 1.007 1.008 1.009 1.010 1.011 1.012 1.013 1.014 1.015 1.016 1.017 1.018 1.019 1.020 1.021 1.022 1.023 1.024 1.025 1.026 1.027 1.028 1.029 1.030 1.031 1.032 1.033 1.034 1.035 1.036 1.037 1.038 1.039 1.040 1.041 1.042 1.043 1.044 1.045 1.046 1.047 1.048 1.049 1.050 1.051 1.052 1.053 1.054 1.055 1.056 1.057 1.058 1.059 1.060 1.061 1.062 1.063 1.064 1.065 1.066 1.067 1.068 1.069 1.070 1.071 1.072 1.073 1.074 1.075 1.076 1.077 1.078 1.079 1.080 1.081 1.082 1.083 1.084 1.085 1.086 1.087 1.088 1.089 1.090 1.091 1.092 1.093 1.094 1.095 1.096 1.097 1.098 1.099 1.100 1.101 1.102 1.103 1.104 1.105 1.106 1.107 1.108 1.109 1.110 1.111 1.112 1.113 1.114 1.115 1.116 1.117 1.118 1.119 1.120 1.121 1.122 1.123 1.124 1.125 1.126 1.127 1.128 1.129 1.130 1.131 1.132 1.133 1.134 1.135 1.136 1.137 1.138 1.139 1.140 1.141 1.142 1.143 1.144 1.145 1.146 1.147 1.148 1.149 1.150 1.151 1.152 1.153 1.154 1.155 1.156 1.157 1.158 1.159 1.160 1.161 1.162 1.163 1.164 1.165 1.166 1.167 1.168 1.169 1.170 1.171 1.172 1.173 1.174 1.175 1.176 1.177 1.178 1.179 1.180 1.181 1.182 1.183 1.184 1.185 1.186 1.187 1.188 1.189 1.190 1.191 1.192 1.193 1.194 1.195 1.196 1.197 1.198 1.199 1.200 1.201 1.202 1.203 1.204 1.205 1.206 1.207 1.208 1.209 1.210 1.211 1.212 1.213 1.214 1.215 1.216 1.217 1.218 1.219 1.220 1.221 This color has with links (not WCAG 2.0 AA-compatible). It should not be used in conjunction with a link.
  2. 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.17 2.18 2.19 2.20 2.21 2.22 2.23 This color has with visited links (not WCAG 2.0 AA-compatible with #0b0080). It should not be used in conjunction with a visited link.

local categoryData = require("Module:Storm categories/categories")
local colors = require("Module:Storm categories/colors").colors
local icons = require("Module:Storm categories/icons").icons
local cats = categoryData.cats
local defaultCategory = categoryData.defaultCategory
local p = {}

function p.color(frame)
	return p._color(frame.args[1] or frame:getParent().args[1], false)
end

function p.name(frame)
	return p._name(
		frame.args[1] or frame:getParent().args[1],
		frame.args[2] or frame:getParent().args[2],
		false
	)
end

function p.sortkey(frame)
	return p._sortkey(frame.args[1] or frame:getParent().args[1], false)
end

function p.icon(frame)
	return p._icon(frame.args[1] or frame:getParent().args[1], false)
end

function p.isEqual(frame)
	return p._isEqual(
		frame.args[1] or frame:getParent().args[1],
		frame.args[2] or frame:getParent().args[2]
	) and "yes" or ""
end

function p._normalizeId(category, fallback)
	-- Normalize if normalizable, fall back to default if not.
	return (category ~= nil and string.len(category) ~= 0) and
		string.gsub(string.lower(category), "[^%w]", "") or fallback
end

function p._color(category, nilIfMissing)
	-- This looks confusing, but it's actually nested ternaries (for nil checks)
	local color = p._normalizeId(category, defaultCategory)
		
	return colors[color] or ((cats[color] or (
		nilIfMissing
		and { color = nil }
		or cats[defaultCategory]
	)).color)
end

function p._name(category, basin, nilIfMissing)
	local name_def = (cats[
		p._normalizeId(category, defaultCategory)
	] or (nilIfMissing and { name = nil } or cats[defaultCategory])).name
	return type(name_def) == "table" and 
		(
			name_def[string.lower(basin or "default")]
			or name_def["default"]
			or (not nilIfMissing and error("No default name for basin-based category name.") or nil)
		) 
		or name_def
end

function p._sortkey(category, nilIfMissing)
	-- This looks confusing, but it's actually nested ternaries (for nil checks)
	return (cats[
		p._normalizeId(category, defaultCategory)
	] or (nilIfMissing and { sortkey = nil } or cats[defaultCategory])).sortkey
end

function p._icon(category, nilIfMissing)
	-- This looks confusing, but it's actually nested ternaries (for nil checks)
	local icon = p._normalizeId(category, defaultCategory)
		
	return icons[icon] or (cats[icon] ~= nil and (
		cats[icon].icon or cats["tropicalcyclone"].icon
	) or (not nilIfMissing and cats[defaultCategory].icon) or nil)
end

function p._isEqual(category1, category2)
	-- Checks if two IDs are equal.
	-- An {{#ifeq}} check does not consider aliases. This function compares two
	-- IDs in a way that considers category aliases. This works because alias
	-- assignments are references to the actual table containing the category
	-- info found in the main category table.
	-- 
	-- `false` will be returned if at least one of the categories are nil or
	-- if the category is not defined.
	local _category1 = p._normalizeId(category1)
	local _category2 = p._normalizeId(category2)
	return (_category1 == _category2 and _category1 ~= nil) or
		cats[ _category1 ] == cats[ _category2 ] and
			-- `false` if categories are undefined and not equal.
			cats[ _category1 ] ~= nil
end

function p.demo(frame)
	return require("Module:Storm categories/demo").demo(frame)
end

return p