Changes in Bluestem OS

Version 2.1.11 (current version; released July 2023)


  • Support for Stevens HydraProbe for  firmware above version 3. Added S/N (serial number) to the SoilConfig group that holds the probe serial number (if attached and being used.) If a probe is not attached when the soil chamber config is enabled, the Tsoil menu will show a scan... entry instead of Stevens. This allows a probe to be added and enabled without having to change the configuration away from soil and back then to it.
  • Added Factory cal date to log  file headers.

Bug Fixes

  • Loosened tolerances for the Diagnostic Tool for CO2 zero/span and Signal. Zero/span normal = 0.7 to 1.3 (was 0.8 to 1.2); unusual = between 0.7 and 0.5 or 1.3 to 1.5 (was 0.8 to 0.7 or 1.2 to 1.3); very unusual is below 0.5 or above 1.5 (was below 0.7 or above 1.3). Raw signal low threshold drops to 15,000 (from 20,000) for "lower than expected". The threshold for "very low" is now 10,000 (was 14,000).
  • Fixed bug in computation of leak-corrected Ca. Computation affects -01 and -02 chambers (not -01A or -02B) and has been present since  furst implemented. Effectively, it was using the measured Ca and not the leak corrected one. Makes little material difference in results.
  • Units for MchStatus:cf_co2_a are µmol/mol, not mmol/mol.
  • Soil chamber firmware changed to allow operation with newer Stevens HydraProbes. The previous firmware (1.6) was not making measurements. This change affects the installation  files for the head, so that version changed to 1.4.23.

Version 2.1.09 (released April 2023)

This version introduces performance improvements to address unresponsiveness of the display that can occur during graphically intensive operations in instruments that have the original processor.

To accomplish this, the operating system now has the ability to buffer selected function calls until CPU usage falls below some threshold, rather than executing them immediately and putting the CPU into an extended maxed-out state. It does so with the module.

Instruments with old boards that run 2.1.08 can have long (20 to 30 seconds) apparent lock-ups, since 2.1.08 added a fair amount of GUI overhead (graphics, mostly) to fluorescence logging. Using loadsmoother reduces the unresponsive period to 5 or so seconds. (The work still takes nearly as long to get done, it's just spread out so it doesn't lock things up so badly.)

Version 2.1.09 applies loadsmoother to these areas: a) fluorescence events, b) loading a configuration file, and c) interactions on the chamber setup screen, including Load Factory.

Version 2.1.08 (released August 2022)

This version introduces custom flash capabilities, support for a new flow meter, bug fixes, and improvements summarized below.

Bug Fixes

Background Programs

  • EXEC Copy/Paste still not being handled correctly. Execution is OK, but editor displays them incorrectly unless you save and reload from file.
  • Limit BP log to 100 lines displayed. (System could bog down if it gets very large).
  • Paste to an empty program not working.


  • If incoming flash or dark event packets have nan or -nan, the scripts will crash.
  • Dark pulse mislabelled in comcon: was Dark:Pulse, now is DARK:Pulse.
  • The factory default configuration output data rates was causing the dropdowns to be empty. (Needed to add Hz to the string).
  • Mismatch in fluorometer firmware between arm and dsp code. Fails on induction curves.
  • 't'-ag in Custom Table Editor not handled correctly.
  • The new files graph configuration was not retaining last time defaults.
  • Files graph failing for DC/Q plots.
  • Keyboard not clearing when editing Meta edit box in meta tool.
  • The realtime and history graphs were not accounting for daylight savings time.
  • Config preview plots allow larger than 15,000 µmol flash intensity.
  • Compare event graph, xmin and xmax now re-interpreted as the time limits for the graph. These don't depend on log scaling.
  • Implemented a "slow" actinic off, to remove "light spiking" potential when switched on at a lower target. This also solves the "far red target" problem, if you turn off first before changing colors.

H2O Control

  • Suppress SP Override messages when H2O control is in manual mode.

Prompt on Log

  • Leaf Light screen cannot be edited; keyboard appears and functions, but updates do not happen.

User Defined Variables

  • If you have the user-defined page in edit mode and open a log file, previously you were be unable to change constant values except in the prompt on logs screen. It now takes you out of edit mode if you open a file.


  • Cancel button ignored when editing a control button (variable picker) in a control table.

Backup Utility

  • The backup utility was not including /home/licor/resources.


  • Slope finder was broken (broke in 1.6.0).

Insect Resp

  • Will not make Excel files.
  • Formatting of insect weight too restrictive. Now can show weights lower than 0.01 gm.


  • Removing unused point matches was taking them from the wrong end of the list.

File Viewers

  • The fslocations.json file was missing. It is no longer missing.


  • Fixed the "not updating" problem. Now it updates.

Task Help

  • Corrected issue that caused "task help" file to not getting updated.

li6850 Module

  • li6850.LatestGroup() had the potential of returning out of date data. The new scheme doesn't try and store group-based data, but generates it as needed from latest topics.

Sleep, Log

  • Attempting to log an observation while in sleep mode results in the log never finishing. Now it triggers a wake up, then logs.

Sleep, Load Factory

  • Attempting a Load Factory while in sleep mode will generate a wakeup first.

Dynamic Utility

  • Graphs not updating
  • Sleep, Configuration
  • Attempting a load a configuration while in sleep mode will generate a wakeup first.


  • IRGA calibration screens now default to having the flow split between sample and reference.
  • Green light criteria on flow stability increased from 1 µmol/s/min to 2 for Sensirion. Exhaust Flow stability remains at 1.


  • Eject button now unmounts the USB file system.

Version Warning

  • Using an advanced version no longer generates a warning

Warmup Test

  • Warmup tests adapted for Sensirion flow sensor. Typical zero is 2.5 V, more tolerant of noise.
  • Using 130% instead of 100% for when a tube should be open.
  • There was a scripts file ( missing from the tar.gz package.


  • Support for pressure and water corrections for Sensirion flow meters (head version 1.4.22).


  • Custom flash support.
  • Added Python slice capability to meta code specifiers. (e.g., "4[1:-1]").
  • Added meta extras, for customizing the computations done in a flash or dark pulse.
  • Implemented some shortcuts when custom.
  • Added "Live" and "Event Folders" tabs.
  • "Constants" tab changed to "Parameters".
  • If the modulation beam is off, it will now automatically be turned on in the following circumstances: 1) opening a log file; 2) triggering a fluorescence event, manually or via log; 3) turning fluorescence recording on or off.
  • Fluorometer event les now contain all of the FLR group variables, reflecting the state of things after that event.
  • Fluorometer Event Folders table view's Main filter is now user editable via a BP: apps/utilities/

