МГИ РАН
ФГБУН ФИЦ «Морской гидрофизический институт РАН»
Руководство пользователя FOTS

← К описанию FOTS  ·  Содержание

Инструкция пользователя ГИС FOTS

Floating object tracking system — интегрированная геоинформационная система для моделирования, анализа и визуализации разливов нефти и связанных с ними процессов в морской среде.

Разработчик: Морской Гидрофизический Институт РАН (МГИ РАН)
Версия документа: 1.2
Дата: июнь 2026

Содержание

  1. Введение
  2. Для чего нужна программа
  3. Расчётная модель World Oil Locator (FOTS)
  4. Возможности ГИС-оболочки
  5. Системные требования и установка
  6. Обзор интерфейса
  7. Вкладка «Траектории нефти»
  8. Вкладка «Спутник и метео»
  9. Вкладка «Маршруты судов»
  10. Работа с картой
  11. Анализ данных и отчёты
  12. Экспорт результатов
  13. Форматы данных
  14. Настройка и конфигурация
  15. Типовые рабочие сценарии
  16. Устранение неполадок
  17. Глоссарий

1. Введение

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

FOTS (Floating object tracking system) — это настольное GIS-приложение, которое объединяет в одном рабочем месте:

Программа разработана в Морском Гидрофизическом Институте РАН и предназначена для специалистов по ликвидации разливов, океанологов, экологов, операторов береговых диспетчерских служб, а также для научных и учебных задач.

1.1. Архитектура системы

Компонент

Назначение

ГИС-оболочка (React + OpenLayers)

Карта, панели управления, визуализация, экспорт

Сервер данных (Flask API)

Загрузка файлов, NetCDF, Sentinel-1, GFS, запуск расчётов

Расчётный движок FOTS (world_region_oil_locator_start2 — .exe в Windows, бинарь без расширения в Linux)

Численное моделирование дрейфа и трансформации нефти

Electron

Десктопная оболочка; в готовой сборке автоматически запускает backend

Пользователь работает через единый графический интерфейс. Расчёт FOTS выполняется на локальном компьютере; для спутниковой подложки и загрузки GFS требуется интернет.

2. Для чего нужна программа

2.1. Основные задачи

Задача

Что делает пользователь в FOTS

Прогноз разлива

Задаёт точку и время разлива, тип и массу нефти → получает траекторию и площадь пятна на заданный период

Оценка риска для берега

Анализирует траекторию, включает «Точки на берегу», оценивает время подхода к береговой линии

Обратный расчёт (источник)

Включает «Обратный расчёт» для определения вероятной точки выброса по известному положению пятна

Постоянный источник

Моделирует длительный выброс (авария на платформе, трубопроводе) с облаком частиц

Планирование бонов

Рисует линии бонов на карте, учитывает их в расчёте, экспортирует в SHP

Сопоставление с наблюдениями

Накладывает SAR-снимок Sentinel-1 и траекторию модели на одну карту

Метеорологическое обеспечение

Подключает поля ветра GFS и течений для контекста расчёта

Планирование судов

Строит маршрут судна зачистки с учётом погоды и зон безопасности

Отчётность

Формирует HTML-отчёт, GIF-анимацию, PNG для докладов и совещаний

2.2. Кому предназначена программа

2.3. Чем FOTS отличается от «просто карты»

Обычная GIS-карта показывает статичные слои. FOTS дополнительно:

  1. Запускает физическую модель — не просто рисует линию, а рассчитывает дрейф с учётом ветра, течений, свойств нефти и рельефа дна.
  2. Работает во времени — панель воспроизведения показывает эволюцию пятна по шагам (часы/сутки).
  3. Ведёт бюджет нефти — отслеживает, сколько нефти испарилось, dispersed, вышло на берег и т.д.
  4. Интегрирует модель и наблюдения — SAR-снимок и расчётная траектория на одном экране.
  5. Готовит отчёты — автоматически собирает карту, параметры и графики в HTML-документ.

2.4. Типичный цикл работы

Задание параметров разлива

Запуск расчёта FOTS (или загрузка готового CSV)

Визуализация на карте + анимация по времени

Анализ: бюджет, точки на берегу, 3D, сравнение со снимком

Планирование: боны, маршруты судов

Экспорт: отчёт HTML, GIF, PNG

3. Расчётная модель World Oil Locator (FOTS)

Расчётный движок World Oil Locator (также обозначается как FOTS, версия модели v2) — ядро системы. Именно он выполняет численное моделирование; ГИС-оболочка задаёт параметры, запускает расчёт и отображает результаты.

3.1. Принцип работы модели

Модель использует лагранжев подход: нефтяное пятно представляется набором частиц (по умолчанию до 50, параметр nmb), каждая из которых переносится полем течений и ветра. Центральная частица (N_point = 0) задаёт главную траекторию; остальные частицы (N_point > 0) формируют облако, описывающее форму и размер пятна.

На каждом временном шаге (интервал задаётся параметром ddt0, по умолчанию 3 часа) модель:

  1. Перемещает частицы по полю скоростей (течение + дрейф от ветра).
  2. Рассчитывает распространение пятна (гравитационное расползание, метод PBD для частиц).
  3. Применяет процессы трансформации нефти (испарение, дисперсия и др.).
  4. Проверяет взаимодействие с берегом и льдом.
  5. Записывает координаты, площадь, толщину, объём и накопленные потери в CSV-файл.

3.2. Физические процессы, которые учитывает модель

Конфигурация процессов задаётся в файле oil_config.json. По умолчанию включены:

Процесс

Описание

Параметр конфигурации

Испарение

Потери летучих фракций на поверхности

use_evaporation

Дисперсия

Разбиение нефти на капли и унос в толщу воды

use_dispersion

Эмульгирование

Образование водонефтяной эмульсии при волнении

use_emulsification

Гравитационное расползание

Расширение пятна под действием силы тяжести

use_gravitational_spreading

Биодеградация

Разложение нефти микроорганизмами

use_biodegradation

Растворение

Растворение водорастворимых фракций

use_dissolution

Осаждение

Осаждение на дно (по умолчанию выключено)

use_sedimentation

