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

Class NetCDF4DataStore

xarray/backends/netCDF4_.py:392–677  ·  view source on GitHub ↗

Store for reading and writing data via the Python-NetCDF4 library. This store supports NetCDF3, NetCDF4 and OpenDAP datasets.

Source from the content-addressed store, hash-verified

390
391
392class NetCDF4DataStore(WritableCFDataStore):
393 """Store for reading and writing data via the Python-NetCDF4 library.
394
395 This store supports NetCDF3, NetCDF4 and OpenDAP datasets.
396 """
397
398 __slots__ = (
399 "_filename",
400 "_group",
401 "_manager",
402 "_mode",
403 "autoclose",
404 "format",
405 "is_remote",
406 "lock",
407 )
408
409 def __init__(
410 self, manager, group=None, mode=None, lock=NETCDF4_PYTHON_LOCK, autoclose=False
411 ):
412 import netCDF4
413
414 if isinstance(manager, netCDF4.Dataset):
415 if group is None:
416 root, group = find_root_and_group(manager)
417 else:
418 if type(manager) is not netCDF4.Dataset:
419 raise ValueError(
420 "must supply a root netCDF4.Dataset if the group "
421 "argument is provided"
422 )
423 root = manager
424 manager = DummyFileManager(root, lock=NETCDF4_PYTHON_LOCK)
425
426 self._manager = manager
427 self._group = group
428 self._mode = mode
429 self.format = self.ds.data_model
430 self._filename = self.ds.filepath()
431 self.is_remote = is_remote_uri(self._filename)
432 self.lock = ensure_lock(lock)
433 self.autoclose = autoclose
434
435 def get_child_store(self, group: str) -> Self:
436 if self._group is not None:
437 group = os.path.join(self._group, group)
438 return type(self)(
439 self._manager,
440 group=group,
441 mode=self._mode,
442 lock=self.lock,
443 autoclose=self.autoclose,
444 )
445
446 @classmethod
447 def open(
448 cls,
449 filename,

Callers 1

open_groups_as_dictMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…