Пользователь
0,0
рейтинг
26 декабря 2012 в 17:12

Разработка → OpenWeatherMap – как энтузиасты делают погоду


Мы живем в удивительное время, то что раньше казалось очень сложным внезапно становится доступным и простым. Задачи для решения которых надо было создавать научные институты и крупные организации, сейчас решаются саморганизованными группами энтузиастов. Энтузиасты создают карты и энциклопедии снимают фильмы и разрабатывают software. Я хочу рассказать о той области, в которую этот свежий ветер перемен еще не подул в полную силу – это погода. И нашим проектом – OpenWeatherMap — мы хотим изменить эту ситуацию!



Почему мы привыкли, что прогноз погоды это удел специализированных организаций?


Так сложилось в нашем мире, что погодой всегда занимались и занимаются изолированные от внешнего мира институты, лаборатории и крупные государственные организации. Кто и как рождает прогнозы погоды, всегда оставалось загадкой, покрытой налетом мистики. Большинство из них — это крупные государственные организации, объединенные в World Meteorological Organization

Причем все знают, насколько фантастически точные бывают прогнозы, и мы радуемся как дети, когда этот так. И насколько же неприятны и даже опасны бывают промахи. В конце концов, правильный прогноз погоды влияет не только на наше ежедневное настроение. От него зависят наши жизни! Одним словом, погода это все. Поэтому мы подумали и решили, что такая жизненно важная тема как погода должна быть доступна всем. Она принадлежит людям и должна создаваться теми же людьми, которым это нужно!
Она должна быть доступна, удобна, а, главное, бесплатна!

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

Так появился проект OpenWeatherMap.

Цель проекта — свободный API



Идея свободной и доступной информации о погоде привела к тому, что мы создали и предоставили всем разработчикам приложений бесплатный API для получения разнообразных данных о погоде, такими как:
— Интерактивная карта с данными о текущей погоде
Прогноз на неделю в городе
— Исторические данные в 120 000 городах мира.
— Данные от 40 000 метеостанций по всему миру получаемые практически в режиме online. (Задержка от секунд до часа)
— Много различных web карт, включая карты облаков, осадков, ветра, температуры и т.п.

Как это работает?




На входе мы имеем (1) данные от погодных станций, а также (2) прогнозы метеорологических служб и научных лабораторий. Эти данные сохраняются в базе данных OWM, а после обработки с помощью уникальных математических алгоритмов
уличной магии они превращаются в интерполированные данные о текущей погоде в любой точке мира, а также во множество карт с погодными явлениями (3). И напоследок, предоставляется (4) API ко всем данным о погоде, включая карты с погодными явлениями. А теперь немного подробнее про каждый из 4-х пунктов.

Что на входе?

Данные метеостанций


Сервис OpenWeatherMap получает данные от профессиональных и частных погодных станций. На сегодня таких станций более 40 тысяч. Большая часть из них это профессиональные станции, которые установлены в аэропортах и крупных городах мира. Но также не менее важным для сервиса являются данные от непрофессиональных станций, которые собирают и устанавливают любители везде, где это возможно. И это очень важно для нас, т.к. уровень любительских станции сейчас очень высокий, точность и, главное, оперативность передаваемой информации также находятся на очень высоком уровне. И чем больше таких станций будет подключено к OWM, тем выше будет точность как текущей информации о погоде, так и прогнозов. Любительские погодные станции это вообще отдельная тема. Но в данной статье хотелось бы подчеркнуть, что спектр таких станций очень широк. И интересно будет установить такую станцию у себя дома или на даче не только серьезному радиолюбителю, но и, например, папе с сыном. Можно купить готовую станцию стоимостью от $100 до $1000, либо собрать самому, к примеру, на Arduino.


Прогнозы

Кроме погодных станций сервис OWM собирает уже обработанные данные о прогнозе погоды. Расчет глобального прогноза для всего мира требует невероятных компьютерных мощностей, и, увы, пока у нас нет своего IBM Deep Thunder. К счастью, многие метео службы разделяют нашу любовь к свободным данным и результаты работы их систем доступны. Мы используем данные двух метеослужб – американской NOAA, которые гоняют модель GFS, и канадской из Environment Canada. Обе модели глобальные и имеют своей целью скорее не предсказать конкретную погодную ситуацию в определенной точке земли, а определить общую атмосферную динамику на планете в целом. Они имеют большой шаг сетки – порядка 50 км и большой временной диапазон прогноза – 5-7 дней.
Кроме того, для отдельных регионов рассчитываются более подробные, с меньшим шагом, модели.
Мы объединяем данные разномасштабных прогнозов – от усредненных и глобальных, до локальных и более точных, соответственно. В результате web карты OpenWeatherMap работают очень удобно – для крупного масштаба используются глобальные прогнозы, а в процессе увеличения загружаются все более и более детальные данные.



Но все это не было бы так интересно, если бы метеорологи не разделяли бы и нашу любовь к свободному софту! Некоторые модели используемые крупными метеослужбами доступны в OpenSource — к примеру модель WRF.

Например, группа французских энтузиастов развернула подобную систему обработки данных на своих домашних серверах и предоставляет детальные и точные прогнозы по всей территории Франции. Кстати сказать, стоимость всей их системы составила 5 тысяч долларов (Blade server на 16 ядер), что не выглядит недоступным.



