rook.utils.ops package

Operation plumbing package used by rook compatibility layers.

class rook.utils.ops.Average(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

get_operation_callable()[source]
class rook.utils.ops.Concat(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

class rook.utils.ops.Operation(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: object

Base class for all operations.

calculate()[source]
get_operation_callable()[source]
class rook.utils.ops.Regrid(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

get_operation_callable()[source]
class rook.utils.ops.ResultSet(inputs=None)[source]

Bases: object

A class to hold the results from an operation.

add(dset, result)[source]

Add outputs with ds id key and collect file URIs.

class rook.utils.ops.Subset(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

calculate()[source]
rook.utils.ops.average_over_dims(collection, dims=None, ignore_undetected_dims=False, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]
rook.utils.ops.average_shape(collection, shape, variable=None, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]
rook.utils.ops.average_time(collection, freq='year', output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]

Submodules

rook.utils.ops.average module

Operations for averaging data over dimensions, shape or time.

class rook.utils.ops.average.Average(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

get_operation_callable()[source]
rook.utils.ops.average.average_over_dims(collection, dims=None, ignore_undetected_dims=False, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]
rook.utils.ops.average.average_shape(collection, shape, variable=None, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]
rook.utils.ops.average.average_time(collection, freq='year', output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]

rook.utils.ops.base module

Base class for operation execution.

class rook.utils.ops.base.Operation(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: object

Base class for all operations.

calculate()[source]
get_operation_callable()[source]

rook.utils.ops.concat module

class rook.utils.ops.concat.Concat(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

rook.utils.ops.concat.concat(collection, time=None, time_components=None, dims=None, ignore_undetected_dims=False, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True, apply_average=False)[source]
rook.utils.ops.concat.drop_time_bnds(ds: Dataset) Dataset[source]
rook.utils.ops.concat.patched_normalise(collection)[source]

rook.utils.ops.consolidate module

Consolidate file paths for each dataset in a collection.

rook.utils.ops.consolidate.consolidate(collection, **kwargs)[source]

Find file paths relating to each input dataset.

rook.utils.ops.consolidate.get_files_matching_time_range(time_param, file_paths)[source]

Filter files whose years intersect requested time range.

rook.utils.ops.consolidate.get_year(value, default)[source]

Get a year from a datetime string.

rook.utils.ops.consolidate.get_years_from_file(fpath)[source]

Attempt to extract years from file name or file time axis.

rook.utils.ops.consolidate.to_year(time_string)[source]

Return the year in a time string as an integer.

rook.utils.ops.helpers module

Helper utilities for operation plumbing.

rook.utils.ops.helpers.open_dataset(ds_id, file_paths, apply_fixes=True)[source]

Open an xarray Dataset and optionally apply rook-native fixes.

rook.utils.ops.helpers.ordered_dict()[source]

Return an OrderedDict instance.

rook.utils.ops.helpers.wrap_sequence(obj)[source]

Return a list for scalar inputs and preserve sequences.

rook.utils.ops.normalise module

Normalise datasets and hold operation results.

class rook.utils.ops.normalise.ResultSet(inputs=None)[source]

Bases: object

A class to hold the results from an operation.

add(dset, result)[source]

Add outputs with ds id key and collect file URIs.

rook.utils.ops.normalise.normalise(collection, apply_fixes=True)[source]

Open input collections and apply fixes when requested.

rook.utils.ops.processor module

Dispatch processing operations in serial or parallel mode.

rook.utils.ops.processor.dispatch(operation, dset, **kwargs)[source]

Dispatch the operation to the selected execution mode.

rook.utils.ops.processor.process(operation, dset, mode='serial', **kwargs)[source]

Run processing operation on a dataset.

rook.utils.ops.regrid module

Regrid operation.

class rook.utils.ops.regrid.Regrid(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

get_operation_callable()[source]
rook.utils.ops.regrid.regrid(collection, method='nn', adaptive_masking_threshold=0.5, grid='1deg', output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=True)[source]

rook.utils.ops.subset module

Subset operation with rook-specific fix application.

class rook.utils.ops.subset.Subset(collection, file_namer='standard', split_method='time:auto', output_dir=None, output_type='netcdf', apply_fixes=True, **params)[source]

Bases: Operation

calculate()[source]
rook.utils.ops.subset.subset(collection, time=None, area=None, level=None, time_components=None, output_dir=None, output_type='netcdf', split_method='time:auto', file_namer='standard', apply_fixes=False)[source]