<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FAnon423%2FClimateCommons</id>
	<title>Module:Sandbox/Anon423/ClimateCommons - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://stockhub.co/index.php?action=history&amp;feed=atom&amp;title=Module%3ASandbox%2FAnon423%2FClimateCommons"/>
	<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Anon423/ClimateCommons&amp;action=history"/>
	<updated>2026-04-17T18:46:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>https://stockhub.co/index.php?title=Module:Sandbox/Anon423/ClimateCommons&amp;diff=145137&amp;oldid=prev</id>
		<title>imported&gt;Izno: Izno moved page Module:ClimateCommons to Module:Sandbox/Anon423/ClimateCommons without leaving a redirect</title>
		<link rel="alternate" type="text/html" href="https://stockhub.co/index.php?title=Module:Sandbox/Anon423/ClimateCommons&amp;diff=145137&amp;oldid=prev"/>
		<updated>2021-10-02T01:00:25Z</updated>

		<summary type="html">&lt;p&gt;Izno moved page &lt;a href=&quot;/index.php?title=Module:ClimateCommons&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Module:ClimateCommons (page does not exist)&quot;&gt;Module:ClimateCommons&lt;/a&gt; to &lt;a href=&quot;/research/Module:Sandbox/Anon423/ClimateCommons&quot; title=&quot;Module:Sandbox/Anon423/ClimateCommons&quot;&gt;Module:Sandbox/Anon423/ClimateCommons&lt;/a&gt; without leaving a redirect&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p = {}&lt;br /&gt;
&lt;br /&gt;
function p.getMonthHighestTemp(month, files)&lt;br /&gt;
  local max&lt;br /&gt;
&lt;br /&gt;
  month = string.format(&amp;quot;%02d&amp;quot;, month)&lt;br /&gt;
&lt;br /&gt;
  for file,data in pairs(files)&lt;br /&gt;
  do&lt;br /&gt;
    field_index = p.getColumnIndex(&amp;quot;extremeMax&amp;quot;, data)&lt;br /&gt;
    for index,values in pairs(data.data)&lt;br /&gt;
    do&lt;br /&gt;
      if string.find(string.sub(values[1], 1, 3), month, 1, true)&lt;br /&gt;
      then&lt;br /&gt;
        if max == nil or values[field_index] &amp;gt; max&lt;br /&gt;
        then&lt;br /&gt;
          max = values[field_index]&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return max&lt;br /&gt;
end&lt;br /&gt;
function p.getMonthLowestTemp(month, files)&lt;br /&gt;
  local min&lt;br /&gt;
&lt;br /&gt;
  month = string.format(&amp;quot;%02d&amp;quot;, month)&lt;br /&gt;
&lt;br /&gt;
  for file,data in pairs(files)&lt;br /&gt;
  do&lt;br /&gt;
    field_index = p.getColumnIndex(&amp;quot;extremeMin&amp;quot;, data)&lt;br /&gt;
    for index,values in pairs(data.data)&lt;br /&gt;
    do&lt;br /&gt;
      if string.find(string.sub(values[1], 1, 3), month, 1, true)&lt;br /&gt;
      then&lt;br /&gt;
        if min == nil or values[field_index] &amp;lt; min&lt;br /&gt;
        then&lt;br /&gt;
          min = values[field_index]&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return min&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getMonthHighestRainfall(month, files)&lt;br /&gt;
  local max&lt;br /&gt;
&lt;br /&gt;
  month = string.format(&amp;quot;%02d&amp;quot;, month)&lt;br /&gt;
&lt;br /&gt;
  for file,data in pairs(files)&lt;br /&gt;
  do&lt;br /&gt;
    field_index = p.getColumnIndex(&amp;quot;extremeRainfall&amp;quot;, data)&lt;br /&gt;
    for index,values in pairs(data.data)&lt;br /&gt;
    do&lt;br /&gt;
      if string.find(string.sub(values[1], 1, 3), month, 1, true)&lt;br /&gt;
      then&lt;br /&gt;
        if max == nil or values[field_index] &amp;gt; max&lt;br /&gt;
        then&lt;br /&gt;
          max = values[field_index]&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return max&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getMonthHighestSnowfall(month, files)&lt;br /&gt;
  local max&lt;br /&gt;
&lt;br /&gt;
  month = string.format(&amp;quot;%02d&amp;quot;, month)&lt;br /&gt;
