Level-2: Quality flag expansion#
Info
Level-2 creates additional quality flags. No data are removed in this step, only the flags are created.
Based on Level-1 (final) flux calculations
Builds upon flux results (fluxnet files) from EddyPro
Individual flags#
See notebooks for more details
SSITC test flag#
Combination of the two partial tests steady state test and developed turbulent conditions test, from EddyPro output. (Mauder and Foken, 2006)
applied to: all fluxes
Exception: flags where this test resulted in
1
were set to2
during the time period between2022-05-01
and2023-09-30
.During this time period, there was a strange issue with the sonic anemometer where the vertical wind component
W_UNROT
(unrotated, the directly measured W) became negative while during all other time periods the wind was more positive. NEE was clearly affected by this issue, showing some high uptake values during night, therefore also corrupting the gap-filling algorithm later on. Although this was not so visible during the day, we must assume that this effect was also present during daytime. We found that the most problematic time periods can be filtered out by setting the SSITC flag to2
where the flag was1
. Therefore we remove all flux values where the SSITC test was1
. This issue is also visible in the second rotation angleROT_PITCH
with slightly different angles than before and after this period.
Example output from diive for NEE (in this step still called
FC
):SSITC TEST: Generated new flag variable FLAG_L2_FC_SSITC_TEST, values taken from output variable FC_SSITC_TEST ...
Gas completeness test flag#
Check completeness of the variable that was used to calculate the respective flux, calculated in diive. (Sabbatini et al., 2018)
applied to: all fluxes
Example output from diive for NEE (in this step still called
FC
):FLUX BASE VARIABLE COMPLETENESS TEST: Generated new flag variable FLAG_L2_FC_COMPLETENESS_TEST, newly calculated from variable CO2, with flag 0 (good values) where available number of records for CO2 >= 0.99, flag 1 (ok values) >= 0.97 and < 0.99, flag 2 (bad values) < 0.97...
Spectral correction factor test flag#
using the
SCF
(spectral correction factor) from EddyPro output, then calculated in diive (Sabbatini et al., 2018)applied to: all fluxes
Example output from diive for NEE (in this step still called
FC
):SPECTRAL CORRECTION FACTOR TEST: Generating new flag variable FLAG_L2_FC_SCF_TEST, newly calculated from output variable FC_SCF, withflag 0 (good values) where FC_SCF < 2, flag 1 (ok values) where FC_SCF >= 2 and < 4, flag 2 (bad values) where FC_SCF >= 4...
Signal strength test flag#
for open path IRGAs, this test checks if the instrument’s
AGC
(automatic gain control, a measure of signal quality) is above a certain value, whereby high values stand for bad signal (note that for (en)closed path IRGAs it is typically the other way round with high values showing good signal strenth), fluxes whereAGC
was above 90% were discarded. In this case, the name of the custom variable wasCUSTOM_AGC_MEAN
and part of the EddyPro output files, the flag was then calculated in diive.applied to: open path IRGA fluxes (CO2, H2O)
Note that the water fluxes
LE
andET
are direct conversions of the calculated H2O fluxExample output from diive for NEE (in this step still called
FC
):SIGNAL STRENGTH TEST: Generating new flag variable FLAG_L2_FC_SIGNAL_STRENGTH_TEST, newly calculated from output variable CUSTOM_AGC_MEAN, with flag 0 (good values) where CUSTOM_AGC_MEAN <= 90, flag 2 (bad values) where CUSTOM_AGC_MEAN > 90 ...
Raw data screening test flags (multiple)#
applied results from the EddyPro output file for spikes, amplitude and drop-outs, see also the official EddyPro help for more info here. (Vickers and Mahrt, 1997)
applied to: all fluxes
Example output from diive for NEE (in this step still called
FC
):RAW DATA TEST: Generated new flag variable FLAG_L2_FC_CO2_VM97_SPIKE_HF_TEST, values taken from output variable CO2_VM97_TEST from position 1, based on CO2, with flag 0 (good values) where test passed, flag 2 (bad values) where test failed (for hard flags) or flag 1 (ok values) where test failed (for soft flags) ...
RAW DATA TEST: Generated new flag variable FLAG_L2_FC_CO2_VM97_AMPLITUDE_RESOLUTION_HF_TEST, values taken from output variable CO2_VM97_TEST from position 2, based on CO2, with flag 0 (good values) where test passed, flag 2 (bad values) where test failed (for hard flags) or flag 1 (ok values) where test failed (for soft flags) ...
RAW DATA TEST: Generated new flag variable FLAG_L2_FC_CO2_VM97_DROPOUT_TEST, values taken from output variable CO2_VM97_TEST from position 3, based on CO2, with flag 0 (good values) where test passed, flag 2 (bad values) where test failed (for hard flags) or flag 1 (ok values) where test failed (for soft flags) ...
Angle-of-attack (AoA) test flag#
The AoA flag was only applied during certain time periods:
between
2008-01-01
and2010-01-01
between
2016-03-01
and2016-05-01
between
2021-12-10
and2021-12-23
During these time periods, half-hourly fluxes where filtered using the AoA flag.
Normally not applied by default, but in this case there were time periods when the sonic’s vertical wind velocity produced unrealistic wind values. After some testing, the AoA flag was deemed appropriate to filter out the most severe (erratic) time periods.
Applied to: all fluxes.
Note: for flux calculations, the setting in EddyPro was relaxed and accepted minimum and maximum angles of attack of
-35°
and+35°
, respectively, instead of the default-30°
and+30°
. Reason: this test is relatively strict and removes many data points, however, based on tests from another group the relaxed settings seemed defensible, especially since this flag was only applied to obviously flawed time periods.Example output from diive for NEE (in this step still called
FC
):
ANGLE OF ATTACK TEST: will be applied on the following dates only: [['2008-01-01', '2010-01-01'], ['2016-03-01', '2016-05-01']]
ANGLE OF ATTACK TEST: Generated new flag variable FLAG_L2_FC_VM97_AOA_HF_TEST, values taken from output variable None, with flag 0 (good values) where test passed, flag 2 (bad values) where test failed ...
QCF: overall quality control flag after Level-2 tests#
See here for a description of how QCF
is calculated.
After the creation of the individual quality flags, they are combined into one overall quality control flag QCF
. However, the QCF
at this step is not the final overall quality flag. It is only needed to temporarily remove already rejected values from the dataset before outlier detection in Level-3.2. This means the outlier detection algorithms run on temporarily filtered data.
For building the final overall flag after Level-3.3, the individual test results from Level-2 are used in combination with quality flags from Level-3.2 and Level-3.3.