assessDataCompleteness
@nmi-agro/fdm-source / fdm-calculator/src / assessDataCompleteness
Function: assessDataCompleteness()
assessDataCompleteness(
soilData,method,soilMeta?):DataCompleteness
Defined in: fdm-calculator/src/mineralization/assessment.ts:85
Evaluates which soil parameters are available, missing, or will be estimated for the chosen mineralization method, and returns a 0–100 completeness score.
Score calculation:
- Required parameters contribute up to 80 points (proportional to fraction present).
- Optional parameters contribute up to 20 points (proportional to fraction present).
- Parameters measured by NMI (
source === "nl-other-nmi") are treated as absent for scoring purposes, since they represent API estimates rather than field data.
Parameters
soilData
Record<string, number | string | null | undefined>
Flat key-value map of soil parameters (from getCurrentSoilData).
Keys are FDM parameter names (e.g. "a_som_loi").
method
The mineralization method determining which parameters are needed.
soilMeta?
Record<string, { date?: Date; source?: string; }>
Optional metadata per parameter: measurement source identifier and sampling date. Used to distinguish lab measurements from NMI estimates.
Returns
A DataCompleteness object with categorized parameters and score.
Example
const completeness = assessDataCompleteness(
{ a_som_loi: 3.5, a_clay_mi: 12, a_silt_mi: 18, a_sand_mi: 70 },
"minip",
)
// completeness.score === 100 (all required + all optional present)