Сервис OpenWeatherMap объединяет такие точные локальные модели вместе с глобальными. После этого мы ассимилируем сверхоперативные данные от погодных станций. И уже на основе всех этих данных и строятся интерактивные карты, в которых степень детализации данных зависит от масштабирования карты.

Что на выходе?


Карты — многообразие видов


После обработки «сырых» данных, которые OWM получает от метеостанций и метеорологических институтов, создаются различные интерактивные карты с данными о погоде и погодных явлениях. Это карты облаков, давления, температуры, осадков, ветра. Также это данные радаров, погодных станций и просто текущей погоды в любой точке мира.
Подробне о картах


API

Сервис OpenWeatherMap предоставляет бесплатный API ко всем данным о погоде, к их истории, прогнозам и всему многообразию погодных карт.
API есть двух видов — JSON для получения данных и Tile / WMS для картографии

Используя JSON можно получать:
— Данные о погоде в более чем 120 тысячах городов. При этом города не нужно выбирать из жестко ограниченного списка, их можно найти на карте и увидеть оценочные прогнозы погоды как в самом городе, так и в ближайших регионах.
— Данные о текущей погоде в выбранной точке по координатам lat/lon
— Прогноз на 7 дней в компактной или в полной форме
— «Сырые» данные, полученные от метеостанций
— Данные о погоде за прошедшие периоды
Подробнее о метео API

Как используют наш API

Спектр применения API бесконечно широк. Это мобильные приложения для всех платформ. Это разнообразные web-сайты, которые могут использовать API для отображения текущей погоды, различных погодных графиков, виджетов и т. д. Это системы умного дома.
К примеру, один из пользователей OpenWeatherMap из Великобритании организовал систему автоматического полива своего английского садика. Для планирования количества воды и режима полива он использует данные о прогнозе осадков.





Почему в России все так, как всегда?


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

Однако, давайте посмотрим, что происходит с погодными станциями и погодным энтузиазмом в России. На иллюстрации ниже можно увидеть текущую картину распределения погодных станций. По сравнению с плотным покрытием всей европейской части, Россия выглядит более чем скромно. И это одна из причин неточности прогнозов погоды на нашей бескрайней территории.



А что мы можем изменить?


Мы уверены, что силами энтузиастов можно изменить ситуацию. Если Вам интересна эта тема и вы хотите помочь проекту, то есть очень много возможностей.
Вы можете, например, следующее:
— подключить свою метеостанцию
— если вы разработчик – использовать наши данные в своих проектах
— или доделать нашу мобильную версию – m.openweathermap.org
— да просто написать о нас в своем блоге

Или если вам интересна математика – очень много задач вокруг этого. К примеру – одна из наиболее важных задач в системе это определение текущей погоды. Как я уже говорилось выше, мы получаем оперативные данные от метеостанций, которые нужно интерполировать в сетку важных для географических точек – городов или отдельных районов. Данные от станций разнородны и поступают не регулярно. Более того, поступает много мусора из ошибочных и неверных измерений, их надо отсеивать. Причем ошибки могут появляться и в данных от вполне надежных метеостанций.
Сейчас мы используем достаточно жёсткий и не адаптивный алгоритм. Очень хотелось бы попробовать в этой задаче какой-либо обучающийся алгоритм.
Очень интересно попробовать в схожей задаче нейросеть.

Или, к примеру, внешний вид карт. Очень хочется сделать свой слой на основе данных OpenStreetMap с меньшим количеством подробностей, но более естественно выглядящий. Если есть идеи, очень рады будем, особенно, если вы знаете как их реализовать на mapnik.

Нам нужны все, способные держать оружие!

Архитектура


Я не буду подробно останавливаться на архитектуре системы, проведу общую картинку для иллюстрации:

Архитектура -одна шт.

Мы используем только Open Source software, среди которых NgInx, Apache, PHP, Tilecache, OpenLayers, Leaflet, Mapnik, PostGIS, Memcache, MongoDB, Gearman, MySQL, Python and more.

PS


Небольшое лирическое отступление.
Сейчас модный термин bigdata становится продающим брендом, который активно используют все акулы ИТ рынка. Но кроме чистого маркетинга это имеет и огромное влияние на всю индустрию – суть в том, что стоимость транзакции и стоимость хранения больших объёмов информации падает колоссальными темпами, да практически стремится к нулю. Это открывает необыкновенные возможности не только для крупных игроков рынка, но и для небольших. Грубо говоря, несколько лет назад стоимость разработки и поддержки системы с объёмом данных в несколько терабайт и нагрузкой в тысячи транзакций в секунду была неподъемной для небольшой компании, и тем более для энтузиастов. Сейчас все меняется!
Bigdata становится доступной. Это революция, в которой может участвовать каждый!

Собственно отсюда и ответ на вопрос, который мне часто задают — а почему бесплатно? Мы считаем, что строить бизнес на платном API это путь в ад, как в технологическом, так и в коммерческом плане. Наш API останется бесплатным всегда – это основная идея и цель проекта.

Что будет дальше?


