使用python绘制变量在netcdf文件的固定点中的时间演变

时间:2016-06-14 14:57:24

标签: python netcdf

我有一个netcdf文件,其中包含一个水箱中速度场的时间依赖性分布。我大致知道如何在特定时间步长中绘制速度场的大图,但我想绘制速度变量(u,v,w)在固定空间点的时间变化。

使用python的一切。

1 个答案:

答案 0 :(得分:0)

加载数据后,使用切片非常容易。例如,以我们模型中的NetCDF数据文件为例:

ncdump -h的输出:

netcdf w.xz {  
dimensions:  
    x = 1024 ;  
    y = 1 ;  
    zh = 512 ;  
    time = UNLIMITED ; // (81 currently)  
variables:  
    float time(time) ;  
        string time:units = "Seconds since start of experiment" ;  
    float x(x) ;  
    float y(y) ;  
    float zh(zh) ;  
    float w(time, zh, x, y) ;  
}  

如果您同时加载时间和速度变量:

import netCDF4 as nc4

f    = nc4.Dataset('w.xz.nc')
time = f.variables['time'][:]
w    = f.variables['w'][:,:,:,:]   # dimensions: time,z,x,y

你可以花一点时间位置z,x,y = index{10,5,1}

k = 10; i = 5; j = 1
data = w[:,k,i,j]

或将其绘制为:

pl.plot(time, w[:,k,i,j])