访问数据集的 netCDF4.Dataset

Access to a Dataset's netCDF4.Dataset

在我使用 xr.open_dataset(或 xr.open_mfdataset)函数加载 netCDF4 文件后,是否有任何方法可以访问 xarray.Dataset 的底层 netCDF4.Dataset 对象?

问题是我想使用 wrf-python 库,但它只适用于 netCDF4.Dataset 对象。而且我宁愿只需要触摸每个文件一次,即创建一个 xarray.Dataset 一个 netCDF4.Dataset.

这是Python,当然可以拉出这个对象:

In [30]: import xarray

In [31]: xarray.Dataset({'foo': 1}).to_netcdf('foo.nc')

In [32]: ds = xarray.open_dataset('foo.nc')

In [37]: ds._file_obj.ds
Out[37]:
<class 'netCDF4._netCDF4.Dataset'>
root group (NETCDF4 data model, file format HDF5):
    dimensions(sizes):
    variables(dimensions): int64 foo()
    groups:

In [38]: xarray.__version__
Out[38]: '0.9.1'

我推荐吗?不,这不是 public API,因此您应该预料到它会在未来的任何版本中毫无警告地中断。

不过,我同意这可能有用,因此我鼓励您在 GitHub 上讨论潜在的 API。