Flux Levels

You are here:

Important Updates

  • 9 Aug 2020: Eddypro version 7 now outputs a fully formatted FLUXNET file (*_fluxnet_*) that can in most cases be directly uploaded for sharing. The overview has been adjusted accordingly.
    Update 18 Aug 2020: Despite its name, the *_fluxnet_* from EddyPro cannot directly be uploaded for sharing in FLUXNET. It still has to be adjusted following the EFDC guidelines.
  • 29 Apr 2019: Important update: FLUXNET provides Level-3 and Level-4 fluxes. The folder structure on the grasslandserver and this page were edited to be in line with FLUXNET standards.



This page gives an overview of the different flux levels that are available. This categorization will be used starting in February 2019. The purpose is to give more information about which fluxes can be considered “final” and about the processing chain that is needed to achieve final, gap-filled flux products.


Level-0 – Preliminary Flux Calculations And Tests (PI)

Or: “what you do is up to you”. No rules here. These fluxes are calculated throughout the year, on-demand by the SRPs and also automatically for the QuickViews. Mainly used to check in on the site, e.g. if data are complete, if fluxes look plausible etc. Calculations are less strict than Level-1, e.g. the time window in which the lag time is searched is often much larger (20s+) to check if the lag is still found as expected. This information of lag times can then be used in Level-1 to narrow the time window to a more plausible range (typically 5s). Also, some settings might still not be final, e.g. some instrumet settings (vertical separation of the IRGA) and to shorten calculation time the spectral correction might be set e.g. to Moncrieff et al. (1997), which is faster than e.g. Fratini et al. (2012) that is used for Level-1 calculations for some sites (IRGA72). Level-0 fluxes are currently calculated by the SRPs on the RDSnx (on-demand) and by the VPC for automatic fluxes shown in the QuickViews.


Level-1 – Final Flux Calculations In EddyPro (PI)

Basis for Level-2. Strictly speaking, these calculations are independent from Level-0, but insights from Level-0 are used to improve Level-1 calculations, such as “Is the defined time window for lag search appropriate?”. These calculations make use of an additional input file that contains 6 meteo parameters (TA, PA, RH, SW_IN, LW_IN, PPFD_IN) that can be used to improve flux calculations.

Self-heating correction for IRGA75 fluxes

Fluxes calculated with the IRGA75 potentially need an additional correction after Level-1 (more important for forests than grasslands) because of the self-heating of the instrument (Burba et al., 2008). Although this correction could be done in EddyPro, it is currently implemented separately after the EddyPro calculations, if needed. The reason for this is because the implementation of this correction in EddyPro also corrects fluxes during time periods with warm temperatures, which should not be the case.

Typical differences between Level-0 and Level-1 fluxes

Level-1 fluxes have:

  • time window for lag search is narrower, e.g. 5 sec instead of 10 sec
  • different spectral correction, e.g. Fratini et al. (2012) instead of Moncrieff et al. (1997)
  • 6 meteo parameters as additional input
  • additional output such as random uncertainty
  • sensor separation settings, i.e. the distance between SA and GA is given as accurately as possible
  • correction for self-heating applied (for IRGA75 fluxes, if deemed necessary)

Note that after Level-1, the calculated fluxes do not change anymore.


Level-2 – Extended QC flags (PI)

Basis for Level-3. These are the same fluxes as in Level-1, but an additional, extended quality flag is added to the output. To do this, a QA/QC script is used to read-in Level-1 flux results and the additional QA/QC information that is already in the file but not part of the default EddyPro “qc_” quality flag. For example, during this step, the “Signal Strength” of the IRGA72 is included in the extended quality flag, and flux values outside a physicall plausible range are flagged, e.g. CO2 fluxes > 50 umol m-2 s-1 and CO2 fluxes < -50 umol m-2 s-1 are flagged as bad data due to unrealistic values.

Important: u* filtering is not considered in the Level-2 quality flag because wrong u* thresholds have the potential to remove a lot of data if not set appropriately, and since there are several approaches how to select the best u* threshold (FLUXNET also output several columns of CO2 fluxes with different u* thresholds and methods), this is not included by default in this step.


Level-3 – NEE And Extended QC flags (PI, FLUXNET)

