Skip to content

Commit

Permalink
Merge branch 'easyflux-1.2-update' into latest
Browse files Browse the repository at this point in the history
  • Loading branch information
patricktokeeffe committed Feb 16, 2024
2 parents 461f0bf + 9748c70 commit 86999a4
Show file tree
Hide file tree
Showing 24 changed files with 1,125 additions and 1,763 deletions.
19 changes: 19 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,25 @@ Revision history for our modified version of EasyFlux® DL for CR3000.
>
> *Supported sections: Security, Issues, Fixed, Added, Changed, Deprecated, Removed*
## Unreleased (easyflux-1.2-update)

This version imports changesets from EasyFlux-DL_CR3OP version 1.1→1.2.
Significant realignment means users will need to modify current deployments to conform to updated input channel locations.

* Support for ambient T/RH probes (HMP155A, HSC23, HMP45C) is reverted such that users now specify a multiplier and offset instead of selecting sensor type.
* Support for rain gauges (TE525 series) is likewise reverted so users specify the multiplier instead of selecting sensor type.
* All whitespace conflicts were resolved in favor of EasyFlux-DL base code.
* **All sensor input locations were reverted to match EasyFlux-DL base code. This highly substantial change affects most sensors.**
As a result of limited input locations, the 034B cup-and-vane anemometer and NR01 component radiometer are mutually exclusive by default (to use both, specify different input channels).
* All hard-coded numbers for computations are changed from integer to float.
* Subroutine `FootprintCharacteristics_KormannMeixner`:
* Incorporates thermal stratification as a function of stability from eqns (11) and (32) in *Kormann and Meixner (2001)*.
* Modifies fourth footprint integration segment to increase integration interval by factor of 2.5 (4→10 x aerodynamic height)
and increase scale factor of aerodynamic height used to calculate max range by factor of 5 (200→1000).
* Modifies fifth footprint integration segment to increase scale factor of aerodynamic height used to calculate max range by factor of 5 (200→1000)
and to iterate up to a fixed number of times instead of estimating number of steps required.


## [ProgSig 40826] 2018-11-29

### Added
Expand Down
210 changes: 120 additions & 90 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,102 +1,132 @@
# EasyFlux<sup>&reg;</sup> DL for CR3000

