11
\ begingroup美元

我想阴谋风刺在基础图和我有两个单独的netCDF文件。这就是我试图生产、或类似的:在这里输入图像描述我怎么读uwnd变量netCDF文件在python中?

从mpl_toolkits。技术从netCDF4进口技术导入数据集,date2index进口numpy np matplotlib进口。pyplot从datetime plt从IPython进口datetime。显示从IPython.core导入图像。显示导入HTML进口netCDF4数控plt.clf () nc_file = ' 042711 _v。数控042711 _u nc_file2 =。数控的V =数据集(nc_file模式= ' r ') U =数据集(nc_file2模式= ' r ')打印U.variables

这个验证uwnd确实是一个变量,但为什么不读吗?

OrderedDict ([(u 'lat netCDF4._netCDF4, <类型。变量”> float32纬度(lat)单位:degrees_north actual_range: [90。-90年。]long_name:纬度无限维度:当前形状=(73)填充),(u 'lon netCDF4._netCDF4, <类型。变量”> float32经度(朗)单位:degrees_east long_name:经度actual_range: [0。357.5]无限维度:当前形状=(144)填充),<类型netCDF4._netCDF4 (u”时间。变量”> float64时间(时间)单位:小时自1800-1-1 00:00:0.0 long_name:时间actual_range: [71870952。71870952。]delta_t: 0000-01-00就是无限维度:时间当前形状=(1)填充),(u 'uwnd netCDF4._netCDF4, <类型。变量”> float32 uwnd(时间、纬度、经度)long_name: u风valid_range: [-99999。99999年。]actual_range(-26.84999084 - 377.20001221):单位:米/秒add_offset: 0.0 scale_factor: 1.0 missing_value: -9.96921 e + 36精度:99 least_significant_digit: 99 var_desc: u风数据集:疾控中心派生NCEP再分析产品level_desc: 500 mb的压力级别统计:复合parent_stat:其他无限维度:时间当前形状=(73、144)填充)])KeyError:“uwnd”

我想在地图上绘制一些widnbarbs。我已经成功得到这阅读时间,经度,纬度,但这uwnd到底是什么意思,我怎么读它为numpy格式?

这是网站我发现如何读取netCDF文件:http://www.hydro.washington.edu/ jhamman hydro-logic /博客/ 2013/10/12 / plot-netcdf-data /

\ endgroup美元
2

1回答1

13
\ begingroup美元

你的uwnd变量包含32位浮点数和形状(73144)相应,纬度,经度和位于数据集你有叫“U”。

一种方法把这个numpy数组:

uwind = np.zeros((纬度、经度),np.float) uwind = U.variables [' uwnd '] [1::]

第一行设置uwind数组的大小,有助于从性能的角度来看,第二加载数据1到数组中。纬度上面是你的网格尺寸73年和144年npnumpy模块。

美国风就是风的东西分量。南北组件将在v风变量。两者都需要画出风。绘制的冷嘲热讽你需要设置数组x和y坐标,将取决于纬度,经度,可能你的地图投影。一旦你有了xy数组以及uwindvwind您可以使用matplotlib情节风刺:

plt。倒刺(x, y, u, v)

并且可以定制他们使用各种选项。的plt引用的matplotlib.pyplot模块。

为进一步阅读,这里有策划netcdf数据的一些例子从我的一个朋友在基督教社会联盟。

\ endgroup美元

    你的答案

    通过点击“发布你的答案”,你同意我们服务条款,隐私政策饼干的政策

    不是你要找的答案?浏览其他问题标记问你自己的问题