Меридианная проекция - вода
Интуитивно понятно изучать Землю в разрезе меридианов.
Содержание
Самая простая модель[править]
Создадим самую простую модель Мирового океана.
Игнорируем сушу и дно. Интересуемся только водой.
Как считать уровень воды[править]
Имеем один меридиан, разделенный на тазики от северного полюса до южного.
Для расчета уровней воды в тазиках выбираю сферические координаты.
Другие виды координат не подходят, потому что:
- в геоцентрических координатах радиус не перпендикулярен датуму, и градиент спокойствия равен нулю. Но при изменении уровня воды градиент спокойствия становится не равным нулю, поэтому расчеты нужно отвязывать от датума, а по определению это нельзя делать.
- в геодезических координатах радиус перпендикулярен датуму, и градиент спокойствия равен нулю, но для несбалансированной воды радиус настолько изменчив, что объемы соседних тазиков пересекаются, а это усложняет расчеты.
В сферических координатах радиус не перпендикулярен датуму, и градиент спокойствия не равен нулю. Эта особенность позволяет отвязываться от датума и переходить от одного к другому. Также для несбалансированной воды, и при изменении уровня воды радиус стабилен.
Алгоритм[править]
Рассчет происходит по такому алгоритму:
- начальные условия: спокойная Земля, сферические координаты
- для каждого тазика [math]\nabla{g}_q[/math] (градиент спокойствия) = [math]\theta[/math] - [math]\vartheta[/math] = [math]\phi[/math] (Deflection angle ellipsoidal)
- получить пересечения линий градиента с радиусами OQ, OQs и т.д. Пересечения находятся на высотах [math]h_{Q_i}[/math] ([[|]]) и [math]h_{Q_s}[/math] ([[|]]) и т.д. Отрезок, проведенный через эти пересечения, есть проекция общего ребра между соседями.
- разница [math]h_Q[/math] и [math]h_{Q_s}[/math] должна быть 0, а в реальности получен результат с диапазоном 1,8м для [math]k_8[/math], 1м для [math]k_9[/math]
- сумма разниц для двух соседних тазиков (используется при расчете [math]V_{to}[/math] (тазик, объёмы перетекания)) становится симметричной относительно экватора и диапазон меньше 1 см для [math]k_9[/math].
-
- на входе: [math]h_{OQ}[/math] (тазик, высота) и [math]\nabla{g}_e[/math] (градиент волнения)
- изменение градиента сохраняет объем воды тазика с высокой точностью благодаря симметричности в сферических координатах
- на выходе: [math]V_{to}[/math] (тазик, объёмы перетекания), которые нужно перелить через каждое из 4 общих ребер
- перелить воду
- на выходе: [math]h_{OQ}[/math]
- идти на п.2
пересчитывать [math]\nabla{g}_q[/math] (градиент спокойствия) при изменении [math]a[/math] - Эллипсоид, большая полуось, [math]g[/math] - [[|]], а также при значительном изменении [math]h_{OQ}[/math]
Примеры[править]
На следующих изображениях северных полюс находится вверху, южный - внизу. Экватор посередине.
Слева направо возрастает модельное время, то есть левая сторона изображения показывает начальные условия.
Глубины отсчитываются относительно формы Земли в эллипсоидальном приближении. Нулевая отметка глубины окрашена в зелёно-синий цвет (Aquamarine).
Закругленности вверху и внизу оставлены для красоты...
первый пример[править]
Один тазик поднимается с глубины 500м, а другой опускается с высоты 500м:
Видно, что вода падает и поднимается, сохраняя неестественную отвесность сторон тазиков. Это вызвано тем, что вода перетекает через ребра верхней грани, а не через ребра сторон.
Возникающая волна выглядит естественно.
второй пример[править]
Уменьшаем центробежное ускорение, увеличивая звездные сутки: сначало немножно (от 23,9 часов до 26,7), и в середине времени до 46,2 часов
Видно, что высота волн постепенно увеличивается и смещается к полюсам.
Можно посмотреть в изменяющемся масштабе, когда на каждый момент времени масштаб выбирается таким, чтобы экстремальные значения были выделены самым контрастным цветом
Легенда показывает масштаб для последнего момента, когда рост волны рост волны не останавливается.
Высота волны в 172 метра (разница между полюсами и экватором) - это конечно, мало для данного случая, но здесь я столкнулся с ограничениями компьютера.
Увеличив временной коэффициент от 5 до 1000, была получена высоте волны в 7 километровой, но компьютер шел к этому около получаса.