Skip to content

Data validation

Catch the bad row before the regulator does.

CII, EU MRV, IMO DCS and FuelEU calculators don’t tell you what’s wrong — they fail, or worse, they accept the data and under-report. Either way the cost is real: a re-submission cycle, an incorrect CII rating, an MRV fine. The Consumption Log Validator runs structural and value checks over a noon-report or consumption-log export and hands the operator a fix-list before upload.

noon reportsCII / EU MRVIMO DCSFuelEUrow-level evidence

How it runs

Read export → Detect vessel type → Run validators → Categorise errors vs warnings → Pass / fail
  • Read the noon-report or consumption-log export (Excel or CSV).
  • Detect the vessel type if it isn’t supplied — some checks depend on it.
  • Validate against every rule, collecting each issue with its row reference.
  • Categorise — errors that will block submission vs warnings to review.
  • Verdict — a pass/fail for the export as a whole, plus an optional summary-only view for quick triage.

Key concept — errors vs warnings

Not every flag is fatal. The validator separates the two so an operator knows what must be fixed before upload and what merely deserves a second look:

  • Error — will block or corrupt the submission (missing required column, null in a required field, impossible value). Fix before upload.
  • Warning — plausible but worth checking (a value near the edge of its range, an unusual but legal sequence). Review, don’t necessarily change.

Worked example — “Check noon reports for AQUILA”

  1. Reads the annual export, detects AQUILA as a bulker.
  2. Runs all six validator families against every row.
  3. Flags two issues: a missing day in the reporting window (error — completeness) and a fuel figure above the plausible range for that load (warning — value range).
  4. Returns a categorised report: each issue, the row it sits on, and the rule that caught it — so the fix is mechanical, not a hunt.

Under the hood

The six validator families
FamilyWhat it checks
StructuralRequired columns present, expected sheet structure
CompletenessNo missing days in the window, no nulls in required fields
Value rangesFuel, distance and time within physically plausible bounds for the vessel type
Internal consistencySea time + port time matches the calendar period; distance plausible vs reported speed
Sequence integrityVoyage transitions and port calls line up across rows
Vessel-type rulesExtra checks specific to container / tanker / bulker
What it produces
  • A detailed report — every issue, the affected row, and the rule that flagged it.
  • A summary view — counts of errors and warnings by category, for fast triage.
  • A pass / fail verdict for the export as a whole.