R сохранить в виде файла NetCDF после простого расчета - PullRequest
0 голосов
/ 03 декабря 2018

Я хочу сделать что-то (очевидно) простое, но пока не нашел правильного способа сделать это:

Я читаю файл netcdf (скорость ветра из повторного анализа ERA5) в сетке.Исходя из этого, я использую скорость ветра для расчета коэффициента мощности ветра (используя данную кривую мощности).Затем я хочу написать новый файл netcdf, точно такой же структуры, что и входной файл, но просто заменив входную скорость ветра новой переменной (коэффициент мощности ветра).

Есть ли простой / быстрый способ сделать это, избегая переопределения всех dim, переменных ... с помощью ncvar_def и ncdim_def?

Заранее спасибо за ваши ответы!

1 Ответ

0 голосов
/ 05 декабря 2018

Запись файла netcdf в R не слишком сложна, здесь есть хороший пример:

http://geog.uoregon.edu/GeogR/topics/netCDF-write-ncdf4.html

Вы можете скопировать размеры из входного файла.

Однако, если ваша кривая энергии ветра представляет собой простое аналитическое выражение, вы можете выполнить эту задачу в одной строке из командной строки в bash / linux, используя операторы климатических данных (cdo).

Например, если в файле есть две переменные 10u и 10v (я не помню точно имена повторного анализа), вы можете создать новую переменную WCF = SQRT (U 2 + V *).1011 * 2) следующим образом

cdo expr,'wcf=sqrt(10u**2+10v**2)' input.nc output.nc 

См. Пример здесь:

https://code.mpimet.mpg.de/boards/53/topics/1622

Так что, если ваша функция мощности окна является аналитическим выражением, вы можете определитьТаким образом, без использования R, не заботясь о размерах и т. д., в новый файл будет добавлена ​​переменная wcf.Тогда вам, вероятно, следует использовать NCO для изменения метаданных (единиц измерения и т. Д.), Чтобы обеспечить их соответствие.

...