Sidereon.GNSS.Ionosphere.Warning (Sidereon v3.0.0)

Copy Markdown View Source

A finding the IONEX reader reports without refusing the file.

Most concern a header record that summarizes or describes the maps. The values read do not depend on such a record: every map carries its own epoch and bands, so the file reads the same with or without it.

tag names the finding and decides which of the other fields are set:

  • :missing_record - label
  • :version_record_not_first - line
  • :epoch_mismatch - label, line, declared_epoch, maps_epoch
  • :map_count_mismatch - line, declared_count, tec_maps, all_maps
  • :not_a_number_value - kind, map_number, line, lat_deg, lon_deg
  • :interval_mismatch - line, declared_s, map_number, spacing_s
  • :exponent_carried_into_map - kind, map_number, line, exponent, set_by_line
  • :unhandled - a finding the core reports that this binding predates. Only message is set, and it is the core's own text; no other tag stands in for it.

kind is the band the finding concerns: :tec, :rms or :height for the names the core uses, and the core's own string for any other.

message is the core's formatted text for the finding, carried beside the fields rather than instead of them.

A record the reader passes over raises no finding here. It is counted instead, and read with Sidereon.GNSS.Ionosphere.skipped_records/1 or from a Sidereon.GNSS.Ionosphere.ParseResult, so an empty warning list does not by itself say that nothing was left out.

Summary

Types

kind()

@type kind() :: :tec | :rms | :height | String.t()

t()

@type t() :: %Sidereon.GNSS.Ionosphere.Warning{
  all_maps: non_neg_integer() | nil,
  declared_count: non_neg_integer() | nil,
  declared_epoch: Sidereon.GNSS.Ionosphere.Epoch.t() | nil,
  declared_s: non_neg_integer() | nil,
  exponent: integer() | nil,
  kind: kind() | nil,
  label: String.t() | nil,
  lat_deg: float() | nil,
  line: non_neg_integer() | nil,
  lon_deg: float() | nil,
  map_number: non_neg_integer() | nil,
  maps_epoch: Sidereon.GNSS.Ionosphere.Epoch.t() | nil,
  message: String.t(),
  set_by_line: non_neg_integer() | nil,
  spacing_s: integer() | nil,
  tag: tag(),
  tec_maps: non_neg_integer() | nil
}

tag()

@type tag() ::
  :missing_record
  | :version_record_not_first
  | :epoch_mismatch
  | :map_count_mismatch
  | :not_a_number_value
  | :interval_mismatch
  | :exponent_carried_into_map
  | :unhandled