shnitsel.io.shnitsel.format_reader#

Attributes#

Classes#

ShnitselFormatInformation

Information to keep track of relevant information for

ShnitselFormatReader

Class for providing the Shnitsel format reading functionality in the standardized FormatReader interface

Module Contents#

class ShnitselFormatInformation#

Bases: shnitsel.io.format_reader_base.FormatInformation

Information to keep track of relevant information for

_shnitsel_default_pattern_regex = None#
_shnitsel_default_pattern_glob = '*.nc'#
DataType#
class ShnitselFormatReader#

Bases: shnitsel.io.format_reader_base.FormatReader

Class for providing the Shnitsel format reading functionality in the standardized FormatReader interface

find_candidates_in_directory(path)#

Function to return a all potential matches for the current file format within a provided directory at path. Parameters

Returns:

  • list[pathlib.Path] – A list of paths that should be checked in detail for whether they represent the format of this FormatReader.

  • None – If no potential candidates were found

Parameters:

path (shnitsel.io.shared.helpers.PathOptionsType)

Return type:

list[pathlib.Path] | None

check_path_for_format_info(path, hints_or_settings=None)#

Check if the path is a Shnitsel-style netcdf file

Designed for a single input file

Parameters:
  • path (PathOptionsType) – The path to check for being a Shnitsel-style netcdf file

  • hints_or_settings (dict | None, optional) – Configuration options provided to the reader by the user, by default None

Returns:

The object holding all relevant format information for the path contents if it represents a Shnitsel-style NetCDF file

Return type:

FormatInformation

Raises:
read_from_path(path, *, format_info, loading_parameters=None, expect_dtype=None)#

Read a shnitsel-style file from path.

Implements FormatReader.read_from_path(). Designed for a single input file.

Parameters:
  • path (pathlib.Path) – Path to a shnitsel-format .nc file.

  • format_info (FormatInformation) – Format information on the provided path that has been previously parsed.

  • loading_parameters (LoadingParameters | None, optional) – Loading parameters to e.g. override default state names, units or configure the error reporting behavior, by default None

  • expect_dtype (type[DataType] | TypeForm[DataType] | None, optional) – An optional parameter to specify the return type. For shnitsel-style NetCDF files, the return type can be pretty much arbitrary. This type should specify either the type of the full result or the type of data entries in a hierarchical ShnitselDB structure.

Returns:

  • xr.Dataset

  • | ShnitselDataset

  • | SupportsFromXrConversion

  • | TreeNode[Any, ShnitselDataset | SupportsFromXrConversion | xr.Dataset]

  • | TreeNode[Any, DataType]

  • | Sequence[xr.Dataset | ShnitselDataset | SupportsFromXrConversion]

  • | DataType

  • | None – The data stored in the shnitsel-style file. Can be any kind of derived data, deserializable data from datasets, raw datasets or a deserialized hierarchy of the desired types.

Raises:
  • ValueError – Not enough loading information was provided via path and format_info, e.g. if both are None.

  • FileNotFoundError – Path was not found or was not of appropriate Shnitsel-style NetCDF format

Return type:

xarray.Dataset | xarray.DataArray | shnitsel.data.dataset_containers.shared.ShnitselDataset | shnitsel.data.xr_io_compatibility.SupportsFromXrConversion | shnitsel.data.tree.node.TreeNode[Any, shnitsel.data.dataset_containers.shared.ShnitselDataset | shnitsel.data.xr_io_compatibility.SupportsFromXrConversion | xarray.Dataset | xarray.DataArray] | shnitsel.data.tree.node.TreeNode[Any, DataType] | Sequence[xarray.Dataset | shnitsel.data.dataset_containers.shared.ShnitselDataset | shnitsel.data.xr_io_compatibility.SupportsFromXrConversion] | DataType | None

get_units_with_defaults(unit_overrides=None)#

Apply units to the default unit dictionary of the format SHNITSEL

Parameters:

unit_overrides (dict[str, str] | None, optional) – Units denoted by the user to override format default settings. Defaults to None.

Raises:

NotImplementedError – The class does not provide this functionality yet

Returns:

The resulting, overridden default units

Return type:

dict[str, str]