Всем привет! Меня зовут Георгий Айзель, и сегодня я хочу вам рассказать про свой проект OpenForecast, посвященный прогнозированию речного стока. На этих выходных (21–22 марта 2026 года) на многих реках Европейской территории России ожидается первый пик половодья, поэтому я очень рассчитываю, что моя система вам пригодится. Например, можно сгонять в эти дни в Поленово и с высокого берега Оки посмотреть, как вода поднимается до высоких отметок, а потом вернуться летом, чтобы прочувствовать природный контраст между меженью и половодьем.

Главная страница проекта с участками рек для которых доступен прогноз. https://openforecast.github.io
Главная страница проекта с участками рек для которых доступен прогноз. https://openforecast.github.io

Почему важно знать сколько воды в реке?

Тема речной воды и её весеннего разлива лично тронула меня еще в детстве, когда река Томь вышла из берегов и затопила сотни гаражей, среди которых был и гараж моего брата (с красной Маздой 626 1988 года выпуска). Помню как мы переживали, а после этого брат каждую весну отгонял машину подальше от реки как только начинал трещать лед. Потом я пошел учиться на кафедру Гидрологии суши Географического факультета МГУ и закрутилось. И вот я делаю прогноз расходов весеннего половодья, которым пользуется мой брат — гараж всё тот же, а вот машина в нём уже другая.

Родной город под водой в далеком 1977-м году. Где-то рядом у моего брата теперь гараж. Источник: https://www.city-n.ru/view/464334.html
Родной город под водой в далеком 1977-м году. Где-то рядом у моего брата теперь гараж. Источник: https://www.city-n.ru/view/464334.html

Знать количество воды в реке, нужно по нескольким причинам. Прежде всего, чтобы прикинуть, хватит ли воды на питьевое водоснабжение и хозяйственные нужды (сельское хозяйство, заводы), и будет ли её достаточно для разбавления городских стоков. Каждую весну интересно (да и в целом полезно) знать, затопит ли любимую дачу, набережную или, как в моей истории, гараж. А ещё многих рыбаков интересует расход и уровень воды в реке — так они понимают на какие места лучше ехать удить. 

Ну в общем вы поняли: «вода — всему голова», «глоток воды открывает двери рая» и прочие цитаты про значимость, бла-бла-бла.

Что такое этот ваш речной сток?

Это количество протекающей воды в реке в единицу времени через сечение русла. Основная единица измерений — кубометры в секунду. В научных работах также распространены миллиметры в день: для этого нужно «размазать» суточную сумму стока в кубометрах по всей площади водосбора в квадратных метрах. В итоге получим слой стока, который удобно сравнивать со слоями выпавших и испарившихся осадков.

Измерить расход воды в реке не так-то просто: как минимум, нужно уметь запускать поплавки, делать промеры глубины русла и скачать наставление гидрометеорологическим станциям и постам в котором написано, как это всё поженить для получения заветной цифры.

Автор поста измеряет скорость потока гидрометрической вертушкой
Автор поста измеряет скорость потока гидрометрической вертушкой

Ну и сколько будет воды в реке?

Смотрите на карте OpenForecast! Выбирайте заинтересовавший вас участок реки, переходите на интерактивный виджет и оценивайте динамику речного стока за прошедшую и будущую неделю. Для некоторых участков рек также доступны уровни воды.

Карта участков рек, для которых доступен прогноз. https://openforecast.github.io/map
Карта участков рек, для которых доступен прогноз. https://openforecast.github.io/map
Индивидуальная страница прогноза для конкретного участка (р. Ока — г. Кашира; ближайший участок к Поленово). Дата выпуска прогноза – 16 марта 2026.
Индивидуальная страница прогноза для конкретного участка (р. Ока — г. Кашира; ближайший участок к Поленово). Дата выпуска прогноза – 16 марта 2026.

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

Как работает прогноз?

Принципиальная схема выглядит так: 

  1. На исторических данных для каждого водосбора настраиваем модель формирования стока. На вход модель получает температуру воздуха, сумму осадков и величину суммарного испарения по данным европейского реанализа ERA5, а на выход отдает величину речного стока.

  2. Теперь переходим в оперативный режим. Каждый день нам нужно подавать в модель актуальный прогноз погоды по входным параметрам: для этого используем глобальную модель ICON Немецкой службы погоды. Для сохранения устойчивости и актуальности запусков, мы также постоянно подгружаем обновления ERA5, к которому и подцепляем наиболее свежие данные ICON.

