MCPcopy
hub / github.com/pydata/xarray / _replace_node

Method _replace_node

xarray/core/datatree.py:918–945  ·  view source on GitHub ↗
(
        self: DataTree,
        data: Dataset | Default = _default,
        children: dict[str, DataTree] | Default = _default,
    )

Source from the content-addressed store, hash-verified

916 self._close = close
917
918 def _replace_node(
919 self: DataTree,
920 data: Dataset | Default = _default,
921 children: dict[str, DataTree] | Default = _default,
922 ) -> None:
923 ds = self.to_dataset(inherit=False) if data is _default else data
924
925 if children is _default:
926 children = self._children
927
928 for child_name in children:
929 if child_name in ds.variables:
930 raise ValueError(f"node already contains a variable named {child_name}")
931
932 parent_ds = (
933 self.parent._to_dataset_view(rebuild_dims=False, inherit=True)
934 if self.parent is not None
935 else None
936 )
937 check_alignment(self.path, ds, parent_ds, children)
938
939 if data is not _default:
940 self._set_node_data(ds)
941
942 if self.parent is not None:
943 _deduplicate_inherited_coordinates(self, self.parent)
944
945 self.children = children
946
947 def _copy_node(
948 self, inherit: bool, deep: bool = False, memo: dict[int, Any] | None = None

Callers 3

datasetMethod · 0.95
updateMethod · 0.95
drop_nodesMethod · 0.80

Calls 5

to_datasetMethod · 0.95
_set_node_dataMethod · 0.95
check_alignmentFunction · 0.85
_to_dataset_viewMethod · 0.80

Tested by

no test coverage detected