Source code for rook.operations.subset

"""Subset operation."""

from clisops.ops.subset import subset as clisops_subset
from clisops.parameter import (
    area_parameter,
    level_parameter,
    time_components_parameter,
    time_parameter,
)

from .base import Operation, resolve_collection

__all__ = ["Subset", "subset"]


[docs] class Subset(Operation): def _resolve_params(self, collection, **params): self.collection = resolve_collection(collection) self.params = { "area": area_parameter.AreaParameter(params.get("area")), "level": level_parameter.LevelParameter(params.get("level")), "time": time_parameter.TimeParameter(params.get("time")), "time_components": time_components_parameter.TimeComponentsParameter(params.get("time_components")), }
[docs] def get_operation_callable(self): return clisops_subset
[docs] def subset( collection, time=None, area=None, level=None, time_components=None, output_dir=None, output_type="netcdf", split_method="time:auto", file_namer="standard", ): return Subset(**locals()).calculate()