Принципиальная схема работы модельного комплекса, лежащего в основе OpenForecast
Принципиальная схема работы модельного комплекса, лежащего в основе OpenForecast

Подробно можно прочитать в научных статьях в рецензируемых изданиях (осторожно, английский): раз, два, три.

Принципиальная схема проекта хоть и выглядит просто, но на самом деле для меня это была большая, последовательная работа. Началось всё с того, что я переписал на Python известную гидрологическую модель HBV, код которой нашел в одной научной статье. Следом за ней были переписаны три модели семейства GRXJ и модель SymHYD

В качестве упражнения в систематизации знаний и публикации результатов в открытом доступе, я выложил код моделей и набор инструментов для работы с ними на Гитхаб. Даже сейчас, по прошествии 10 лет с публикации, я продолжаю получать благодарности от участников гидрологического сообщества: код моих моделей используется в соревнованиях и хакатонах, для написания дипломных и кандидатских работ, и даже (только никому!) в продакшн-среде оценки рисков затоплений одного крупного банка. 

Но модели — это только часть работы. Огромная её часть — взаимодействие с метеорологическими и гидрологическими данными, а именно с их стабильным получением и обработкой. В эпоху без LLM приходилось вникать в суть документации и кода, но это полностью окупилось — OpenForecast ни разу не упал из-за бага в собственных процессах. За семилетнюю историю сервиса прогноз не обновлялся только пару дней — и то по причине проблем на стороне поставщиков метеоданных.

Фан-факт: ядро OpenForecast было использовано мной на хакатоне в ECMWF (создатели реанализа ERA5, крупнейший мировой погодный центр). Цель — спрогнозировать состояние британских рек при погодном сценарии, описанном в книге «Сто лет одиночества» Габриэля Гарсиа Маркеса: «Дождь лил четыре года одиннадцать месяцев и два дня». 

Позалипать на графики можно на странице с результатами.

Есть ли альтернативы?

К сожалению, нет. С момента выхода OpenForecast в 2019 году, он так и остался первой российской открытой системой краткосрочного прогнозирования речного стока. 

Тем не менее, есть несколько популярных направлений мониторинга ситуации на реках:

  1. Веб-сайты региональных управлений управлений Гидрометслужбы. Например, ЦУГМС собирает свои сводки по весенним половодьям и паводкам.

  2. Веб-камеры. Например, на вот вид с опоры моста через реку Томь в городе Новокузнецке.

  3. Телеграм-бот Приморского УГМС. Предоставляет информацию об измеренных уровнях воды в бассейнах рек Уссури, озера Ханка и Японского моря.

И кто этим пользуется?

Подробной информации по использованию системы у меня нет. Знаю только, что на главную в период половья (март–май) могут заходить до нескольких тысяч человек в день. Среди них — прогнозисты Росгидромета, которые хоть и вынуждены в своей работе использовать часто устаревшие методы, но краем глаза сверяются и с OpenForecast.

Но главным мои пользователем остается брат, который теперь отгоняет машину из гаража не загодя, а сверяясь с моим прогнозом. Как-то раз получил от него такое сообщение: «Работает твоя программа, прям можно сказать до сантима прогноз верный». Одобрение старшего брата для меня  не только необходимое каждому признание хорошей работы, но и подтверждение реальной пользы, которую приносит мой сервис. 

Что дальше?

Планов, конечно, громадьё. Конечный образ результата видится таким: прогноз речного стока в любой точке речной сети на следующий час, день, месяц или даже век (почему бы и нет). Но пока это только планы.

Зима в Центральной России была снежной (в два раза выше нормы по многим областям, включая Московскую, Калужскую, Рязанскую), а значит весной и половодье должно быть выраженным и интенсивным. А где за ним следить вы уже знаете :) 

Если хотите быть в курсе новостей из области гидрологии, подписывайтесь на мой телеграм-канал «Всё в сток».

Благодарности

OpenForecast не был бы возможен без вклада и поддержки моих друзей, коллег и знакомых, а также (ныне расформированного) Российского фонда фундаментальных исследований (РФФИ). Наташа Варенцова, Оксана Ерина, Всеволод Морейдо и Дмитрий Соколов были в первой рабочей группе проекта. Люба Курочкина помогла масштабировать проект до сотен водосборов, а Дима Абрамов — поддержать оценку качества прогнозов. Написать эту статью мне помогла Наташа Которева. Спасибо вам!