&lt;br /&gt;
  for file,data in pairs(files)&lt;br /&gt;
  do&lt;br /&gt;
    field_index = p.getColumnIndex(&amp;quot;extremeSnowfall&amp;quot;, data)&lt;br /&gt;
    for index,values in pairs(data.data)&lt;br /&gt;
    do&lt;br /&gt;
      if string.find(string.sub(values[1], 1, 3), month, 1, true)&lt;br /&gt;
      then&lt;br /&gt;
        if max == nil or values[field_index] &amp;gt; max&lt;br /&gt;
        then&lt;br /&gt;
          max = values[field_index]&lt;br /&gt;
        end&lt;br /&gt;
      end&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return max&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.getColumnIndex(name, file)&lt;br /&gt;
  for index,value in pairs(file[&amp;quot;schema&amp;quot;][&amp;quot;fields&amp;quot;])&lt;br /&gt;
  do&lt;br /&gt;
    if value[&amp;quot;name&amp;quot;] == name&lt;br /&gt;
    then&lt;br /&gt;
      return index&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  return nil&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
  debug = &amp;quot;&amp;quot;&lt;br /&gt;
  local args = frame:getParent().args&lt;br /&gt;
  local template_args = {}&lt;br /&gt;
  local donnees = args[&amp;quot;données&amp;quot;]&lt;br /&gt;
  local files = {}&lt;br /&gt;
  local months = {&amp;quot;jan&amp;quot;, &amp;quot;fev&amp;quot;, &amp;quot;mar&amp;quot;, &amp;quot;avr&amp;quot;, &amp;quot;mai&amp;quot;, &amp;quot;jui&amp;quot;, &amp;quot;jul&amp;quot;, &amp;quot;aou&amp;quot;, &amp;quot;sep&amp;quot;, &amp;quot;oct&amp;quot;, &amp;quot;nov&amp;quot;, &amp;quot;dec&amp;quot;}&lt;br /&gt;
&lt;br /&gt;
  -- Duplicate in args&lt;br /&gt;
  for key,value in pairs(args) do&lt;br /&gt;
    template_args[key] = args[key]&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Open data files&lt;br /&gt;
  for file in string.gmatch(donnees, &amp;quot;[^%s]+&amp;quot;)&lt;br /&gt;
  do&lt;br /&gt;
    files[file] = mw.ext.data.get(file)&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Temperature extreme high&lt;br /&gt;
  for num,month in pairs(months)&lt;br /&gt;
  do&lt;br /&gt;
    if template_args[&amp;quot;tmax-record-&amp;quot; .. month] == nil or template_args[&amp;quot;tmax-record-&amp;quot; .. month] == &amp;quot;&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;tmax-record-&amp;quot; .. month] = p.getMonthHighestTemp(num, files)&lt;br /&gt;
      template_args[&amp;quot;tmax-record-date-&amp;quot; .. month] = nil&lt;br /&gt;
    elseif template_args[&amp;quot;tmax-record-&amp;quot; .. month] == &amp;quot;-&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;tmax-record-&amp;quot; .. month] = nil&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Temperature extreme low&lt;br /&gt;
  for num,month in pairs(months)&lt;br /&gt;
  do&lt;br /&gt;
    if template_args[&amp;quot;tmin-record-&amp;quot; .. month] == nil or template_args[&amp;quot;tmin-record-&amp;quot; .. month] == &amp;quot;&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;tmin-record-&amp;quot; .. month] = p.getMonthLowestTemp(num, files)&lt;br /&gt;
      template_args[&amp;quot;tmin-record-date-&amp;quot; .. month] = nil&lt;br /&gt;
    elseif template_args[&amp;quot;tmin-record-&amp;quot; .. month] == &amp;quot;-&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;tmin-record-&amp;quot; .. month] = nil&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Rainfall max&lt;br /&gt;
  for num,month in pairs(months)&lt;br /&gt;
  do&lt;br /&gt;
    if template_args[&amp;quot;pluie-record-&amp;quot; .. month] == nil or template_args[&amp;quot;pluie-record-&amp;quot; .. month] == &amp;quot;&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;pluie-record-&amp;quot; .. month] = p.getMonthHighestRainfall(num, files)&lt;br /&gt;
      template_args[&amp;quot;pluie-record-date-&amp;quot; .. month] = nil&lt;br /&gt;
    elseif template_args[&amp;quot;pluie-record-&amp;quot; .. month] == &amp;quot;-&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;pluie-record-&amp;quot; .. month] = nil&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Snowfall max&lt;br /&gt;
  for num,month in pairs(months)&lt;br /&gt;
  do&lt;br /&gt;
    if template_args[&amp;quot;neige-record-&amp;quot; .. month] == nil or template_args[&amp;quot;neige-record-&amp;quot; .. month] == &amp;quot;&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;neige-record-&amp;quot; .. month] = p.getMonthHighestSnowfall(num, files)&lt;br /&gt;
      template_args[&amp;quot;neige-record-date-&amp;quot; .. month] = nil&lt;br /&gt;
    elseif template_args[&amp;quot;neige-record-&amp;quot; .. month] == &amp;quot;-&amp;quot;&lt;br /&gt;
    then&lt;br /&gt;
      template_args[&amp;quot;neige-record-&amp;quot; .. month] = nil&lt;br /&gt;
    end&lt;br /&gt;
  end&lt;br /&gt;
&lt;br /&gt;
  -- Force debug, if any&lt;br /&gt;
  if debug ~= &amp;quot;&amp;quot;&lt;br /&gt;
  then&lt;br /&gt;
    return debug&lt;br /&gt;
  else&lt;br /&gt;
    return frame:expandTemplate{title = &amp;#039;Weather box&amp;#039;, args = template_args}&lt;br /&gt;
  end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>imported&gt;Izno</name></author>
	</entry>
</feed>