Flash table editing.

  • Can specify a head broker host name (use Finder and reboot the fluorometer), as an alternative to "auto".


  • Daily snapshots taken automatically after 1 hour of operation. Implementation details: every hour, the watchdog thread check that a) if not sleeping and b) if no snapshot has been taken today, then it take a snapshot. These automatic snapshots are subset of the manual snapshots, and have "autodiag" in the file name.

User Defined Variables

  • Added extended support for functions in the defining equation. The mapping of Python function to Excel equivalent in file /usr/share/licor/Scripts/
Table 1‑1. Python methods that can be used in a user defined variable, and how they appear in the Excel log file.
Python Becomes in Excel
math.ceil(x) CEILING(x,1)
math.cos(x) COS(x)
math.degrees(x) DEGREES(x)
math.e EXP(1)
math.exp(x) EXP(x)
math.fabs(x) ABS(x)
math.log(x) LOG(x ,EXP(1))
math.log10(x) LOG10(x)
math.pi PI()
pow(x,y) POWER(x,y)
math.radians(x) RADIANS(x)
math.sin(x) SIN(x)
math.sqrt(x) SQRT(x)
math.tan(x) TAN(x)

Background Programs

  • Added a tech BP named FlowmeterFactoryCalTool to assist with flow meter replacements in the field.

Version 2.0.04 (released September 2021)

This version fixes several known issues in v2.0.02. This firmware is compatible with instruments using the original single-core processor.



  • The (factory) default is now to log all groups.
  • Two entries added to file header: time and date of the range match file for CO2 and H2O, if any.

CO2 rangematch Fri Jun 18 14:20

H2O rangematch Wed Jun 16 13:54


  • Range match graphs are now drawn only when needed (visible on the display). This makes for a noticeable performance improvement with the old boards.

Scripts Log

  • Config changes now logged in the daily scripts log file (found in /home/licor/diagnostics/scriptslogs/)
  • Log files and excel file actions (open, close, etc.) are now logged in the daily scripts log files.
  • Add changes in power state (low battery, critical battery, standby, sleep) to daily scripts log files.

Bugs Fixed

Auto Controls

  • Unable to edit more that one edit box without changing to a different auto controls screen and editing one there.

Backup Utility

  • When more than one console's files are in a backup archive on the USB stick, the interface shows the wrong available data sets. (It currently only shows the backups for the first console you selected.)

Background Programs

  • Editing one cell of a table in the BP build environment fails to bring up keyboard.
  • Copy/Pasting the EXEC statement in the build environment would lose information if the step source is set to File.
  • EXEC Copy/Paste still not being handled correctly. Execution is OK, but editor displays them incorrectly unless you save and reload from file.


  • p3 deltaF and p1 deltaF were being computed backwards. They are now measured - predicted.
  • Editing (edit boxes) on all Fluorometry Settings screens would leave the lower part of the screen (including the menu bar) disabled until empty space on the screen is tapped.
  • If incoming flash or dark event packets have nan or -nan, the scripts will crash.


  • The custom BLC value was being made to disappear from the constants page when not needed in 2.0.02, but was causing location issues for it in the file. This has been restored to normal (pre-2.0.02) behavior.

H2O Control

  • Suppress SP Override messages when H2O control is in manual mode.


  • Default (factory) CO2 matching is now conditional instead of off.
  • Range matching was unreliable about restoring original control settings. Should be better now.
  • The current match data function shown when doing a range match acquire is now always based on the full data set, not a partial one if you happen to be in partial range mode when you start the acquire program.
  • The "hot weather" problem: system would bog down in conditions that caused the H2O_s value to smoothly increase past the right edge of the range match plot. Caused by way too many graph redraws. Now there are fewer redraws, which prevents the issue.

Measure Graphs

  • Line width has not been changeable through 2.0.02.

Calibrate Pump Speeds program

  • When building pump response, quit as soon as it gets a point above the maximum value needed. (Some consoles will have the last two points above 2000 but at the same value.)
  • Put a 10 second timeout on the initial wait for flow to drop < 100.

Prompt on log

  • Fixed issue in which the Leaf Light screen cannot be edited; keyboard appears and functions, but updates do not happen.


  • Renamed a Snapshot le top level key from "topics:" to "topics". It was mistakenly named "topics:" when it was rst added in 1.4.10.


  • Stability gets into a mode where one or more items do not update. Made changes to make this less likely.
  • Gas exchange constants have been removed from the variable picker for stability.

User Defined

  • Number of variables and constants were being miscounted when user edits equation line. Example: "v1+v2" made 2 variables, but "v2+v1" would make 3 variables.
  • If you have the user defined page in edit mode and open a log file, you were be unable to change constant values, except in the prompt-on=logs screen. Now exits edit mode if you open a file.

Warmup Tests

  • The Actinic 1st Response program was using a log scale. This caused a tabby crash if you ran this program then tried to select the next item in the program menu. The version 2.0.03 program plots log values on a linear scale, and also converts (if necessary) the previous results le to this scheme before loading it.
  • Change chamber pressure test to use 300, 600, and 900 ow rates. Also, allow 25 seconds to reach stability instead of 20 (2.0.02) or 15 (1.5.02).

Version 2.0.02 (released July 2021)

This version introduces a slightly reorganized interface.



  • The order of tabs has changed slightly.


  • Added LED tile temperature to Flrevent files.

Background Programs

  • Get/Set capability added to BP dialogs.
  • Last time defaults added to basic BPs, and log message buffering added to AutoLog if total number of logs warrants it.

Range Match

  • For H2O range match, if it gets too humid (>95% RH), the ramp up is terminated early, and it starts down.

Main Setup Page

  • Console serial number now displayed (lower right, along with CPU count, etc.).


  • A warning has been added to the relevant cal screens when a range match acquire is in progress.

Pump Cal

  • Results are now written to /home/licor/.factory/li6860/ for archival purposes (includes other console settings as well).


  • Last time defaults added to basic BPs, and log message buffering added to AutoLog if total number of logs warrants it.