Выход на берег

Обнаружение пересечения с береговой линией

touchcoast в выходном CSV

Дополнительно модель поддерживает 3D-процессы (вертикальное перемешивание, турбулентная дисперсия, субsurface-биодеградация) — они включаются в расширенной конфигурации (use_3d_oil_processes).

Все процессы потерь отображаются в бюджете нефти программы: таблица и графики по шагам времени.

3.3. Движущие силы и поля среды

Фактор

Источник данных

Управление в интерфейсе

Ветер

Региональные метеоданные ({Region}/dat/) или GFS

Автоматически из данных региона; GFS — вкладка «Спутник и метео»

Дрейфовые течения

Модель FOTS (ветровой дрейф, ~3% от ветра)

«Дрейфовые течения»

Геострофические течения

Поля течений региона

«Геострофические течения»

Приливные течения

FES2014 (Adddata/fes2014a_currents/)

Встроено в расчёт региона

Лёд

Ледовые поля региона

«Учитывать лёд», режим «Подо льдом» / «На льду»

Береговая линия

Цифровая модель берега региона

Автоматически; точки touchcoast=1 на карте

Батиметрия

{Region}_bath.nc

Влияет на течения и дрейф; визуализация на вкладке «Спутник»

3.4. Режимы расчёта

Режим

Описание

Когда использовать

Прямой (forward)

Прогноз от момента разлива вперёд

Стандартный сценарий аварии

Обратный (backward)

Интегрирование траектории назад во времени

Поиск источника по обнаруженному пятну

Мгновенный выброс

Заданная масса нефти в точке в момент t₀

Танкер, разовый сброс

Постоянный источник

Непрерывный приток нефти в течение заданных часов

Авария на платформе, pipeline

С бонами

Учёт линий локализации/отклонения

Планирование заградительных мероприятий

Тестовый

Упрощённая симуляция без полного exe

Быстрая проверка параметров

3.5. Типы нефти и их свойства

Модель использует каталог нефтепродуктов с физико-химическими параметрами: плотность (roil), вязкость (muoil_cP), скорость испарения (c1, c2), склонность к эмульгированию (emulmax, emax) и др.

Базовые типы FOTS:

Код

Тип

Характеристика

0

Light (лёгкая)

Высокая испаряемость, низкая вязкость

1

Medium (средняя)

Типичная нефть месторождений

2

Heavy (тяжёлая)

Медленное испарение, высокая вязкость

3

Condensate (конденсат)

Очень лёгкая фракция

4

Diesel (дизель)

Нефтепродукт, повышенная растворимость

Дополнительно доступны 9 образцовых нефтяных продуктов NOAA/PyGNOME (из каталога oil_types_catalog.json).

Состояние нефти: «Свежая» — сразу после выброса; «Выветренная» — с учётом предшествующего испарения и трансформации.

3.6. Регионы моделирования

Модель поддерживает 124 морских региона мира (файл backend/regions.json): от Сахалина и Чёрного моря до Средиземноморья, Амазонки, Арктики и Антарктики. Каждый регион содержит:

Регион по умолчанию: AO_BlackSea (Азово-Черноморский бассейн).

При указании координат точки разлива программа автоматически подбирает подходящий регион по географическому bounding box.

3.7. Входные и выходные данные модели

На вход модель получает (через oil_spill_parameters.json):

На выход модель выдаёт:

Ключевые столбцы CSV:

Столбец

Содержание

N_point

Номер частицы (0 — центральная линия)

Lon, Lat

Координаты

Year…Minute

Время

z

Глубина (м), для 3D-режима

vx, vy

Компоненты скорости

wind, T

Ветер и температура воды

volume_m3, thickness_mm, area_m2

Объём, толщина, площадь

touchcoast

Признак выхода на берег

v_evap_m3 … v_coast_m3

Накопленные потери по процессам

3.8. Ограничения модели

Пользователю следует учитывать:

4. Возможности ГИС-оболочки

ГИС-оболочка FOTS — это среда, в которой пользователь взаимодействует с моделью и данными. Её возможности выходят за рамки «запуска exe-файла».

4.1. Интерактивная карта

4.2. Визуализация пятна

Режим

Что показывает

Центральная линия

Ось движения центра пятна

Облако точек

Форма пятна через частицы модели

Полигон пятна

Внешний контур (convex hull облака)

Потери (цвет)

Цвет частиц пропорционален потере объёма за шаг

Точки на берегу

Места выхода нефти на сушу

4.3. Спутниковые и метеорологические данные

4.4. Аналитика и отчёты

4.5. Планирование ликвидации

4.6. Мультисессионная работа

Программа поддерживает одновременную работу с несколькими траекториями (загруженными или рассчитанными): сравнение сценариев «с бонами / без бонов», «лёгкая / тяжёлая нефть», разные точки разлива.

5. Системные требования и установка

5.1. Системные требования

Компонент

Windows

Linux

ОС

Windows 10/11 (64-bit)

Ubuntu 22.04+ / Debian 12+ / Fedora 38+ (64-bit, glibc)

ОЗУ

не менее 8 ГБ (рекомендуется 16 ГБ)

то же

Диск

не менее 5 ГБ свободного места

то же

Сеть

для подложки «Спутник» и GFS; расчёты FOTS — офлайн

то же

Python

3.10+ (только режим разработки)

3.10+ (режим разработки и сборка)

Node.js

18+ (только режим разработки)

18+ (режим разработки и сборка)

Дополнительно для Linux (режим разработки и AppImage):

5.2. Установка — Windows (установщик)

Поставляется комплектом файлов (передавать все вместе, в одной папке):

Файл / папка

Назначение

FOTS_GIS_Setup_1.0.3.exe

Мастер установки (Inno Setup)

FOTS_App.7z

Программа (интерфейс + backend) — обязателен

FOTS_new.7z

Расчётная модель (опционально)

FOTS_Examples.7z

Демо-траектория CSV (опционально)

Sentinel\

Пример Sentinel SAR (опционально, папка)

Установить_FOTS.bat

