## Welcome to fluxtools V0.5.0
##
## To start the app: run_fluxtools()
## To apply Physical Range Module (PRM) filters: use apply_prm()
##
## For additional help: see ?run_fluxtools, ?apply_prm, browseVignettes('fluxtools')
## To view citation: citation('fluxtools')
fluxtools is an R package that provides an interactive Shiny‐based QA/QC environment for data in the AmeriFlux BASE format. In just a few clicks, you can:
NA
and an R script for
reproducibilityThis vignette shows you how to install, launch, and use the main
Shiny app—run_flux_qaqc()
—and walks through a typical
workflow.
You can install fluxtools from CRAN, or directly from GitHub:
Load fluxtools and launch the QA/QC application:
Example workflow
Upload: Select your AmeriFlux-style CSV (e.g.,
US_VT1_HH_202401010000_202501010000.csv
). Files can be up
to 500MB (larger file sizes might be harder on the Shiny
interface)
Choose Year(s): By default “all” is selected, but you can subset to specific years
Choose variables: TIMESTAMP_START
is on the x-axis by default. Change the y-axis to your variable of
interest (e.g., FC_1_1_1
). The generated R code focuses on
removing the y-axis variable
Select data: Use the box or lasso to select points. This populates the “Current” code box with something like:
Flag data and Accumulate code: With points still selected, click “Flag data.” Selected points turn orange, and code is appended to the “Accumulated” box, allowing multiple selections per session.
Unflag data: Use the box or lasso to de-select points and remove from the Accumulated code box.
Clear Selection: To reset all selections from the current y-variable, click “Clear Selection” to reset the current view.
Switch variables: Change y to any other variable
(e.g., SWC_1_1_1
) and select more points. Click “Flag data”
Code for both variables to appear:
df <- df %>%
mutate(
FC_1_1_1 = case_when(
TIMESTAMP_START == '202401261830' ~ NA_real_,
TIMESTAMP_START == '202401270530' ~ NA_real_,
…
TRUE ~ FC_1_1_1
)
)
df <- df %>%
mutate(
SWC_1_1_1 = case_when(
TIMESTAMP_START == '202403261130' ~ NA_real_,
TIMESTAMP_START == '202403270800' ~ NA_real_,
…
TRUE ~ SWC_1_1_1
)
)
Compare variables: Change to variables you would
like to compare (e.g., change y to TA_1_1_1
and x to
T_SONIC_1_1_1
). The app computes an R² via simple linear
regression. The top R² is based on points before removals, and once data
is selected, a second R² will pop up - calculating the linear regression
assuming the selected points have been removed
Highlight outliers: Use the slider to select ±σ residuals. Click “Select all ±σ outliers” to append them to the Accumulated code. Click “Clear ±σ outliers” to deselect and remove from the code box
Copy all: Click the Copy Icon to the right of the current or accumulated code box and paste into your own R script for documentation
Apply Removals: Click “Apply Removals” to remove
each selected data points, from the current y-variable, to replace
points with NA
in a new .csv (raw data is unaffected),
available using ‘export cleaned data’ and remove these values from
view
Reload original data: Make a mistake or want a fresh start? Click Reload original data to reload the .csv from above to start over
Export cleaned data: Download the cleaned .csv reflecting your confirmed removals. This button will download a zip file containing your .csv, reflecting changes from using the “apply removals” button, and includes a compiled R script with the R code for those removals.
The Physical Range Module (PRM) removes out-of-range
values to NA
based on similar variables
using patterns like ^SWC($|_)
or
^P($|_)
.
Columns containing "QC"
are skipped by default. No columns
are removed.
Source of ranges: AmeriFlux Technical Documents, Table A1 (Physical Range Module).
# tiny demo dataset with a few out-of-range values
set.seed(1)
df <- tibble::tibble(
TIMESTAMP_START = seq.POSIXt(as.POSIXct("2024-01-01", tz = "UTC"),
length.out = 10, by = "30 min"),
SWC_1_1_1 = c(10, 20, 150, NA, 0.5, 99, 101, 50, 80, -3), # bad: 150, 101, -3; 0.5 triggers SWC unit note
P = c(0, 10, 60, NA, 51, 3, 0, 5, 100, -1), # bad: 60, 51, 100, -1
RH_1_1_1 = c(10, 110, 50, NA, 0, 100, -5, 101, 75, 30), # bad: 110, -5, 101
SWC_QC = sample(0:2, 10, replace = TRUE) # QC col should be ignored
)
# To see the Physical Boundary Module (PRM) rules:
get_prm_rules()
## # A tibble: 113 × 6
## family variable min max description units
## <chr> <chr> <dbl> <dbl> <chr> <chr>
## 1 ^COND_WATER($|_) COND_WATER 0 10000 Conductivity of water uS c…
## 2 ^DO($|_) DO 0 NA Dissolved oxygen in water umol…
## 3 ^PCH4($|_) PCH4 0 NA Dissolved methane (CH4) in wat… nmol…
## 4 ^PCO2($|_) PCO2 0 10000 Dissolved carbon dioxide (CO2)… umol…
## 5 ^PN2O($|_) PN2O 0 NA Dissolved nitrous oxide (N2O) … nmol…
## 6 ^PPFD_UW_IN($|_) PPFD_UW_IN 0 2400 Photosynthetic photon flux den… umol…
## 7 ^TW($|_) TW -20 50 Water temperature deg C
## 8 ^DBH($|_) DBH 0 500 Tree diameter at breast height cm
## 9 ^LEAF_WET($|_) LEAF_WET 0 100 Leaf wetness (0-100) %
## 10 ^SAP_DT($|_) SAP_DT -10 10 Sapflow probe temperature diff… deg C
## # ℹ 103 more rows
## PRM summary:
## * P
## expected units: mm, PRM range: 0 to 50
## 4 values set to NA (44.4% of data)
## * RH_1_1_1
## expected units: %, PRM range: 0 to 100
## 3 values set to NA (33.3% of data)
## * SWC_1_1_1
## expected units: %, PRM range: 0 to 100
## 3 values set to NA (33.3% of data)
## # A tibble: 3 × 7
## column family min max n_non_na_before n_replaced pct_replaced
## <chr> <chr> <dbl> <dbl> <int> <int> <dbl>
## 1 P P 0 50 9 4 44.4
## 2 RH_1_1_1 RH 0 100 9 3 33.3
## 3 SWC_1_1_1 SWC 0 100 9 3 33.3
## PRM summary:
## * SWC_1_1_1
## expected units: %, PRM range: 0 to 100
## 3 values set to NA (33.3% of data)
## PRM summary:
## * P
## expected units: mm, PRM range: 0 to 50
## 4 values set to NA (44.4% of data)
## * SWC_1_1_1
## expected units: %, PRM range: 0 to 100
## 3 values set to NA (33.3% of data)
family | variable | min | max | description | units |
---|---|---|---|---|---|
^COND_WATER(\(|_) </td> <td style="text-align:left;"> COND_WATER </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 10000 </td> <td style="text-align:left;"> Conductivity of water </td> <td style="text-align:left;"> uS cm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^DO(\)|_) | DO | 0 | NA | Dissolved oxygen in water | umol L^-1 |
^PCH4(\(|_) </td> <td style="text-align:left;"> PCH4 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Dissolved methane (CH4) in water </td> <td style="text-align:left;"> nmolCH4 mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PCO2(\)|_) | PCO2 | 0 | 10000 | Dissolved carbon dioxide (CO2) in water | umolCO2 mol^-1 |
^PN2O(\(|_) </td> <td style="text-align:left;"> PN2O </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Dissolved nitrous oxide (N2O) in water </td> <td style="text-align:left;"> nmolN2O mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PPFD_UW_IN(\)|_) | PPFD_UW_IN | 0 | 2400 | Photosynthetic photon flux density, underwater, incoming | umolPhotons m^-2 s^-1 |
^TW(\(|_) </td> <td style="text-align:left;"> TW </td> <td style="text-align:right;"> -20 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Water temperature </td> <td style="text-align:left;"> deg C </td> </tr> <tr> <td style="text-align:left;"> ^DBH(\)|_) | DBH | 0 | 500 | Tree diameter at breast height | cm |
^LEAF_WET(\(|_) </td> <td style="text-align:left;"> LEAF_WET </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Leaf wetness (0-100) </td> <td style="text-align:left;"> % </td> </tr> <tr> <td style="text-align:left;"> ^SAP_DT(\)|_) | SAP_DT | -10 | 10 | Sapflow probe temperature difference | deg C |
^T_BOLE(\(|_) </td> <td style="text-align:left;"> T_BOLE </td> <td style="text-align:right;"> -50 </td> <td style="text-align:right;"> 70 </td> <td style="text-align:left;"> Bole temperature </td> <td style="text-align:left;"> deg C </td> </tr> <tr> <td style="text-align:left;"> ^T_CANOPY(\)|_) | T_CANOPY | -50 | 70 | Canopy/surface temperature | deg C |
^CH4(\(|_) </td> <td style="text-align:left;"> CH4 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 15000 </td> <td style="text-align:left;"> Methane (CH4) mole fraction (wet air) </td> <td style="text-align:left;"> nmolCH4 mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^CH4_MIXING_RATIO(\)|_) | CH4_MIXING_RATIO | 0 | 15000 | Methane (CH4) mole fraction (dry air) | nmolCH4 mol^-1 |
^CO(\(|_) </td> <td style="text-align:left;"> CO </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> Carbon monoxide (CO) mole fraction (wet air) </td> <td style="text-align:left;"> nmolCO mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^CO2(\)|_) | CO2 | 150 | 1200 | Carbon dioxide (CO2) mole fraction (wet air) | umolCO2 mol^-1 |
^CO2_SIGMA(\(|_) </td> <td style="text-align:left;"> CO2_SIGMA </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 150 </td> <td style="text-align:left;"> Std. dev. of CO2 mole fraction (wet air) </td> <td style="text-align:left;"> umolCO2 mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^CO2C13(\)|_) | CO2C13 | NA | -6 | Stable isotope delta13C of CO2 (permil) | permil |
^FC(\(|_) </td> <td style="text-align:left;"> FC </td> <td style="text-align:right;"> -100 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> CO2 turbulent flux (no storage correction) </td> <td style="text-align:left;"> umolCO2 m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^FCH4(\)|_) | FCH4 | -500 | 4000 | CH4 turbulent flux (no storage correction) | nmolCH4 m^-2 s^-1 |
^H2O(\(|_) </td> <td style="text-align:left;"> H2O </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Water vapor in mole fraction (wet air) </td> <td style="text-align:left;"> mmolH2O mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^H2O_MIXING_RATIO(\)|_) | H2O_MIXING_RATIO | 0 | 100 | Water vapor in mole fraction (dry air) | mmolH2O mol^-1 |
^H2O_SIGMA(\(|_) </td> <td style="text-align:left;"> H2O_SIGMA </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 15 </td> <td style="text-align:left;"> Std. dev. of water vapor mole fraction </td> <td style="text-align:left;"> mmolH2O mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^N2O(\)|_) | N2O | 0 | NA | N2O mole fraction (wet air) | nmolN2O mol^-1 |
^N2O_MIXING_RATIO(\(|_) </td> <td style="text-align:left;"> N2O_MIXING_RATIO </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> N2O mole fraction (dry air) </td> <td style="text-align:left;"> nmolN2O mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^NO(\)|_) | NO | 0 | NA | NO mole fraction (wet air) | nmolNO mol^-1 |
^NO2(\(|_) </td> <td style="text-align:left;"> NO2 </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> NA </td> <td style="text-align:left;"> NO2 mole fraction (wet air) </td> <td style="text-align:left;"> nmolNO2 mol^-1 </td> </tr> <tr> <td style="text-align:left;"> ^O3(\)|_) | O3 | 0 | NA | O3 mole fraction (wet air) | nmolO3 mol^-1 |
^SC(\(|_) </td> <td style="text-align:left;"> SC </td> <td style="text-align:right;"> -100 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> CO2 storage flux </td> <td style="text-align:left;"> umolCO2 m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^SO2(\)|_) | SO2 | 0 | NA | SO2 mole fraction (wet air) | nmolSO2 mol^-1 |
^FH2O(\(|_) </td> <td style="text-align:left;"> FH2O </td> <td style="text-align:right;"> -10 </td> <td style="text-align:right;"> 20 </td> <td style="text-align:left;"> Water vapor (H2O) turbulent flux (no storage correction) </td> <td style="text-align:left;"> mmolH2O m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^G(\)|_) | G | -250 | 400 | Soil heat flux | W m^-2 |
^H(\(|_) </td> <td style="text-align:left;"> H </td> <td style="text-align:right;"> -450 </td> <td style="text-align:right;"> 900 </td> <td style="text-align:left;"> Sensible heat flux (no storage correction) </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^LE(\)|_) | LE | -450 | 900 | Latent heat flux (no storage correction) | W m^-2 |
^SG(\(|_) </td> <td style="text-align:left;"> SG </td> <td style="text-align:right;"> -100 </td> <td style="text-align:right;"> 250 </td> <td style="text-align:left;"> Soil heat storage flux above plates </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^SH(\)|_) | SH | -150 | 150 | Sensible heat storage flux | W m^-2 |
^SLE(\(|_) </td> <td style="text-align:left;"> SLE </td> <td style="text-align:right;"> -150 </td> <td style="text-align:right;"> 150 </td> <td style="text-align:left;"> Latent heat storage flux </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^PA(\)|_) | PA | 60 | 105 | Atmospheric pressure | kPa |
^PBLH(\(|_) </td> <td style="text-align:left;"> PBLH </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 3000 </td> <td style="text-align:left;"> Planetary boundary layer height </td> <td style="text-align:left;"> m </td> </tr> <tr> <td style="text-align:left;"> ^RH(\)|_) | RH | 0 | 100 | Relative humidity (0-100) | % |
^T_SONIC(\(|_) </td> <td style="text-align:left;"> T_SONIC </td> <td style="text-align:right;"> -50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Sonic temperature </td> <td style="text-align:left;"> deg C </td> </tr> <tr> <td style="text-align:left;"> ^T_SONIC_SIGMA(\)|_) | T_SONIC_SIGMA | 0 | 5 | Std. dev. of sonic temperature | deg C |
^TA(\(|_) </td> <td style="text-align:left;"> TA </td> <td style="text-align:right;"> -50 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Air temperature </td> <td style="text-align:left;"> deg C </td> </tr> <tr> <td style="text-align:left;"> ^VPD(\)|_) | VPD | 0 | 80 | Vapor pressure deficit | hPa |
^D_SNOW(\(|_) </td> <td style="text-align:left;"> D_SNOW </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 500 </td> <td style="text-align:left;"> Snow depth </td> <td style="text-align:left;"> cm </td> </tr> <tr> <td style="text-align:left;"> ^P(\)|_) | P | 0 | 50 | Precipitation | mm |
^P_RAIN(\(|_) </td> <td style="text-align:left;"> P_RAIN </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 50 </td> <td style="text-align:left;"> Rainfall </td> <td style="text-align:left;"> mm </td> </tr> <tr> <td style="text-align:left;"> ^P_SNOW(\)|_) | P_SNOW | 0 | 50 | Snowfall | mm |
^RUNOFF(\(|_) </td> <td style="text-align:left;"> RUNOFF </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 200 </td> <td style="text-align:left;"> Runoff </td> <td style="text-align:left;"> mm </td> </tr> <tr> <td style="text-align:left;"> ^STEMFLOW(\)|_) | STEMFLOW | 0 | 200 | Stemflow | mm |
^THROUGHFALL(\(|_) </td> <td style="text-align:left;"> THROUGHFALL </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 20 </td> <td style="text-align:left;"> Throughfall </td> <td style="text-align:left;"> mm </td> </tr> <tr> <td style="text-align:left;"> ^ALB(\)|_) | ALB | 0 | 100 | Albedo (0-100) | % |
^APAR(\(|_) </td> <td style="text-align:left;"> APAR </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2300 </td> <td style="text-align:left;"> Absorbed PAR </td> <td style="text-align:left;"> umolPhoton m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^EVI(\)|_) | EVI | -1 | 1 | Enhanced Vegetation Index | nondimensional |
^FAPAR(\(|_) </td> <td style="text-align:left;"> FAPAR </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Fraction of absorbed PAR (0-100) </td> <td style="text-align:left;"> % </td> </tr> <tr> <td style="text-align:left;"> ^FIPAR(\)|_) | FIPAR | 0 | 100 | Fraction of intercepted PAR (0-100) | % |
^LW_BC_IN(\(|_) </td> <td style="text-align:left;"> LW_BC_IN </td> <td style="text-align:right;"> 50 </td> <td style="text-align:right;"> 600 </td> <td style="text-align:left;"> Longwave radiation, below canopy incoming </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^LW_BC_OUT(\)|_) | LW_BC_OUT | 100 | 750 | Longwave radiation, below canopy outgoing | W m^-2 |
^LW_IN(\(|_) </td> <td style="text-align:left;"> LW_IN </td> <td style="text-align:right;"> 50 </td> <td style="text-align:right;"> 600 </td> <td style="text-align:left;"> Longwave radiation, incoming </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^LW_OUT(\)|_) | LW_OUT | 100 | 750 | Longwave radiation, outgoing | W m^-2 |
^MCRI(\(|_) </td> <td style="text-align:left;"> MCRI </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 10 </td> <td style="text-align:left;"> Carotenoid Reflectance Index </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^MTCI(\)|_) | MTCI | 0 | 10 | MERIS Terrestrial Chlorophyll Index | nondimensional |
^NDVI(\(|_) </td> <td style="text-align:left;"> NDVI </td> <td style="text-align:right;"> -1 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> Normalized Difference Vegetation Index </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^NETRAD(\)|_) | NETRAD | -200 | 1100 | Net radiation | W m^-2 |
^NIRV(\(|_) </td> <td style="text-align:left;"> NIRV </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> Near Infrared Vegetation Index </td> <td style="text-align:left;"> W m^-2 sr^-1 nm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PPFD_BC_IN(\)|_) | PPFD_BC_IN | 0 | 2400 | PPFD, below canopy incoming | umolPhoton m^-2 s^-1 |
^PPFD_BC_OUT(\(|_) </td> <td style="text-align:left;"> PPFD_BC_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2000 </td> <td style="text-align:left;"> PPFD, below canopy outgoing </td> <td style="text-align:left;"> umolPhoton m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PPFD_DIF(\)|_) | PPFD_DIF | 0 | 1400 | PPFD, diffuse incoming | umolPhoton m^-2 s^-1 |
^PPFD_DIR(\(|_) </td> <td style="text-align:left;"> PPFD_DIR </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2400 </td> <td style="text-align:left;"> PPFD, direct incoming </td> <td style="text-align:left;"> umolPhoton m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PPFD_IN(\)|_) | PPFD_IN | 0 | 2400 | PPFD, incoming | umolPhoton m^-2 s^-1 |
^PPFD_OUT(\(|_) </td> <td style="text-align:left;"> PPFD_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2000 </td> <td style="text-align:left;"> PPFD, outgoing </td> <td style="text-align:left;"> umolPhoton m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^PRI(\)|_) | PRI | -1 | 1 | Photochemical Reflectance Index | nondimensional |
^R_UVA(\(|_) </td> <td style="text-align:left;"> R_UVA </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 85 </td> <td style="text-align:left;"> UVA radiation, incoming </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^R_UVB(\)|_) | R_UVB | 0 | 20 | UVB radiation, incoming | W m^-2 |
^REDCI(\(|_) </td> <td style="text-align:left;"> REDCI </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 10 </td> <td style="text-align:left;"> Red-Edge Chlorophyll Index </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^REP(\)|_) | REP | 400 | 800 | Red-Edge Position | nm |
^SPEC_NIR_IN(\(|_) </td> <td style="text-align:left;"> SPEC_NIR_IN </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> NIR band radiation, incoming (hemispherical) </td> <td style="text-align:left;"> W m^-2 nm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_NIR_OUT(\)|_) | SPEC_NIR_OUT | 0 | 2 | NIR band radiation, outgoing | W m^-2 sr^-1 nm^-1 |
^SPEC_NIR_REFL(\(|_) </td> <td style="text-align:left;"> SPEC_NIR_REFL </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> NIR band reflectance </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_PRI_REF_IN(\)|_) | SPEC_PRI_REF_IN | 0 | 2 | PRI reference band radiation, incoming | W m^-2 nm^-1 |
^SPEC_PRI_REF_OUT(\(|_) </td> <td style="text-align:left;"> SPEC_PRI_REF_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> PRI reference band radiation, outgoing </td> <td style="text-align:left;"> W m^-2 sr^-1 nm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_PRI_REF_REFL(\)|_) | SPEC_PRI_REF_REFL | 0 | 1 | PRI reference band reflectance | nondimensional |
^SPEC_PRI_TGT_IN(\(|_) </td> <td style="text-align:left;"> SPEC_PRI_TGT_IN </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> PRI target band radiation, incoming </td> <td style="text-align:left;"> W m^-2 nm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_PRI_TGT_OUT(\)|_) | SPEC_PRI_TGT_OUT | 0 | 2 | PRI target band radiation, outgoing | W m^-2 sr^-1 nm^-1 |
^SPEC_PRI_TGT_REFL(\(|_) </td> <td style="text-align:left;"> SPEC_PRI_TGT_REFL </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 1 </td> <td style="text-align:left;"> PRI target band reflectance </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_RED_IN(\)|_) | SPEC_RED_IN | 0 | 2 | Red band radiation, incoming (hemispherical) | W m^-2 nm^-1 |
^SPEC_RED_OUT(\(|_) </td> <td style="text-align:left;"> SPEC_RED_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 2 </td> <td style="text-align:left;"> Red band radiation, outgoing </td> <td style="text-align:left;"> W m^-2 sr^-1 nm^-1 </td> </tr> <tr> <td style="text-align:left;"> ^SPEC_RED_REFL(\)|_) | SPEC_RED_REFL | 0 | 1 | Red band reflectance | nondimensional |
^SR(\(|_) </td> <td style="text-align:left;"> SR </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 10 </td> <td style="text-align:left;"> Simple Ratio </td> <td style="text-align:left;"> nondimensional </td> </tr> <tr> <td style="text-align:left;"> ^SW_BC_IN(\)|_) | SW_BC_IN | 0 | 1300 | Shortwave radiation, below canopy incoming | W m^-2 |
^SW_BC_OUT(\(|_) </td> <td style="text-align:left;"> SW_BC_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 800 </td> <td style="text-align:left;"> Shortwave radiation, below canopy outgoing </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^SW_DIF(\)|_) | SW_DIF | 0 | 750 | Shortwave radiation, diffuse incoming | W m^-2 |
^SW_DIR(\(|_) </td> <td style="text-align:left;"> SW_DIR </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 1300 </td> <td style="text-align:left;"> Shortwave radiation, direct incoming </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^SW_IN(\)|_) | SW_IN | 0 | 1300 | Shortwave radiation, incoming | W m^-2 |
^SW_OUT(\(|_) </td> <td style="text-align:left;"> SW_OUT </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 800 </td> <td style="text-align:left;"> Shortwave radiation, outgoing </td> <td style="text-align:left;"> W m^-2 </td> </tr> <tr> <td style="text-align:left;"> ^TCARI(\)|_) | TCARI | 0 | 10 | Transformed Chlorophyll Absorption in Reflectance Index | nondimensional |
^SWC(\(|_) </td> <td style="text-align:left;"> SWC </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Soil water content (volumetric, 0-100) </td> <td style="text-align:left;"> % </td> </tr> <tr> <td style="text-align:left;"> ^SWP(\)|_) | SWP | -750 | 0 | Soil water potential | kPa |
^TS(\(|_) </td> <td style="text-align:left;"> TS </td> <td style="text-align:right;"> -40 </td> <td style="text-align:right;"> 65 </td> <td style="text-align:left;"> Soil temperature </td> <td style="text-align:left;"> deg C </td> </tr> <tr> <td style="text-align:left;"> ^TSN(\)|_) | TSN | -40 | 4 | Snow temperature | deg C |
^WTD(\(|_) </td> <td style="text-align:left;"> WTD </td> <td style="text-align:right;"> -10 </td> <td style="text-align:right;"> 10 </td> <td style="text-align:left;"> Water table depth </td> <td style="text-align:left;"> m </td> </tr> <tr> <td style="text-align:left;"> ^TAU(\)|_) | TAU | -10 | 2 | Momentum flux | kg m^-1 s^-2 |
^U_SIGMA(\(|_) </td> <td style="text-align:left;"> U_SIGMA </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 12 </td> <td style="text-align:left;"> Std. dev. of along-wind velocity </td> <td style="text-align:left;"> m s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^USTAR(\)|_) | USTAR | 0 | 8 | Friction velocity | m s^-1 |
^V_SIGMA(\(|_) </td> <td style="text-align:left;"> V_SIGMA </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 10 </td> <td style="text-align:left;"> Std. dev. of cross-wind velocity </td> <td style="text-align:left;"> m s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^W_SIGMA(\)|_) | W_SIGMA | 0 | 5 | Std. dev. of vertical velocity | m s^-1 |
^WD(\(|_) </td> <td style="text-align:left;"> WD </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 360 </td> <td style="text-align:left;"> Wind direction </td> <td style="text-align:left;"> degree </td> </tr> <tr> <td style="text-align:left;"> ^WD_SIGMA(\)|_) | WD_SIGMA | 0 | 180 | Std. dev. of wind direction | degree |
^WS(\(|_) </td> <td style="text-align:left;"> WS </td> <td style="text-align:right;"> 0 </td> <td style="text-align:right;"> 40 </td> <td style="text-align:left;"> Wind speed </td> <td style="text-align:left;"> m s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^WS_MAX(\)|_) | WS_MAX | 0 | 50 | Max wind speed in averaging period | m s^-1 |
^GPP(\(|_) </td> <td style="text-align:left;"> GPP </td> <td style="text-align:right;"> -30 </td> <td style="text-align:right;"> 100 </td> <td style="text-align:left;"> Gross primary productivity </td> <td style="text-align:left;"> umolCO2 m^-2 s^-1 </td> </tr> <tr> <td style="text-align:left;"> ^NEE(\)|_) | NEE | -100 | 100 | Net ecosystem exchange | umolCO2 m^-2 s^-1 |
^RECO($|_) | RECO | -20 | 50 | Ecosystem respiration | umolCO2 m^-2 s^-1 |
Fluxtools is an independent project and is not affiliated with or endorsed by the AmeriFlux Network. “AmeriFlux” is a registered trademark of Lawrence Berkeley National Laboratory and is used here for identification purposes only.