Космическая гидрометеорология - что это?
Космическая гидрометеорология - что видят спутники?
В этом посте постараюсь более подробно раскрыть, какие программы используются для обработки спутниковых данных.
Пост будет разделен на две части: ПО для обработки данных спутника и ПО для расчета параметров
ПО для обработки данных спутника
Спутниковые данные принимаются наземными комплексами. Грубо говоря - большие антенны. Если углубится, то в России не так много организаций, которые осуществляют прием данных метеорологических спутников. Ниже приведу основные из них.
Первая - ФГБУ «Научно-исследовательский центр космической гидрометеорологии «Планета». Три филиала в России - в Москве (включая приемные станции в Обнинске и Долгопрудном) planet.iitp.ru, в Новосибирске rcpod.ru и в Хабаровске dvrcpod.ru. Во всех центрах стоят приемные комплексы.
Вторая - Научный Центр оперативного мониторинга Земли (НЦ ОМЗ) ntsomz.ru
Третья - сам Роскосмос.
Еще четвертая - НИИ ТП с его ЕТРИС ДЗЗ (не знаю, как правильно их описать. Етрис по бумагам - очень хорошая система. Денег выделено уйма. А вот как это все работает - к сожалению, оставляет желать лучшего. Грубо говоря - деньги освоены, результат на троечку. В плане приема спутниковых данных - да, принимают. Но даже уровень L1 они не получают, не стоит никакое ПО у них - не могут, не умеют, не надо или не хотят. Только L0 и какие-то картинки, в которых данные просто нормализованы от 0 до 255 по гистограмме, как для формата jpeg)
Вот пример, как в Сибирском центре НИЦ Планета располагаются приемные комплексы (информация взята с их сайта)
Приемные комплексы есть как российские, так и зарубежные. К каждому приемному комплексу поставляется специальное ПО, которое помимо настройки антенны на спутник еще и проводит предварительную обработку данных.
После того, как сигнал с данными со спутника полностью принят, он сохраняется в файл, называемым "сырой поток" (raw).
Далее, для каждого спутника есть свое ПО, которое обрабатывает сырые данные, вычленяя из них данные по каждому прибору, установленному на аппарате.
Так, к примеру, для обработки данных со спутников NOAA-20 и Suomi NPP используется ПО CSPP (Community Satellite Processing Package), которое можно скачать в свободном доступе с сайта cimss.ssec.wisc.edu. Это ПО сначала из сырого потока вычленяет, как уже было сказано, данные по каждому прибору. Выходные данные этого ПО называют уровнем обработки L0 (Level 0).
Далее, ПО обрабатывает каждый прибор в отдельности, преобразовывая закодированные данные в формат HDF, в котором уже сформированы цифровые массивы данных по каждому из каналов спутникового прибора, а также информация о географической привязке и углах наблюдения - все это называется уровень обработки L1.
Практически для всех принимаемых спутников ПО по обработке можно бесплатно скачать и пользоваться им без ограничений.
Для российских спутников такого ПО нет в свободном доступе. Даже по запросу никто его не предоставит. Насколько я понял, все российские метеорологические спутники запускались не только в рамках метеорологических задач, но и военных в том числе. А там, где военные - там гостайны и все закрыто. Поэтому, какое ПО обрабатывает российские спутники и где его брать - известно, скорее всего, только сотрудником вышеперечисленных организаций.
Данные L1 используются для построения различных RGB синтезов - комбинация трех каналов спутника или комбинация разностей каналов - вариаций множество.
ПО для расчета параметров
После получения данных уровня L1 можно рассчитывать параметры, так как теперь есть данные в виде температуры в ИК-каналах (от 3 мкм) и Коэффициент спектральной яркости (Reflectance) в коротковолновых каналах (до 3 мкм).
Для зарубежных спутников уже есть ПО, которому на вход подаются данные L1, и на выходе получаются данные L2, внутри которых уже есть и температура моря, и информация о пожарах, и осадки, и много дополнительных параметров. Все это хранится в цифровых массивах, обычно в формате HDF.
Для примера, взять те же спутники NOAA-20 и Suomi NPP. На них установлены приборы VIIRS (Visible Infrared Imaging Radiometer Suite), у которого каналы имеют пространственное разрешение 375 и 750 метров.
На сайте CSPP есть ПО:
ACSPO SST - расчет температуры воды
VIIRS Active Fire - детектирование точек с пожарами
CLAVRx Cloud Retrieval - расчет параметров облачности (высота верхней границы облачности, ее температуры, типы облачности, водозапас и т.д.)
Таким образом, расчет параметров производится с использованием уже готового ПО.
Однако, не всегда это ПО удовлетворяет предъявляемым требованиям к точности. Например, облачность зачастую путается со льдом в зимнее время, типы облачности некорректно определяются.
И вот здесь уже специалисты, в том числе и я, разрабатывают собственные алгоритмы для расчета этих параметров. Для разработки алгоритма берутся эталонные данные, например для температуры воды это данные морских буйков, и с использованием данных определенных каналов спутника разрабатывается алгоритм. В примере в температурой воды известно, что разница значений в каналах с центральными длинами волн 11 и 12 мкм косвенно говорит о температуре воды. Соответственно, подбирается формула, например генетическим алгоритмом, а с использованием любой функции минимизации, например k-means, подбираются значения значения коэффициентов.
Спрашивали в комментариях, откуда берутся данные на fires.ru. Там для отображения на карте используются данные по пожарным точкам с приборов VIIRS, AVHRR и MODIS. Алгоритмы для расчет точек также находятся в свободном доступе. То есть на этом сайте как раз данные, которые получены после обработки спутниковых данных.
Что касается российских спутников - для них тоже есть ПО, но как и в случае с L1 - оно недоступно для скачивания или установки, и сведений о нем в свободной доступе нет. Однако то что это ПО существует - это точно. На сайтах Сибирского центра НИЦ Планета и Дальневосточного центра НИЦ Планета есть параметры облачности по данным Метеор-М № 2 и №2-2. Однако как они это делают, с помощью каких программ - непонятно.
На сайте Московского центра НИЦ Планета никаких продуктов по российским спутникам нет, только RGB синтезы данных L1, как и на сайте НЦ ОМЗ
Стоит отметить, что помимо спутников NOAA-20 и Suomi NPP, активно используются данные спутников Terra и Aqua, которые около 20 лет на орбите, и прибор MODIS, установленный на этих аппаратах, до сих пор позволяет получать данные в хорошем качестве. Для этих спутников также существует свое ПО для обработки:
IPOPP (International Planetary Observation Processing Package) для Linux и
IMAPP(International MODIS/AIRS Processing Package) для Windows. Это ПО позволяет рассчитывать данные уровней L0, L1 и L2, в том числе и пожары.
Я описал основное ПО и основные полярные спутники, данные которых принимаются и обрабатываются в России.
Если по обработке возникли вопросы - спрашивайте в комментариях)