netCDF数组大小太大

时间:2019-03-18 13:43:43

标签: python arrays numpy netcdf netcdf4

所以我试图解压缩netCDF文件,现在我已经把我感兴趣的变量放在一个np数组中。但是,我要分析的数组大小出现了问题。以下是变量及其大小:

_parameters ()
globalx (1, 231)
globaly (1, 231)
globaltime (6,)
vz (6, 100, 1, 231)
uz (6, 100, 1, 231)
u (6, 1, 231)
v (6, 1, 231)
ustz (6, 100, 1, 231)

我对vz,uz和ustz感兴趣(解释它们包含的内容...(迭代次数,nz,ny,nx)),我对ny并不感兴趣,并且它没有任何价值。

所以问题是我现在可以调整大小(迭代次数,nz,nx)并解压缩每次迭代的nz和nx。

谢谢

这是我的代码,

from netCDF4 import Dataset
import numpy as np
import pandas as pd

ncfile = 'xboutput.nc'
jan = Dataset(ncfile, more = 'r')

#print (file.variables)

_parameters = jan.variables['_parameters']
globalx = jan.variables['globalx'].units
globaly = jan.variables['globaly'].units
globaltime = jan.variables['globaltime'].units
vz = jan.variables['vz'][:]
uz = jan.variables['uz'][:]
ustz = jan.variables['ustz'][:]
v = jan.variables['v'][:]
u = jan.variables['u'][:]

for i in jan.variables:
    print (i,jan.variables[i].shape)

vz_ar = np.array(jan.variables['vz'])
u_ar = np.array(jan.variables['u'])

1 个答案:

答案 0 :(得分:1)

此问题是xarray软件包旨在解决的问题。特别是由于integration with dask,xarray是处理具有多个维度的大型netcdf文件的理想工具。

尝试使用xarray打开数据

import xarray as xr
ds = xr.open_dataset('xboutput.nc')

然后直接通过xarray API处理数据。 Xarray的broadcasting rules使处理具有不同维度组合的数据变得非常容易。