Существует ли какой-либо существующий код для создания усредненного по глубине файла Dfs2 из файла Dfs1?

#mikeio

#mikeio

Вопрос:

Я хотел бы использовать выходные данные модели из модели MIKE21fm в формате DFS1 для создания усредненного по глубине файла DFS2, который будет использоваться в качестве граничных условий в модели MIKE3fm.

Для каждого временного шага каждый слой должен использовать усредненные по глубине данные из файла DFS1 на этом временном шаге.

Я заметил, что в MIKEIO уже существует функция для преобразования файлов DFS2 в файлы DFS1 dfs2todfs1 , однако мне было интересно, существует ли какой-либо существующий код / функции MIKEIO для создания файлов DFS2 из DFS1?

В настоящее время я пытаюсь выполнить это самостоятельно в Jupyter Notebook, однако я подумал, что сначала спрошу, поскольку, похоже, в MIKEIO уже было много полезной работы!

Спасибо!

Ответ №1:

В MIKE IO нет функции для выполнения именно этого, но вы можете попробовать что-то вроде этого.

 import numpy as np
from mikeio import Dataset, Dfs1, Dfs2
dfs = Dfs1("mikeio/tests/testdata/tide1.dfs1")

ds = dfs.read()
wl = ds['Level']
wl2d = np.expand_dims(wl, 1) # 1d -> 2d

newds = Dataset([wl2d], time=ds.time, items=ds.items)

dfs2 = Dfs2()
dfs2.write("tide2d.dfs2", newds, dy=1.0, coordinate = ["UTM-32", 0, 0, 0.0])