Альтернативная установка (7-Zip)

  1. Скопируйте всю папку installer/output/ на локальный диск.
  2. Убедитесь, что рядом с Setup.exe есть FOTS_App.7z.
  3. Запустите FOTS_GIS_Setup_1.0.3.exe от имени администратора.
  4. В мастере выберите каталог и компоненты.
  5. После завершения запустите через ярлык FOTS ГИС.
  6. Дождитесь главного окна с картой.

Примечание. Backend встроен и запускается автоматически. Python не требуется.

Если Setup.exe не запускается. Проверьте наличие FOTS_App.7z рядом; скопируйте комплект на локальный диск; запуск от администратора; SmartScreen → «Выполнить в любом случае». Альтернатива — Установить_FOTS.bat (нужен 7-Zip).

5.2.1. Портативная версия (альтернативный вариант)

Также может собираться однофайловая portable-сборка (npm run build:prod:exe → release-build/*.exe) — запускается без установки, двойным щелчком, но включает весь backend в одном файле большого размера.

5.3. Установка — Linux (готовая сборка AppImage)

  1. Соберите или получите файл *.AppImage из каталога release-build-linux/ (сборка выполняется на машине с Linux, см. п. 5.5).
  2. Сделайте файл исполняемым:
  1. Запустите двойным щелчком в файловом менеджере или из терминала:
  1. При первом запуске поднимается встроенный backend (resources/backend/app).

Важно. Расчётный движок world_region_oil_locator_start2 для Linux должен лежать в backend/FOTS_new/ до сборки (отдельная поставка от разработчиков модели; Windows-файл .exe на Linux не запускается). Без Linux-бинарника интерфейс работает, но кнопка «Запустить расчёт FOTS» выдаст ошибку.

FUSE. Если AppImage не стартует, установите поддержку FUSE (fuse3 / libfuse2) или распакуйте: ./имя.AppImage --appimage-extract и запускайте squashfs-root/AppRun.

5.4. Запуск в режиме разработки

Для разработчиков и тестирования на Windows:

# 1. Зависимости фронтенда
npm install

# 2. Python backend (отдельный терминал)
cd backend
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
python app.py

# 3. UI + Electron (другой терминал)
npm run dev

На Linux:

npm install

cd backend
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python app.py

# в другом терминале
npm run dev

5.5. Сборка дистрибутива (для администраторов)

Платформа

Команда (из корня проекта)

Результат

Windows установщик

npm run build:installer + npm run build:installer:setup

installer/output/FOTS_GIS_Setup_1.0.3.exe + FOTS_App.7z + FOTS_new.7z + FOTS_Examples.7z + Sentinel\

Windows portable

npm run build:prod:exe

release-build/*.exe

Linux AppImage

npm run build:prod:linux

release-build-linux/*.AppImage

Подробнее об установщике — installer/README.md.

Сборка Linux выполняется только на Linux (PyInstaller и нативные библиотеки GDAL). На Windows можно собирать только Windows-версию.

5.6. Размещение на веб-сервере (сайт института)

FOTS можно развернуть как веб-приложение в браузере (без Electron). Сборка фронтенда:

npm run build:web

Результат — каталог web-dist/ для nginx. Backend — Flask на сервере; расчётный движок (.exe или Linux-бинарь) подключается отдельно.

Полная инструкция: РАЗВЕРТЫВАНИЕ_ВЕБ.md
Конфигурации nginx, systemd и скрипты деплоя — в каталоге deploy/.

5.7. Переключение языка

В правой части шапки окна нажмите RU или EN. Язык сохраняется между сеансами.

6. Обзор интерфейса

6.1. Компоновка окна

┌──────────────────────────────────────────────────────────────────────┐
│ ШАПКА: логотип, язык, подложка, проекция, Бюджет, Экспорт │
├──────────────┬────────────────────────────────────┬──────────────────┤
│ Левая │ │ Панель │
│ панель │ КАРТА │ «Анализ точки» │
│ (320 px) │ │ (384 px) │
│ │ + Док слоёв (вкладка «Спутник») │ (при выборе) │
├──────────────┴────────────────────────────────────┴──────────────────┤
│ ПАНЕЛЬ ВРЕМЕНИ (только вкладка «Траектории нефти») │
└──────────────────────────────────────────────────────────────────────┘

6.2. Шапка окна

Элемент

Назначение

FOTS

Название системы

RU / EN

Переключение языка интерфейса

Подложка

Выбор фоновой карты (OpenStreetMap, CartoDB Light, Спутник)

Проекция

Система координат отображения карты

Бюджет

Открыть окно «Бюджет нефти» (таблица и графики потерь)

Экспорт

Меню экспорта: PNG, HTML-отчёт, GIF-анимация

6.3. Вкладки левой панели

Вкладка

Описание

Траектории нефти

Моделирование и анализ разлива

Спутник и метео

Спутниковые снимки, метео и слои среды

Маршруты судов

Оптимальные траектории судов

6.4. Карта

Центральная область — интерактивная GIS-карта на базе OpenLayers. На ней отображаются:

Рис. 1. Интерфейс программы

7. Вкладка «Траектории нефти»

Основной рабочий режим для моделирования разливов нефти. Именно здесь задаются все параметры расчётной модели, запускается FOTS и анализируются полученные траектории.

Логика работы вкладки:

  1. Задать — регион, точки, даты, параметры нефти и расчёта.
  2. Рассчитать — запустить FOTS или загрузить готовый CSV.
  3. Визуализировать — карта + панель времени + переключатели отображения.
  4. Проанализировать — бюджет, анализ точки, 3D, сравнение сценариев.
  5. Спланировать — боны, экспорт параметров и отчётов.

7.1. Параметры региона

Параметр

Описание

Регион

Расчётный регион FOTS (124 региона). При добавлении точки разлива регион может подбираться автоматически по координатам

Имя расчёта

Идентификатор расчёта (используется в именах выходных файлов)

Дата начала / окончания

Временной интервал моделирования

Регион по умолчанию: AO_BlackSea (Азово-Черноморский бассейн).
Координаты по умолчанию: 43,0° с.ш., 36,5° в.д. (южнее Керченского пролива).

7.2. Точки разлива

Можно задать до 5 точек разлива:

  1. Основной разлив
  2. Вторичный разлив
  3. Третичный разлив
  4. Доп. точка (до двух)

Способы задания координат

На карте:

  1. Нажмите «Выбор» в блоке точек разлива.
  2. Щёлкайте по карте — координаты добавляются автоматически.
  3. Нажмите «Стоп», чтобы выйти из режима выбора.

Вручную:

  1. Нажмите «Добавить точку».
  2. Введите широту и долготу в полях редактирования.

Удаление: кнопка удаления рядом с каждой точкой.

7.3. Параметры расчёта

Каждый параметр напрямую влияет на поведение модели World Oil Locator:

Параметр

Описание

Рекомендации

Обратный расчёт

Интегрирование траектории назад во времени от известного положения пятна к предполагаемому источнику

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

Дрейфовые течения

Учёт ветрового дрейфа — дополнительного смещения поверхностного слоя под действием ветра (обычно ~3 % от скорости ветра)

Рекомендуется включать для поверхностных разливов. Существенно влияет на траекторию при сильном ветре

Геострофические течения

Учёт крупномасштабных течений, обусловленных наклоном уровня моря (из полей региона)

Включайте для открытых акваторий (Чёрное, Средиземное море). Может быть отключено для прибрежных/закрытых заливов

Постоянный источник (расчёт)

Непрерывный приток нефти в точку в течение заданного времени; формирует облако частиц вместо одной линии

Для аварий на платформах, трубопроводах, длительных выбросов. Имена выходных файлов содержат _const

Время разлива

«Весь период» — нефть поступает на протяжении всего интервала расчёта; «Задать длительность (ч)» — приток ограничен N часами с момента начала

Для разового выброса оставьте «Весь период» с коротким интервалом; для pipeline — задайте длительность аварии

Учитывать лёд

Включение ледовых эффектов: изменение дрейфа, трение, ограничение распространения

Актуально для акваторий с ледовым покровом (Сахалин, Баренцево, Балтика). Требует ледовых данных в регионе

Ледовый режим

«Подо льдом» — нефть дрейфует под ледяным покровом; «На льду» — нефть на поверхности льда

Выбор зависит от характера разлива и сезона

Совет. Для первого расчёта используйте настройки по умолчанию: прямой расчёт, дрейфовые течения включены, геострофические — выключены, лёд — выключен.

Рис. 2. Панель параметров расчёта (развёрнутый вид)

7.4. Параметры нефти

Свойства нефти определяют скорость испарения, эмульгирования и, следовательно, сколько нефти останется на поверхности и как быстро пятно трансформируется:

Параметр

Описание

Влияние на модель

Нефть (oilflag)

Включить/выключить моделирование нефти

При выключении рассчитывается только дрейф маркера (без бюджета, толщины, площади)

Тип нефти

Light, Medium, Heavy, Condensate, Diesel и другие из каталога

Задаёт плотность, вязкость, скорость испарения. Light — быстро испаряется; Heavy — медленно, образует толстую плёнку

Масса нефти (т)

Масса выброшенной нефти в тоннах

Определяет начальный объём пятна и его начальную площадь

Состояние нефти

«Свежая» — сразу после выброса; «Выветренная» — с учётом предшествующего воздействия среды

Выветренная нефть испаряется медленнее, имеет повышенную вязкость

Пример: разлив 100 т средней нефти (Medium) в свежем состоянии в Чёрном море при умеренном ветре — за 7 суток значительная часть испарится, площадь пятна сначала вырастет (расползание), затем уменьшится (потери).

7.5. Запуск расчёта FOTS

Полный расчёт выполняется локальным исполняемым файлом расчётного движка (в Windows — world_region_oil_locator_start2.exe, в Linux — world_region_oil_locator_start2). Программа формирует JSON-параметры, запускает процесс и отслеживает его выполнение.

Пошаговая инструкция:

  1. Убедитесь, что регион соответствует координатам точки разлива (при несоответствии появится предупреждение).
  2. Задайте имя расчёта — оно будет использовано в имени выходного CSV (например, ne_oil1_wind_test3 → surf_tr_electron_ne_oil1_wind_test3.csv).
  3. Заполните все необходимые параметры (точки, даты, нефть).
  4. Нажмите «Запустить расчёт FOTS».
  5. В нижней части окна появится терминал FOTS с журналом расчёта (stdout/stderr). Кнопка «Шире» расширяет панель лога.
  6. Дождитесь завершения расчёта (кнопка «Расчёт…» вернётся в «Запустить расчёт FOTS»).
  7. Результат (surf_tr_electron*.csv) загружается на карту автоматически и появляется в списке «Загруженные траектории».

Дополнительные действия:

Кнопка

Назначение

«Скачать параметры (FOTS)»

Сохранить oil_spill_parameters.json для запуска FOTS вне программы (командная строка, пакетный режим)

«Дополнительные параметры расчёта»

Просмотр конфигурации модели: oil_model_config.json, oil_config.json — число частиц (nmb), шаг по времени (ddt0), включённые процессы

Типичная длительность расчёта: от нескольких секунд (1–2 суток модельного времени) до нескольких минут (недельный прогноз с полным бюджетом нефти).

Рис. 3. Запуск расчёта FOTS и терминал с журналом выполнения

Рис. 4. Окно дополнительных параметров расчёта FOTS

Рис. 5. Просмотр конфигурации модели (oil_config.json, oil_model_config.json)

7.6. Тестовый расчёт

Блок «Тест: ветер, течение, симуляция» позволяет выполнить упрощённый расчёт без запуска полного FOTS exe:

  1. Разверните секцию теста.
  2. Задайте параметры ветра и течения.
  3. Нажмите «Запустить тестовый расчёт».

Используйте для быстрой проверки настроек и отладки.

7.7. Загрузка готовой траектории

Если расчёт уже выполнен:

  1. Нажмите «Загрузить траекторию» или перетащите файл в окно загрузки.
  2. Поддерживаемые форматы: JSON, CSV (до 16 МБ).
  3. Траектория появится в списке «Загруженные траектории».

Список загруженных траекторий

Для каждой сессии доступно:

Рис. 6. Траектория разлива на карте с открытой панелью анализа точки

7.8. Планирование нефтяных бонов

Секция «Нефтяные боны»:

  1. Нажмите «Добавить бон».
  2. Выберите тип: Локализация, Отклонение или Поглощение.
  3. Нажмите «Рисовать на карте» и щёлкайте точки линии бона.
  4. Нажмите «Завершить рисование» (минимум 2 точки).
  5. При необходимости включите «Учитывать боны в расчёте».
  6. Сохраните: «Сохранить положение бонов» (экспорт в SHP и конфигурацию FOTS).

Рис. 7. Установка линии нефтяного бона на карте

Рис. 8. Расчёт траектории разлива с учётом установленного бона

Рис. 9. Расчёт траектории без учёта бона (для сравнения)

7.9. Панель управления временем

Появляется в нижней части окна при загруженной траектории.

Элементы управления

Элемент

Действие

В начало / В конец

Перейти к первому/последнему шагу

Предыдущий / Следующий шаг

Пошаговая навигация

Воспроизведение / Пауза

Анимация по времени

Скор.

Интервал между шагами при воспроизведении

Переключатели отображения

Переключатель

Описание

Облако точек

Частицы с N > 0

Центральная линия

Главная траектория (N_point = 0)

Полигон пятна

Контур нефтяного пятна (convex hull облака)

Потери (цвет)

Раскраска частиц по потере объёма за шаг

Точки на берегу

Точки с признаком touchcoast = 1 (коричневые)

Дополнительные действия

Рис. 10. Панель управления временем и создание GIF-анимации

8. Вкладка «Спутник и метео»

Работа со спутниковыми снимками, метеорологическими и океанографическими данными. Эта вкладка дополняет расчётную модель реальными наблюдениями и контекстом среды:

8.1. Слои среды

Батиметрия региона

  1. Выберите регион на вкладке «Траектории нефти».
  2. На вкладке «Спутник и метео» нажмите «Батиметрия региона».
  3. Файл {регион}_bath.nc загрузится и станет доступен для визуализации.

Рис. 11. Слой батиметрии региона (серым цветом) на интерактивной карте

Метео (GFS — ветер)

  1. В блоке «Метео» выберите дату.
  2. Выберите переменную GFS.
  3. Нажмите «Добавить слой».
  4. На карте появятся векторы ветра (анимация «comet»).

Навигация по датам: кнопки «Предыдущая дата» / «Следующая дата».

Рис. 12. Слой метеоданных GFS: поле ветра на карте

Течения (FOTS/BAMS)

  1. В блоке «Течения» выберите дату и переменную.
  2. Добавьте слой на карту.
  3. Управляйте отображением через док слоёв.

Рис. 13. Слой океанических течений FOTS/BAMS на карте

8.2. Слои NetCDF

Пошаговая загрузка произвольных NetCDF/GeoTIFF файлов:

Шаг 1. Загрузить файл NetCDF

Шаг 2. Выберите переменную

Шаг 3. Параметры визуализации

Параметр

Описание

Цветовая схема

viridis, plasma, jet и др.

Автошкала

Автоматический min/max

Мин. / Макс. значение

Ручная настройка шкалы

С экрана

Рассчитать min/max по видимой области карты

Шаг 4. Нажмите «Добавить слой на карту».

Экспорт слоя:

Рис. 14. Визуализация скалярного поля из NetCDF-файла (температура)

8.3. Sentinel-1 SAR

Импорт снимка

  1. Раскройте «Добавить новый снимок».
  2. Выберите один из способов:
    • Выбрать .zip (.SAFE)… — загрузка архива продукта Sentinel-1;
    • Папка .SAFE — регистрация локальной папки с продуктом.
  3. Дождитесь сообщения «Загружено» или «Зарегистрировано».

Добавление слоя на карту

  1. В блоке «Выбор снимка Sentinel-1» выберите продукт из списка.
  2. Укажите поляризацию и канал SAR.
  3. Настройте цветовую карту, прозрачность, min/max.
  4. Нажмите «Добавить слой».

Активные слои Sentinel

В списке «Активные слои Sentinel» для каждого слоя доступно:

Рис. 15. Слой Sentinel-1 SAR на карте с настройкой цветовой шкалы

8.4. Док слоёв на карте

При активных слоях в нижней части карты появляется панель SatelliteLayersDock:

9. Вкладка «Маршруты судов»

Рис. 16. Вкладка «Маршруты судов»: путевые точки и параметры оптимизации

Планирование и оптимизация траекторий судов при ликвидации разливов.

9.1. Путевые точки

Точка

Назначение

Порт отправления

Стартовая точка

Путевая 1, Путевая 2

Промежуточные точки

Пункт назначения

Конечная точка

Координаты задаются аналогично точкам разлива — на карте или вручную.

9.2. Характеристики судна

Параметр

Единица

Осадка

м

Ледовый класс

Длина

м

Ширина

м

Макс. скорость

уз

Расход топлива

л/ч

9.3. Параметры оптимизации

Параметр

Описание

Обход погоды

Избегать неблагоприятных погодных условий

Экономия топлива

Минимизация расхода топлива

Минимум времени

Кратчайший маршрут по времени

Зоны безопасности

Учёт запретных и опасных зон

Учёт течений

Коррекция маршрута по течениям

Обход льда

Избегать ледовых полей

9.4. Расчёт и загрузка маршрута

Новый расчёт:

  1. Задайте путевые точки и параметры.
  2. Нажмите «Рассчитать оптимальный маршрут».

Загрузка готового маршрута:

  1. Нажмите «Загрузить траекторию из CSV».
  2. Выберите файл optim_tr_*.csv.
  3. Маршрут отобразится на карте; приложение переключится на вкладку «Траектории нефти».9.5. Активные маршруты

Список сохранённых маршрутов со статусами: запланирован, активен, завершён, аварийный.

10. Работа с картой

10.1. Подложки

Подложка

Описание

OpenStreetMap

Стандартная векторная карта

CartoDB Light

Светлая минималистичная карта

Спутник (снимки)

Спутниковые снимки (MapTiler). Недоступна в полярных проекциях

Выбор: Шапка → Подложка.

10.2. Проекции

EPSG

Название

Применение

EPSG:3857

Web Mercator

По умолчанию, средние широты

EPSG:4326

WGS 84 (географ.)

Географические координаты

EPSG:3031

Полярная, Антарктида

Южный полярный регион

EPSG:3413

Полярная, Север

Северный полярный регион

При выборе полярной проекции подложка «Спутник» автоматически отключается.

Рис. 17. Карта в полярной проекции с траекторией разлива

10.3. Навигация

Рис. 18. Навигация по карте: масштабирование и детальный вид акватории

Действие

Способ

Перемещение

Перетаскивание левой кнопкой мыши

Масштабирование

Колёсико мыши или жест pinch

Центрирование по траектории

Кнопка на карте (при загруженной траектории)

10.4. Выбор точек на карте

10.5. Взаимодействие с траекторией

10.6. Элементы карты

Элемент

Описание

Цветные линии

Траектории разлива (разные цвета для разных сессий)

Облако точек

Частицы модели (N > 0)

Полигон пятна

Контур нефтяного пятна

Коричневые точки

Точки выхода нефти на берег

Линии бонов

Запланированные нефтяные боны

Растровые слои

NetCDF, Sentinel, GFS

Векторный ветер

Анимированные «comet»-стрелки

Graticule

Координатная сетка

ScaleLine

Масштабная линейка

11. Анализ данных и отчёты

11.1. Анализ точки

Открывается при щелчке по точке траектории на карте.

Основные показатели

Показатель

Описание

ВРЕМЯ

Дата и время точки

ПОЗИЦИЯ

Широта и долгота

ТОЛЩИНА

Толщина нефтяной плёнки

ПЛОЩАДЬ

Площадь пятна

ОБЪЁМ

Объём нефти

Условия среды

Графики

Экспорт: «Сохранить этот график в PNG» или «Сохранить отчёт с графиками в PNG».

Рис. 19. Панель анализа точки: показатели, условия среды и графики

11.2. Бюджет нефти

Окно «Бюджет нефти» (кнопка «Бюджет» в шапке или на панели времени) — один из ключевых инструментов анализа. Оно показывает, куда девается нефть в процессе моделирования: сколько остаётся в пятне, а сколько теряется через различные физические процессы.

Бюджет строится по данным CSV: на каждом временном шаге модель записывает накопленные объёмы потерь (v_evap_m3, v_disp_m3 и т.д.). Программа вычисляет приращения (Δ) за шаг и накопленные суммы (∑).

Процессы потерь

Процесс

Физический смысл

Когда доминирует

Испарение

Улетучивание лёгких фракций с поверхности

Первые часы–сутки; сильный ветер, тёплая вода, лёгкая нефть

Дисперсия

Унос мелких капель в толщу воды

Волнение, шторм

Биодег.

Разложение микроорганизмами

Длительные периоды (дни–недели), умеренная температура

Осадок

Осаждение на донные отложения

Мелководье, высокая концентрация взвеси

Раств.

Растворение водорастворимых компонентов

Дизель, конденсат

Берег

Выход нефти на береговую линию

Приближение пятна к суше; критично для экологической оценки

Режимы просмотра

Интерпретация. Если к концу расчёта основная доля нефти ушла на испарение — пятно быстро «самоустранилось» (характерно для лёгких фракций). Если доминирует берег — необходимы береговые зачистные мероприятия. Если дисперсия — нефть ушла в толщу воды и может быть опасна для бентоса.

Рис. 20. Окно «Бюджет нефти»: табличный режим просмотра

Рис. 21. Бюджет нефти: потери при выходе нефти на берег

Рис. 22. Бюджет нефти: круговая диаграмма итоговых потерь

11.3. 3D вид траектории

«Открыть 3D вид» на панели времени.

Требование: в CSV-файле траектории должен присутствовать столбец z (глубина).

Рис. 23. Трёхмерная визуализация траектории разлива нефти

11.4. HTML-отчёт

Полноэкранный отчёт с картой, параметрами расчёта и бюджетом нефти.

Открытие: Шапка → Экспорт → Отчёт (HTML) (доступен при загруженной траектории на вкладке «Траектории нефти»).

Рис. 24. HTML-отчёт по результатам расчёта

12. Экспорт результатов

12.1. Меню «Экспорт» (шапка)

Пункт

Описание

Условие

Карта (PNG)

Снимок текущего вида карты

Всегда доступен

Отчёт (HTML)

Полный HTML-отчёт

Вкладка «Траектории нефти» + загруженная траектория

Анимация (GIF)

Анимация карты по шагам времени

Траектория ≥ 2 шагов

12.2. Дополнительные форматы экспорта

Формат

Источник

Назначение

PNG

Анализ точки

Графики и отчёт по точке

GeoTIFF

NetCDF-слой

Геопривязанный растр

JPG

NetCDF-слой

Растровое изображение

SHP

Боны

Shapefile линий бонов

JSON

Параметры FOTS

Файл параметров расчёta

13. Форматы данных

13.1. Входные форматы

Формат

Расширение

Назначение

FOTS CSV

.csv

Траектория нефти (surf_tr_electron*.csv)

Ship optim CSV

.csv

Траектория судна (optim_tr_*.csv)

JSON

.json

Массив точек траектории

NetCDF

.nc, .nc4

Скalar/vector поля

GeoTIFF

.tif, .tiff

Растровые слои

Sentinel-1

.zip, папка .SAFE

SAR-снимки

Shapefile

.shp

Импорт/экспорт бонов

13.2. FOTS CSV — структура

Основные столбцы:

Столбец

Описание

N_point

Номер частицы (0 = основная траектория)

Lon, Lat

Координаты

Year, Month, Day, Hour, Minute

Время

z

Глубина (м), для 3D-вида

vx, vy

Компоненты скорости

wind

Скорость ветра

T

Температура воды

volume_m3

Объём нефти

thickness_mm

Толщина плёнки

area_m2

Площадь пятна

touchcoast

Признак выхода на берег (1 = да)

v_evap_m3

Потери на испарение

v_disp_m3

Потери на дисперсию

v_bio_m3

Потери на биодеградацию

v_sed_m3

Потери на осаждение

v_diss_m3

Потери на растворение

v_coast_m3

Потери на берег

Правила:

13.3. Ship optim CSV — структура

Столбец

Описание

Longitude, Latitude

Координаты

Total time (day)

Время от старта (сутки)

Way number

Номер путевой точки

Velocity

Скорость судна

Risk

Оценка риска

13.4. Примеры данных

Примеры файлов траекторий находятся в каталоге Examples/:

14. Настройка и конфигурация

14.1. Регионы FOTS

Каталог из 124 регионов хранится в backend/regions.json. Каждый регион содержит:

При добавлении точки разлива система автоматически подбирает регион по координатам.

14.2. Каталог типов нефти

Файл public/oil_types_catalog.json содержит параметры нефти:

Код

Тип

0

Light (лёгкая)

1

Medium (средняя)

2

Heavy (тяжёлая)

3

Condensate (конденсат)

4

Diesel (дизель)

А также расширенный каталог PyGNOME (NOAA sample oils).

14.3. Конфигурация FOTS (backend)

Рядом с исполняемым файлом FOTS (backend/FOTS_new/):

Файл / каталог

Назначение

oil_spill_parameters.json

Основные параметры разлива

oil_config.json

Конфигурация модели нефти

zakaz_client.json

Параметры клиента

oil_model_config.json

Конфигурация модели

{Region}/

Данные региона (например, AO_BlackSea/)

Adddata/fes2014a_currents/

Приливные течения

{Region}/dat/

Метеоданные региона

14.4. Переменные окружения

Переменная

Назначение

По умолчанию

FOTS_BACKEND_PORT

Порт API-сервера

5000

FLASK_PORT / PORT

Альтернативный порт

VITE_API_BASE

URL API (production)

FOTS_VITE_DEV_PORT

Порт dev-сервера

5193

14.5. Локальное хранилище

Ключ

Содержимое

fots-ui-locale

Язык интерфейса (ru/en)

oilSpillParameters

Параметры расчёта (резервная копия)

fots-terminal-wide

Ширина терминала FOTS

15. Типовые рабочие сценарии

15.1. Оперативный прогноз разлива (новый расчёт)

Ситуация: поступило сообщение об аварии, известны координаты и время.

  1. Запустите FOTS.
  2. На вкладке «Траектории нефти» выберите регион (или добавьте точку — регион подберётся автоматически).
  3. Нажмите «Выбор» и щёлкните на карте в точке разлива (или введите координаты вручную).
  4. Задайте дату начала = время аварии, дату окончания = время аварии + 3–7 суток.
  5. Выберите тип нефти и массу (если известны; иначе — оценочные значения).
  6. Нажмите «Запустить расчёт FOTS».
  7. После завершения включите «Облако точек» и «Полигон пятна» на панели времени.
  8. Запустите воспроизведение — оцените, когда пятно может подойти к берегу.
  9. Включите «Точки на берегу» — проверьте, достигнет ли нефть суши.
  10. Откройте «Бюджет нефти» — оцените, сколько нефти останется к моменту подхода.
  11. Экспортируйте отчёт (HTML) для штаба ликвидации.

15.2. Обратный расчёт — поиск источника

Ситуация: обнаружено нефтяное пятно, источник неизвестен.

  1. Задайте координаты обнаруженного пятна как точку разлива.
  2. Установите дату окончания = время обнаружения.
  3. Установите дату начала = время обнаружения минус предполагаемое время дрейфа (например, −48 ч).
  4. Включите «Обратный расчёт».
  5. Запустите FOTS — траектория покажет предполагаемый путь от источника к пятну.
  6. Начало траектории (первые точки) — оценка местоположения источника.

15.3. Анализ готовой траектории

Ситуация: расчёт уже выполнен, есть CSV-файл.

  1. Нажмите «Загрузить траекторию» или перетащите файл в окно загрузки.
  2. Выберите CSV (surf_tr_*.csv) из каталога Examples/ или из результатов расчёта.
  3. В списке «Загруженные траектории» выберите нужную сессию.
  4. Включите «Облако точек» и «Полигон пятна».
  5. Щёлкните по точке на карте → откроется «Анализ точки» с графиками.
  6. Откройте 3D вид (если в CSV есть столбец z).
  7. Сравните с Sentinel-1 (см. сценарий 15.5).

15.4. Планирование бонов и повторный расчёт

Ситуация: нужно оценить эффективность заграждения.

  1. Выполните базовый расчёт (сценарий 15.1) без бонов.
  2. В секции «Нефтяные боны» добавьте линии локализации на карте.
  3. Включите «Учитывать боны в расчёте».
  4. Запустите повторный расчёт FOTS.
  5. Сравните две траектории в списке «Загруженные траектории» (разные цвета).
  6. Оцените, изменилась ли траектория и уменьшилась ли площадь пятна.
  7. Сохраните положение бонов: «Сохранить положение бонов» (SHP для полевых работ).

15.5. Сопоставление модели со спутниковым снимком

Ситуация: есть SAR-снимок Sentinel-1 с нефтяным пятном, нужно сравнить с моделью.

  1. Загрузите или рассчитайте траекторию (сценарии 15.1 или 15.3).
  2. Перейдите на вкладку «Спутник и метео».
  3. Импортируйте .SAFE-архив Sentinel-1 («Добавить новый снимок»).
  4. Выберите снимок, поляризацию, добавьте слой на карту.
  5. Настройте прозрачность SAR-слоя в доке слоёв — траектория модели должна быть видна под/над снимком.
  6. Визуально оцените совпадение положения и формы пятна.
  7. Экспортируйте карту (PNG) для отчёта.

Рис. 25. Сопоставление расчётной траектории со спутниковым снимком

15.6. Планирование маршрута судна зачистки

Ситуация: нужно направить судно от порта к месту разлива.

  1. Перейдите на вкладку «Маршруты судов».
  2. Задайте порт отправления и пункт назначения (место разлива) на карте.
  3. Укажите характеристики судна (осадка, скорость, ледовый класс).
  4. Включите «Обход погоды» и «Учёт течений».
  5. Нажмите «Рассчитать оптимальный маршрут».
  6. Альтернатива: загрузите готовый маршрут из CSV (optim_tr_*.csv).

15.7. Обучение на примерах

Ситуация: первое знакомство с программой.

  1. Запустите FOTS.
  2. Нажмите «Загрузить траекторию».
  3. Выберите файл Examples/surf_tr_volgoneft_2_const.csv — траектория с постоянным источником.
  4. Включите «Облако точек», «Центральная линия», «Полигон пятна».
  5. Запустите воспроизведение на панели времени.
  6. Откройте «Бюджет нефти» — изучите процессы потерь.
  7. Попробуйте «Открыть 3D вид», экспорт GIF и HTML-отчёта.

16. Устранение неполадок

16.1. Сервер недоступен

Симптом: сообщение «Сеть недоступна» или «Сервер оптимизации недоступен».

Решение:

  1. В готовой сборке (Windows portable / Linux AppImage) перезапустите приложение.
  2. В режиме разработки убедитесь, что python app.py запущен в каталоге backend/.
  3. Проверьте, что порт 5000 не занят другим процессом (ss -tlnp | grep 5000 в Linux).

16.2. Расчёт FOTS не запускается

Симптом: ошибка «Не удалось запустить FOTS».

Решение:

  1. Проверьте наличие расчётного движка в backend/FOTS_new/:
    • Windows: world_region_oil_locator_start2.exe;
    • Linux: world_region_oil_locator_start2 (исполняемый, chmod +x).
  2. Убедитесь, что выбран корректный регион и заданы точки разлива.
  3. Проверьте журнал в терминале FOTS.
  4. Убедитесь, что данные региона (каталог {Region}/) присутствуют.

16.2.1. Linux: AppImage не запускается

Симптом: файл не открывается или «FUSE» / «libfuse».

Решение:

sudo apt install fuse libfuse2 # Debian/Ubuntu
chmod +x *.AppImage
./имя.AppImage --no-sandbox # при проблемах с песочницей в контейнерах

Лог backend: ~/.config/Floating object tracking system/fots-backend.log (или каталог userData Electron).

16.3. Терминал FOTS пуст

Симптом: расчёт запущен, но журнал пуст.

Причина: исполняемый файл FOTS может писать вывод только в файлы, а не в консоль.

Решение: дождитесь завершения расчёta — CSV загрузится автоматически. Проверьте выходные файлы в каталоге FOTS.

16.4. Спутниковая подложка недоступна

Симптом: «Спутник (снимки) — недоступно».

Причины:

Решение: переключитесь на EPSG:3857 или EPSG:4326; проверьте сеть.

16.5. 3D вид недоступен

Симптом: кнопка «Открыть 3D вид» неактивна.

Причина: в CSV-файле траектории отсутствует столбец z (глубина).

Решение: используйте CSV, полученный из расчёта FOTS с поддержкой 3D, или добавьте столбец z вручную.

16.6. Ошибка загрузки NetCDF

Симптом: «В файле нет скалярных переменных» или «Ошибка загрузки».

Решение:

  1. Убедитесь, что файл имеет расширение .nc, .nc4, .tif или .tiff.
  2. Проверьте, что backend запущен.
  3. Попробуйте другую переменную из списка.

16.7. GIF не создаётся

Симптом: «Нужна траектория минимум из двух шагов».

Решение: загрузите или рассчитайте траекторию с временным рядом (≥ 2 временных шагов).

16.8. Sentinel-1: нет снимков

Симптом: «Нет снимков».

Решение:

  1. Раскройте «Добавить новый снимок».
  2. Импортируйте .zip-архив или зарегистрируйте папку .SAFE.
  3. Нажмите «Обновить слои».

17. Глоссарий

Термин

Определение

FOTS

Floating object tracking system — система отслеживания плавающих объектов; название GIS-оболочки

World Oil Locator (WOL)

Расчётный движок моделирования разливов нефти, разработанный в МГИ РАН

Лагранжев метод

Подход, при котором движение среды вычисляется через траектории отдельных частиц, а не через поля концентрации на сетке

ПИ (постоянный источник)

Режим непрерывного притока нефти в точку разлива в течение заданного времени

Облако частиц

Набор модельных частиц (N > 0), описывающих форму, размер и внутреннюю структуру пятна

Центральная линия

Основная траектория центра пятна (N_point = 0)

Бюджет нефти

Баланс объёма нефти: сколько выброшено, сколько осталось, сколько потеряно по каждому процессу

Дрейфовое течение

Дополнительное перемещение поверхностного слоя воды под действием ветра

Геострофическое течение

Горизонтальное течение, обусловленное наклоном поверхности моря

Эмульгирование

Образование водонефтяной эмульсии при волнении; увеличивает вязкость и замедляет испарение

Дисперсия

Разбиение нефти на мелкие капли и унос в толщу воды под действием волн

Бон

Плавучее заграждение для локализации, отклонения или поглощения нефти

NetCDF

Network Common Data Form — формат хранения многомерных научных данных

Sentinel-1 SAR

Европейский радарный спутник; SAR (Synthetic Aperture Radar) позволяет обнаруживать нефтяные пятна на водной поверхности

GFS

Global Forecast System — глобальная модель прогноза погоды NOAA

GeoTIFF

Геопривязанный растровый формат

Shapefile (SHP)

Векторный GIS-формат ESRI

EPSG:3857

Web Mercator — стандартная проекция веб-карт

BAMS

Basin-Scale Arctic Modeling System — модель течений для арктических акваторий

PyGNOME

NOAA General NOAA Oil Modeling Environment — эталонная модель разливов; каталог sample oils используется в FOTS

FES2014

Глобальная модель приливов; используется для приливных течений в FOTS

PBD (Position Based Dynamics)

Метод моделирования распространения частиц пятна в модели FOTS v2

© Морской Гидрофизический Институт РАН. Инструкция составлена на основе версии 1.1 системы FOTS.

© ФГБУН ФИЦ «Морской гидрофизический институт РАН». Руководство пользователя FOTS.