Сама идея свободной погоды дает возможности для развития проекта. В данный момент мы уже работаем над новыми направлениями и функциями, такими как:
• Социальность. Это возможность сказать – нет, в нашем городе сейчас не падает снег, а светит солнце и цветут цветы. Это значит, что метеостанция в городе выдает неверные данные, и мы будем искать другие возможности для поддержки точной погоды в этом городе. Автоматические алгоритмы это хорошо, но люди лучше.
• Будем продолжать подключать к проекту внешние расчетные модули для детальной информации по регионам.
• Продвижение идеи любительских погодных станций и подключение их к OpenWeatherMap
• Использование OpenWeatherMap для агропромышленной индустрии, тут потребность в локальных прогнозах очень высока
• Разработка специализированных метеорологических приложений
• Ну и конечно мы очень надеемся на ВАШУ помощь!

Denn @Dennsy
карма
38,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (99)

  • 0
    Есть ли ограничение на количество запросов в час/сутки для API?
    Интересно было б сделать погодный клиент + виджет для Андроид.
    И еще…
    Россию все же ожидать?
    • +1
      Вот что по этому поводу на сайте написано: No API key is necessary if you have less than 2000 requirements per hour
      • –6
        Это не ответ на мой вопрос, насколько я понимаю.
      • +1
        Мы ввели это правило на всякий случай, чтобы иметь возможность снизить нагрузку на систему от совсем уже не понятных клиентов с которыми мы не знаем как связаться.
        В реальности пока ни разу не использовалось )
    • 0
      Если используете APP key ограничений нет. Ставьте только пожалуйста ссылку с указанием источника данных.
      APP key — бесплатный.
      Чтобы получить его надо зарегистрироваться и он виден в личном кабинете.
      Россия есть и сейчас, но эээ… формально это не прогноз погоды. В том смысле который вкладывает в это росгидромет
      • 0
        Ну должны же быть чисто технологические ограничения.
        Ваша ситема выдержит, например, если её начать использовать для мобильнго приложения с миллионом активных пользователей в сутки?
        • 0
          Конечно ограничения есть.
          Но приложения с миллионами инсталляций нас не пугают. Мы работаем с такими приложениями уже сейчас.
          • 0
            а можно примеры если информация не секретная, конечно?
  • +1
    Очень интересно, спасибо!
    Если можно — расскажите подробней, как можно дома собрать и подключить метеостанцию.
  • +3
    Я хотел бы присоединиться, установив свою метеостанцию и посылая данные вам. Если вы, конечно, дали бы мне все схемы как собрать мини станцию. Я бы поставил у себя в деревне.
    • 0
      Я уже нашел вот это: openweathermap.org/wiki/OpenWeatherMap_arduino-based_weather_station и это: habrahabr.ru/post/110610/.
      Как по мне, немного дороговато получается. Должно дешевле быть.
      • 0
        Да уж. Хотя бы на 30-40% дешевле бы.
      • +2
        там не совсем реальные цены
        по первой ссылке считаем
        1) адруино нано 10 баксов
        2) стабилизатор на 3.3в 5р в магазине
        3) езнернет шилд ENC28J60 4.3 бакса не ебай (Не оригинал, требуется питание 3.3в из п2 + умение подключить 5 проводков)
        4) DHT22/AM2302 6.3 бакса
        5) BMP085 5 баксов на ебай
        экран/кнопки не нужны
        итого меньше 30 баксов.
        • +1
          Эх, если б сделали полноценную статью, с картинками, ссылками на покупку и пр., было бы совсем хорошо
      • 0
        Извечная проблема выбора. Или подешевле или поточнее.

        На narodmon.ru упор на подешевле делали и безовсяких там прогнозов. Зато порог вхождения ниже, а стало быть спектр применения шире и не только Ардуино-девайсы в каталоге поддерживаемых, но и сборки на микроконтроллерах и на роутерах и на RS232. Есть где реализоваться и поднабраться опыту разработки энтузиастам, а кому то и реклама своего сайта в погодном балуне на карте.

        В итоге не надо покупать метеостанцию задорого(хотя есть и такие в проекте), а вполне сойдет и от 20$ ато и от 20р чтонить сочинить и мониторить не только погоду за окном, а хоть скажем температуру отопления дома.

        PS Десктоп-трей утилита прилагается и Андройд клиент ожидается тоже.
        • 0
          1.С радостью добавлю датчик в своём городе, можно ли подключить DS18B20 напрямую к микротику (через USB-COM переходник), не пользуясь промежуточным TP-Link с OpenWrt?

          2. Даёт ли API narodmon.ru сразу картинку с текущей сводкой — на даче плохой интернет, работает только телеграм…
          • 0
            1. Да. Через дешевый usb2uart адаптер (например pl2303) + digitemp, но признаться это уже прошлый век с компа передавать показания, сейчас для этих целей куча недорогих девайсов есть подключаемых по eth или по wifi и не требующих держать комп постоянно включенным ради 1 датчика.

            2. Да, с лагом в 1 мин. Можете сами убедиться посетив сайт. Прогноза разумеется не дает ибо это уже другая область.
  • 0
    Готовые решения для дома есть? В идеале конечно что-то похожее на RIPE Atlas Зонд.
  • 0
    Может-ли кто-нибудь поделиться советом как правильно уставить/настроить метеостанцию в черте города? Из-за асфальта, домов, и прочих факторов показания явно будут отличатся от фактических.
    • +2
      Будут отличаться. Поэтому данные на всех метеостанциях должны быть получены по одинаковой стандартной методике. В бывшем СССР метеорологические станции и посты соответствуют нормам, прописанным в «Наставлении метеорологическим станциям и постам».

      Само наставление я нашёл только здесь: fluger.org/library/newlibrary/item/nastavlenie31.html
      Вот тут кое-что более простым языком: www.astroscope.com.ua/lab/archives/3170
  • +2
    Недавно закончил свою министанцию по схеме, планирую запустить под Новый год.
    Уже 3 года до этого писал только градусы по простой схеме DS1820, решил разнообразить данные.
    По деталям обошлось около 2-2.5 килорубля, получилось небольшое со спичечный коробок устройство.
    Сейчас почитаю статью подробней, очень интересный проект.
    • 0
      Опишите как собирали метео станцию, я думаю многим будет интересно прочитать. И на хабре и нашим пользователям тоже.
      • 0
        Ну все вроде запустил :)
        Тут статьи не могу писать, позже планирую у себя на сайте написать статью — просто свой опыт реализации по статье приведенной выше в моем посте. Фотографий практически нет к сожалению, но обещаю исходники схемы и платы в формате KiCAD, скрипты снятия показаний, вычислений.
        Пока могу сказать как у меня все работает: на плате DS2438, которая снимает показания с датчиков влажности и давления, параллельно датчик температуры. Хотя в самой DS2438 есть температурный датчик но он не точный +-2 градуса.
        Все включено в мастера DS9490R, на ubuntu установлен owfs (вещь просто потрясающая по сравнению с digitemp),
        Раз в 5 минут снимаются данные, пересчитываются и записываются в mysql.
        Кстати подключился к сабжу, данные уже там. Туда посылаю из bash-скрипта строкой:
        /usr/bin/curl -d "temp=$GRD&humidity=$HUM&pressure=$PRS&lat=$LAT&long=$LONG&alt=$ALT" -H "x-api-key:$APPID" -u 'user:pass' http://openweathermap.org/data/post
        

        Кстати в вики надо бы немного добавить про параметр -H «x-api-key:$APPID»
        • 0
          Здорово!
          Когда сделаете описание можно у нас на wiki разместить. Вообще я хочу собрать в одном месте полезную информацию о любительских метеостанциях. Очень много людей интересуются.
  • +2
    Интересный проект, но проблема обычно не в получении данных, а в обработке. Читал статью на тему почему американские прогнозы для России точнее чем русские. Как оказалось в США для этого варганят целые суперкомпьютеры, которые рассчитывают движения атмосферы до мелочей, а в России таких мощностей пока нет. А данные берутся откуда не попадя, даже опсосы на своих базовых станциях ставят метеостанции и отсылают данные метеорологам.

    Проекту нужна прослойка для распределенных вычислений, типа поставил у себя заставку, которая в свободное время рассчитывает погоду на будущее в квартале, а потом сливает на сервер.
    • +1
      В гидрометцентре стоит компьютер на ~1500 ядер и 2Tb оперативной памяти. При этом опыт пока показывает, что алгоритмы больше чем на 100-200 ядер не параллелятся.
      • 0
        Принципиально проблемы распараллелить на сколько угодно процессоров нет. Зависит от алгоритма, сетки и многих других факторов. Например я знаю, что канадская модель GEM спокойно параллелится на тысячи ядер.
    • 0
      Это хорошая идея — использовать компьютеры пользователей для моделирования погоды. У людей будет стимул — хочешь более подробны прогноз для своего города — посчитай его сам )) Проблема в том, что существующие модели легко распаралеливаются между множеством вычислительных ядер, но при этом требуют интенсивного обмена данными между ними. Большой и медленный трафик между отдельными компьютерами убьет всю идею. «Нельзя просто так взять и перенести модель WRF на seti@home framework»
      Тут нужна изначально другая модель. В общем задачка ждет своего математика. Но потенциально можно объединить тысячи если не десятки тысяч компьютеров
  • 0
    Подскажите, а для Беларуси погода есть?
  • +1
    Вау! Вещь! Круто! Круто-круто-круто.

    Только две штуки: меня постоянно забрасывает в Москву. Нет, я не против Москвы, но находясь в Беларуси мне хотелось бы примерно в этот регион карты и попадать. Особенно если я в него уже переместился вручную. Каждый раз это делать как-то неудобно.
    И еще глянул я графики для метеостанции в Минске, а там точка росы в 250-270 градусов цельсия. Это вообще как? Модель шалит или где-то неверные данные выдаются?
    • +1
      Какой у вас ник интересный. И это ваше «уже переместился» — сразу видно, что вжились в образ. Понятно, почему для вас это Вау! Вещь! Круто! )))
    • 0
      Для метеостанций, мы никак не фильтруем данные — что передали, то и покажем.
      Но при расчетах они уже отсеиваются.
  • 0
    Замечательная инициатива.

    Мы разрабатываем софт для сельского хозяйства и активно используем данные о погоде, в том числе прогноз погоды с привязкой к километровой сетке. Постоянно сталкиваемся с двумя проблемами — часто местные метео-станции неоткалиброваны и выдают неточную информацию — это особенно критично с влажностью; а вторая проблема — не хватает станций, с которыми можно работать через Web несложным способом. Ну и прогнозы (математические модели привязки к местности), конечно, бывают очень разного качества.

    У вас написано про 40000 станций — на карте видны только аэропорта и совсем немного станций — почему?

    И насчет монетизации, ИМХО, вам надо сразу задумываться.
    • 0
      Абсолютно верно! Качество данных одна из основных проблем. Есть ээ… классический подход — сосредоточится на получении идеальных данных — поставить дорогую метео станцию откалибровать ее и постоянно за ней следить — вот именно так поступает росгидромед. По этой причине стоимость установки станции (в отдаленном регионе) может составлять К100$.
      И другой вариант — поставить много дешевых автономных станций, получить большой объем данных и за счет математических методов учесть ошибки измерений и неточности.
      Мы идем по второму варианту, к примеру у нас есть свой 'железный" автономной станции на солнечных батареях и с 3G модемом. Стоимость 100 -200$
      Сейчас одна такая станция в Крыму работает.
      • 0
        На температуру можно таким образом полагаться — дешевые датчики достаточно точные.
        Ветер, допустим, можно попробовать усреднить. Влажность… может быть, не уверен.

        Дешевые (или неоткалиброванные) датчики влажности страдают недостаточной точностью, например, при превышении некоторого порога (70-80-90%) тупо выдают 100% — такие характерные «плато». А для наших задач, к примеру, нужно ловить диапазон 88-92% — и неточные датчики становятся бесполезными.

        Или, например, новые дешевые датчики влажности, погружаемые в почву, которые реагируют на изменение сопротивления, страдают от отсутствия калибровки для конкретного типа почвы и солености воды — а их тупо втыкают как придется. Старые датчики с водяным столбиком внутри не зависят от типа почвы, но зато нуждаются в обслуживании, и за это их не любят.

        На самом деле я не спец в этом — так, нахватался от наших агрономов.
      • 0
        А данные о давлении не снимаете?
  • +2
    Использую их API в своём текущем проекте. Просто, удобно и быстро, а главное — работает напрямую с координатами.
  • 0
    Надо будет подключить свою станцию. Вот только нет уверенности что она правильно показывает. Влажность что она показывает по умолчанию отличается почти в 2 раза от прогнозной гисметео. Скорость ветра также надо калибровать — как это сделать в домашних условиях… Так что возникает вопрос, насколько достоверны данные от частных источников
  • +2
    Каждый раз, когда читаю очередное упоминание самопальных «градусников» — вспоминаю анекдот :-)

    Решили синоптиков расстрелять за то, что ни один их прогноз не сбылся, привели на площадь.
    Народ выражает полный одобрямс. Барабанная дробь. И вдруг мужик из толпы орет:
    — Стойте! Не надо их расстреливать! Они ещё могут принести людям пользу!
    Главный судья (в сомнениях):
    — Вы думаете? И что вы предлагаете?
    — Предлагаю их повесить! Пусть хоть направление ветра показывают!


    На Хабре, наверное, каждый третий ардуинщик делал градусник на DS18B20 (я в том числе, уж пару-тройку лет за окном болтается, в блог транслирует). Периодически появляются топики про то %username% сделал сайтик куда предлагает всем дружно показания своих градусников слать. Но каждый делает свой, в итоге единого общего так до сих пор толкового и не появилось. А вот ваш мне понравился, особенно в плане прогнозирования (гисметео и ко уже достали в конец, врут постоянно). Так что, видимо, предстоит изучать ваш API и натравливать мой скриптик на ваш сервер :-)
    • 0
      Уххх, только щас заметил что мой в яндексе видится, оказывается
    • 0
      API очень простой. Я в свое время подключил свою станцию ( wheatdb.org/weather ) к этой системе.
  • 0
    сделайте web-приложение школьного дневника погоды, как раньше на природоведении бумажные были

    такой теплый, да

    p.s. если сами не сделаете, то может у самого руки дойдут надеюсь…
    • 0
      Кстати отличная идея!
      Вообще в области визуализации и показа погоды поле не паханное, очень много можно придумать необычных способов показать привычные данные о погоде.
  • 0
    С трудом представляю, как житель среднестатистической городской квартиры может установить метеостанцию так, чтобы она не врала.
    • 0
      На крышу и подальше от дома.
      • 0
        Обычно крыша расположена довольно близко к дому. Она покрыта черным рубероидом и закрыта от ветра соседними постройками.
        • 0
          Потому и вбок. Но это единственное более-менее правдивое место для горожанина. На крышу нельзя, т.к. много выше поверхности земли, рядом с окном тоже нельзя — закрывается стеной минимум на 180° + тепло от стен.
  • 0
    > Мы используем данные двух метеослужб – американской NOAA, которые гоняют модель GFS, и канадской из Environment Canada.
    А планируется ли использовать также данные европейского центра ECMWF? На данный момент это лучшая метеомодель. К сожалению, полные данные в свободный доступ только американцы выкладывают.
    • 0
      Хотели бы использовать, но нет доступа к их данным. Сейчас мы пытаемся договориться со Swiss Meteo
      • 0
        А смысл? Вот будут у вас данные трех моделей. Но как их комбинировать? Если считать, что прогноз погоды — это только температура, то можно взять среднее значение. Но полноценная ансамблевая модель — это довольно сложная штука, насколько я понимаю…

        Или третья модель нужна в качестве резервной?
        • 0
          Swiss Meteo считают локальный прогноз с очень малым шагом. Это особенно интересно потому что считают они его для района Альп. У нас очень большая потребность в прогнозе для гор — ветер снег и тд.
    • 0
      А вы не подскажете, какие сайты используют данные этой модели?
      • 0
        Можно смотреть, например, тут.
    • 0
      ECMWF? На данный момент это лучшая метеомодель.
      Есть какие-то объективные показатели того, что это лучшая глобальная модель?
      • +1
        Да, конечно. См. например верификацию, которая делается у нас.
        • 0
          Ну, так себе инфографика…
          Выбран самый далекий от жизни физический параметр.
          Хотелось бы видеть анализ не по всей планете, а по конкретным местам.
          По графикам видно, что все модели дают примерно одинаковый результат. Заблаговременность влияет гораздо сильнее, чем модель.
          • +1
            Этот график скорее для внутреннего использования, не для общей публики. А учёные обычно не заморачиваются дизайнерскими изысками. Главное, что вся информация имеется, и довольно наглядно.
            Конечно, есть анализ и по конкретным местам, и по разным параметрам. Но, увы, не в свободном доступе. Могу привести ещё один график:
            image
            Видно, что и тут ECMWF в целом лучше всех, хотя английская модель наступает на пятки, что и неудивительно, делают то их в одном месте. Неплохо выглядит японская, однако должен отметить, что на более низких уровнях она заметно хуже. Остальные середнячки. Российская модель, кстати, в аутсайдерах, она вообще никуда не годится. Похоже её не имеет смысла использовать даже для России.
            • 0
              О, спасибо. Вот тут уже интересное.

              Еще интересно, насколько сильно можно улучшить ситуацию обработкой региона в модели WRF с начальными условиями из GFS (ну, это наиболее доступное решение).
              • 0
                На практике так и делается, региональные модели используют граничные условия из результатов глобальных.
  • 0
    На сколько масштабны необходимые вычисления? Возможно ли их распределить? Например давать возможность пользователям считать погоду с меньшим шагом сетки, где они хотят, тем самым более населенные области будут обсчитаны лучше.
    • 0
      К сожалению, существующие модели очень требовательны к межпроцессорному взаимодействию. Поэтому они очень плохо будут работать в сети компьютеров соединенных слабыми каналами.
      Если бы ктото разработал модель которую можно свести к MapReduce это бы улучшило ситуацию
  • 0
    Не планируется ли случайно версия digitemp, умеющая данные к вам на сервер посылать? Думаю тогда те, у кого термометры к роутерам и подобным девайсам подключены, смогли бы вам свои данные передавать.
    • +1
      Спасибо за наводку, сейчас напишу разработчику digitemp
      • 0
        А есть вообще толк от таких данных? Это же температура с сомнительной точностью. В какую модель их можно загружать и что можно от этого получить?
        • 0
          Толк в данных есть. Даже в не очень точных.
          Собственно наш подход заключается в статистической обработке данных.
          По нашему опыту, большая часть ошибок измерений происходит изза неправильно размещенных датчиков. Эти ошибки хорошо видны статистически и при сравнении с ближайшими достоверными станциями, таким образом их можно устранить. И не использовать данные, к примеру, когда датчик температуры попадает на солнце.
  • 0
    Отличный проект! Сразу захотелось помочь, думаю нужен еще один пост — где купить готовую станцию? как собрать? ссылки, стоимость, плюсы-минусы, как подключать, куда лучше ставить…
  • 0
    и да, социальность хорошо начинать с кнопок логина/регистрации через социальные сети

    плюс хорошо бы скрывать символы пароля через несколько секунд при вводе
    иначе психологически многим наверняка будет не очень комфортно
  • 0
    Задумка хорошая, но есть определённые «но», относящиеся к вопросу точности прогнозирования. Неоднократно и в статье, и в комментариях упоминалось слово «модель». По состоянию на 5 лет назад не было 100% достоверной единой климатической модели планеты. Думаю, степень достоверности с тех пор повысилась, но точно не до 100%. Слишком уж сложная это система. По состоянию на те же 5 лет назад достоверным можно было считать прогноз на ближайшие 3 часа. Достоверность прогноза на сутки составляла порядка 80%, на 3 суток — порядка 50%, на 5-7-10 суток — эквивалентно гаданию на кофейной гуще. Вопрос об «опять синоптики наврали» будет столь болезненным, если учитывать эту достоверность. Хотя с откровенными ляпами сталкивался, когда прямо на сейчас определённый сайт показывает ливень, а на небе ни облачка.

    Идея сделать сетку для сбора данных более густой хороша. Но возникает вопрос, стандартный для профессиональной измерительной техники — калибровка и периодическая поверка. Много домашних энтузиастов захотят принести пользу обществу, но не все смогут позаботиться о научной ценности результата. Особенно это касается гипердешёвых домашних вариантов. Какова гарантия, что у термодатчика стоимостью в два бокала хорошего пива 0 градусов не будет соответствовать +2 по стандарту после покупки и -1 через пару лет использования? И где гарантия, что он не будет установлен возле щели в кирпичной кладке, которая аж до квартиры достаёт, и через которую зимой утечка тепла идёт? А это ещё может быть плюс пару градусов. И вот уже набежало 4 градуса погрешности. По данным станции вроде как снег таять должен, болото под ногами, а не тут-то было.

    Итого, плюсы в виде API, безусловно, есть. Но пафоса по поводу точности прогноза, коим насыщено начало поста, я бы поубавил. Тут пока энтузиасты мало чем могут помочь. Разве что поставить проект распределённых вычислений Climateprediction и помочь в уточнении климатической модели.
    • 0
      Достоверность прогноза на сутки составляла порядка 80%


      Данные нашего последнего поставщика прогноза погоды очень хорошо коррелируют с актуальными данными — графики почти друг на друге. Для наших задач (сельское хозяйство, борьба с вредителями) хватает.

      Редакт.:
      То есть, даже если климатической модели всей планеты и нет, локальные задачи решать можно.
      • 0
        Я и не отрицаю, что достаточно большой круг задач можно решить с помощью предложенной системы. Особенно если необходим краткосрочный прогноз. А по поводу сравнения графиков — если будет вдохновение, поэкспериментирую. Можно ведь брать прогнозы по нескольким точкам планеты на разные периоды (от 1 до 7 дней), записывать и в соответствующее время получать реальные данные. 1-дневные с большой долей вероятности будут близки, 7-дневные, скорее всего, будут «кто в лес, кто по дрова».
    • +1
      Все правильно, очистка данных одна из главных проблем. Мы стараемся решать ее за счет математики. Простой пример — типичная ошибка когда датчик температуры плохо защищен от прямого солнца. Солнце на падет — температура адекватная, солнце осветила и сразу получаем + 10 градусов.
      Использую данные ближайшей метеостанции такую ситуацию легко отловить и отсеивать данные этого датчика в период когда он попадает под солнце. Не вообще выкинуть из расчета данные, а только в проблемный период.
      Для нас такими опорными метеостанциями служат аэропорты.
  • +1
    Вот, я делаю: habrahabr.ru/post/161991/, буду по мере выполнения проекта, выкладывать результаты проделанной работы.
    Также хочется присоединиться к проектам:
    openweathermap.org и narodmon.ru :o)
    • 0
      Присоединяйтесь, будем рады!
  • +1
    Сегодня до 5ти утра сидел писал приложение под Android, которое по GPS определяет местоположение пользователя и выдает ему погоду с OWM. Надо будет разжиться аккаунтом разработчика, тогда и в Play Store смогу выложить :)
    • 0
      Не обязательно регистрироваться как девелопер, можно выложить исходники и бинарник на гитхаб
      И написать статью на хабр )
      • 0
        Там внутри такая жесть пока, что я бы постеснялся выкладывать в опенсорс :) Надобудет причесать код, добавить мелких приятных фишек, рекламу, и тогда можно будет и в Play Store и на GitHub :D
  • 0
    Ура! Подключился к вам, поставляю данные градусника :-)
  • 0
    Очень интересный проект. Сам хочу сделать свой погодный сайт, но я ленивее чем вы :)

    Просто интересно, откуда вы берете данные фактической погоды? (METAR и SYNOP)

    Ну и как собираетесь хранить большой объем данных из GFS? (у меня есть некоторые наработки в этом, но хотел бы узнать как другие делают)
    • 0
      При современных ценах на диски объемы перестают быть лимитирующим фактором.
      Из GFS мы не сохраняем всю тучу параметров, только то что используется както дальше — около 20 штук

      Если есть идеи и наработки было интересно узнать. и вообще если тема интересна присоединяйтесь.
  • 0
    Добавил свои датчики к вам, так держать.
  • 0
    Идея в воздухе витала… (простите за каламбур). Молодцы, так держать!
  • 0
    После общения с denssy поигрался с запросами применительно к нашим задачам по сельскому хозяйству.

    Поискал погоду для наших полей в Израиле (не точная локация, но примерно в районе).
    Нашлись 3 аэропорта в радиусе 100 км, ближайший в 28 километрах. Благо страна маленькая.
    Но кроме аэропортов, больше станций нет.

    Поискал в Испании, где у нас пилотные проекты — взял к примеру какое-то поле.
    Опять-же 2 аэропорта в радиусе 100 км, ближайший в 72 километрах.

    Подумал про Штаты, в которых больше публично доступных данных.
    Ткнул в какое-то поле в Вирджинии.
    Станций значительно больше — 14 в радиусе 100 км, но ближайшая в 49 километрах.

    Тут, на самом деле, уже можно было-бы интерполировать (если распределение станций позволяет).
    Если-бы не как минимум одно но — нет высоты станций над уровнем моря.
    Допустим, мое поле на 500 метрах, а станция метров на 800 выше или ниже — в Испании на севере сплошь и рядом такая ситуация.

    Вторая загвоздка — множество станций не выдают данные в реальном времени, а запаздывают — до часа в лучшем случае, а иногда даже на 2-3 часа. Чтобы знать, насколько можно на данные с конкретной станции полагаться, надо знать, во сколько они были получены. Хотя я еще не пробовал выборку по конкретной станции — только поиск станций.

    Пока нам пригодится для демонстраций, но надеюсь что инициатива будет шириться :-) и станций станет достаточно для (наших) практических целей.
  • 0
    О, круто-круто-круто!

    Правда не нашел на сайте прогнозов. Только текущую погоду.
    Я так понимаю, всё это только через API?

    Хотелось бы переключатель какой-нибудь, 1 день, 2 дня, через неделю. И на карте — данные о температуре и облаках. Или историю такую же на пару дней назад, чтоб динамика была видна… Хотя не знаю, насколько это ресурсоёмко.

    А еще, моя давняя мечта — это климатические карты. Вы наверняка должны быть в теме и может сможете подсказать какие-нибудь сайты, где я мог бы изучать по карте климат планеты?
    Ну т.е. например карта максимумов годовых температур и карта минимумов. Карта осадков.

    Или поиск по карте — выбираешь «минимум +5, максимум +30, осадков — N мм в год» — и оно тебе подсвечивает места на планете, которые соответствуют твоим критериям. Ну а там уже осталось только трактор расчехлить… :)))
    • 0
      Прогноз доступен как через API так и на странице города
      к примеру openweathermap.org/city/524901
      и мобильная версия
      m.openweathermap.org/city/524901

      Историческая динамика на карте будет. Собственно все данные у нас есть, нужна UI составляющая.
      Надо на JavaScript написать красивую обертку для этого. Пока к сожалению не кому. Мало у нас в команде специалистов по JS и дизанеров.

      А вот поиск по карте это интересная идея. Можно попробовать погодную аналитику визуализировать.

  • 0
    В современных смартфонах есть датчики давления и другие. Их реально использовать хоть как-то?
    • 0
      В принципе, давление можно, если совмещать его с данными GPS по высоте.
      • 0
        Надеюсь вскоре увидеть здесь qr код на приложение из play market :)
        • 0
          Что-то мне подсказывает, что постоянно работающий с датчиками фоновый процесс, который еще и в сеть будет сливать данные, не очень хорошо скажется на аккуме.
          • 0
            Это понятно, но:
            1. Это ещё надо посмотреть — может приложение будет посылать пару байт в полчаса и то только когда активен GPS, а это уже само по себе такой расход, что там еще чтение пары значений не сильно повлияет;
            2. У меня половину дня Galaxy S3 используется как навигатор в машине с постоянной зарядкой, поэтому обычная для владельцев смартфонов паника о расходе заряда лично в моём случае не очень актуальна и нас таких может оказаться неожиданно много.

            То есть всё покажет практика, как всегда, если она будет. Сознание того, что не просто жру чужие данные, но и помогаю хоть как-то — приятно. А если там ещё ачивки будут… :)
      • 0
        а есть возможность историю по городу получить в метрической системе?
        openweathermap.org/data/2.1/history/city/623941?units=metric
        так не работает :-(
  • 0
    а на сайте специально нет кнопки «откройте карту с центром в моей локации»?
  • 0
    В архитектуре Apache явно лишний. :)
    • 0
      хе хе… Абсолютно верно! Картинка уже сильно устарела, как только мы перевалили за первую 1000 запросов в секунду все стало видеться несколько иначе. Мы осознали что апач тут лишний ))
  • 0
    Искал погодное API для использования в мобильном приложении и натолкнулся на OWM — огромное спасибо за инициативу и бесплатность!
    Есть пара вопросов/пожеланий к API, если позволите.

    1. Не совсем ясно, как получить или где найти коды городов. Нашел некий список по ссылке — openweathermap.org/help/city_list.txt — но неясно, насколько он актуален и как это использовать для локализованных названий.
    В идеале, хотелось бы иметь возможность получать список городов с кодами через API, чтобы реализовать в приложении возможность выбора города с автодополнением при вводе названия.

    2. Хотелось бы иметь возможность получать данные о погоде не только по названию города, коду или геопозиции, но и по IP-адресу. Сейчас приходится использовать отдельный сервис для получения геопозиции/названия города по своему IP, а затем использовать эти данные для запроса погоды от OWM.
  • 0
    API, открытость — это все здорово. Но толку от этого 0, если даже текущую погоду показывает неправильно.
    Пример:
    Сегодня, 25.09.2014 11:40, г. Симферополь, Крым
    Показывает на openweathermap 30,6 градуса цельсия. А на улице — 12, что и показывают yr.no и многие другие.

    image

    PS так как множество ПО уже использует данный источник, то тот же pebble у меня уже которую неделю на множестве вотчфейсов погоду безбожно врет.
  • 0
    Очень воодушевляющая статья. Мне понравились фразы:
    «Одним словом, погода это все. Мы уверены, что силами энтузиастов можно изменить ситуацию. Погода должна быть доступна, удобна, а, главное, бесплатна!»

    А на деле спустя 3 года на API поставлен ценник и никаких исторических данных о погоде бесплатно не предоставляется.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.