Space-weather tables for drag and decay inputs.
The parser and lookup policy are implemented in the core NIF. This module reads optional files, owns the Elixir structs, and forwards table operations to the parsed native resource.
Summary
Types
@type error_reason() :: :unrecognized_format | :not_text | {:malformed, non_neg_integer(), String.t()} | {:before_coverage, float(), float()} | {:after_coverage, float(), float()} | {:missing_data, integer(), integer(), integer(), String.t()} | {:rejected_by_policy, atom(), integer(), integer(), integer()} | {:invalid_epoch, float()} | term()
@type t() :: %Sidereon.SpaceWeather{handle: reference()}
Functions
@spec ap_array_at(t(), number()) :: {:ok, [float()]} | {:error, error_reason()}
@spec coverage(t()) :: {:ok, Sidereon.SpaceWeather.Coverage.t()} | {:error, term()}
@spec parse(binary()) :: {:ok, t()} | {:error, error_reason()}
@spec sample_at(t(), number()) :: {:ok, Sidereon.SpaceWeather.Sample.t()} | {:error, error_reason()}
@spec sample_at_with_policy( t(), number(), Sidereon.SpaceWeather.Policy.t() | keyword() ) :: {:ok, Sidereon.SpaceWeather.Sample.t()} | {:error, error_reason()}
@spec space_weather_at(t(), number()) :: {:ok, Sidereon.Drag.SpaceWeather.t()} | {:error, error_reason()}