GasEx Constants

  • Added descriptions to the Geometry radio buttons; The Custom field only occurs when needed, as an edit box with description.

Range Match

  • Up vs down plotted data during a range match acquire is now differentiated: data during the "up" portion is plotted as Δ, and the "down" portion plotted as ∇.

Bugs Fixed


  • Turn off extra averaging if it is enabled with averaging set to 0.


  • In the table, Fv/Fm and PhiPS2 are now distinct.
  • Fixed zoom issue haon the graphs in Files tab.
  • Leaf area calculator now inverts more precisely when going between leaf width and leaf area.
  • Fixed issue where the Fo value can get partly off the Results diagram for bogus flashes (no leaf, etc,)

Fluorometer and Autoprograms

  • Fixed issue where the Autolog (original autoprogram version) was not waiting for dark adapts to finish. Was skipping logging flashes in circumstances with a minimum flash interval is the same length as the dark pulse time.

File System

  • The copy file task in USB Utilities now done by scripts.
  • Symbolic links are now automatically unlinked when encountered during a scan, if found to point back on its own tree. This has been an issue for scattered customers.


  • When an unknown object (light source) is attached, an Edit button is now available to set the model, etc. (bug originated in 1.6.0).
  • After light source u0u1u2 cal, light source target now returned to pre-cal settings.


  • Keyboard not dismissing properly in some circumstances (bug originated in 1.6.0).

Leaf Constants

  • The manual mode edit boxes (desiccant and humidifier) get out of synch with reality (the displayed status values on the diagram) whenever the previous water control was NOT H2O_r.


  • AutoEnvs are supposed to suspend during matching. They haven't since before 1.3.6. Works now, and also for range match acquire. "Suspended for Match" or "Suspended for Range Match" overlay shown on screen.

Pump Cal

  • Loosen the high pressure "ok" range. Was 51 ±15. Now is 53 ±18.

Background Programs

  • The BP.setDlgFile() method of last time defaults were getting weird if there was a follow on dialog. It is less weird now.

Background Programs

  • BPFileLoop was only stripping newlines from right hand end, not all white space.

