Нужна помощь в преобразовании CSV в ASCII в R для ввода в MIKE 21 - PullRequest
0 голосов
/ 26 марта 2020

У меня есть CSV-файл климатических данных, представляющих временные ряды компонентов ветра и сетки давления над точками. Пример моих данных:

p, u, v, t, x, y

1036.379244,5.289806738,0.224411601,2019-01-01 00: 00,353.75,52.25 1036.371515,4.896191219, -1.960923316 , 2019-01-01 06: 00,353.75,52.25 1038.232411,3.854101212, -3.330781373,2019-01-01 12: 00,353.75,52.25 1039.963837, -0.8985466, -4.143575743,2019-01-01 18: 00 353,75,52,25 1041,677871, 3,11 , -3.177879462,2019-01-02 00: 00,353.75,52.25 1042.470153, -3.80960238, -0,677799091,2019-01-02 06: 00 353,75,52,25 1043,967759, -1,497937139,2,857722292,2019-01-02 12: 00 353,75 722,2542,7972 , -2.906268923,5.569719347,2019-01-02 18: 00,353.75,52.25

Мне нужно преобразовать это в формат ASCII с информацией заголовка, чтобы я мог преобразовать это в dfs2 в MIKE 21. Есть ли способ сделать это просто в R? Я совсем новичок в R. Я пытался использовать, возможно, функцию write.asciigrid, но, похоже, я не могу заставить ее работать.

Формат ASCII, который я ищу, приведен ниже:

Заголовок

Размер: может быть 2 или 3.

География c Информация: UTM-зона, долгота источника, широта и ориентация источника.

Информация о времени: описание оси времени, дата начала гггг-мм-дд, время начала, количество шагов по времени и интервал времени в секундах.

Информация о сетке: количество точек сетки в первом, втором и третьем измерениях .

Количество элементов c (элемент c - это данные, относящиеся к данным временного ряда, но не часть, если они есть. Например, батиметрия в файле из HD-прогона с H, PQ как Dynami c Items).

Stati c Items: Name, Type, Unit (их можно не указывать). Количество элементов Dynami c.

Dynami c Элемент: имя, тип, единица измерения (их можно не указывать)

Удалить значение: значение удаления должно быть числом, не являющимся типичным данных

Данные следуют за информацией заголовка и должны быть упорядочены в блоки. Пример блока данных показан ниже:

шаг 187, элемент 1, слой 0

20 20.0313 21.093 21.1076 21.2892 -1E-030

20 20.2856 21.1294 21.1587 21.2748 -1E-030

-1E-030 -1E-030 -1E-030 21.0826 21.2092 -1E-030

-1E-030 -1E-030 -1E-030 20.8634 20.8749 - 1E-030

Первые блоки данных должны содержать элементы Stati c. Элементы Dynami c следуют и должны быть представлены в следующем порядке:

tstep 0 item 1 layer 0

tstep 0 item 1 layer 1 - до тех пор, пока не будут указаны все слои

tstep 0, элемент 2, слой 0

tstep, 0, элемент 2, слой 1 - до тех пор, пока не будут заданы все элементы Dynami c

tstep 1, элемент 1, слой 0

Et c.

Спасибо, любая помощь будет высоко ценится!

...