Skip to content

Output

Common fields

Every successful JSON output starts with "ok": true and "command", the command name ("fit", "li600 correct", ...). Failures have "ok": false and an error object (see Commands). NaN and infinite values are written as null.

pk fit

One fit

Field Meaning
file File name, or <column> <value> for a --group-by group
converted "xlsx" or "li6800-log" if the file was converted, else null
tool, model What was fitted
n Rows fitted
mapping File column used for each input
r2, rmse Fit quality on the data (6 decimals)
iterations, converged How the fit ended
fitted Optimized parameter names
params Every parameter's value (6 decimals)
derived Values computed from the parameters, such as psi_tlp (pressure–volume only)
rescale Rescale details, or null; see Rescale curves
warnings Columns used, conversions, dropped rows
elapsedMs Time taken
predicted, observed With --predicted: model and measured values, point by point

Batch fits

With several files or --group-by:

Field Meaning
tool Tool name
files Number of files or groups
groupBy The --group-by column, or null
fitted, failed How many succeeded and failed
results One fit object per success, as above
errors {file, code, error, hint} for each failure

CSV

--format csv prints one row per fit. The columns are:

  • file, n_points, r2, rmse, iterations, converged, elapsed_ms and rescale_factor
  • one column per model parameter
  • one column per derived value
  • error, filled in for files that failed

pk li600 correct

Field Meaning
file, converted, n Input and number of readings
solved Readings where the correction converged
settings sidedness, thermalConductance
summary meanOverestimatePct, maxOverestimatePct, maxMeasuredGsw over solved readings
warnings
out The --out file, or null
rows With --rows: gsw_measured, gsw_corrected, overestimate_pct, E_corrected_mmol, Ta_chamb_corrected, T_out_corrected, converged for each reading

The --out file and --format csv add these columns, with units:

Column Units
gsw_corrected mol m⁻² s⁻¹
E_corrected mmol m⁻² s⁻¹
T_in_corrected, Ta_chamb_corrected, T_out_corrected °C
W_chamb_corrected mol mol⁻¹
stomatal_sidedness —

pk li600 estimate

Field Meaning
file, converted, n, solved Input, readings, and readings solved
usedCorrectedGsw Whether gsw_corrected was used
model, params The model and the full parameter set used
paramsSource, ignoredParams The --params file, and names in it the model doesn't use
settings Ca, absorptance, minGsw, gm (or null), series (whether gm was used)
clamped Readings raised to --min-gsw
summary meanA, maxA, meanCi, meanCiCa over solved readings
rows With --rows: A, Ci, Cc, gsw, Qabs, Tleaf, ETR, ok, clamped for each reading

The --out file and --format csv add these columns:

Column Units
A_solved µmol m⁻² s⁻¹
Ci_solved, Cc_solved µmol mol⁻¹
gsw_used mol m⁻² s⁻¹
Qabs µmol m⁻² s⁻¹

pk concat

With --out or --format json:

Field Meaning
files Each input's name and converted
curves Distinct CurveIDs in the result
namespaced Whether CurveIDs were prefixed with file labels to keep them apart
warnings For example, mixed Qabs/Q columns
out The output file, or null
rows Rows written