MCPcopy Index your code
hub / github.com/pydata/xarray / set_dimensions

Method set_dimensions

xarray/backends/common.py:581–614  ·  view source on GitHub ↗

This provides a centralized method to set the dimensions on the data store. Parameters ---------- variables : dict-like Dictionary of key/value (variable name / xr.Variable) pairs unlimited_dims : list-like List of dimension n

(self, variables, unlimited_dims=None)

Source from the content-addressed store, hash-verified

579 writer.add(source, target)
580
581 def set_dimensions(self, variables, unlimited_dims=None):
582 """
583 This provides a centralized method to set the dimensions on the data
584 store.
585
586 Parameters
587 ----------
588 variables : dict-like
589 Dictionary of key/value (variable name / xr.Variable) pairs
590 unlimited_dims : list-like
591 List of dimension names that should be treated as unlimited
592 dimensions.
593 """
594 if unlimited_dims is None:
595 unlimited_dims = set()
596
597 parent_dims = self.get_parent_dimensions()
598 existing_dims = self.get_dimensions()
599
600 dims = {}
601 for v in unlimited_dims: # put unlimited_dims first
602 dims[v] = None
603 for v in variables.values():
604 dims |= v.sizes
605
606 for dim, length in dims.items():
607 if dim in existing_dims and length != existing_dims[dim]:
608 raise ValueError(
609 "Unable to update size for existing dimension"
610 f"{dim!r} ({length} != {existing_dims[dim]})"
611 )
612 elif dim not in existing_dims and length != parent_dims.get(dim):
613 is_unlimited = dim in unlimited_dims
614 self.set_dimension(dim, length, is_unlimited)
615
616 def sync(self):
617 """Write all buffered data to disk."""

Callers 1

storeMethod · 0.95

Calls 6

set_dimensionMethod · 0.95
itemsMethod · 0.80
get_parent_dimensionsMethod · 0.45
get_dimensionsMethod · 0.45
valuesMethod · 0.45
getMethod · 0.45

Tested by

no test coverage detected