<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AWeather_box</id>
	<title>Module:Weather box - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.cultopedia.org/index.php?action=history&amp;feed=atom&amp;title=Module%3AWeather_box"/>
	<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:Weather_box&amp;action=history"/>
	<updated>2026-04-06T01:13:30Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.5</generator>
	<entry>
		<id>https://www.cultopedia.org/index.php?title=Module:Weather_box&amp;diff=1133&amp;oldid=prev</id>
		<title>imported&gt;Johnuniq: update from sandbox: change wording to &quot;Percentage possible sunshine&quot; per talk</title>
		<link rel="alternate" type="text/html" href="https://www.cultopedia.org/index.php?title=Module:Weather_box&amp;diff=1133&amp;oldid=prev"/>
		<updated>2025-03-04T04:41:01Z</updated>

		<summary type="html">&lt;p&gt;update from sandbox: change wording to &amp;quot;Percentage &lt;a href=&quot;https://en.wikipedia.org/wiki/Sunshine_duration&quot; class=&quot;extiw cultopedia-missing-wikipedia&quot; title=&quot;Sunshine duration on Wikipedia&quot; rel=&quot;nofollow&quot;&gt;possible sunshine&lt;/a&gt;&amp;quot; per talk&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;-- Implement [[Template:Weather box]].&lt;br /&gt;
