我再次畏缩起来,完全系好外套,加快步伐,着急上班。 在工作中,热咖啡,温暖的系统单元和有趣的任务。 但是当寒冷的风吹过我的胸膛时,它们并没有在我的脑海中旋转,而是对季节的变化有些模糊的怀疑。 有必要检查升温和降温是否按时进行,而不是更早进行? 也许季节改变了?
毋庸置疑,上班后我忘了想起我含糊的猜疑。 但是它并没有完全消散,而是偶尔出现在我的脑海中,例如,当我五月份遭受高温或七月份看到一棵泛黄的树木时。

因此,在没有真正遵循您需要在头48小时内开始提出想法的原则的情况下,经过几个月的努力,我做了一些研究来检验我的怀疑。 提醒人们的是关于Gismeteo的文章。
资料
第一步是获取数据。 事实证明,查找每日平均温度并不像看起来那样容易。 谷歌搜索五分钟后,我在烤面包机上遇到一个问题 ,进入了网站www.ncdc.noaa.gov 。 但是收到的数据使我不满意(日期中有许多遗漏),继续使用谷歌搜索,并在http://aisori-m.meteo.ru/waisori/网站上找到了我想要的东西。
一条数据:
29645 1955 1 1 "-31.0" 29645 1955 1 2 "-23.8" 29645 1955 1 3 "-18.7" 29645 1955 1 4 "-13.3" 29645 1955 1 5 "-16.8" 29645 1955 1 6 "-16.8" 29645 1955 1 7 "-18.6" 29645 1955 1 8 "-17.0" 29645 1955 1 9 "-6.7" 29645 1955 1 10 "-10.4"
抵消年度温度
首先,我将带有数据的csv
转换为对象数组。
然后,他编写了一个函数,该函数从数组中返回一年,且偏移了一定的天数。
更详细地讲,我们有一个这样的数组:
... 1955 12 29 -34.5 1955 12 30 -37.7 1955 12 31 -36.3 1956 1 1 -29.2 1956 1 2 -32.9 1956 1 3 -38.1 1956 1 4 -36.6 ...
如果在函数中请求1956的所有数据,则仅返回该值,并且如果请求偏移量为-1 day的数据,则每天的温度将从前一天开始计算。 也就是说,对于1956年1月1日,温度将在1955年12月31日开始计算
... 1956 1 1 -36.3 ← ( 1955 12 31) 1956 1 2 -29.2 ← ( 1956 1 1) 1956 1 3 -32.9 ← ( 1956 1 2) 1956 1 4 -38.1 ← ( 1956 1 3) ...
获取平均每月温度
在一年的阵列结果片段中,我计算了平均每月温度,从而获得了一年的温度向量。
[ -16.716129032258067, -16.317857142857143, -17.690322580645155, -11.57333333333333, 0.3967741935483872, 9.163333333333332, 17.845161290322586, 17.225806451612904, 15.490000000000004, 9.922580645161291, 1.7233333333333334, -8.26774193548387 ]
偏移年份之间的距离
如果我有一年的温度矢量,则可以比较两个矢量之间的距离。
也就是说,如果逐年几乎没有天气变化,那么向量之间的距离将为零。 从这里开始,我决定比较2001年向量和通过偏移量获得的所有2002年向量。
... 2001 == 2002 -2 2001 == 2002 -1 2001 == 2002 2001 == 2002 +1 2001 == 2002 +2 ...
在进行该比较的偏移之后,向量之间的距离最小。 也就是说,如果事实证明2001
和2002 +2
之间的距离很小,则2002季节比 2001 提前了2天 。
展望未来,我要说的是,我在开始的第一年就使用了1956年的产品,来回移动了30天。
我在js上对算法进行了编程,并制作了一个小型站点以方便验证。
github上的源代码。
检查假设
克麦罗沃
是的 从2013年开始,季节的变化开始加快了10天,而自1956年以来,平均变化了8天!

莫斯科
几乎没有位移。

阿尔汉格尔斯克

加里宁格勒

圣彼得堡

秋明州

海参div

结论
感觉没有被欺骗,但是感觉仍然需要检查。
PS实际上,我在寻找新西伯利亚。 在新西伯利亚站点上没有,但是克麦罗沃对我完全满意。
PPS后来发现,该文件在2018年丢失,我需要在今年1月,所以我从pogodaiklimat.ru网站下载了丢失的月份。