Skip to content

check_array_mask_threshold

Classes:

Name Description
CheckArrayMaskThreshold

Comparitor

Classes#

CheckArrayMaskThreshold #

Bases: QualityChecker


Filters out velocity data where correlation is below a threshold in the beam correlation data.

Parameters#

correlation_threshold : numeric The maximum value of correlation to screen, in counts or %


Classes:

Name Description
Parameters

Methods:

Name Description
run

Attributes:

Name Type Description
parameters Parameters

Attributes#

parameters class-attribute instance-attribute #
parameters: Parameters = Parameters()

Classes#

Parameters #

Bases: BaseModel

Attributes:

Name Type Description
comparitor Comparitor
correlation_threshold int
Attributes#
comparitor class-attribute instance-attribute #
comparitor: Comparitor = less_than
correlation_threshold class-attribute instance-attribute #
correlation_threshold: int = 30

Functions#

run #
run(
    dataset: xr.Dataset, variable_name: str
) -> NDArray[bool]
Source code in tsdat/qc/checkers/check_array_mask_threshold.py
def run(self, dataset: xr.Dataset, variable_name: str) -> NDArray[bool]:
    # Get mask based on specified comparitor
    match self.parameters.comparitor:
        case Comparitor.less_than:
            mask = (
                dataset[variable_name].values
                < self.parameters.correlation_threshold
            )
        case Comparitor.less_than_eq:
            mask = (
                dataset[variable_name].values
                <= self.parameters.correlation_threshold
            )
        case Comparitor.greater_than:
            mask = (
                dataset[variable_name].values
                > self.parameters.correlation_threshold
            )
        case Comparitor.greater_than_eq:
            mask = (
                dataset[variable_name].values
                >= self.parameters.correlation_threshold
            )
        case Comparitor.equal:
            mask = (
                dataset[variable_name].values
                == self.parameters.correlation_threshold
            )
        case Comparitor.not_equal:
            mask = (
                dataset[variable_name].values
                != self.parameters.correlation_threshold
            )
        case _:
            raise ValueError(
                f"`comparitor` parameter of {self.parameters.comparitor} is invalid."
                f" Please specify one of `<`, `<=`, `>`, `>=`, `==`, or `!=`."
            )

    # Combine for 1D velocity variables
    if len(dataset[variable_name].shape) == 1:
        mask = mask.sum(axis=-1).astype(bool)

    return mask

Comparitor #

Bases: str, Enum

Attributes:

Name Type Description
equal
greater_than
greater_than_eq
less_than
less_than_eq
not_equal

Attributes#

equal class-attribute instance-attribute #
equal = '=='
greater_than class-attribute instance-attribute #
greater_than = '>'
greater_than_eq class-attribute instance-attribute #
greater_than_eq = '>='
less_than class-attribute instance-attribute #
less_than = '<'
less_than_eq class-attribute instance-attribute #
less_than_eq = '<='
not_equal class-attribute instance-attribute #
not_equal = '!'