act.qc.QCFilter.get_qc_test_mask#
- QCFilter.get_qc_test_mask(var_name=None, test_number=None, qc_var_name=None, flag_value=False, return_index=False)[source]#
Returns a numpy array of False or True where a particular flag or bit is set in a numpy array. Must set var_name or qc_var_name when calling.
- Parameters:
var_name (str or None) – Data variable name.
test_number (int) – Test number to return array where test is set.
qc_var_name (str or None) – Quality control variable name. Ignored if var_name is set.
flag_value (boolean) – Switch to use flag_values integer quality control.
return_index (boolean) – Return a numpy array of index numbers into QC array where the test is set instead of False or True mask.
- Returns:
test_mask (numpy bool array or numpy integer array) – A numpy boolean array with False or True where the test number or bit was set, or numpy integer array of indexes where test is True.
Examples
from act.io.arm import read_arm_netcdf from act.tests import EXAMPLE_IRT25m20s ds = read_arm_netcdf(EXAMPLE_IRT25m20s) var_name = "inst_up_long_dome_resist" result = ds.qcfilter.add_test( var_name, index=[0, 1, 2], test_meaning="Birds!" ) qc_var_name = result["qc_variable_name"] mask = ds.qcfilter.get_qc_test_mask( var_name, result["test_number"], return_index=True ) print(mask) array([0, 1, 2]) mask = ds.qcfilter.get_qc_test_mask(var_name, result["test_number"]) print(mask) array([True, True, True, ..., False, False, False]) data = ds[var_name].values print(data[mask]) array([7.84, 7.8777, 7.8965], dtype=float32) import numpy as np data[mask] = np.nan print(data) array([nan, nan, nan, ..., 7.6705, 7.6892, 7.6892], dtype=float32)