1

我想做一些(显然)简单的事情,但还没有找到正确的方法:

我在网格上读取了一个 netcdf 文件(来自 ERA5 再分析的风速)。由此,我使用风速来计算风容量因子(使用给定的功率曲线)。然后我想编写一个新的 netcdf 文件,其结构与输入文件完全相同,但只是用新变量(风容量因子)替换输入风速。

有没有一种简单/快速的方法来做到这一点,避免用 ncvar_def 和 ncdim_def 重新定义所有的暗淡、变量……?

提前感谢您的回复!

4

1 回答 1

1

在 R 中编写 netcdf 文件并不太复杂,这里有一个很好的在线示例:

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

您可以从输入文件中复制尺寸。

但是,如果您的风力功率曲线是一个简单的分析表达式,那么您可以使用气候数据运算符 (cdo) 从 bash/linux 的命令行中的一行中执行此任务。

例如,如果文件中有两个变量 10u 和 10v(我没有准确回忆再分析名称),那么您可以通过以下方式创建一个新变量 WCF=SQRT(U 2+V 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 来更改元数据(单位等)以确保它们是适当的。

于 2018-12-05T15:17:17.920 回答