QC Flag Definitions - OzFlux/PyFluxPro GitHub Wiki

PyFluxPro QC Flag Definitions

PyFluxPro assigns a quality control (QC) flag to every record for every variable. Each QC flag value has a unique definition that allows the user to trace the provenance of a record all of the way through the PyFluxPro processing path. In particular, the QC flag value will tell the user why a particular data point has been rejected and what method has been used to gap fill the missing data at a later stage.

The QC flags are stored in the netCDF files as the variable name with the suffix "_QCFlag" appended e.g. Fsd_QCFlag is the quality control flag for downwelling shortwave radiation.

There are 2 rules that govern the QC flag value and the analysis that may be supported by the data point, see below:

  1. A QC flag value of 0 indicates an original measurement that has passed all of the quality control checks. These data are recommended for process-based studies.
  2. A QC flag value that ends in 0 (e.g. 10, 20, ... or mod(flag, 10)==0) indicates a measurement that has been changed (e.g. linear correction) or gap filled. Data that has been corrected is recommended for process-based studies. Data that has been gap filled is not recommended for process-based studies but may be used for budget-style studies.

The QC flag definitions are given in the table below.

Flag Definition
0 Data has passed all QC checks
1 Data missing from the L1 input file
2 Failed range check
3 Failed SONIC check, Diag_SONIC flag != 0
4 Failed IRGA check, Diag_IRGA flag != 0 plus dependencies on AGC_IRGA, AH_IRGA_Sd, CO2_IRGA_Sd, AH_IRGA_Vr, CO2_IRGA_Vr
5 Failed diurnal check
6 Date/time range excluded
7 Hour range excluded
8 Value of -9999 (missing data) found with QC flag value of 0
9 Data rejected by EddyPro QC flag check (L2)
10 Linear correction or linear drift correction applied to data (L1, L2, L3)
14 Fco2 rejected during WPL correction due to dependencies (L3)
Fe rejected during WPL correction due to dependencies (L3)
20 Calculated Fn replaced by observed Fn (L3, L4)
21 Missing rotated covariance replaced with non-rotated value (L3)
23 Data rejected during dependency check (L2, L3, L4, L5)
30 Reserved
40 Reserved
50 Gap filled by interpolation (L3, L4, L5, L6)

Table 1: Definition of QC flag values for Levels 1 to 3.

Flag Definition
400 Reserved
410 Gap filled using automatic weather station (AWS) data.
420 Gap filled using ACCESS-G numerical weather prediction (NWP) data.
430 Gap filled using ECMWF Re-Analysis Interim (ERAI) data.
440 Gap filled using ECMWF Re-Analysis 5 (ERA5) data.
450 Gap filled using climatology, interpolated daily (default)
460 Gap filled using climatology, monthly (not implemented)
470 Gap filled using Marginal Distribution Sampling (MDS)

Table 2: Definition of QC flag values for Level 4.

Flag Definition
500 Reserved
501 Reserved
502 Fco2 masked by turbulence filter (flag only used in intermediate variable Fco2_filtered)
510 Flux gap filled using SOLO neural network (windowed)
520 Flux gap filled using SOLO neural network (long gaps)
530 Reserved
540 Reserved
550 Reserved
560 Reserved
570 Flux gap filled using Marginal Distribution Sampling (MDS)

Table 3: Definition of QC flag values for Level 5.

Flag Definition
600 Reserved
601 ER observation masked because Fco2 flag not in [0, 10]
602 ER observation masked because it is day time
610 ER estimated by SOLO neural network from nocturnal, u*-filtered NEE
620 ER estimated using Lloyd & Taylor (1994) from nocturnal, u*-filtered NEE
630 ER estimated using Lasslop et al (2010) from nocturnal, u*-filtered NEE (E0) and both daytime and nighttime NEE (alpha, beta0, VPD0, k, rb)

Table 4: Definition of QC flag values for Level 6.

⚠️ **GitHub.com Fallback** ⚠️