netCDF 数组大小太大
netCDF array size too big
所以我正在尝试解压一个 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'])
这个问题就是 xarray package was designed to solve. Especially because of its integration with dask,xarray 是处理多维大型 netcdf 文件的理想工具。
尝试使用 xarray 打开数据
import xarray as xr
ds = xr.open_dataset('xboutput.nc')
然后直接通过 xarray 处理数据 API。 Xarray 的 broadcasting rules 使得对具有不同维度组合的数据进行操作变得非常容易。
所以我正在尝试解压一个 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'])
这个问题就是 xarray package was designed to solve. Especially because of its integration with dask,xarray 是处理多维大型 netcdf 文件的理想工具。
尝试使用 xarray 打开数据
import xarray as xr
ds = xr.open_dataset('xboutput.nc')
然后直接通过 xarray 处理数据 API。 Xarray 的 broadcasting rules 使得对具有不同维度组合的数据进行操作变得非常容易。