&lt;br /&gt;
local _precision = require(&amp;#039;Module:Math&amp;#039;)._precision&lt;br /&gt;
local function precision(text)&lt;br /&gt;
	-- Input like &amp;#039;Jan precipitation inch = trace&amp;#039; calls this with text = &amp;#039;trace&amp;#039;&lt;br /&gt;
	-- which would cause _precision to throw an error since it is not numeric.&lt;br /&gt;
	-- Workaround: Return 0 as the precision if an error occurs.&lt;br /&gt;
	local success, result = pcall(_precision, text)&lt;br /&gt;
	if success then&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
	return 0&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function stripToNil(text)&lt;br /&gt;
	-- If text is a non-empty string, return its trimmed content.&lt;br /&gt;
	-- Otherwise, return nothing (text is an empty string or is not a string).&lt;br /&gt;
	if type(text) == &amp;#039;string&amp;#039; then&lt;br /&gt;
		return text:match(&amp;#039;(%S.-)%s*$&amp;#039;)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function isAny(args, suffix)&lt;br /&gt;
	local months = { &amp;#039;Jan&amp;#039;, &amp;#039;Feb&amp;#039;, &amp;#039;Mar&amp;#039;, &amp;#039;Apr&amp;#039;, &amp;#039;May&amp;#039;, &amp;#039;Jun&amp;#039;, &amp;#039;Jul&amp;#039;, &amp;#039;Aug&amp;#039;, &amp;#039;Sep&amp;#039;, &amp;#039;Oct&amp;#039;, &amp;#039;Nov&amp;#039;, &amp;#039;Dec&amp;#039; }&lt;br /&gt;
	for _, month in ipairs(months) do&lt;br /&gt;
		if stripToNil(args[month .. suffix]) then&lt;br /&gt;
			return true&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeLabel(args, options, is_first, base, what)&lt;br /&gt;
	local first&lt;br /&gt;
	if isAny(args, &amp;#039; &amp;#039; .. what .. &amp;#039; cm&amp;#039;) then&lt;br /&gt;
		first = &amp;#039;cm&amp;#039;&lt;br /&gt;
	elseif isAny(args, &amp;#039; &amp;#039; .. what .. &amp;#039; mm&amp;#039;) then&lt;br /&gt;
		first = &amp;#039;mm&amp;#039;&lt;br /&gt;
	else&lt;br /&gt;
		first = (what:sub(1, 4) == &amp;#039;snow&amp;#039; or&lt;br /&gt;
			precision(args[&amp;#039;Jan &amp;#039; .. what .. &amp;#039; inch&amp;#039;] or &amp;#039;0&amp;#039;) &amp;lt; 1)&lt;br /&gt;
				and &amp;#039;cm&amp;#039;&lt;br /&gt;
				or &amp;#039;mm&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local second = &amp;#039;inches&amp;#039;&lt;br /&gt;
	if not stripToNil(args[&amp;#039;metric first&amp;#039;]) then&lt;br /&gt;
		first, second = second, first&lt;br /&gt;
	end&lt;br /&gt;
	if is_first then&lt;br /&gt;
		if options.wantSingleLine then&lt;br /&gt;
			first = first .. &amp;#039; (&amp;#039; .. second .. &amp;#039;)&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		first = second&lt;br /&gt;
	end&lt;br /&gt;
	return base .. &amp;#039; &amp;#039; .. first&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function makeSources(frame, args)&lt;br /&gt;
	local source1 = stripToNil(args.source) or stripToNil(args[&amp;#039;source 1&amp;#039;])&lt;br /&gt;
	local source2 = stripToNil(args[&amp;#039;source 2&amp;#039;]) or stripToNil(args[&amp;#039;source2&amp;#039;])&lt;br /&gt;
	local result = &amp;#039;|-\n|colspan=&amp;quot;14&amp;quot; style=&amp;quot;text-align:center;font-size:95%;&amp;quot;|&amp;#039;&lt;br /&gt;
	local text&lt;br /&gt;
	if source1 or source2 then&lt;br /&gt;
		if source1 and source2 then&lt;br /&gt;
			text = &amp;#039;Source 1: &amp;#039; .. source1 .. &amp;#039;\n&amp;#039; .. result .. &amp;#039;Source 2: &amp;#039; .. source2&lt;br /&gt;
		else&lt;br /&gt;
			text = &amp;#039;Source: &amp;#039; .. (source1 and source1 or source2)&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		text = frame:expandTemplate({ title = &amp;#039;citation needed&amp;#039;, args = {date = stripToNil(args.date)} })&lt;br /&gt;
	end&lt;br /&gt;
	return result .. text .. &amp;#039;\n|}&amp;#039;&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function wantSingle(parm)&lt;br /&gt;
	--------------------------------------------------------------------------------&lt;br /&gt;
	-- Result before July 2022 for single_line setting:&lt;br /&gt;
	-- blank/omitted : separate table rows for metric and imperial (two rows)&lt;br /&gt;
	-- N             : bug: only one row with either metric or imperial (not both)&lt;br /&gt;
	--                      but heading like &amp;quot;cm (inches)&amp;quot;&lt;br /&gt;
	-- Y/junk        : single row with both metric/imperial in same cell&lt;br /&gt;
	--------------------------------------------------------------------------------&lt;br /&gt;
	-- Intend changing in July 2022 so single_line=Y is the default and&lt;br /&gt;
	-- need single_line=N for separate lines.&lt;br /&gt;
	-- However, this release (1 July 2022) keeps blank/omitted as meaning &amp;quot;no&amp;quot;&lt;br /&gt;
	-- so the other large changes can be tested before switching the default.&lt;br /&gt;
	parm = (parm or &amp;#039;&amp;#039;):lower()&lt;br /&gt;
	return not (parm == &amp;#039;no&amp;#039; or parm == &amp;#039;n&amp;#039; or parm == &amp;#039;&amp;#039;)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function getDefinitions(frame, args, options)&lt;br /&gt;
	-- Return a list of tables or strings that define each row.&lt;br /&gt;
	local function _if(parm, a, b)&lt;br /&gt;
		return stripToNil(args[parm]) and a or b or &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function _ifset(parm, a)&lt;br /&gt;
		return stripToNil(args[parm]) and args[parm] or a&lt;br /&gt;
	end&lt;br /&gt;
	local function _ifany(suffix)&lt;br /&gt;
		return isAny(args, suffix)&lt;br /&gt;
	end&lt;br /&gt;
	local function _ifSingle(a, b)&lt;br /&gt;
		return options.wantSingleLine and a or b or &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local function _colorscheme(what, default)&lt;br /&gt;
		return stripToNil(args[what .. &amp;#039; colour&amp;#039;]) or stripToNil(args[what .. &amp;#039; color&amp;#039;]) or default&lt;br /&gt;
	end&lt;br /&gt;
	local function _margin()&lt;br /&gt;
		if stripToNil(args.margin) then&lt;br /&gt;
			return &amp;#039;margin:&amp;#039; .. args.margin .. &amp;#039;;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		return &amp;#039;&amp;#039;&lt;br /&gt;
	end&lt;br /&gt;
	local location = _if(&amp;#039;location&amp;#039;, args.location, &amp;#039;{{{location}}}&amp;#039;)  -- show &amp;quot;{{{location}}}&amp;quot; to alert editor if parameter is blank&lt;br /&gt;
	local navbarText&lt;br /&gt;
	if not stripToNil(args.open) then&lt;br /&gt;
		if stripToNil(args.name) then&lt;br /&gt;
			local navbar = require(&amp;#039;Module:Navbar&amp;#039;)._navbar&lt;br /&gt;
			navbarText = navbar({&amp;#039;Climate data for &amp;#039; .. location, args.name, collapsible=1})&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return {&lt;br /&gt;
&lt;br /&gt;
----------- HEADER ----------&lt;br /&gt;
&amp;#039;{| class=&amp;quot;wikitable &amp;#039; .. _if(&amp;#039;open&amp;#039;, &amp;#039;&amp;#039;, &amp;#039;mw-collapsible&amp;#039; .. _if(&amp;#039;collapsed&amp;#039;, &amp;#039; mw-collapsed&amp;#039;)) ..&lt;br /&gt;
&amp;#039;&amp;quot; style=&amp;quot;width:&amp;#039; .. _ifset(&amp;#039;width&amp;#039;, &amp;#039;auto&amp;#039;) ..&lt;br /&gt;
&amp;#039;; text-align:center; line-height:1.2em;&amp;#039; ..&lt;br /&gt;
_margin() .. &amp;#039;&amp;quot;&amp;#039; ..&lt;br /&gt;
_if(&amp;#039;open&amp;#039;,&lt;br /&gt;
	&amp;#039;\n|+Climate data for &amp;#039; .. location,&lt;br /&gt;
	&amp;#039;\n|-&amp;#039; ..&lt;br /&gt;
	&amp;#039;\n!colspan=&amp;quot;14&amp;quot; | &amp;#039; .. _if(&amp;#039;name&amp;#039;, navbarText, &amp;#039;Climate data for &amp;#039; .. location)&lt;br /&gt;
) ..&lt;br /&gt;
[=[&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
!scope=&amp;quot;row&amp;quot; |Month&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Jan&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Feb&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Mar&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Apr&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |May&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Jun&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Jul&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Aug&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Sep&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Oct&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Nov&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; |Dec&lt;br /&gt;
!scope=&amp;quot;col&amp;quot; style=&amp;quot;border-left-width:medium&amp;quot; |Year&lt;br /&gt;
]=],&lt;br /&gt;
&lt;br /&gt;
{---------- FIRST LINE MAXIMUM HUMIDEX ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; maximum humidex&amp;#039;) and (_ifset(&amp;#039;metric first&amp;#039;) or options.wantSingleLine),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;maximum humidex&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record high [[humidex]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE RECORD HIGH TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; record high C&amp;#039;) or _ifany(&amp;#039; record high F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;record high&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record high °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST-SECOND LINE AVG MONTHLY MAXIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; avg record high C&amp;#039;) or _ifany(&amp;#039; avg record high F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;avg record high&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean maximum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE MEAN DAILY MAXIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; high C&amp;#039;) or _ifany(&amp;#039; high F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;high&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily maximum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE DAILY MEAN TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; mean C&amp;#039;) or _ifany(&amp;#039; mean F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;mean&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Daily mean °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE MEAN DAILY MINIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; low C&amp;#039;) or _ifany(&amp;#039; low F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;low&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily minimum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST-SECOND LINE AVG MONTHLY MINIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; avg record low C&amp;#039;) or _ifany(&amp;#039; avg record low F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;avg record low&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean minimum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;min&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE RECORD LOW TEMPERATURES ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; record low C&amp;#039;) or _ifany(&amp;#039; record low F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;record low&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record low °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;min&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE MINIMUM WIND CHILL ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; chill&amp;#039;) and (_ifset(&amp;#039;metric first&amp;#039;) or options.wantSingleLine),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;chill&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record low [[wind chill]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;min&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE TOTAL PRECIPITATION ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; precipitation cm&amp;#039;) or _ifany(&amp;#039; precipitation mm&amp;#039;) or _ifany(&amp;#039; precipitation inch&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;precipitation&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	prefer_cm = precision(_ifset(&amp;#039;Jan precipitation inch&amp;#039;, &amp;#039;0&amp;#039;)) &amp;lt; 1,&lt;br /&gt;
	label = makeLabel(args, options, true, &amp;#039;Average [[precipitation]]&amp;#039;, &amp;#039;precipitation&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE RAINFALL ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; rain cm&amp;#039;) or _ifany(&amp;#039; rain mm&amp;#039;) or _ifany(&amp;#039; rain inch&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;rain&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;rain&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	prefer_cm = precision(_ifset(&amp;#039;Jan rain inch&amp;#039;, &amp;#039;0&amp;#039;)) &amp;lt; 1,&lt;br /&gt;
	label = makeLabel(args, options, true, &amp;#039;Average rainfall&amp;#039;, &amp;#039;rain&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE SNOWFALL ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; snow cm&amp;#039;) or _ifany(&amp;#039; snow mm&amp;#039;) or _ifany(&amp;#039; snow inch&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;snow&amp;#039;,&lt;br /&gt;
	prefer_cm = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;snow&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = makeLabel(args, options, true, &amp;#039;Average snowfall&amp;#039;, &amp;#039;snow&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE AVERAGE EXTREME SNOW DEPTH ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; snow depth cm&amp;#039;) or _ifany(&amp;#039; snow depth mm&amp;#039;) or _ifany(&amp;#039; snow depth inch&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;snow depth&amp;#039;,&lt;br /&gt;
	prefer_cm = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;snow&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;0.2&amp;#039;,&lt;br /&gt;
	label = makeLabel(args, options, true, &amp;#039;Average extreme snow depth&amp;#039;, &amp;#039;snow depth&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE MAXIMUM HUMIDEX ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and _ifany(&amp;#039; maximum humidex&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;maximum humidex&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;[[Humidex]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE RECORD HIGH TEMPERATURES ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; record high C&amp;#039;) or _ifany(&amp;#039; record high F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;record high&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record high °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE MEAN DAILY MAXIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; high C&amp;#039;) or _ifany(&amp;#039; high F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;high&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily maximum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE DAILY MEAN TEMPERATURES ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; mean C&amp;#039;) or _ifany(&amp;#039; mean F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;mean&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Daily mean °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	show = _if(&amp;#039;metric first&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;1&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE MEAN DAILY MINIMUM TEMPERATURES ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; low C&amp;#039;) or _ifany(&amp;#039; low F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;low&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily minimum °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	show = _if(&amp;#039;metric first&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;1&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE RECORD LOW TEMPERATURES ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; record low C&amp;#039;) or _ifany(&amp;#039; record low F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;record low&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Record low °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	show = _if(&amp;#039;metric first&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;1&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;min&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE MINIMUM WIND CHILL ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; chill&amp;#039;) and _if(&amp;#039;metric first&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;chill&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;[[Wind chill]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;min&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE TOTAL PRECIPITATION ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; precipitation cm&amp;#039;) or _ifany(&amp;#039; precipitation mm&amp;#039;) or _ifany(&amp;#039; precipitation inch&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;precipitation&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	prefer_cm = precision(_ifset(&amp;#039;Jan precipitation inch&amp;#039;, &amp;#039;0&amp;#039;)) &amp;lt; 1,&lt;br /&gt;
	label = makeLabel(args, options, false, &amp;#039;Average [[precipitation]]&amp;#039;, &amp;#039;precipitation&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE RAINFALL ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; rain cm&amp;#039;) or _ifany(&amp;#039; rain mm&amp;#039;) or _ifany(&amp;#039; rain inch&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;rain&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;rain&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	prefer_cm = precision(_ifset(&amp;#039;Jan rain inch&amp;#039;, &amp;#039;0&amp;#039;)) &amp;lt; 1,&lt;br /&gt;
	label = makeLabel(args, options, false, &amp;#039;Average rainfall&amp;#039;, &amp;#039;rain&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE SNOWFALL ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; snow cm&amp;#039;) or _ifany(&amp;#039; snow mm&amp;#039;) or _ifany(&amp;#039; snow inch&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;snow&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	prefer_cm = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;snow&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = makeLabel(args, options, false, &amp;#039;Average snowfall&amp;#039;, &amp;#039;snow&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE AVERAGE EXTREME SNOW DEPTH ----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; snow depth cm&amp;#039;) or _ifany(&amp;#039; snow depth mm&amp;#039;) or _ifany(&amp;#039; snow depth inch&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;precipitation&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;snow depth&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	prefer_cm = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;snow&amp;#039;, &amp;#039;p&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;0.2&amp;#039;,&lt;br /&gt;
	label = makeLabel(args, options, false, &amp;#039;Average extreme snow depth&amp;#039;, &amp;#039;snow depth&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;max&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- PRECIPITATION DAYS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; precipitation days&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;precipitation days&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;precip days&amp;#039;, &amp;#039;d&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average precipitation days&amp;#039; .. _if(&amp;#039;unit precipitation days&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(≥ &amp;#039; .. _ifset(&amp;#039;unit precipitation days&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- RAINY DAYS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; rain days&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;rain days&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;precip days&amp;#039;, &amp;#039;d&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average rainy days&amp;#039; .. _if(&amp;#039;unit rain days&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(≥ &amp;#039; .. _ifset(&amp;#039;unit rain days&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SNOWY DAYS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; snow days&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;snow days&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;precip days&amp;#039;, &amp;#039;d&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average snowy days&amp;#039; .. _if(&amp;#039;unit snow days&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(≥ &amp;#039; .. _ifset(&amp;#039;unit snow days&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- PERCENT RELATIVE HUMIDITY ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; humidity&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;humidity&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;humidity&amp;#039;, &amp;#039;h&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average [[relative humidity]] (%)&amp;#039; ..&lt;br /&gt;
		_if(&amp;#039;time day&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(at &amp;#039; .. _ifset(&amp;#039;time day&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;) ..&lt;br /&gt;
		_if(&amp;#039;daily&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(daily average)&amp;lt;/span&amp;gt;&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- AFTERNOON PERCENT RELATIVE HUMIDITY ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; afthumidity&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;afthumidity&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;humidity&amp;#039;, &amp;#039;h&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average afternoon [[relative humidity]] (%)&amp;#039; ..&lt;br /&gt;
		_if(&amp;#039;time day&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(at &amp;#039; .. _ifset(&amp;#039;time day&amp;#039;, &amp;#039;&amp;#039;) .. &amp;#039;)&amp;lt;/span&amp;gt;&amp;#039;) ..&lt;br /&gt;
		_if(&amp;#039;daily&amp;#039;, &amp;#039; &amp;lt;span style=&amp;quot;font-size:90%;&amp;quot; class=&amp;quot;nowrap&amp;quot;&amp;gt;(daily average)&amp;lt;/span&amp;gt;&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- FIRST LINE AVERAGE DEW POINT ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; dew point C&amp;#039;) or _ifany(&amp;#039; dew point F&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;dew point&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average [[dew point]] °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;C&amp;#039;, &amp;#039;F&amp;#039;) .. _ifSingle(&amp;#039; (°&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;) .. &amp;#039;)&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- SECOND LINE AVERAGE DEW POINT----------&lt;br /&gt;
	WANTROW = not options.wantSingleLine and (_ifany(&amp;#039; dew point C&amp;#039;) or _ifany(&amp;#039; dew point F&amp;#039;)),&lt;br /&gt;
	mode = &amp;#039;temperature&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;dew point&amp;#039;,&lt;br /&gt;
	second_line = true,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;temperature&amp;#039;, &amp;#039;t&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average [[dew point]] °&amp;#039; .. _if(&amp;#039;metric first&amp;#039;, &amp;#039;F&amp;#039;, &amp;#039;C&amp;#039;),&lt;br /&gt;
	show = _if(&amp;#039;metric first&amp;#039;, &amp;#039;2&amp;#039;, &amp;#039;1&amp;#039;),&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- MONTHLY SUNSHINE HOURS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; sun&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;sun&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;sun&amp;#039;, &amp;#039;s&amp;#039;),&lt;br /&gt;
	date_mode = true,&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean monthly [[Sunshine duration|sunshine hours]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;sum&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- DAILY SUNSHINE HOURS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039;d sun&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;d sun&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;sun&amp;#039;, &amp;#039;s&amp;#039;),&lt;br /&gt;
	include_space = false,&lt;br /&gt;
	scale_factor = &amp;#039;30.44&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily [[Sunshine duration|sunshine hours]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- DAILY DAYLIGHT HOURS ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; light&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039; light&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;sun&amp;#039;, &amp;#039;s&amp;#039;),&lt;br /&gt;
	include_space = false,&lt;br /&gt;
	scale_factor = &amp;#039;30.44&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Mean daily [[Daytime|daylight hours]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- PERCENT SUNSHINE ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; percentsun&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;percentsun&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;sun&amp;#039;, &amp;#039;s&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;7.2&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Percentage [[Sunshine duration|possible sunshine]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
{---------- ULTRAVIOLET INDEX ----------&lt;br /&gt;
	WANTROW = _ifany(&amp;#039; uv&amp;#039;),&lt;br /&gt;
	mode = &amp;#039;basic&amp;#039;,&lt;br /&gt;
	group_name = &amp;#039;uv&amp;#039;,&lt;br /&gt;
	color_scheme = _colorscheme(&amp;#039;uv&amp;#039;, &amp;#039;u&amp;#039;),&lt;br /&gt;
	scale_factor = &amp;#039;1&amp;#039;,&lt;br /&gt;
	label = &amp;#039;Average [[ultraviolet index]]&amp;#039;,&lt;br /&gt;
	annual_mode = &amp;#039;avg&amp;#039;,&lt;br /&gt;
},&lt;br /&gt;
----------- SOURCES ----------&lt;br /&gt;
makeSources(frame, args),&lt;br /&gt;
}&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
local function main(frame)&lt;br /&gt;
	local sandbox = frame:getTitle():find(&amp;#039;sandbox&amp;#039;, 1, true) and &amp;#039;/sandbox&amp;#039; or &amp;#039;&amp;#039;&lt;br /&gt;
	local buildRow = require(&amp;#039;Module:Weather box/row&amp;#039; .. sandbox)._buildRow&lt;br /&gt;
	local args = frame:getParent().args&lt;br /&gt;
	local options = {&lt;br /&gt;
		wantSingleLine = wantSingle(args[&amp;#039;single line&amp;#039;]),&lt;br /&gt;
		sandbox = sandbox,&lt;br /&gt;
	}&lt;br /&gt;
	local results = {}&lt;br /&gt;
	for i, definition in ipairs(getDefinitions(frame, args, options)) do&lt;br /&gt;
		local row&lt;br /&gt;
		if type(definition) == &amp;#039;string&amp;#039; then&lt;br /&gt;
			row = definition&lt;br /&gt;
		elseif definition.WANTROW then&lt;br /&gt;
			row = buildRow(definition, args, options)&lt;br /&gt;
		else&lt;br /&gt;
			row = &amp;#039;&amp;#039;&lt;br /&gt;
		end&lt;br /&gt;
		results[i] = row&lt;br /&gt;
	end&lt;br /&gt;
	return &amp;#039;&amp;lt;div&amp;gt;\n&amp;#039;..table.concat(results)..&amp;#039;\n&amp;lt;/div&amp;gt;&amp;#039;  -- prevent Scribunto from inserting a blank line before the table&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return {&lt;br /&gt;
	main = main,&lt;br /&gt;
}&lt;/div&gt;</summary>
		<author><name>imported&gt;Johnuniq</name></author>
	</entry>
</feed>