(
self: DataTree,
data: Dataset | Default = _default,
children: dict[str, DataTree] | Default = _default,
)
| 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 |
no test coverage detected