Сезоны сменяют друг друга всё раньше из года в год в Кемерово

    В очередной раз поежившись, я полностью застегнул куртку и ускорил шаг, торопясь на работу. На работе горячий кофе, тёплый системный блок и интересные задачи. Но не они крутились у меня в голове, пока холодный ветер шарил у меня за пазухой, а небольшое смутное подозрение относительно смены сезонов. Необходимо было проверить, действительно ли потепление и похолодания приходят вовремя, а не раньше? Может быть сезоны сдвинуты?


    Само собой разумеется, по-прибытии на работу я и думать забыл о своем смутном подозрении. Но оно не рассеялось окончательно, а периодически всплывало в голове, когда, например, я страдал от зноя в мае или видел желтеющее дерево в июле.



    Итак, толком не следуя принципу, что нужно начать делать задумку в первые 48 часов, спустя много месяцев я таки провел небольшое исследование для проверки своего подозрения. Напоминанием стала статья на Гисметео.


    Данные


    Первым делом необходимо было раздобыть данные. Как оказалось, найти среднесуточные температуры не так-то просто, как может показаться. После пятиминутного гугления я наткнулся на вопрос на Тостере, откуда попал на сайт 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 день, то температура для каждого дня будут браться из предыдущего дня. То есть для 1го января 1956 года, будет браться температура 31 декабря 1955 года


    ...
    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 года был смещен на 2 дня вперед относительно 2001 года.


    Забегая вперед скажу, что я брал за начальный год 1956 и смотрел смещение на 30 дней вперёд и назад.


    Оформляем код


    Алгоритм я запрограммировал на js и сделал небольшой сайт для удобства проверки.
    Исходный код на гитхабе.


    Проверяем предположения


    Кемерово


    Ага! Сезоны стали меняться быстрее с 2013 года на 10 дней, а в среднем с 1956 года на 8 дней!


    Москва


    Смещения почти нет.


    Архангельск



    Калининград



    Санкт-Петербург



    Тюмень



    Владивосток



    Заключение


    Ощущение не обмануло, но ощущения проверять всё же нужно.


    P.S. На самом деле я искал Новосибирск. На сайте Новосибирска не оказалось, но Кемерово меня полностью устроило.


    P.P.S. Как оказалось немного позже — то в файле не хватало 2018 года, а мне нужен был январь этого года, поэтому недостающий месяц я скачал с сайта pogodaiklimat.ru.

    Share post

    Comments 21

      0
      Скорость (быстрота) смены сезона это производная в районе средней точки или что? Она точно так связана с расстоянием между «векторами»?
        0

        Расстояние между векторами нужно для выяснения смещения.
        Чуть подробнее:


        distance("2001 год", "2002 год" + "-2 дня")  = 20
        distance("2001 год", "2002 год" + "-1 дня")  = 15
        distance("2001 год", "2002 год" + " 0 дней") = 12
        distance("2001 год", "2002 год" + "+1 день") = 10
        distance("2001 год", "2002 год" + "+2 дня")  = 5 <- наш выбор
        distance("2001 год", "2002 год" + "+3 дня")  = 13
        
        0

        Сайт это хорошо, но может стоит на нём добавить описание о том как можно получить файл без которого ничего и не работает?
        Я вот хотел посмотреть на Воронеж и Караганду.

          0
          Добавил краткое описание. Не так просто найти удобный источник данных.
          Караганда (данные до 2015 года)

          Воронеж
          +6
          А если offset days нанести на карту? то есть например в Архангельске смещение с 1955 года почти на 15 градусов, а в Москве почти нет. Возможно будет видно какие то географические паттерны, например от строительства в СССР водохранилищ.
            0
            Крупных водохранилищ не так много. Скорее вырубка лесов (лесополос?) позволяет воздушным массам быстрее и дальше перемещаться.
              +1
              Может и это. Карта с отклонениями дала бы наглядную картинку
                0
                Попадалась советская книжка, в которой было написано о мелиорации и что осушение болот избавило поля, где-то в северных регионах, от прихода заморозков летом.
              +1
              Отличная идея, спасибо. Поставил себе в планы на реализацию
              +6
              Да в Кемерово последние 3 года погода конкретно так поменялась.
              Раньше таких ветров, как сейчас, вообще не было. А ныне ветер 5-6 баллов по шкале Бофорта (это по которой 9-балльный шторм и всё такое) случается несколько раз в месяц. Объясняем это просто — китайцы тайгу вырубили, вот и ветры задули.
              На неделе погода меняется несколько раз. Три дня тому потел в шортах — +40 на солнце, +25 в тени, сегодня мёрзну в куртке — +15 и пасмурно :) В воскресенье опять в шортах гуляем.

              Давеча, по радио слышал, в Москве рекорд по давлению был — аж 750-с чем-то мм.рт.ст. У нас этим летом барометры фиксировали 780, и всё спокойно — никто и не заикнулся про рекорды, хотя я сам такое значение первый раз в жизни увидел и офигел.

              Вообще, мы в ссылке живём. Сюда ссылали и климат был наказанием. Мы привыкшие, -мерзнуть утром, потеть в обед и опять мёрзнуть вечером — это в порядке вещей. Дневной перепад температуры летом бывает около 20 градусов. Однажды зимой, будучи студентом, пошел я на учёбу, посмотрев на термометр и одевшись на -10 градусов, а когда добирался домой с университета, на улице было уже -27. Это за короткий зимний световой день так поддавило, буквально за несколько часов :)

              Так что будете у нас на Колыме в Кемерово, учтите эти погодные нюансы :)
                0
                бывают и покруче перепады — году в 1996 в Югорске утром в 5 часов (приход поезда) было в районе +5, а вечером в районе 22 (отправление поезда в обратном направлении) успешно снизилась к -30. и для всех местных это не было чем-то необычным.
                  +1
                  У нас в соседнем регионе также стало, дерганная погода, более быстрая смена сезонов и дикий ветер, который иногда приводит к катастрофам.
                    0
                    В Волгоградской области перепад за день на 15 градусов это тоже обычное явление.
                    вчера днём прогревалось до +30, а вечером уже было +14.(да и вообще в середине лета обычно +40, а в феврале месяце доходит до -30), у нас тут вырубать нечего, но тоже есть ощущение что погода из года в год меняется, при этом мы вроде как в хорошем месте на юге.
                      0
                      Перепад температуры в 20 градусов везде бывает, где есть лес в больших количествах. Утром холод идет из леса, вечером начинается жара. У нас город окружен лесом, хотя центр Европы, так утром дети в школу одевают кофты, потому как +15, а к вечеру может и +35 быть, как вчера.
                      –3

                      Интересно, но вы б тогда уже сделали полный конвертер чтоб прям на данных с http://aisori-m.meteo.ru/waisori/ работало… а то — скачай оттуда, подготовь csv а потом только грузи… :-(

                        +1
                        Можете Самарскую область проанализировать? Последние годы наблюдается новый сезон «хpeн знает что». Где-то в ноябре-декабре снега совсем нет, но есть морозы и ветер. Очень странное ошущение порой, — мороз -10, ветер поднимает пыль с дороги, пасмурно и вечерний полусумрак.
                          0
                          Значит календарные «весны» стали теплее, а «осени» — холоднее? Проверяли это утверждение?
                            0
                            Собственно на этом и строилась проверка. На самом деле я был недостаточно скрупулезен, потому что нужно еще учитывать растущую среднегодовую температуру. Но это уже не так просто.
                              0
                              Нет, я немного о другом. Раз по ощущениям весна и осень стали приходить раньше, то значит и первые календарные месяцы весны должны стать теплее, а последние лета — холоднее.
                            0
                            У меня субъективное чувство, что после землетрясения, на одном курортов в 2004 году.
                            зима стала приходить на месяц — два позже (устойчивый снежный покров), весна также стала приходить позже.
                            Я помню как 22 марта я всегда в майке ходил встречать наурыз (в западном казахстане), сейчас в марте еще лежит снег.

                            Это конечно мое не профессиональное наблюдение, и оно может ошибочно и подвержено эффекту манделла
                              0
                              Не скажу за температуру, но последние пару лет месяцами не бывает солнца весной и летом. Мне лично тяжко…

                              Only users with full accounts can post comments. Log in, please.