# `Sidereon.GNSS.ARAIM`
[🔗](https://github.com/neilberkman/sidereon-ex/blob/main/lib/sidereon/gnss/araim.ex#L1)

ARAIM snapshot integrity protection levels.

This module binds the core ARAIM multi-hypothesis snapshot solver. Callers
provide receiver geometry and integrity support message records. Returned HPL,
VPL, EMT, and accuracy sigmas are meters.

# `araim_error`

```elixir
@type araim_error() ::
  :insufficient_geometry
  | :unmonitorable_fault_mass
  | :numerical_failure
  | :invalid_ism
  | :invalid_allocation
  | term()
```

# `araim`

```elixir
@spec araim(
  Sidereon.GNSS.ARAIM.Geometry.t(),
  Sidereon.GNSS.ARAIM.Ism.t(),
  Sidereon.GNSS.ARAIM.IntegrityAllocation.t()
) :: {:ok, Sidereon.GNSS.ARAIM.Result.t()} | {:error, araim_error()}
```

Run ARAIM for a geometry snapshot, ISM input, and integrity allocation.

Returned HPL, VPL, EMT, and accuracy sigma values are meters.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
