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

Copy Markdown View Source

One IONEX vertical-TEC sample at one grid node.

epoch is a Sidereon.GNSS.Ionosphere.Epoch, which carries its own time scale and its own representation. Latitude and longitude are degrees, vertical TEC and RMS are TECU, and the height offset is kilometers.

vtec_tecu, rms_tecu and height_offset_km are nil where the node has no such value. A node holding 0.0 is a node with a value of zero, which is not the same as a node without one.

height_offset_km is the value the node's IONEX height map holds: an offset added to HGT1 to give the single-layer height there, not a shell height.

What is refused

  • {:invalid_sample_field, field, value} - a field that is neither a number nor, where the field is optional, nil.
  • {:value_out_of_range, field, value} - a field that is an integer larger in magnitude than the largest finite double, which has no double to be read onto.
  • the epoch refusals of Sidereon.GNSS.Ionosphere.Epoch.

Summary

Functions

A sample at epoch and the node {lat_deg, lon_deg}.

Types

t()

@type t() :: %Sidereon.GNSS.Ionosphere.TecSample{
  epoch: Sidereon.GNSS.Ionosphere.Epoch.t(),
  height_offset_km: number() | nil,
  lat_deg: number(),
  lon_deg: number(),
  rms_tecu: number() | nil,
  vtec_tecu: number() | nil
}

Functions

new(epoch, lat_deg, lon_deg, opts \\ [])

A sample at epoch and the node {lat_deg, lon_deg}.

opts sets :vtec_tecu, :rms_tecu and :height_offset_km; each is nil when the node has no such value.

The numbers are kept as they were given. Whether each one can be read onto the double the boundary takes is decided when the sample is converted, so a value that cannot be is a named refusal of the build rather than an exception out of this constructor.