@welldot/utils

getOperationWarnings

Returns the validation warnings of the meters, production and operatingregime blocks, of the v2.3 historylogs categories and of aquiferanalysis references (.well v2.3) and of loggerseries events (.well v2.4). Warnings never make a file invalid. today (local calendar date) selects the active permit a

getOperationWarnings(well, today?): OperationWarning

Returns the validation warnings of the meters, production and operating_regime blocks, of the v2.3 history_logs categories and of aquifer_analysis references (.well v2.3) and of logger_series events (.well v2.4). Warnings never make a file invalid. today (local calendar date) selects the active permit and the regime in force for regime_exceeds_permit.

Meters:

  • meter_removed_before_installed — removed_at not after installed_at. ids: meter.
  • overlapping_meters — two installation windows overlap (open = until infinity; touching is fine). ids: meter, meter.
  • duplicate_meter_id — ids: meter id.

Production (effective entries only, except for ids and corrects):

  • reading_meter_unresolved — ids: production, meter_id.
  • reading_outside_installation — reading before installed_at or after removed_at (equal is fine). ids: production, meter.
  • reading_rollover_unknown — r₂ < r₁ without max_reading. ids: r₁ production, r₂ production, meter.
  • duplicate_production_id — ids: production id.
  • corrects_unresolved — corrects points to no entry. ids: production.
  • corrects_cycle — the corrects chain loops back. ids: production, once per entry in the cycle.
  • estimate_period_invalid — an estimated_volume whose period_end is not after period_start, or an unparseable instant. ids: production.
  • estimated_overlaps_meter — an estimated_volume overlapping a meter interval; the meter wins. ids: production.

Operating regime:

  • duplicate_regime_id — ids: regime id.
  • regime_duplicate_effective_from — same instant. ids: every regime sharing it.
  • daily_operating_time_normalized — a regime daily_operating_time above 24, read as 24 (v2.4). ids: regime.
  • regime_exceeds_permit — the regime in force on today (latest whose effective_from local date is on or before today) has flow_rate or daily_operating_time above an active / active_pending_renewal permit. ids: regime, permit.

History logs (ids: log):

  • log_category_field_mismatch — maintenance fields on a non-maintenance entry, status on a non-status_change. hydrodynamic_event_ids and sample_ids are valid on every category.
  • log_reference_unresolved — pump_installation_id, meter_id, or an id in hydrodynamic_event_ids / sample_ids that does not resolve.
  • log_after_decommission — while the current status is decommissioned or abandoned, a non-status_change entry dated after the start of that closed run (the earliest closing entry not followed by a reopening one).
  • missing_maintenance_type — a structured maintenance entry (with pump_installation_id or meter_id) without maintenance_type. Legacy maintenance entries without references are fine.
  • missing_status — a status_change entry without status.

Aquifer analysis:

  • analysis_uses_retracted_event — source_event_ids or static_level_source_id points to a retracted event. ids: analysis, event.
  • analysis_uses_logger_series — source_event_ids or static_level_source_id points to an effective logger_series, which is not a valid analysis source (v2.4). ids: analysis, event.

Logger series (effective events only, v2.4):

  • logger_reading_below_sensor — a reading whose depth is greater than sensor_depth (the level is below the sensor, so the reading is invalid). Once per event. ids: event.

Parameters

well

Well

today?

string = ...

Returns

OperationWarning