Skip to content

NetCDF coordinates in parent group is not used when reading sub group #1982

Open
@jacklovell

Description

@jacklovell

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions