(
self,
filename_or_obj: T_PathFileOrDataStore,
*,
mask_and_scale=True,
decode_times=True,
concat_characters=True,
decode_coords=True,
drop_variables: str | Iterable[str] | None = None,
use_cftime=None,
decode_timedelta=None,
format="NETCDF4",
group: str | None = None,
lock=None,
invalid_netcdf=None,
phony_dims=None,
decode_vlen_strings=True,
driver=None,
driver_kwds=None,
storage_options: dict[str, Any] | None = None,
open_kwargs: dict[str, Any] | None = None,
**kwargs,
)
| 633 | return datatree_from_dict_with_io_cleanup(groups_dict) |
| 634 | |
| 635 | def open_groups_as_dict( |
| 636 | self, |
| 637 | filename_or_obj: T_PathFileOrDataStore, |
| 638 | *, |
| 639 | mask_and_scale=True, |
| 640 | decode_times=True, |
| 641 | concat_characters=True, |
| 642 | decode_coords=True, |
| 643 | drop_variables: str | Iterable[str] | None = None, |
| 644 | use_cftime=None, |
| 645 | decode_timedelta=None, |
| 646 | format="NETCDF4", |
| 647 | group: str | None = None, |
| 648 | lock=None, |
| 649 | invalid_netcdf=None, |
| 650 | phony_dims=None, |
| 651 | decode_vlen_strings=True, |
| 652 | driver=None, |
| 653 | driver_kwds=None, |
| 654 | storage_options: dict[str, Any] | None = None, |
| 655 | open_kwargs: dict[str, Any] | None = None, |
| 656 | **kwargs, |
| 657 | ) -> dict[str, Dataset]: |
| 658 | from xarray.backends.common import _iter_nc_groups |
| 659 | from xarray.core.treenode import NodePath |
| 660 | from xarray.core.utils import close_on_error |
| 661 | |
| 662 | # Keep this message for some versions |
| 663 | # remove and set phony_dims="access" above |
| 664 | emit_phony_dims_warning, phony_dims = _check_phony_dims(phony_dims) |
| 665 | |
| 666 | filename_or_obj = _normalize_filename_or_obj(filename_or_obj) |
| 667 | store = H5NetCDFStore.open( |
| 668 | filename_or_obj, |
| 669 | format=format, |
| 670 | group=group, |
| 671 | lock=lock, |
| 672 | invalid_netcdf=invalid_netcdf, |
| 673 | phony_dims=phony_dims, |
| 674 | decode_vlen_strings=decode_vlen_strings, |
| 675 | driver=driver, |
| 676 | driver_kwds=driver_kwds, |
| 677 | storage_options=storage_options, |
| 678 | open_kwargs=open_kwargs, |
| 679 | ) |
| 680 | |
| 681 | # Check for a group and make it a parent if it exists |
| 682 | if group: |
| 683 | parent = NodePath("/") / NodePath(group) |
| 684 | else: |
| 685 | parent = NodePath("/") |
| 686 | |
| 687 | manager = store._manager |
| 688 | groups_dict = {} |
| 689 | for path_group in _iter_nc_groups(store.ds, parent=parent): |
| 690 | group_store = H5NetCDFStore(manager, group=path_group, **kwargs) |
| 691 | store_entrypoint = StoreBackendEntrypoint() |
| 692 | with close_on_error(group_store): |
no test coverage detected