Resource Center
EasyFlux DL for CR6OP
Software applications, data logger operating systems, firmware, and drivers for Campbell Scientific products
EasyFlux DL for CR6OP
v2.02CR6 datalogger program for Campbell open-path eddy-covariance systems.
Revision History
v2.02October 31, 2025
- Changed the all the solar radiation sensor heater control variables from the ambient temperature to the sensor body temperature. This will ensure the sensor’s body temperature stays above the dew point, without wasting energy from the station’s power supply.
- Added units to these variables SG_n_n_n, NR01_heater_secs, shf_plate_cal, and CO2_density_fast_tmpr.
- Automated the initialization of n number of soil variables
- Remove the “.” in the program file name. The “.” is not allowed in the file name when using LoggerLink. Keep the “.” Between the file name and file extension. (OPEC and CPEC). 5) Use the TableFile() instruction in the high frequency and AmeriFlux data table outputs only. All other data tables use the CardOut() instruction, with about 1 year of data on the CRD. This allows LoggerNet to collect all the data without missing records when files are closed and new ones open.
- Add disable flag for datalogger reference temperature and battery measurements, because they are measured in the slow sequence scan, but the data table is called in the main scan.
- String variables were initialized using NAN. A string variable can only be initialized using a null (“”).
- Made the user power control variable “irga_pwr_off_f” a Public variable. This allows the user to manually control power the gas head using a remote telecommunication link.
- Added a summary of the number of samples in the turbulent wind fluxes, as done for scalar fluxes.
- Fixed the GPS speed units. The units are knots, not m/s.
- Added a disable flag filter for all measurements made on the VOLT 116 to filter NAN from the statistics. NANs will result from a GPS or manual clock change, as the VOLT 116 resynchronizes its scan to the data logger.
- Moved the measurement of the analog temperature and relative humidity sensor from the main scan to the slow scan. Fixed the area of the soil heat flux plates. It was 3.855x10-3 m2 and should be 3.885 x 10-3 m2.
- Changed the default maximum heater voltage from 0 to 4.5375 Vdc in the constant H_MAX.
- Added support for HygroVUE 10 temperature and relative humidity sensor.
- Updated the Steady State and Integral Turbulence Characteristics for TAU, H, FC, LE, and ET following Foken et al., 2004.
- Updated the AmeriFlux format footprint characteristic from the 2016 standard to the 2018 standard.
- Changed the sign of momentum flux so that a flux away from the surface is positive. This follows the AmeriFlux recommendation.
- Added a lower and upper bound filter to fetch.
- In the AmeriFlux data table, removed the variables U, V, W, T_DP_1_1_1, ET, ET_SSITC_TEST and added FH2O and FH2O_SSiTC_TEST.
- In the Flux_CSFormat, added evapotranspiration, ET, ET_QC, and ET_samples.
- Renamed the variable PBLH to PBLH_F.
- Changed the CO2 and H2O mixing ratio to mole fraction in wet air.
- Changed the variable name UPWND_DIST_INTRST to FETCH_INTRST and FTPRNT_DIST_INTRST to FP_FETCH_INTRST.
- Moved the computation of dew point from temperature, relative humidity, and pressure to a subroutine.
- Moved the computation dew point from temperature, water density, and pressure to a subroutine.
- In the comments for analog input channel assignment variables, removed the reference to “differential” or “single-ended”, allowing the station staff to change the measurement type, without having to remember to change the commends to make them match the channel.
- Stopped the practice of splitting analog measurements between the datalogger and VOLT module. Now the VOLT module can be placed in its own enclosure if needed.
- Boolean flags are used to report the status of instruments (diagnostic) and to control the system (manual gas head power down). To distinguish between informational flags and operational control flags, the extension “_f” is used for diagnostic flags(informational) and “_flg” for manual control flags (flags the user uses to control the system).
- In the TableFile() instruction, use the Status.StationName(1,1) instead of Status.SerialNumber(1,1) as part of the file name. When the datalogger creates a file on the CRD using CardOut(), the station name is prepended to the file name, rather than the station serial number. This creates consistency between files created by the CardOut() and TableFile() instructions,
- Remove all reference to the CDM-A108/A116. The CDM-A116 has been discontinued for many years.
- Fixed comment to match the CRBasic code. Const SENSOR_SN500 As Boolean = FALSE 'Unique: NR01 4-way net radiometer. FALSE as default. If true, SENSOR_NRLIT, _CNR4, _NR01, _CS301, _CS320, _CS310, and _SI111 must be set to FALSE It should read “SN500” not “NR01”
- Declared the variable FP_DIST_INTRST as Dim to not clutter the Public table. 20) Added the VOLT 116 Battery Voltage to the outputs.
- The 30-minute data can be split between two tables “Flux_CSFormat” and “Flux_Notes”. Made the default a single data table called “Flux_CSFormat”. This makes it easier to see all the data, particularly when trouble shooting the station.
- The VOLT 116 SW12V channels cannot reliably power the NR 01, CNR4/CNF4, and HFP01-SC heaters. Instead, the heaters are now powered by external Crydom relays mounted on a DIN Rail. For the NR 01 or HFP01 use the SA-982 and the CNF4 use the SA-1027. The Crydom relays are now controlled using the SW5V ports on the VOLT 116 SW5V-3 NR 01/CNF4 Heater SW5V-4 HFP01SC Heater SW5V-1 CNF4 Fan SW5V-2 not used
- Run the VOLT 116 SW5 in Pipeline mode.
- Set the default file size for the high frequency time series data table as 1 day.
- Changed the term “altitude” to “elevation”. Altitude is the height above the surface, elevation is the heigh of the surface above sea level.
- Add the GPS data to the diagnostic data table… fix_quality, nmbr_satellites, pps, dt_since_gprmc, gps_ready, max_clock_change, number_clock_change. 27) Switched from using the Minimum() instruction for diagnostic variable to the Average(). An average is more useful than a minimum. Variables affected by this change are: CO2 signal strength and H2O signal strength.
- Increase the string variable length for LastFileName_Time_Series in the TableFile() instruction to be 64 characters, instead of 45.
- Used bit shifting to break down all diagnostic bits into diagnostic flags. 30) Declared the variable array TS_array() using the constant NMBR_TCAV, rather than a fixed value of 3.
- Remove the "." in the program file name. The "." is not allowed in the file name when using LoggerLink. Keep the "." Between the file name and file extension. (OPEC and CPEC).
- Use the TableFile() instruction in the high frequency and AmeriFlux data table outputs only. All other data tables use the CardOut() instruction, with about 1 year of data on the CRD. This allows LoggerNet to collect all the data without missing records when files are closed and new ones open.
- String variables were initialized using NAN. A string variable can only be initialized using a null ("").
- Made the user power control variable "irga_pwr_off_f" a Public variable. This allows the user to manually control power the gas head using a remote telecommunication link.
- Moved the measurement of the analog temperature and relative humidity sensor from the main scan to the slow scan.
- Fixed the area of the soil heat flux plates. It was 3.855x10-3 m2 and should be 3.885 x 10-3 m2.
- In the comments for analog input channel assignment variables, removed the reference to "differential" or "single-ended", allowing the station staff to change the measurement type, without having to remember to change the comments to make them match the channel.
- Boolean flags are used to report the status of instruments (diagnostic) and to control the system (manual gas head power down). To distinguish between informational flags and operational control flags, the extension "_f" is used for diagnostic flags(informational) and "_flg" for manual control flags (flags the user uses to control the system).
- In the TableFile() instruction, use the Status.StationName(1,1) instead of Status.SerialNumber(1,1) as part of the file name. When the datalogger creates a file on the CRD using CardOut(), the station name is prepended to the file name, rather than the station serial number. This creates consistency between files created by the CardOut() and TableFile() instructions.
- Fixed comment to match the CRBasic code. Const SENSOR_SN500 As Boolean = FALSE Unique: NR01 4-way net radiometer. FALSE as default. If true, SENSOR_NRLIT, _CNR4, _NR01, _CS301, _CS320, _CS310, and _SI111 must be set to FALSE It should read "SN500" not "NR01".
- Declared the variable FP_DIST_INTRST as Dim to not clutter the Public table.
- Added the VOLT 116 Battery Voltage to the outputs.
- The 30-minute data can be split between two tables "Flux_CSFormat" and "Flux_Notes". Made the default a single data table called "Flux_CSFormat". This makes it easier to see all the data, particularly when trouble shooting the station.
- The VOLT 116 SW12V channels cannot reliably power the NR 01, CNR4/CNF4, and HFP01-SC heaters. Instead, the heaters are now powered by external Crydom relays mounted on a DIN Rail. For the NR 01 or HFP01 use the SA-982 and the CNF4 use the SA-1027. The Crydom relays are now controlled using the SW5V ports on the VOLT 116 SW5V-3 NR 01/CNF4 Heater SW5V-4 HFP01SC Heater SW5V-1 CNF4 Fan SW5V-2 not used.
- Changed the term "altitude" to "elevation". Altitude is the height above the surface, elevation is the heigh of the surface above sea level.
- Add the GPS data to the diagnostic data table… fix_quality, nmbr_satellites, pps, dt_since_gprmc, gps_ready, max_clock_change, number_clock_change.
- Switched from using the Minimum() instruction for diagnostic variable to the Average(). An average is more useful than a minimum. Variables affected by this change are: CO2 signal strength and H2O signal strength.
- Used bit shifting to break down all diagnostic bits into diagnostic flags.
- Declared the variable array TS_array() using the constant NMBR_TCAV, rather than a fixed value of 3.
v2.01July 21, 2022
- Removed the EE181 and HC2S3.
- Added the HFP calibration validity test to our flux programs. The same validity test that we have adopted to the updated HFP manual section 6.5.1
- Added a CSAT3AH option where CSAT3AH is a heated sonic anemometer.
- Added a HydroVUE10 option.
- The air density, dry air density, and H2O density that are calculated using the measurements of air temperature and relative humidity from HMP155A/HydroVUE10 and the atmospheric pressure from OPEC system (P) are used for the computations of WPL correction, sensible heat flux, and momentum flux. However, if HMP155A/HydroVUE10 is not available or output NaN (Not a Number), these calculated from sonic temperature, IRGA H2O density, and P are used for the computations.
- Added a VOLT116 option.
- Added a CS320 option.
- Added a SN500SS option.
- Added the heating function for all net radiometers (CRN4, NR01, and SN500) and ventilation for CNR4.
- Battery voltage threshold below 11.5 V is used turn off net radiometer heating and ventilation.
- Replaced the auto range option in CDM-A116/VOLT116 voltage measurement instruction with a fixed range. This replacement avoids the skipped scan when system runs at 20 Hz.
- Revised diagnosis table to better display diagnostic codes.
- Added a table for system operation note. This note records all OPEC operations such as zero CO2/H2O, span CO2/H2O, reset CO2/H2O zero/span coefficients, switch pressure transducer, select fast- or slow-temperature CO2, change shadow correction, power off/on an infrared analyzer, and others.
- Added a table for EC100 configuration notes.
- Added verification for H2O/CO2 zero and span coefficients during zero and span procedures or in reset process.
- Revised the way to reset H2O/CO2 zero and span coefficients of infrared analyzers through CR1000KD or public table. Now, the coefficients can be reset individually. In this version, the coefficient input and reset are verified and noted.
- Added the auto off/on an infrared analyzer according to the voltage of power source (The threshold is 10.5 V and the dead-band width is 1.5 V).
- Added a HygroVUE10 option.
- The air density, dry air density, and H2O density that are calculated using the measurements of air temperature and relative humidity from HMP155A/HygroVUE10 and the atmospheric pressure from OPEC system (P) are used for the computations of WPL correction, sensible heat flux, and momentum flux. However, if HMP155A/HygroVUE10 is not available or output NaN (Not a Number), these calculated from sonic temperature, IRGA H2O density, and P are used for the computations.
v2.00April 10, 2020
- For data quality grading, the data type of Long was revised back to IEEE4.
- Use temperature probe data for calculating mixing ratio in zero and span instead of sonic temperature because shroud blocks transducers.
- Updated CNR4 cable nomenclature.
- DVC_CDM_A116 was revised to CDM_VOLT_116.
- Updated the soil heat flux calculation. See Appendix H in EasyFlux DL CR6OP manual for details.
v1.05October 30, 2019
- Updated the hemisphere designation. Previously, the hemisphere would always default to North/West. Now it will designate to the appropriate hemisphere coordinate.
v1.04August 5, 2019
- Added the supporting functionalities for heating and ventilation accessories (CNF4) for CNR4.
- LI-190 and LI-200 sensor compatibility removed and replaced with CS310 and CS320. Please contact Campbell Scientific if you need code compatible with removed sensors.
- The design of soil heat flux measurements was optimized. Now, this program can support three replications of HFP01/HFP01SC, CS655, and optional TCAV. The default depth for CS655 was revised to 8 cm for its measurement diameter of 16 cm. As a result, the default depth of HFP01/HFP01SC was revised to 16 cm and the distribution of four probes in one TVAV is also recommended.
- Constant declarations in ConstTable are more specified for Boolean (TRUE/FALSE) and Long data types. Also for constants outside ConsTable.
- SN500 4-way net radiometer sensor compatibility added.
- Days of MicrSD to store more data has been more accurately estimated, which is preferred by EasyFlux_web.
- Added the supporting functionalities for heating of the NR01.
- Optimized the use of GPS for more accurate determination of geographic coordination data.