Jump to content

Module:Shindo/data

Permanently protected module
From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Awesome Aasim (talk | contribs) at 19:14, 10 April 2024 (add all data needed for this module). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

function makeFromTemplateScale(scale, name, id_prefix, short)
	local returnVal = mw.clone(scale)
	returnVal.name = name
	returnVal.id_prefix = id_prefix
	returnVal.short = short
	return returnVal
end

function addField(nameOfField, objectToWriteTo, objectToReadFrom)
	for k,v in pairs(objectToWriteTo) do
		if objectToReadFrom[k] ~= nil then v[nameOfField] = objectToReadFrom[k] end
	end
end

local data = {}

-- MMI and many other scales
data["mmi"] = {
	name = "Modified Mercally Intensity Scale",
	id_prefix = "mmi-",
	short = "MMI",
	minID = 1,
	maxID = 12,
	ranks = {
		["1"] = {
			id = 1,
			label = "I"
		},
		["2"] = {
			id = 2,
			label = "II"
		},
		["3"] = {
			id = 3,
			label = "III"
		},
		["4"] = {
			id = 4,
			label = "IV"
		},
		["5"] = {
			id = 5,
			label = "V"
		},
		["6"] = {
			id = 6,
			label = "VI"
		},
		["7"] = {
			id = 7,
			label = "VII"
		},
		["8"] = {
			id = 8,
			label = "VIII"
		},
		["9"] = {
			id = 9,
			label = "IX"
		},
		["10"] = {
			id = 10,
			label = "X"
		},
		["11"] = {
			id = 11,
			label = "XI"
		},
		["12"] = {
			id = 12,
			label = "XII"
		}
	}
}

-- Roman numeral aliases
data["mmi"].ranks["I"] = data["mmi"].ranks["1"]
data["mmi"].ranks["II"] = data["mmi"].ranks["2"]
data["mmi"].ranks["III"] = data["mmi"].ranks["3"]
data["mmi"].ranks["IV"] = data["mmi"].ranks["4"]
data["mmi"].ranks["V"] = data["mmi"].ranks["5"]
data["mmi"].ranks["VI"] = data["mmi"].ranks["6"]
data["mmi"].ranks["VII"] = data["mmi"].ranks["7"]
data["mmi"].ranks["VIII"] = data["mmi"].ranks["8"]
data["mmi"].ranks["IX"] = data["mmi"].ranks["9"]
data["mmi"].ranks["X"] = data["mmi"].ranks["10"]
data["mmi"].ranks["XI"] = data["mmi"].ranks["11"]
data["mmi"].ranks["XII"] = data["mmi"].ranks["12"]

-- JMA, CWS, etc.
data["jma"] = {
	name = "Japan Meteorological Agency seismic intensity scale",
	id_prefix = "jma_",
	short = "JMA",
	minID = 0,
	maxID = 11,
	ranks = {
		["0"] = {
			id = 0,
			label = "JMA 0"
		},
		["1"] = {
			id = 1,
			label = "1"
		},
		["2"] = {
			id = 2,
			label = "2"
		},
		["3"] = {
			id = 3,
			label = "3"
		},
		["4"] = {
			id = 4,
			label = "4"
		},
		["5-"] = {
			id = 5,
			label = "5−"
		},
		["5"] = {
			id = 6,
			label = "5"
		},
		["5+"] = {
			id = 7,
			label = "5+"
		},
		["6-"] = {
			id = 8,
			label = "6−"
		},
		["6"] = {
			id = 9,
			label = "6"
		},
		["6+"] = {
			id = 10,
			label = "6+"
		},
		["7"] = {
			id = 11,
			label = "7"
		}
	}
}

data["cwa"] = makeFromTemplateScale(data.jma, "Central Weather Administration seismic intensity scale", "cwa_", "CWA")
data["csis"] = makeFromTemplateScale(data.mmi, "China seismic intensity scale", "csis-", "CSIS")
data["ems-98"] = makeFromTemplateScale(data.mmi, "European macroseismic scale", "ems-98-", "EMS-98")
data["msk-64"] = makeFromTemplateScale(data.mmi, "Medvedev–Sponheuer–Karnik scale", "msk-", "MSK-64")
data["rfs"] = makeFromTemplateScale(data.mmi, "Rossi–Forel scale", "rfs-", "RFS")
data["rfs"].ranks["11"] = nil
data["rfs"].ranks["12"] = nil
data["rfs"].ranks["XI"] = nil
data["rfs"].ranks["XII"] = nil
data["rfs"].maxID = 10
data["peis"] = makeFromTemplateScale(data.rfs, "PHIVOLCS earthquake intensity scale", "peis-", "PEIS")

-- Add categorical rankings to data
addField("category", data["mmi"].ranks,
	{
		["1"] = "Not felt",
		["2"] = "Weak",
		["3"] = "Weak",
		["4"] = "Light",
		["5"] = "Moderate",
		["6"] = "Strong",
		["7"] = "Very strong",
		["8"] = "Severe",
		["9"] = "Violent",
		["10"] = "Extreme",
		["11"] = "Extreme",
		["12"] = "Extreme"
	}
)

addField("category", data["ems-98"].ranks,
	{
		["1"] = "Not felt",
		["2"] = "Scarcely felt",
		["3"] = "Weak",
		["4"] = "Largely observed",
		["5"] = "Strong",
		["6"] = "Slightly damaging",
		["7"] = "Damaging",
		["8"] = "Heavily damaging",
		["9"] = "Destructive",
		["10"] = "Very destructive",
		["11"] = "Devastating",
		["12"] = "Completely devastating"
	}
)

addField("category", data["msk-64"].ranks,
	{
		["1"] = "Not perceptible",
		["2"] = "Hardly perceptible",
		["3"] = "Weak",
		["4"] = "Largely observed",
		["5"] = "Fairly strong",
		["6"] = "Strong",
		["7"] = "Very strong",
		["8"] = "Damaging",
		["9"] = "Destructive",
		["10"] = "Devastating",
		["11"] = "Catastrophic",
		["12"] = "Very catastrophic"
	}
)

addField("category", data["peis"].ranks,
	{
		["1"] = "Scarcely perceptible",
		["2"] = "Slightly felt",
		["3"] = "Weak",
		["4"] = "Moderately strong",
		["5"] = "Strong",
		["6"] = "Very strong",
		["7"] = "Destructive",
		["8"] = "Very destructive",
		["9"] = "Devastating",
		["10"] = "Completely devastating"
	}
)

addField("category", data["rfs"].ranks,
	{
		["1"] = "Microseismic tremor",
		["2"] = "Extremely feeble tremor",
		["3"] = "Feeble tremor",
		["4"] = "Slight tremor",
		["5"] = "Moderate tremor",
		["6"] = "Strong tremor",
		["7"] = "Very strong tremor",
		["8"] = "Damaging tremor",
		["9"] = "Devastating tremor",
		["10"] = "Extremely high intensity tremor"
	}
)

return data