libera_utils.io.netcdf#

Module containing utilities for writing Libera-conforming NetCDF4 data products

Functions

write_libera_data_product(...[, strict])

Write a Libera data product NetCDF4 file that conforms to data product definition requirements

Classes

NetcdfEngine(value)

String enum class for our allowed NetCDF engines for xarray

class libera_utils.io.netcdf.NetcdfEngine(value)#

String enum class for our allowed NetCDF engines for xarray

Methods

capitalize(/)

Return a capitalized version of the string.

casefold(/)

Return a version of the string suitable for caseless comparisons.

center(width[, fillchar])

Return a centered string of length width.

count(sub[, start[, end]])

Return the number of non-overlapping occurrences of substring sub in string S[start:end].

encode(/[, encoding, errors])

Encode the string using the codec registered for encoding.

endswith(suffix[, start[, end]])

Return True if S ends with the specified suffix, False otherwise.

expandtabs(/[, tabsize])

Return a copy where all tab characters are expanded using spaces.

find(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

format(*args, **kwargs)

Return a formatted version of S, using substitutions from args and kwargs.

format_map(mapping)

Return a formatted version of S, using substitutions from mapping.

index(sub[, start[, end]])

Return the lowest index in S where substring sub is found, such that sub is contained within S[start:end].

isalnum(/)

Return True if the string is an alpha-numeric string, False otherwise.

isalpha(/)

Return True if the string is an alphabetic string, False otherwise.

isascii(/)

Return True if all characters in the string are ASCII, False otherwise.

isdecimal(/)

Return True if the string is a decimal string, False otherwise.

isdigit(/)

Return True if the string is a digit string, False otherwise.

isidentifier(/)

Return True if the string is a valid Python identifier, False otherwise.

islower(/)

Return True if the string is a lowercase string, False otherwise.

isnumeric(/)

Return True if the string is a numeric string, False otherwise.

isprintable(/)

Return True if the string is printable, False otherwise.

isspace(/)

Return True if the string is a whitespace string, False otherwise.

istitle(/)

Return True if the string is a title-cased string, False otherwise.

isupper(/)

Return True if the string is an uppercase string, False otherwise.

join(iterable, /)

Concatenate any number of strings.

ljust(width[, fillchar])

Return a left-justified string of length width.

lower(/)

Return a copy of the string converted to lowercase.

lstrip([chars])

Return a copy of the string with leading whitespace removed.

maketrans(x[, y, z])

Return a translation table usable for str.translate().

partition(sep, /)

Partition the string into three parts using the given separator.

removeprefix(prefix, /)

Return a str with the given prefix string removed if present.

removesuffix(suffix, /)

Return a str with the given suffix string removed if present.

replace(old, new[, count])

Return a copy with all occurrences of substring old replaced by new.

rfind(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rindex(sub[, start[, end]])

Return the highest index in S where substring sub is found, such that sub is contained within S[start:end].

rjust(width[, fillchar])

Return a right-justified string of length width.

rpartition(sep, /)

Partition the string into three parts using the given separator.

rsplit(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

rstrip([chars])

Return a copy of the string with trailing whitespace removed.

split(/[, sep, maxsplit])

Return a list of the substrings in the string, using sep as the separator string.

splitlines(/[, keepends])

Return a list of the lines in the string, breaking at line boundaries.

startswith(prefix[, start[, end]])

Return True if S starts with the specified prefix, False otherwise.

strip([chars])

Return a copy of the string with leading and trailing whitespace removed.

swapcase(/)

Convert uppercase characters to lowercase and lowercase characters to uppercase.

title(/)

Return a version of the string where each word is titlecased.

translate(table, /)

Replace each character in the string using the given translation table.

upper(/)

Return a copy of the string converted to uppercase.

zfill(width, /)

Pad a numeric string with zeros on the left, to fill a field of the given width.

classmethod get_from_config() Literal['netcdf4', 'h5netcdf']#

Retrieve the current netcdf engine config from the package configuration

libera_utils.io.netcdf.write_libera_data_product(data_product_definition: str | CloudPath | Path, data: dict[str, ndarray[Any, dtype[_ScalarType_co]]] | Dataset, output_path: str | CloudPath | Path, time_variable: str, strict: bool = True) LiberaDataProductFilename#

Write a Libera data product NetCDF4 file that conforms to data product definition requirements

Parameters:
  • data_product_definition (str | PathType) – Path to the data product definition against which to verify conformance

  • data (dict[str, NDarray] | xr.Dataset) – Data mapping variable names to numpy data arrays or a fully formed L1A xarray Dataset.

  • output_path (str | PathType) – Base path (directory or S3 prefix) at which to write the product file

  • time_variable (str) – Name of variable that indicates time. This is used to generate the start and end time for the filename.

  • strict (bool) – Default True. Raises an exception if the final Dataset doesn’t conform to the data product definition.

Returns:

Filename object containing the full path to the written NetCDF4 data product file.

Return type:

LiberaDataProductFilename