EasyFlux® DL for CR3000 is a free CRBasic program that enables a CR3000
data logger to report fully corrected fluxes of CO<sub>2</sub>, latent heat
(H<sub>2</sub>O), sensible heat, and momentum from a [Campbell Scientific](https://www.campbellsci.com/)
open-path eddy-covariance (EC) system. For official program documentation and
downloads, refer to the project website:
EasyFlux<sup>&reg;</sup> DL is a free CRBasic program by Campbell Scientific for
acquiring data from an open-path eddy-covariance system and computing fluxes of
carbon dioxide (CO<sub>2</sub>), latent heat (H<sub>2</sub>O), sensible heat and momentum
using commonly-applied techniques described in the scientific literature.
More information is available on the project website:

> EasyFlux<sup>&reg;</sup> DL: Eddy-Covariance Datalogger Program
> <https://www.campbellsci.com/easyflux-dl>
## What's Here

This repository contains a version of EddyFlux-DL customized to run on research
towers operated in partnership with the Laboratory for Atmospheric Research at
Washington State University. These towers focus on agricultural research sites
and belong to multiple networks and/or projects, including:

* USDA ARS Long-Term Agroeconomic Research ([LTAR](https://ltarnetwork.org)) Network
* Landscapes in Transition Pacific Northwest (LIT-PNW) Project
* the [AmeriFlux](https://ameriflux.lbl.gov/) Network

Program modifications are intended to be backwards-compatible and accretive,
but not all changes satisfy these goals. To make identifying and merging changes
introduced by the vendor easier, official vendor releases are also tracked here
in a separate and unrelated branch history.


## Getting Started

### Required Equipment ###

* CR3000 datalogger ([CR3000](https://www.campbellsci.com/cr3000))
* Memory card module ([NL115](https://www.campbellsci.com/nl115), [NL116](https://www.campbellsci.com/nl116),
or [CFM100](https://www.campbellsci.com/cfm100))
* Network-enabled module is *highly recommended*
* Open-path infrared gas analyzer with ultrasonic anemometer:
* [IRGASON](https://www.campbellsci.com/irgason), **OR**
* [EC150](https://www.campbellsci.com/ec150) with [CSAT3A](https://www.campbellsci.com/csat3a)
* 16GB industrial-grade CompactFlash memory card

### Supported Optional Sensors

> ***N.B.*** *this version has known channel assignment conflicts which prevent
> certain optional sensors from being enabled, regardless of compatibility in
> prior versions. Refer to comments in the program file for complete details. In
> future versions, once compatibility is restored, this message will be removed.*
* Fine-wire thermocouple ([FW05](https://www.campbellsci.com/fw05),
[FW1](https://www.campbellsci.com/fw1), or [FW3](https://www.campbellsci.com/fw3))
* Ambient temperature/relative humidity probe ([HC2S3](https://www.campbellsci.com/hc2s3)
or [HMP-155A](https://www.campbellsci.com/hmp155a))
* Net radiometer ([CNR4](https://www.campbellsci.com/cnr4), [NR01](https://www.campbellsci.com/nr01),
or [NL-Lite2](https://www.campbellsci.com/nr-lite2))
* Pyranometer ([CS300](https://www.campbellsci.com/cs300-pyranometer) or
[LI200X](https://www.campbellsci.com/li200x-l))
* Quantum (PAR) sensor ([LI-190R](https://www.campbellsci.com/li190r-l) or
[LI-190SB](https://www.campbellsci.com/li190sb-l))
* Infrared radiometer ([SI-111](https://www.campbellsci.com/si-111))
* Tipping bucket rain gage ([TE525](https://www.campbellsci.com/te525-l),
[TE525WS](https://www.campbellsci.com/te525ws-l), [TE525M](https://www.campbellsci.com/te525mm-l),
or TE525/TE525MM with 8 inch funnel)
* Averaging thermocouple ([TCAV](https://www.campbellsci.com/tcav-l))
* Water content reflectometer, for heat storage term (up to 2 of
[CS616](https://www.campbellsci.com/cs616-reflectometer),
[CS650](https://www.campbellsci.com/cs650),
[CS655](https://www.campbellsci.com/cs655),
[5TM](https://www.metergroup.com/environment/articles/meter-legacy-soil-moisture-sensors/#5tm),
or [TDR-315/315L/310S](http://www.acclima.com))
* Soil heat flux plates (up to 4 of [HFP01](https://www.campbellsci.com/hfp01))
or [HFP01SC](https://www.campbellsci.com/hfp01sc-l))
* Water content reflectometer, for vertical profiling (up to 6 of
[5TM](https://www.metergroup.com/environment/articles/meter-legacy-soil-moisture-sensors/#5tm)
or [TDR-315/315L/310S](http://www.acclima.com))
* Cup and vane wind set ([034B](https://www.campbellsci.com/034b))
* GPS receiver ([GPS16X-HVS](https://www.campbellsci.com/gps16x-hvs))
* Door switch sensor (magnetic reed switch, NO recommended)

### Quick Setup

1. Connect the datalogger to power and sensors as described in relevant manuals.
3. Update the unique calibration values in `src/constants.cr3` and upload to
to the datalogger.
2. Modify the program file (`src/default.cr3`) as needed to:
* enable or disable sensors
* update other constants, such as UTC offset
3. Upload the program file to the datalogger.
4. Update station variables, as necessary.

For additional details, refer to the [official user guide](https://www.campbellsci.com/easyflux-dl#documents_)
as well as files in the [`/doc`](/doc) folder.

## Requirements

* CR3000 firmware version &ge; 28.0
* EC100 firmware version &ge; 7.01

## Usage

Refer to the EasyFlux<sup>&reg;</sup> DL CR3000OP [Instruction Manual][#csi-manual]
and the [supplemental documentation file](doc/readme.md) for complete directions,
including sensor wiring, program configuration, data table descriptions and important usage notes.

### Getting Started

1. Download a program [release][#gh-release] or clone this repo.
1. Update the program file (`EasyFlux-DL.cr3`) according to your particular hardware configuration.
1. Update the include file (`constants.cr3`) with unique sensor-specific calibration values.
1. Push the include file to the datalogger, but do not run it.
1. Push the program file to the datalogger and set to run automatically.
* Optional: upload the program file as `default.cr3` so it always runs automatically.

[#csi-manual]: https://s.campbellsci.com/documents/us/manuals/easyflux-dl.pdf
[#gh-release]: https://github.com/wsular/EasyFlux-DL/releases/

## Features

### Editable constants

This version of EddyFlux<sup>&reg;</sup> DL is modified to enable field editing of unique sensor constants using the keyboard display or a remote client (e.g. PC400).
By separating constants to a separate include file, it becomes possible to edit the file in-memory and recompile the program despite the memory restrictions of the data logger.
To facilitate quality-control and post-processing corrections, unique sensor constants are stored adjacent to corresponding sensor field names in output data tables.

> ***N.B.** Field modification of unique sensor constants is currently not generalized and can only be used for particular sensor configurations.*
### New hardware support

The supported sensor list is expanded as follows (additions in bold):

* Gas analyzer and sonic anemometer (qty 1)
* EC150 with CSAT3A
* IRGASON
* Fine-wire thermocouple (optional, qty 0 to 1)
* FW05
* FW1
* FW3
* Biometeorology (biomet) and energy balance sensors (optional)
* Temperature/Relative Humidity (RH) Probe (qty 0 to 1)
* HC2S3
* HMP155A
* Radiation measurements
* Option 1
* NR Lite2 Net Radiometer (qty 0 to 1)
* CS300 or LI200x Pyranometer (qty 0 to 1)
* LI190x Quantum Sensor (qty 0 to 1)
* SI-111 Infrared Radiometer (qty 0 to 1)
* Option 2
* NR01 or CNR4 4-Way Radiometers (qty 0 to 1)
* TE525x Rain gauge (qty 0 to 1))
* **034B Cup-and-Vane Anemometer (qty 0 to 1)**<br/>*(Backported from Campbell Scientific pre-EasyFlux OPEC program)*
* TCAV Soil Thermocouple Probe (qty 0 to 2)
* Soil Water Content Reflectometer (qty 0 to 2)
* CS616
* CS650
* CS655
* **5TM** ([METER Group](https://metergroup.com/))
* **TDR31x** ([Acclima](https://acclima.com/))
* Soil Heat Flux Plates
* Option 1: HFP01 plates (qty 0 to 4)
* Option 2: HFP01SC self-calibrating plates (qty 0 to 4)
* **Vertical Profile of Soil Sensors (optional)**
* **Option 1: 5TM (qty 0 to 6)**
* **Option 2: TDR31x (qty 0 to 6)**
* **GPS Receiver (optional, qty 0 to 1)**
* **GPS16X-HVS**
* **Enclosure door switch (optional, qty 0 to 1)**
* **Magnetic reed switch (generic)**
* **Solar charge controller (optional)**
* **TriStar 45** ([MorningStar](https://www.morningstarcorp.com/))

### High-frequency CO<sub>2</sub>

This version of *EasyFlux DL* exposes the alternate CO<sub>2</sub> density output using humidity-corrected sonic temperature
and adds it to the high-frequency time series output table.
The value is not used for online flux computations and cannot be disabled.

Using the fast-response temperature measurements from the sonic anemometer compensates for spectroscopic effects during high sensible heat flux regimes
as explained in *Helbig et al. (2016)*. For more information, see:

* CRBasic Program Reference for `EC100`. *Campbell Scientific, Inc.* CR3000.Std.32.04
* Helbig, M., et al.: “Addressing a Systematic Bias in Carbon Dioxide Flux Measurements with the EC150 and the IRGASON Open-Path Gas Analyzers”, Agricultural and Forest Meteorol., 228-229 (2016), 349-359. [doi:10.1016/j.agrformet.2016.07.018](https://doi.org/10.1016/j.agrformet.2016.07.018)
* Russell, E.S., et al.: "Adjustment of CO2 flux measurements due to the bias in the EC150 infrared gas analyzer", Agricultural and Forest Meteorol., 276-277 (2019), 107593. [doi:10.1016/j.agrformet.2019.05.024](https://doi.org/10.1016/j.agrformet.2019.05.024)

### Data tables

Several new data tables and changes to existing output data tables are summarized below.
For full details, refer to the [instruction manual supplement](doc/readme.md).

* Time_Series
* New field `CO2_hf` contains alternate CO<sub>2</sub> density output
* Flux and Flux_Notes
* New fields for unique sensor calibration factors
* New fields for 034B cup-and-vane anemometer
* New fields for soil water content sensors
* New fields for vertical profile soil sensors
* New fields for solar charge controller
* New field for enclosure door status
* New table: LTAR_Met
* Added to satisfy reporting requirements for LTAR Common Observation Repository (CORe)
* Does averaging on a 15-minute basis
* Contains basic meteorology (TA, RH, PA, WS, WD, PAR, Rn, precip...) and soil-related data, including heat flux plates and vertical profile sensors
* New table: LTAR_Met_1minute
* Added to acquire high-resolution meteorology data
* Does averaging on a 1-minute basis
* Contains same metrics as LTAR_Met, except no precipitation or soil vertical profile

## License

* The EasyFlux-DL code base is *Copyright (c) 2014, 2015 Campbell Scientific,
Inc. All rights reserved.* For more details, refer to the official
[project website](https://www.campbellsci.com/easyflux-dl).
* Original software contributions are licensed under
[the MIT License](https://opensource.org/licenses/MIT).
* Supporting documentation is subject to the Creative Commons Attribution 4.0
International ([CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/)).
* Original software contributions are licensed under *TBD*
* Supporting documentation is subject to the *TBD*
Binary file removed doc/LTAR data table planning.xlsx
Binary file not shown.
Binary file removed doc/data_tables.xlsx
Binary file not shown.
Loading

0 comments on commit 86999a4

Please sign in to comment.