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 |