Basis for Level-4. Calculation of NEE, additional QC flags related to spikes and u* are considered. No calculated fluxes are changed. Level-3 fluxes are produced on-demand for publications by the PI or by FLUXNET. In this step, also the storage terms are considered and NEE is calculated (important for forests; NEE = CO2 flux + storage term; the storage term is ideally calculated from profile measurements, but in case these are not available the EddyPro one-point storage term is used; negligible for grasslands).

The Level-3 data are standard files with a selected number of variables with NEE calculated (Fc+Sc) and quality flags related to spikes and ustar filtering. Only flags are added and the data are not changed.

Source: EFDC


Level-4 – Filtering, Gap-Filling, Partitioning (PI, FLUXNET)

Application of QC flags, gap-filling, partitioning, aggregation to different time resolution. Done by the PI as needed or by FLUXNET. Keep in mind that CO2 gap-filling is most likely done with a temperature-dependent model. Level-3 fluxes can be directly downloaded from FLUXNET.

[…] Level-4 data are filtered, gapfilled and partitioned and aggregated at different time resolutions, from halfhourly to yearly.

Source: EFDC


FLUXNET Data Sharing

Which data do we upload to FLUXNET / EFDC?

  • In most cases, we directly upload the *_fluxnet_* file from Level-1 calculations (since EddyPro 7).  Despite its name, the *_fluxnet_* file cannot directly be uploaded for sharing in FLUXNET. It still has to be adjusted following the EFDC guidelines (note the required timestamp and variable names with _1_1_1, also only upload most relevant flux variables from this file, not all of them).
  • In some cases, it might be necessary to remove some clearly wrong data in the *_fluxnet_* file before upload, e.g. when we are sure that a sensor was clearly defective but still produced data and erroneous fluxes were calculated. In this case, the Level-1 FLUXNET file is adjusted (erroneous fluxes set to -9999) and saved as Level-2 FLUXNET file, which is then shared with FLUXNET.

General Info

  • Previously (before 2020) we shared the Level-2 fluxes with the extended QC flag. With the new dedicated FLUXNET file from EddyPro, the QC flag extension is no longer necessary. The FLUXNET file contains extensive information about the processing. In addition, since the ETH logging system stops logging when the signal from the gas analyzer is too weak, it is no longer necessary to include the signal strength quality check separately. Other checks that we previously included before uploading to FLUXNET were raw data checks, e.g. dropouts. Due to the numerous output columns in the FLUXNET file there is a lot of additional data information regarding raw data.
  • Important: FLUXNET needs fluxes that are not oulier-removed and not u*-filtered and not gap-filled and not partitioned because they apply their scripts to perform all of these steps! Only when data are clearly wrong it is recommended to set the data to -9999 in the data files before upload.
  • In FLUXNET / EFDC, the understand the uploaded data as Level-2 data. In our case, we can directly upload our Level-1 data directly in most cases.
    • If the Level-1 data contains erroneous fluxes that need to be removed, those fluxes are set to -9999 and the adjusted file is stored as Level-2 data on our server and also uploaded to FLUXNET.
    • Keep in mind that we mostly upload our Level-1 data, although FLUXNET / EFDC always understands uploaded data as (their) Level-2:

Level-2 data are original data submitted by the PI and checked/filtered only for out-of-range values or clearly wrong data. The variables available are listed in the table here below and are provided as ASCII file with missing values reported as -9999 and timestamp indicating the end of the averaging period. The file produced has in the first line the variables codes.
– Source: EFDC

Example: Processing Steps

The processing steps in FLUXNET are approximately like this:

  1. Level-1 fluxes are uploaded by PI (since EddyPro version 7 the adjusted Level-1 *_fluxnet_* file produced by EddyPro is uploaded to FLUXNET)
  2. Level-3 produced by FLUXNET
    1. calculation of NEE (storage correction, gives NEE, Papale et al., 2006)
    2. extension of QC flags (spikes, u* filtering flags to filter for low-turbulence conditions, creates additional data gaps)
  3. Level-4 produced by FLUXNET
    1. application of QC flags, e.g. spike removal (Papale et al., 2006)
    2. gap-filling
    3. partitioning (using NEE: Gross Primary Production, GPP; Terrestrial Ecosystem Respiration, TER)
    4. aggregation to different time resolutions

Further reading: Wutzler et al. (2018)