Description
Code Sample, a copy-pastable example if possible
ncfile_cf = "x07z00017_cf.nc"
with xr.open_dataset(ncfile_cf, group="x07") as ds:
ds_data_cf = ds.copy(deep=True)
print(ds_data_cf)
<xarray.Dataset>
Dimensions: (time1: 100000, time2: 2)
Dimensions without coordinates: time1, time2
Data variables:
aps (time1) float64 ...
iact (time1) float64 ...
vact (time1) float64 ...
dps (time1) float64 ...
tss (time2) float64 ...
Problem description
When reading a sub group from a netCDF file with dimensions defined in the root group, the dimensions are not read from the root group. This contradicts the netCDF documentation, which states that dimensions are scoped such that they can be seen by all sub groups.
The attached netCDF file demonstrates this issue.
x07z00017_cf.nc.zip
Expected Output
The dimensions from the root group should be used when reading the sub-group.
with xr.open_dataset(ncfile_cf) as ds:
for coord in ds.coords:
ds_data_cf.coords[coord] = ds[coord]
print(ds_data_cf)
<xarray.Dataset>
Dimensions: (time1: 100000, time2: 2)
Coordinates:
* time1 (time1) float64 0.0 1e-06 2e-06 3e-06 4e-06 5e-06 6e-06 7e-06 ...
* time2 (time2) float64 0.0 0.1
Data variables:
aps (time1) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 1.0 1.0 1.0 ...
iact (time1) float64 -0.00125 -0.000625 -0.00125 -0.0009375 ...
vact (time1) float64 -0.009375 -0.009375 -0.01875 -0.01875 -0.009375 ...
dps (time1) float64 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 0.0 ...
tss (time2) float64 0.0 0.0
Output of xr.show_versions()
INSTALLED VERSIONS
commit: None
python: 3.6.4.final.0
python-bits: 64
OS: Linux
OS-release: 4.13.0-36-generic
machine: x86_64
processor: x86_64
byteorder: little
LC_ALL: None
LANG: en_GB.UTF-8
LOCALE: en_GB.UTF-8
xarray: 0.10.0
pandas: 0.22.0
numpy: 1.13.3
scipy: 1.0.0
netCDF4: 1.3.1
h5netcdf: None
Nio: None
bottleneck: 1.2.1
cyordereddict: None
dask: 0.15.3
matplotlib: 2.1.0
cartopy: None
seaborn: 0.8.0
setuptools: 38.5.1
pip: 9.0.1
conda: 4.4.11
pytest: 3.2.1
IPython: 6.2.1
sphinx: 1.6.3