Warmup Tests

  • The desiccant test has been removed when configured for Aquatic Chamber.
  • A system flow fault (e.g., leak because of loose desiccant tube) runs up a bunch of errors, instead of just one.
  • Pressure test gives advice for being too high, even when the failure was being too low.
  • Pressure test increased maximum time from 15 to 20 seconds, and tightened stability criteria. Complaints about the test grabbing values too fast.
  • When the Chamber Leak Test is run by itself, there was a slight chance of overpressurization to the chamber on recovery. This has been fixed by 5 seconds of 50/50 flow split at end of test to provide an alternate path for any subsequent flow burst. Also test run at minimum rather than low pump speed, and time/stability criteria adjusted slightly.


  • Actinic now restored after BP-based tests. (Note: the actinic ON button is there as a convenience to turn the light on if it isn't. It sets the light to 1000 and 50/50 red/blue. Once pressed, that becomes the new "normal" to which the light will return after a test.)

Insect Configuration

  • Removed RHCham, VPCham, SVPCham from GasEx computations.

Measurement Graphs

  • Some defaults graphs had issues (default, aquatic, and insect graph E, and aquatic graph F).
  • When a config change involved a graph change that involved no change of topic and key, but a change in label (metadata), the graph wasn't getting updated, so the label was wrong on the graph.

QMqtt Client

  • Fixed problem that caused packets to be repackaged erroneously on receipt leading to "unknown topics", etc. Customer would see 2 to 3 minute freezeups, red "QMQTT disconnect" messages, etc.


  • AutoDry now will not get launched if configured for soil.

System Messages

  • Fixed issue where under some circumstances, system messages don't update (or clear) correctly.

System Constants

  • Removed system constants from prompt-on-log dialog. Rationale: When the prompts-on-log dialog appears, the data is already captured. Changing system constants can not affect that data; their effect is already baked in to the data (performed in head computations). So including it in the prompts-on-log implies that is not the case. Worse, if a value is in fact changed in the dialog, the logged record will be erroneous, as it would show the wrong O2 value (for example) than what was actually used.

Version 1.5.02 (released March 2021)

This version includes several new features, including support for the aquatic chamber and measurements using the Dynamic Assimilation Technique (DAT), and support for the upgraded console digital board.


Aquatic Chamber

  • Added aquatic chamber feature set.

Background Programs

  • Output page, with graph and table for BP use.
  • Simplified method of a dialog remembering last-time values (Use BP.setDlgFile(filename) prior to calling the DIALOG).
  • Now use monotonic timer for all timing (except waiting for a specific time and date).
  • LastTimeDefaults for dialogs (BP.setDlgFile).
  • Output page support (lib/
  • Save/Restore configs (lib/config
  • Added a timeout time on WAIT for event.
  • Add explicit soda lime control to what can be done with SETCONTROL (CO2).
  • Changed "must eval() to string" to "must eval() to string or numeric" for User Constants (SETCONTROL).


  • Traffic lights on calibration screen.

CO2 control

  • 3000 ppm upper CO2 limit removed.
  • Removed constraint that pump be on for CO2 injector to work.
  • Added extended range option for CO2 control, in which you specify a tank and source, and - if appropriate - the soda lime kicks in or out automatically (if in auto mode) depending on the relation between the CO2 target and the tank concentration.


  • When a log file is open, and a configuration file is loaded:
    • A remark is added to the log file.
    • If there is a Chamber config as part of the loaded config, it is ignored and a message to that affect displayed. (This prevents accidentally undoing an Aquatic chamber config, or accidentally changing dynamic status, etc,.)


  • First implementation of Dynamic Assimilation and Transpiration.

Factory Default Dialog

  • Clear All and Set All buttons added.


  • Set from file option on user-defined pick lists.


  • Fluorometer table improved.
  • Add two dark modulation frequencies: 10 and 20 Hz (reducing lower limit from 50 Hz to 10 Hz).


  • "Incoming RH" (incoming to the head) is now displayed if there is an ambient temperature available. This is based on the ambient temperature, and the H2O_r measurement.


  • Added column Sys:averaging that shows extra averaging time (0 if none).
  • Increased size of Keyboard recall buffer from 10 to 20 lines.
  • Changed snapshot file. Now it is a single .json with head, console, and flr xml status added

Power button

  • A double-tap (two taps within 500 ms) will restart the interface application while the underlying operating system application continues.

Pump/Flow meter

  • Improved pump calibration program and two other supporting programs.


Added Namer utility to set serial numbers and host names.


  • When an ambient temperature measurement is available (e.g. extra leaf temperature thermocouple .hanging in space), that temperature is now included in the mix when looking for a condensation threat. H2O targets are adjusted accordingly.

Bugs Fixed

Background Programs

  • Fixed the "Missing licor/bp" message in the TriggerPrompts group.
  • A timeout duration has been added to the BP step WAIT (Event).
  • Loading an empty BP no longer throws an error.
  • LOOP Duration: no longer waits too long to exit by an amount up to the minimum cycle time.

Boundary Layer Conductance

  • With the 6800-12A chamber (any insert or none), the console and text log file had wrong boundary layer. The Excel file is right.


  • Several factory defaults for Aux were mis-named and not functioning (power 5, Power 12, Excite 5, and pullup).
  • Configs containing EnvLight were setting transmittance when they shouldn't have been.
  • GasEx items not saved through power cycle.

Data Dictionary

  • The description field now displays nothing when selecting an item that has a blank description (an empty string for a description).


Fixed issue with the "Flow slow/off" message not working correctly.


  • Fluorometer event files now named using console clock, not fluorometer clock.
  • Syncing fluorometer clock now also does a reset, so post-sync non-response issues should be fixed.
  • FlrLS values of Q red, Q blue, etc. were not being updated unless in full fluorometer mode.
  • Induction curves had wrong T@ values, since secs was assumed to have been shifted and it wasn't.
  • Fluorometer boundary layer is wrong in text files and in real time, OK in Excel files.
  • The FlrStats group is erroneously appearing in log files in LSO mode.
  • Added alternative Fo' computation. Now computes all quenching items without requiring a dark pulse. Dark pulse Fo' overrides light adapted estimated Fo'.
  • Removed 16000 upper flash limit. Can ask for anything, but may not get it.
  • Quenching items based on Fo' wrong in text log file. OK in Excel.
  • DarkAdaptFlashID and Device not showing up in the filtered table (Fluorescence files).
  • DarkAdaptedID, LightAdaptedID, etc. show up as NaN on Grids and in DD.
  • Loosened some fluorometer calibration check (warmup test) expected values.
  • Dark modulation rate can't be set under 50 Hz from a BP.
  • Dark pulses done with dark mod rate at 10 Hz have a spike down.

Gas Exchange

  • The area diagram was appearing when it shouldn't (mass based fluxes).


  • Conductances showing up in flux-based measurements.


  • Scrubbing is being suppressed when air input set to Auxiliary even if not in Extended Range mode.


  • Changed role of "abs" and "convert" in LeafQ group: "abs" now is αpar (was PAR and nir combined). "convert" is now the product of the old alpha and convert. (In the LI-6400 manual, table 17-1, equivalent to β = k × α). Bottom line: Qabs now is appropriate for PAR, instead of being appropriate for energy balance work. Rabs in GasEx is now computed from Qin times convert.

Log Files

  • Entering a file name that already exists was causing the old file to be overwritten, even if the configuration choice was to "Ask" if the file existed. It now asks.
  • Overwritten files are now moved to the Trash, instead of being overwritten.


  • Match failed message sometimes spurious (if matching at the last moment).
  • Range match controls now in sync after resets due to entering a calibration screen.
  • After range match acquire, "use adjust for pt match" is now unchecked.
  • Range match warning (suspended match) won't go away when you switch to point match.
  • After entering and leaving a gas-associated calibration screen, the range match should turn off, and no point matches will be used.
  • After acquiring new data, range match will return to previous state vis-a-vis full vs. partial range.
  • After removing the last point match, the actual match goes to zero, rather than remain at the old value.

Prompt on Log

  • Now supports text-type items (examples on fluorescence and leaf-light screens).
  • Now support check boxes.

Range Match

  • When range match is frozen (too high concentration), the head isn't getting the right match coefficients.

Recall Buffer

  • Through power cycle (or interface restart), entries with commas were being split into multiple entries.


  • Soil chamber actions (e.g., circulation pump on) no longer have a side effect of turning on console flow control.


  • Stability criteria retains F when you switch from Full Fluorometer to Light Source Only.
  • Variable picker should not show Aquatic, DynConfig, or SysObs groups (all constants).


  • Fixed issue with a spurious Ambient Temp on the water page when the Temp control page is set for "T2 in" for thermocouple usage.

User Defined

  • Now can load an empty User Defined config.

Warmup Tests

  • Removed references to the tech BP for calibrating the pump.
  • Pressure tests upper limit now 0.1 kPa instead of 0.2 kPa.

Version 1.4.05 (released July 2020)

This software version has bug fixes and minor improvements.


  • Saving background programs is now attempted anytime the filename is edited.
  • Added a function in Sample Time Group for getting a time-based file name for background programs.
  • Added some Background Program examples to go with the Background Program Details document.
  • In background programs, the LOG step (adding a data record) options can now be programmable instead of just fixed.
  • Implemented support in head (with version 1.4.1) for an enhanced pressure correction for the CO2 and H2O IRGAs.
  • Added method to trigger flr events from a BP independent of using a LOG step.
  • Qmax (and Qmax d for dark adapted flashes) has been added to the Flr group.
  • qL (proportion of open reaction centers) and 1-qL has been added to the Flr group
  • A Recall Buffer has been added to the large keyboard. Previous entries will appear in a menu, so you can easily select old entries.
  • User can now enter leaf width instead of area with prompt on log. (Area diagram now shown on GasEx constants page when prompting on log).

Bugs Fixed


  • Fixed fluorescence computation issue with qL and 1-qL.
  • FlrStats was never updating on the display (but the logged data was OK).


  • H2O Match time elapsed not computed properly in conditional matching determination.

Fan Control

  • Fan control screen erroneously showing leak diagram when powered up with a configuration change from last time.

Background Programs

  • Saved message not getting cleared at appropriate times.
  • Fixed a sequence of editing steps that would cause the interface to crash.
  • Cannot set a user defined constant's value from a BP without making it numeric. Should accept strings.
  • BP step LOG is not getting the H2O Match options when the BP is loaded from a file
  • In Start (or Monitor) screen of BP, could not open nodes below the top level.
  • Double-tapping data or status dictionary entries was putting them in an edit mode.
  • Left and right sides of Set view in Background Program builder could get out of synch after insert or delete.
  • Edit screen (currently selected program step) now kept in synch with Set screen selection (currently selected step).
  • In a control table with any fixed rows, deleting a column would 'skip over' the fixed rows.
  • Line identifiers not always unique (highlighted line of a running BP could be wrong).
  • Nesting quotes in a dialog's edit box description or units would prevent the program from loading from file.
  • Spaces before or after commas in a control table list of "extras" will fail (makes variable names with leading or trailing spaces, which are rejected).


  • The Chamber part of configuration files was being ignored when they are loaded.
  • Constants would re-appear in the data dictionary list for picking stability targets after certain configuration changes.


  • The flow balancing algorithm can "get stuck" in certain circumstances (e.g., plug an exhaust port momentarily while balancing is active and make the percentR value exceed -70), and it will not work right again until a re-start.
  • For consistency, changes in CO2, Flow, and Pressure control settings will now activate that ENV control, just like it does for H2O, Temperature, and Fan, Note: Light does not do this (purposefully).
  • Turning off Fan or CO2 control should unset the control type button.
  • These two were not consistent with other controls.
  • Setting a control should end standby or sleep modes.
  • Pressure control could appear locked on to the wrong target.


  • Running multiple ones can bog things down (on the LI-COR network, and perhaps others). Update times are now dynamically adjusted according to how many AutoEnvs are running. (There is also a backdoor override method to manually set update times, via a BP for example.)

Warmup Tests

  • The H2O and CO2 range tests are grabbing values too soon, and fail unnecessarily.
  • The H2O and CO2 range tests can leave the match valve in a bad state: sample ok, but reference still splitting flow.
  • When configured for soil, putting instrument to sleep/wakeup puts all the non-soil warmup tests back in the list.
  • Rounded digits in some pump speed test output.


  • Fluorescence plots of DC/Q can be goofy on the margins. Restricted to just showing the flash data.
  • Setting flash targets to a floating point number with lots of digits to the right of the decimal wasn't working.
  • The Load button in Flr constants would become unresponsive after adding any constants to the list.


  • Prior version was unable to implement the soil config.
  • The final rep of measurements was getting added to results graphs and tables twice (This may have been introduced in 1.4.02).

Data Dictionary

  • Masking feature (filtering out irrelevant groups, depending on configuration) not working as expected.


  • If a light source (head or console) attached and on, can't keep unit in sleep mode.
  • Editing a control now takes you completely out of sleep, instead of just to Standby.
  • The state of light source ports (on or off) now retained through a power cycle.
  • The following are now suspended during sleep: Flr recording, FlrStats and Flrls aux.
  • Match log-options not preserved through power cycle.

Flow Control

  • Pressure and target edit boxes are now disabled if flow control off.

Temperature Control

  • Temperature control could come up running with no apparent target after a power cycle.

Fluorometer Stats

  • The FlrStats group's values will disappear if a gird or graph using one of them is the current one when the interface starts up.
  • The"\T@FMAX" item in the fast kinetics group (FastKntcs) is not getting set.

Manage Files

  • Eject button in Backup/Restore is now functioning.

Prompt on Log

  • Some tab sheets were coming up empty.

Grids & Graphs

  • Configuration now preserved through a power cycle.

Version 1.4.02 (released November 2019)

Software version 1.4.02 is a major update with many new features and performance improvements. New features are described in detail in the release notes:

New Features

  • Background Programs enable full control of the LI-6800 using custom programs. See the Background Programs user guide for full instructions:
  • Range Matching can collect match data across a range of CO2 and H2O concentrations, making it possible to carry out survey measurements more quickly.
  • Support for two USB drives.
  • Improved USB file management options.
  • Ability to select multiple files in file directories.
  • A Trash directory to collect deleted configuration files and data files before they are permanently removed from the file system.
  • Improved tools to evaluate data from flash events; view, compare, and analyze results as they happen and in stored data files.
  • Balanced flow makes it possible to operate with the same flow rate going through both cells of the IRGA.
  • Modified System and Warmup Tests to differentiate errors (serious issues) and warnings (things you may or may not need to address). When errors or warnings occur, there will always be one or more suggestions shown to help you address the problem or determine if it can be ignored. Details are provided in the instruction manual.
  • Soil chamber interface has minor updates.

Version 1.3.17 (released December 12, 2018)

Software version 1.3.17 includes bug fixes and performance improvements.

New Features

  • Enabled Auto Program access to files saved on USB port.

Bugs Fixed

  • Corrected issue in which the file system might attempt to load configuration files from the root level if no configs directory exists, leading to a permissions issue. Now the file system looks at the acceptable directories even if configs is missing.
  • Fixed issue that caused the match valve to not fully recover from automatic match mode under some circumstances.

Version 1.3.14 (released October 4, 2018)

New Features

The Chamber Manager screen (the opening screen where you pick computations, apertures, etc.) has some natural potential overlap with the Configuration Manager (whose UI is the Load and Save Configuration screens). Version 1.3.14 makes some effort to sort out the conflicts.

For example, if you change from a full fluorometer (FF) to light source only (LSO), or non-Soil to Soil, in the Chamber Manager screen, you would expect (and get) some grid and graph changes to add or remove fluorometric or soil references. On the other hand, if you have a configuration file that includes a Chamber section (which reflects the Chamber Manager state for when the configuration file was saved), it might have options that are not even available for the current chamber.

So, the first question is this: What does the Configuration Manager do when loading a config file that has "inappropriate" chamber options? If the Chamber section of the config is for a chamber that is not presently attached, that chamber information is ignored. (The software has worked this way for some time).

Second question: What happens if the configuration file and current setup are for a fluorometer, and the chamber part of the config file calls for a different FF/LSO than the current setting? Does it do the change? Does it also automatically trigger factory defaults for grids and graphs? What if there are also grid/graph portions of the configuration file being implemented?

Previous versions of software have handled this issue in about every possible way, resulting is a variety of complaints, depending on the expectations of the user.

This is how version 1.3.14 handles this issue:

  • Changing FF/LSO in the Chamber Manager screen WILL trigger resets to factory defaults for grids and graphs. (i.e., you might lose your grid/graph definitions, but you won't see fluorometric references when they are not active.)
  • Changing FF/LSO via the Configuration Manager will only trigger resets to factory defaults for grids or graphs if there are not grids (or graphs - they are independent) in the configuration being loaded.

The end result is if you have a configuration specifying FF or LSO, and it includes graph and/or grid definitions, then implementing that ENTIRE configuration should result in all parts of it being implemented as expected.


  • Can synchronize head and fluorometer clocks to console.
  • Latest system/warmup test results appended to bottom of snapshot file.
  • File picker sorting doesn't require explicit wildcards.
  • Time differences (if any) between head/fluorometer and console shown in minutes or hours if needed.
  • Latest system warmup test results are now appended to the bottom of snap shot files.
  • Wild card characters are assumed in the file view filtering, so needn't be entered.
  • New normal: leaving sleep mode will also take you out of standby mode if a light source (not the fluorometer) is attached.
  • Added user defined variables inserted at top of list.
  • Added expand/collapse for all folders in file list viewers.
  • All file viewers/pickers show directory path sequence to selection (breadcrumbs).
  • Temp control adjuster step setting now retained through power cycle. Also, it is reset to 1 as part of factory reset of temperature control.
  • Chamber manager chamber figure now uses current leaf area.
  • Fluorometer warmup tests now easier to pass.
    • Basic cal: widened range on F_farred, F_modred; better value for u_red.
    • First guess: Was 5% or 10 µmol, which ever was bigger. Now 10% or 20 µmol.
    • Cross sensitivity: Intercept and slope was 3 and 0.02. Now 5 and 0.05.
  • Control and Config manager interaction (described above).
  • Files that end in .xlsx now cannot be used for as a primary log file (text). This prevents them from being appended to, which is a disaster.
  • Added an Auto Program for fluorometer event file clean up. It removes all files (and directories, if they become empty) older than some number of days you specify. The Auto Program opens a system dialog box that goes through 4 steps: 1) Counting the number of files that will be affected, 2) OK or Cancel 3) (If OK'ed) Removing files, and 4) The final count of files and directories removed.
  • Improvements USB file view interface.
  • Non-fluorescence logging now no longer wipes out the fluorescence results page, but fluorescence part of the data record logged is cleared out.

Bugs Fixed

  • Eliminated freezing when using file viewer (sorting, etc.)
  • IRGA calibration mode could leave flow state changed.
  • The "foreign" thermocouple offset corrections were not getting into the log file. They can now be found in the Meas group, Offset and Offset2.
  • PS/2 and Adark were not being set by factory defaults.
  • The last used Fluorescence averaging time not used at start up.
  • Changing configurations between Full Fluorometer and Light Source Only now should work as expected.
  • Changed the fluorometer cross sensitivity offset limit from 2 to 3 in warmup test.
  • The fluorometer results page was not clearing when it should (after a non-fluorometer log), but waiting until a constant was edited to clear (a refresh issue).
  • Fixed units in MPF ramp and RF duration.
  • The last used system constants (Oxygen, average time) were not being used at start up.
  • The last used gas exchange constants were not being used at start up.
  • The Close button in the View Details dialog in connections was covering text.
  • Time zone button label issue with Miscellaneous.
  • Soil pump speed not part of saved soil config, and restored after warmup test.
  • Stopping a soil measurement by sleep now works right.
  • Can now revert back to standard settings by entering the magic soil area.
  • Fixed rounding in Auto Program estimated run time.
  • Digital I/O now not available in AutoEnv.
  • Inability to open files in analyze logs.
  • File picker sorting: Crashed with USB; was wrong for file size and date.
  • File picker delete file, 2 times in a row, without moving the selection bar, would crash UI.
  • File picker could be made to delete the /home/licor/logs/ directory.
  • Changing user defined constant to variable set #digits to -1.
  • Changing target in control loop Auto Program had display issues. (Note: display won't be right until after the next setpoint).
  • Unable to open files for Analyze Logs.
  • File tree viewer crashing in config USB views.
  • Local file viewer has wrong root in config export screen.
  • Significant digits setting going to -1 when changing user defined from constant to variable.
  • Changing Auto Program control target(s) on the fly wasn't updating the display.
  • Various FileViewer bugs: delete files, expand folders, navigation bar.
  • Refresh issue with files copied to USB.
  • USB file view can be blank (on screens with eject and refresh on same page).
  • Current directory is now changed out of USB device before unmount called.
  • Soil pump warmup test crashes.
  • Configuration saving/loading not working for User Defined and for AutoEnv.
  • Cancel key briefly visible during shutdown wasn't working.
  • No TLeaf warning now only present for full gas exchange computation. (Not checked for flux only, etc.)
  • Dark pulse figure could get too large to the right.
  • Flow control could get in a mode where match valve was not right. Now, exiting match (or doing factory reset on flow control) will put it right.
  • Insect respiration would crash on first log (if logging to an Excel file).
  • User defined string values less than 10 characters getting truncated on display.
  • Soil flux file viewer could point at inappropriate directories if appropriate one didn't exist.
  • Dark pulse plotting error (time scale has wrong offset).
  • Match and Flash not working during log. (Problem was Offset and Offset2, recently added to Meas group, could get turned into strings which prevented averaging and aborted the log).
  • User prompts not updating user constants before log.
  • Grid and Graph definitions not seeming to take effect if loaded from a config with FF/LSO mismatch.
  • Adding a non-zero weighting factor for a light source that is not attached causes Qin to go to 0.
  • Corrected issue with invalid numeric entry (e.g., $%^ &*):
    • If handled by back end, resulted in Pending for eternity.
    • If handled by UI (non-QPainter figures), will put a NAN to the head's setting, which will remain until a valid number is entered. The x turns either case into a 0.0 entry, which is handled transparently.
  • S, K, and Geometry not being set by factory default.
  • Some fluorometer measurement settings were not restored after running fluorometer warmup tests.
  • Adark and PS2/1 not retained through power cycle.
  • Leaf temp constants not retained through power cycle.
  • Some items (Adark, ETR) not updated by a manual flash (i.e. not triggered by log).
  • Sample cell flow calibration results graph has overlapping x-axis labels (force axes maximums to be 2000 and that creates fewer, better spaced labels.)
  • Various file viewer issues.
    • Wrong file selected after renaming.
    • Directories opened seemingly randomly when scrolling.
  • Analyze logs issue: Plotted data grid can lose columns.
  • Saving to new config file was not selecting the file.
  • Loading a config file caused all options to become enabled and checked, whether present or not.
  • Configuration manager was publishing a number of topics with retain=True that should not have been.
  • Ambient light source, and the contributing source weighting factors, were not being retained through power cycle.
  • Flow control and Leaf Temperature control were not getting set by Factory Defaults (problem introduced in 1.3.11).
  • PostFlash interfered with a leaf temperature control loop and/or a VPD control loop (Generic response, for example). The solution to this is to keep track of the last time a leaf temperature or VPD control target was set, and if PostFlash is launched within 10 seconds of a new VPD or Tleaf target, it will skip locking the Temp or H2O control.
  • Tapping the home icon in a file viewer will now collapse all open directories.
  • Saving/Loading config files: At least one category must be checked for the Save and New File (or Load) buttons to be enabled.
  • Numerous USB-related file viewer and copy issues (spurious out of space messages, directory copy failures, etc.)
  • Fluorometer constant Adark would lag behind on the constants page after dark adapted flash.
  • A, Qabs, PhiPS2 lagging behind on results figure for a manual flash light adapted, and when doing Fm'Fo' for a fluorescence log.
  • Added sampling period to the string remark in log files noting stability criteria changes.
  • Funny jags could appear on fluorometer leaf area diagram when aperture not filled.
  • Units errors ( for RF duration and deltaTW.
  • Fluorescence screen will blank following a prompts-on-log in which the keypad was used.
  • USB files copied to console no longer owned by root.
  • Fixed units of induction flash duration (s -> ms)
  • Startup configuration check boxes now all unchecked (until a file is selected).
  • Light tab green indicator now should be gone when in standby mode.

Version 1.3.4 (released March 26, 2018)

New features

Soil respiration

Bluestem OS v1.3 supports the 6800-09 Soil Respiration Chamber, via the 6800-19 Custom Chamber block. When the 6800-19 Custom Chamber block is detected, one of the computational options presented is 6800-09 Soil. Selecting this option will power on the light source connector in the head, into which the soil chamber should be plugged; selecting any other option will power off the connector.

The other time that the light source connector is powered off is during sleep mode, starting in version 1.3.

Figure 1‑1. Configuring for the soil chamber.

A number of interface changes happen as part of selecting 6800-09 Soil:

  • Environment: Fan and Light controls are hidden.
  • Constants: Gas Exchange, Leaf Temp, and Leaf Light are hidden.
  • Logging: Match options are hidden.
  • Measurements tab: Replaced with Soil Flux, and the grids and graphs are replaced with the soil control panel.

For further details, consult the soil respiration manual, available from

Flow control diagram

The Flow control page has been re-laid out, to more closely reflect reality, and to accommodate the soil respiration chamber configuration.

Figure 1‑2. Normal flow path for leaf chamber measurements and the flow path for respiration measurements.

Support for 9968-162 T/C Adapter

When using the 9968-162 Thermocouple adapters, there is the potential for offset errors when using thermocouple with long leads. The offset should be measured by comparing the thermocouple's reading with a standard (e.g., ice bath), and entering the correction factor using the Environment Temperature control page.

Figure 1‑3. The Temperature Control screen has support for correcting 9968-162 T/C Adapters.

Fluorometer event files

These files used to reside in the directory /home/licor/flrevents

When version 1.3 is run for the first time, these files will be moved to /home/licor/logs/flrevents, where they are grouped into daily subdirectories. The daily subdirectories are created as needed automatically.

Soil files

If soil respiration measurements are made, the detailed measurement files (.json) are automatically stored in daily subdirectories in /home/licor/logs/soil

Figure 1‑4. The folders soil and flrevents are maintained by the system, and contain daily subdirectories for soil measurements and fluorescence events.

Color spec help

The light control pages now support a help dialog for setting the color spec. The dialog will show the current color spec when it opens. Pressing the Keep button will update the color spec to the settings you have specified. When a color spec is implemented, if the specified Percent edit boxes don't add up to 100, then colors associated with empty boxes (except for Farred in the case of the fluorometer) will be used to make up the difference. If the percent entries add to more than 100, then they are all scaled down accordingly. If you wish to keep a color turned off, set the percent to 0.

Figure 1‑5. Color spec can now be set via a dialog.

Auto Program control

Auto Programs that have generic loop ability (AutoLog-GenLoop, Generic Response, etc.) are now able to control themselves from within the program.

Figure 1‑6. Access Auto Program global constants via AutoProg Constants.

Figure 1‑7 illustrates how to change duration and log frequency during an AutoLog based program.

Figure 1‑7. Varying the parameters for AutoLog from within the program.


  • Directories and contents can now be deleted (after a warning).
  • Improved System Warmup Tests
    • Added a test for the Soil Respiration Chamber. It checks open/close times, and the circulation pump.
    • Added a check on pca and pcb in the Cal Coeff test.
    • Pchamber zero tolerance is now 0.05 instead of 0.005.
    • The flow valve function test results use labels instead of numbers (100, -100) for positions.
    • CO2 test now flushes desiccant and humidifier with CO2 free air for 15 seconds before starting.
    • Water zero acceptability band is not -1 to +3 mmol/mol
  • 24 hour clock is now an option (Settings)
  • Added "hhmmss" data column in group Sys, that is HH:MM:SS only (still included in date field)
  • Autoprogram estimated time labels depend on the autoprogram type. If autolog based, the time is exact, and the number of logged observations is estimated (depends on matching). Otherwise, the time is estimated (stability), and the number of logs is exact.

Version 1.2 (released October, 2017)

New features

Chamber setup

The Chamber Setup page has changed to accommodate all of the options associated with each chamber, including apertures. It is important that the software know the chamber and aperture in use, as this directly affects leak corrections (if any), boundary layer conductance (and thus stomatal conductance accuracy) and light source calibration accuracy.

Figure 1‑8. Chamber options for 6800-01, fluorometer without apertures.

What this looks like for other chambers is shown below. The 6800-01A fluorometer with apertures has these options:

Figure 1‑9. Chamber options for 6800-01A.

Options for the remaining chamber types are shown below. SS and FB in the 6800-12A 3x3 chamber aperture designations stand for Side-to-Side and Front-to-Back.

Figure 1‑10. Options for larger chambers.

Chamber info

These fields present the information saved in a chamber's EPROM memory. They are programmed at the factory. They can be edited.

  • id - The model number will be one of these: 6800-01, 6800-01A, 6800-12, 6800-12A, 6800-13, 6800-17, or 6800-19.
  • sn - The serial number should match the number on the chamber label.
  • rev - A revision number. Not used currently.
  • ppfd cal - The light sensor calibration factor is used for the 6800-12, 6800-12A, and 6800-13 chambers. For the other chambers, this value can be missing or zero.
  • vol - The chamber volume (cm3) is used to tune the response time of control loops when controlling the sample CO2 or water vapor. See Table 1‑2.
  • pca, pcb - Two coefficients used to correct measured chamber over pressure ΔP (kPa) for the effects of fan speed (rpm) R and flow rate F (µmol s-1). Not all chambers require this. See Table 1‑2 for pca and pcb values.
Table 1‑2. Details on the properties set in for each chamber; these values are on the calibration sheet for each chamber. The calibration factor is unique to each chamber. Calibration certificates are included with the product and available from Chamber serial numbers are printed on the the chamber label.
Chamber Serial Number (sn) Revision (rev) Calibration Factor (ppfd cal) Volume (vol) pca pcb
6800-01 Fluorometer MPF-###### na na 83.6 0 0
6800-01A Fluorometer MPF-###### na na 87.3 4.3321E‑10 1.0215E‑5
3×3 cm Chamber
CHM-##### na see calibration certificate 101.8 0 0
3×3 cm Chamber
CHM-##### na see calibration certificate 109 2.6520E‑10 1.3064E‑5
6×6 cm Chamber
CHM-##### na see calibration certificate 193.7 4.3998E‑11 1.4792E‑5
6800-17 Small Plant Chamber na na na 193.2 0 0
Custom Chamber
na na na ? (~200) 0 0

Factory defaults

The Factory Defaults have moved from the Configurations > Load page to here, and take the form of a dialog.

There is no longer a Get Factory option on the Configurations > Load page. Some comments on some of the configuration groups:

  • EnvLight
  • Factory default settings are implemented for each currently attached light source (Flr, Head, Console).
  • If the attached chamber "matches" that typically used by one of the attached light sources, it assumes that it is in fact attached to it.
  • GasEx
  • Leaf temperature constants are set for measuring leaf temp using connector T1.
  • Gas Exchange constants set for Complete Gas Exchange, leaf area depends on chamber and aperture.
  • EnvFlow sets flow rate according to the attached chamber.

Warning messages

There are warning messages that will be triggered if there is a mismatch between that information and the information stored on the chamber. This can be caused by manually entering incorrect chamber info or if the chamber memory becomes corrupted somehow.

  • Unknown chamber warning: If triggered, the chamber id box is highlighted in red. That is where you fix the problem.
  • Unknown chamber warning message
  • Missing fluorometer: The chamber sn box is highlighted in red since this is often the cause of the mismatch. Solutions: wait a few minutes for things to finish starting up; restart the LI-6800.
  • No fluorometer detected warning.
  • Unexpected fluorometer: If this happens, the chamber id box is highlighted in red. It is likely because the chamber id is not correct.
  • Warning for an unexpected fluorometer ID.

If you encounter one of these messages, follow the on-screen directions to correct the issue.


Screen test to find "dead spots" on the touch screen.

The flow assist feature of water control has been removed.

If boundary layer does not appear in the gas exchange data stream (such as when area-based fluxes are being computed), the choice for controlling to a constant BLC goes away from the environment fan control.

The leak correction scale at the bottom only appears for those chambers for which it is appropriate (6800-01, 6800-12).

All aspects of light control and measurement are consolidated in 5 tabs on the new light control screen. The tabs are stacked on the right, from (top down) Ambient, Fluorometer, Head light source, Console light source, and finally what is incident on the leaf.

  • The Ambient light tab allows you to monitor the external (if present) and in-chamber (if present) sensors for measuring ambient light.
  • The Fluorometer tab is always present; if no fluorometer is attached, the tab is blank.
  • The Head Light Source tab lets you control whatever sort of light source (6800-02 or 6800-03) you have attached to the head's LS connector. A button for powering on and off is provided, as well as a button for viewing and editing the light source calibration.
  • The Console Light Source tab provides all the controls for whatever is attached to the console's Accessory connector. Notice the tracking mode in this example: The Setpoint is not editable, but continually comes from the external quantum sensor.
  • The Total Leaf Q tab is where you specify which light source(s) is contributing to the light on the leaf. The Customize button allows you to weight each light source's contribution to the leaf, to accommodate nearly any scenario. For example, a 3×3 chamber with a light source mounted top and bottom would be configured this way.
  • Transmittance factors allow you to think of light source setpoint targets as what the leaf is receiving, which may or may not be what the light source is actually producing. The fluorometer and 3×3 cm light source are calibrated with chamber tops in place, so their transmittance factors are 1.0. This is not necessarily true when apertures are used. The 6×6 cm light source is calibrated without any chamber top, since there are multiple chambers it fits on. It has transmittance factors for each chamber type.
  • If you have a custom method of illuminating a chamber (for example, using a 6×6, 4 color light source (6800-03) suspended above a 3×3 chamber), you will need to measure the transmittance factor for that configuration. A simple way to estimate this is to set the light source to 1000 mol m-2 s-1, then compare the reading of a quantum sensor that is pressed against the face of the light source (e.g., 1082 mol m-2 s-1) with the reading beneath the top of the chamber at leaf level (e.g., 774 mol m-2 s-1). The transmittance is the ratio: 774/1082 = 0.72. Once that transmittance is entered, setting the light source to 500 mol m-2 s-1, will cause it to actually put out 500/0.72 = 694 at its face, in order to achieve 500 at the leaf surface.
  • Some analysis has been added to induction curves, and a new loggable group named FastKntcs has been added to allow induction curve analysis to make it into log files. F1 and F2, the two in inflection points, are found by curve fitting the modulated fluorescence data.
  • The Environment > Auto Controls interface is laid out a bit differently, and illustrates the new interface for picking target variables.
  • Fluorescence-related log options have been expanded and moved to their own tab sheet.
  • Excel file writing improvements.
  • Two Auto Programs have gone away, since (as you'll see) they aren't needed anymore: Parallel 2 Response and AutoLog-Parallel 2 Loops. The are replaced by MultiControl Loop (MCLoop).

Version 1.0 (released May, 2016)

First release.