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

Copy Markdown View Source

What a slant-delay value rests on beyond the product's stated grid.

The three fields are independent and can all be set on one value:

  • held - the coverage miss a :hold coverage policy held the value through: :epoch_before_first_map, :epoch_after_last_map, :latitude_out_of_range or :longitude_out_of_range. nil inside coverage.

  • degraded - a Sidereon.GNSS.Ionosphere.NodeGap naming every non-available node a :renormalize missing-node policy interpolated around. nil where every weighted node held a value.

  • assumed_mapping - what the product declares, where the single-layer factor mapped a product declaring anything but COSZ: :no_mapping, :q_factor, :absent, or {:other, code} carrying the declared code's own text. nil where the product declares COSZ, which is the factor applied.

valid? is true when the value was neither held through a coverage miss nor degraded by a non-available node. An assumed mapping does not clear it: most published global products declare something other than COSZ, so a nominal result from the CODE, ESA, JPL or UPC grids would otherwise read as invalid. A caller that cares which factor was applied reads assumed_mapping.

Summary

Types

assumed_mapping()

@type assumed_mapping() ::
  :no_mapping | :q_factor | :absent | {:other, String.t() | nil}

coverage_error()

@type coverage_error() ::
  :epoch_before_first_map
  | :epoch_after_last_map
  | :latitude_out_of_range
  | :longitude_out_of_range

t()

@type t() :: %Sidereon.GNSS.Ionosphere.SlantStatus{
  assumed_mapping: assumed_mapping() | nil,
  degraded: Sidereon.GNSS.Ionosphere.NodeGap.t() | nil,
  held: coverage_error() | nil,
  valid?: boolean()
}