============ Introduction ============ This package provides tools for running quality control (QC) on rain gauge data in a flexible, user-driven way. It is designed to help everyone, from individual researchers to industrial-scale users, apply standardised QC checks to rainfall observations whether you have one rain gauge or a whole network of rain gauges. At its core, the package offers: - 27 QC checks for rainfall data as of v0.2.5 (25 from `IntenseQC `_ and 2 from `pyPWSQC `_) - Customizable parameters – adjust thresholds, streak or accumulation lengths, and distances to neighboring gauges - A modular QC framework – users can select which QC methods to apply, and configure them according to their project’s requirements This approach allows you to build a tailored QC pipeline: include only the checks you need, set thresholds that match your research purposes, and run consistent, reproducible quality control. What type of checks are in the package? --------------------------------------- The *RainfallQC* package breaks down the QC checks into four distinct types: - **Gauge checks** – For detecting abnormalities in summary and descriptive statistics. - **Comparison checks** – For detecting abnormalities based on rainfall benchmarks. - **Time-series checks** – For detecting abnormalities in patterns of the data record. - **Neighbourhood checks** – For detecting abnormalities based on measurements in neighbouring rain gauges. - **pypwsqc filters** – For applying quality assurance protocols and filters for rainfall data. These different types of rainfall checks are either rainfall-specific or not and need different amounts of data to run (Figure 1). .. figure:: images/rainfall_qc_quadrant.png :align: center :alt: rainfallQC quadrant Figure 1. Types of checks within RainfallQC All QC checks in package ------------------------ These are the quality control checks currently implemented in the package: .. table:: All QC checks :widths: auto :align: left ========================================================================================================================= ==================== ==================================================================================== =============== Check Sub-module QC Framework Note ========================================================================================================================= ==================== ==================================================================================== =============== `Percentiles `_ Gauge checks `IntenseQC `_ QC1 `K-largest `_ Gauge checks IntenseQC QC2 `Days of week `_ Gauge checks IntenseQC QC3 `Hours of day `_ Gauge checks IntenseQC QC4 `Intermittency `_ Gauge checks IntenseQC QC5 `Breakpoints `_ Gauge checks IntenseQC QC6 `Minimum value change `_ Gauge checks IntenseQC QC7 `R99p `_ Comparison checks IntenseQC QC8 `PRCPTOT `_ Comparison checks IntenseQC QC9 `World Record `_ Comparison checks IntenseQC QC10 `Rx1day `_ Comparison checks IntenseQC QC11 `CDD (Dry spells) `_ Timeseries checks IntenseQC QC12 `Daily accumulations `_ Timeseries checks IntenseQC QC13 `Monthly accumulations `_ Timeseries checks IntenseQC QC14 `Streaks `_ Timeseries checks IntenseQC QC15 `Daily neighbours (wet) `_ Neighbourhood checks IntenseQC QC16 `Hourly neighbours (wet) `_ Neighbourhood checks IntenseQC QC17 `Daily neighbours (dry) `_ Neighbourhood checks IntenseQC QC18 `Daily neighbours (dry) `_ Neighbourhood checks IntenseQC QC19 `Monthly neighbours `_ Neighbourhood checks IntenseQC QC20 `Timing offset `_ Neighbourhood checks IntenseQC QC21 `Pre-QC affinity index `_ Neighbourhood checks IntenseQC QC22 `Pre-QC pearson correlation `_ Neighbourhood checks IntenseQC QC23 `Daily factor `_ Neighbourhood checks IntenseQC QC24 `Monthly factor `_ Neighbourhood checks IntenseQC QC25 `Faulty Zeros `_ pyPWSQC filters `pyPWSQC `_ FZ `Station Outliers `_ pyPWSQC filters pyPWSQC SO ========================================================================================================================= ==================== ==================================================================================== ===============