Module:Weather box/sandbox: Difference between revisions

Content deleted Content added
fix mm label (should be cm) for snow depth reported at Template talk:Weather box#Extreme snow depth by User:Akamaikai
sync + try "Percentage possible sunshine" per talk proposal
 
(8 intermediate revisions by 5 users not shown)
Line 34:
if isAny(args, ' ' .. what .. ' cm') then
first = 'cm'
if elseif isAny(args, ' ' .. what .. ' mm') then
first = 'mm'
else
first = (what:sub(1, 4) == 'snow' or
if isAny(args, ' ' .. what .. ' mm') then
precision(args['Jan ' .. what .. ' inch'] or '0') < 1)
first = 'mm'
and 'cm'
else
or 'mm'
first = (what:sub(1, 4) == 'snow' or
precision(args['Jan ' .. what .. ' inch'] or '0') < 1)
and 'cm'
or 'mm'
end
end
local second = 'inches'
Line 104 ⟶ 102:
local function _ifSingle(a, b)
return options.wantSingleLine and a or b or ''
end
local function _colorscheme(what, default)
return stripToNil(args[what .. ' colour']) or stripToNil(args[what .. ' color']) or default
end
local function _margin()
if stripToNil(args.margin) then
return 'margin:' .. args.margin .. ';'
end
return ''
end
local ___location = _if('___location', args.___location, '{{{___location}}}') -- show "{{{___location}}}" to alert editor if parameter is blank
Line 118 ⟶ 125:
'{| class="wikitable ' .. _if('open', '', 'mw-collapsible' .. _if('collapsed', ' mw-collapsed')) ..
'" style="width:' .. _ifset('width', 'auto') ..
'; text-align:center; line-height: 1.2em; margin:' ..
_ifset_margin('margin', '') .. ';"' ..
_if('open',
'\n|+Climate data for ' .. ___location,
Line 148 ⟶ 155:
mode = 'basic',
group_name = 'maximum humidex',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record high [[humidex]]',
Line 157 ⟶ 164:
mode = 'temperature',
group_name = 'record high',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record high °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
Line 166 ⟶ 173:
mode = 'temperature',
group_name = 'avg record high',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Mean maximum °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
annual_mode = 'max',
},
{---------- FIRST LINE AVERAGEMEAN HIGHDAILY MAXIMUM TEMPERATURES ----------
WANTROW = _ifany(' high C') or _ifany(' high F'),
mode = 'temperature',
group_name = 'high',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'AverageMean highdaily maximum °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
annual_mode = 'avg',
},
Line 184 ⟶ 191:
mode = 'temperature',
group_name = 'mean',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Daily mean °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
annual_mode = 'avg',
},
{---------- FIRST LINE AVERAGEMEAN LOWDAILY MINIMUM TEMPERATURES ----------
WANTROW = _ifany(' low C') or _ifany(' low F'),
mode = 'temperature',
group_name = 'low',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'AverageMean lowdaily minimum °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
annual_mode = 'avg',
},
Line 202 ⟶ 209:
mode = 'temperature',
group_name = 'avg record low',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Mean minimum °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
Line 211 ⟶ 218:
mode = 'temperature',
group_name = 'record low',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record low °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
Line 220 ⟶ 227:
mode = 'basic',
group_name = 'chill',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record low [[wind chill]]',
Line 229 ⟶ 236:
mode = 'precipitation',
group_name = 'precipitation',
color_scheme = _ifset_colorscheme('precipitation colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 240 ⟶ 247:
mode = 'precipitation',
group_name = 'rain',
color_scheme = _ifset_colorscheme('rain colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 252 ⟶ 259:
group_name = 'snow',
prefer_cm = true,
color_scheme = _ifset_colorscheme('snow colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 263 ⟶ 270:
group_name = 'snow depth',
prefer_cm = true,
color_scheme = _ifset_colorscheme('snow colour', 'p'),
scale_factor = '0.2',
label = makeLabel(args, options, true, 'Average extreme snow depth', 'snow depth'),
Line 272 ⟶ 279:
mode = 'basic',
group_name = 'maximum humidex',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = '[[Humidex]]',
Line 283 ⟶ 290:
group_name = 'record high',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record high °' .. _if('metric first', 'F', 'C'),
annual_mode = 'max',
},
{---------- SECOND LINE AVERAGEMEAN HIGHDAILY MAXIMUM TEMPERATURES ----------
WANTROW = not options.wantSingleLine and (_ifany(' high C') or _ifany(' high F')),
mode = 'temperature',
group_name = 'high',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'AverageMean highdaily maximum °' .. _if('metric first', 'F', 'C'),
annual_mode = 'avg',
},
Line 303 ⟶ 310:
group_name = 'mean',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Daily mean °' .. _if('metric first', 'F', 'C'),
Line 309 ⟶ 316:
annual_mode = 'avg',
},
{---------- SECOND LINE AVERAGEMEAN LOWDAILY MINIMUM TEMPERATURES ----------
WANTROW = not options.wantSingleLine and (_ifany(' low C') or _ifany(' low F')),
mode = 'temperature',
group_name = 'low',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'AverageMean lowdaily minimum °' .. _if('metric first', 'F', 'C'),
show = _if('metric first', '2', '1'),
annual_mode = 'avg',
Line 325 ⟶ 332:
group_name = 'record low',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Record low °' .. _if('metric first', 'F', 'C'),
Line 335 ⟶ 342:
mode = 'basic',
group_name = 'chill',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = '[[Wind chill]]',
Line 345 ⟶ 352:
group_name = 'precipitation',
second_line = true,
color_scheme = _ifset_colorscheme('precipitation colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 357 ⟶ 364:
group_name = 'rain',
second_line = true,
color_scheme = _ifset_colorscheme('rain colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 370 ⟶ 377:
second_line = true,
prefer_cm = true,
color_scheme = _ifset_colorscheme('snow colour', 'p'),
date_mode = true,
scale_factor = '1',
Line 382 ⟶ 389:
second_line = true,
prefer_cm = true,
color_scheme = _ifset_colorscheme('snow colour', 'p'),
scale_factor = '0.2',
label = makeLabel(args, options, false, 'Average extreme snow depth', 'snow depth'),
Line 391 ⟶ 398:
mode = 'basic',
group_name = 'precipitation days',
color_scheme = _ifset_colorscheme('precip days colour', 'd'),
date_mode = true,
scale_factor = '1',
Line 401 ⟶ 408:
mode = 'basic',
group_name = 'rain days',
color_scheme = _ifset_colorscheme('precip days colour', 'd'),
date_mode = true,
scale_factor = '1',
Line 411 ⟶ 418:
mode = 'basic',
group_name = 'snow days',
color_scheme = _ifset_colorscheme('precip days colour', 'd'),
date_mode = true,
scale_factor = '1',
Line 421 ⟶ 428:
mode = 'basic',
group_name = 'humidity',
color_scheme = _ifset_colorscheme('humidity colour', 'h'),
scale_factor = '1',
label = 'Average [[relative humidity]] (%)' ..
Line 432 ⟶ 439:
mode = 'basic',
group_name = 'afthumidity',
color_scheme = _ifset_colorscheme('humidity colour', 'h'),
scale_factor = '1',
label = 'Average afternoon [[relative humidity]] (%)' ..
Line 443 ⟶ 450:
mode = 'temperature',
group_name = 'dew point',
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Average [[dew point]] °' .. _if('metric first', 'C', 'F') .. _ifSingle(' (°' .. _if('metric first', 'F', 'C') .. ')'),
Line 453 ⟶ 460:
group_name = 'dew point',
second_line = true,
color_scheme = _ifset_colorscheme('temperature colour', 't'),
scale_factor = '1',
label = 'Average [[dew point]] °' .. _if('metric first', 'F', 'C'),
Line 463 ⟶ 470:
mode = 'basic',
group_name = 'sun',
color_scheme = _ifset_colorscheme('sun colour', 's'),
date_mode = true,
scale_factor = '1',
Line 473 ⟶ 480:
mode = 'basic',
group_name = 'd sun',
color_scheme = _ifset_colorscheme('sun colour', 's'),
include_space = false,
scale_factor = '30.44',
Line 483 ⟶ 490:
mode = 'basic',
group_name = ' light',
color_scheme = _ifset_colorscheme('sun colour', 's'),
include_space = false,
scale_factor = '30.44',
Line 493 ⟶ 500:
mode = 'basic',
group_name = 'percentsun',
color_scheme = _ifset_colorscheme('sun colour', 's'),
scale_factor = '7.2',
label = 'PercentPercentage [[Sunshine duration|possible sunshine]]',
annual_mode = 'avg',
},
Line 502 ⟶ 509:
mode = 'basic',
group_name = 'uv',
color_scheme = _ifset_colorscheme('uv colour', 'u'),
scale_factor = '1',
label = 'Average [[ultraviolet index]]',