Студентка факультета программной инженерии и компьютерной техники ИТМО создала автономное приложение для Санкт-Петербургского института океанологии РАН, которое анализирует и визуализирует данные с дрейфующих в океане буев. Океанологи без навыков программирования могут загрузить «сырые» данные с буев и благодаря интуитивному интерфейсу быстро получить детальную картину распределения температур, направления и скорости течений в толще воды. Приложение работает без интернета и не требует установки ПО, поэтому данные в нем можно обрабатывать во время экспедиций. Аналогов в России у приложения нет. Об этом CNews сообщили представители ИТМО.
Дрейфующие буи используют для изучения короткопериодных внутренних волн (КВВ) — колебаний, которые происходят внутри толщи воды, на границе теплого и холодного слоев. Несмотря на то, что глазу они незаметны, эти колебания во многом отвечают за перемешивание океана: они переносят тепло, соль и питательные вещества, от которых зависит жизнь морских экосистем. В отличие от стационарных станций, дрейфующие буи можно быстро развернуть даже в плохую погоду и в отдаленных локациях, и они сами движутся вместе с течением, собирая данные сразу в нескольких точках.
Каждый буй — это автономный измерительный комплекс, на корпус которого прикреплены различные датчики для определения глубины и температуры, а внутри установлены GPS-приемник для определения координат, система сбора данных и спутниковый модем. Дрейфуя вместе с водой, буй непрерывно измеряет температуру на разных горизонтах и фиксирует свое местоположение. Собранные данные через спутник поступают на приемную станцию — обычный компьютер со специальной программой, подключенный к антеннам спутниковой связи и системе глобального позиционирования.
После обработки данные структурируются в таблицу Excel: дата и время, координаты буев, температура и гидростатическое давление, по которому океанологи пересчитывают реальную глубину каждого датчика. На эти показатели накладываются шумы, и задача ученого — выделить полезный сигнал и определить амплитуды, периоды, скорости и направления распространения КВВ. Раньше весь этот анализ выполнялся океанологами в сложном программном обеспечении Matlab: приходилось запускать скрипты, вводить параметры в командной строке и разбираться в десятках графических окон, а обмен данными между разными программами отнимал время из-за несовместимых форматов файлов.
«Раньше у нас не было единого интерфейса для данных с буев. Из-за этого обмен информацией между разными программами превращался в рутину: файлы приходилось вручную конвертировать из одного формата в другой. Камеральная обработка — то есть приведение разрозненных измерений к единому виду и их проверка — требовала от специалиста навыков программирования. Все это отнимало много времени, а опыт, накопленный в экспедициях, было трудно передать молодым ученым. Поэтому нам понадобился новый программный продукт, который бы работал в оперативном режиме», — сказал главный научный сотрудник Санкт-Петербургского института океанологии РАН Алексей Зимин.
В поисках исполнителя океанологи обратились в Центр юзабилити и смешанной реальности ИТМО. Руководитель Центра Артем Смолин подбирал практические кейсы для студентов, проходящих производственную практику, и запрос океанологов оказался полезным для обеих сторон. Он познакомил коллег из Института со студенткой факультета программной инженерии и компьютерной техники Ксенией Липаевой, которая взялась за разработку в рамках своей двухмесячной практики. Ксения создала приложение на основе Matlab, не требующее скачивания самого ПО: программа устанавливается через exe-файл и содержит в себе все необходимые библиотеки и функции, поэтому пользователю не нужно ничего настраивать дополнительно.
«Установщик весит значительно меньше, чем среда м, а скачивание занимает всего несколько минут. Приложение работает на ноутбуке полностью автономно, без доступа в интернет, поэтому им можно пользоваться даже в арктических экспедициях, где спутниковая связь нестабильна», — сказала разработчик приложения, студентка факультета программной инженерии и компьютерной техники ИТМО Ксения Липаева.
Анализ данных с буев состоит из шести этапов, каждый представлен в виде отдельной вкладки наподобие браузерных, по которым пользователь последовательно переходит. На первой вкладке он загружает исходный файл — таблицу с временными метками, координатами буев, температурными измерениями и данными о гидростатическом давлении. Система автоматически считывает все столбцы и проводит предварительную обработку: очищает данные от пустых ячеек, возникших из-за сбоев связи или временного отказа датчиков, и случайных выбросов (аномальных значений, которые отличаются от соседних замеров), сглаживает шумы и фильтрует высокочастотные помехи, возникающие при измерениях. На второй вкладке приложение строит график изотерм — линий, показывающих, как менялась глубина залегания определенных температур с течением времени. Разные температуры выделены разными цветами: например, 5°C — синяя линия, 6°C — зеленая, и так далее.
На третьем этапе океанолог выбирает интересующий его диапазон температур и нажатием кнопки вызывает детальный линейный график изменения глубины изотермы. На четвертой вкладке он выделяет временной интервал: щелкает по отрезку, когда предположительно проходила компактная группа внутренних волн. На пятой вкладке для этого отрезка автоматически запускается взаимно-корреляционная обработка: алгоритм вычисляет функцию взаимной корреляции между сигналами с разных буев, находит временные задержки, учитывает эффект Доплера (сдвиг частоты сигнала из-за движения буя относительно волны) и другие искажения. На шестой, финальной вкладке, пользователь видит итоговые результаты — скорость и направление распространения волны, период, амплитуду, структуру волнового пакета, представленные в виде графиков и таблиц.
Аналогичных разработок в России нет, а зарубежные инструменты для анализа внутренних волн по данным с дрейфующих буев существуют в единичных экземплярах. При этом заложенный в приложение принцип поэтапной обработки данных можно адаптировать и под другие океанологические задачи.