use crate::field_schema::{FieldUnit, ProvenanceClass::*};
pub const PVT_UNITS: &[FieldUnit] = &[
FieldUnit {
path: "duration_s",
unit: "s",
provenance: Input,
definition: "span of the run",
},
FieldUnit {
path: "step_s",
unit: "s",
provenance: Input,
definition: "epoch spacing",
},
FieldUnit {
path: "user_lat_deg",
unit: "deg",
provenance: Input,
definition: "user geodetic latitude",
},
FieldUnit {
path: "user_lon_deg",
unit: "deg",
provenance: Input,
definition: "user east longitude",
},
FieldUnit {
path: "systems[].n_satellites",
unit: "count",
provenance: Input,
definition: "satellites of the system",
},
FieldUnit {
path: "systems[].mean_altitude_km",
unit: "km",
provenance: Computed,
definition: "mean altitude of the semi-major axes",
},
FieldUnit {
path: "systems[].carrier_hz",
unit: "Hz",
provenance: Input,
definition: "carrier frequency (preset or scenario)",
},
FieldUnit {
path: "systems[].cn0_dbhz[]",
unit: "dB-Hz",
provenance: ModelledInput,
definition: "C/N0 at the elevation mask and at the zenith",
},
FieldUnit {
path: "systems[].sisre_m",
unit: "m",
provenance: ModelledInput,
definition: "signal-in-space range error of orbit and clock, one sigma",
},
FieldUnit {
path: "systems[].sigma_pr_30deg_m",
unit: "m",
provenance: Modelled,
definition:
"pseudorange one-sigma at 30 deg elevation: loop noise at C/N0 combined with the SISRE",
},
FieldUnit {
path: "systems[].sigma_range_rate_mps",
unit: "m/s",
provenance: Modelled,
definition: "range-rate one-sigma: wavelength times the Doppler one-sigma",
},
FieldUnit {
path: "doppler.n_obs",
unit: "count",
provenance: Computed,
definition: "range-rate measurements in the full fit",
},
FieldUnit {
path: "doppler.n_sats",
unit: "count",
provenance: Computed,
definition: "distinct satellites in the full fit",
},
FieldUnit {
path: "doppler.height_sigma_m",
unit: "m",
provenance: Input,
definition: "one-sigma of the height constraint",
},
FieldUnit {
path: "doppler.error_3d_m",
unit: "m",
provenance: Modelled,
definition: "3D position error of the full batch Doppler fit",
},
FieldUnit {
path: "doppler.horizontal_error_m",
unit: "m",
provenance: Modelled,
definition: "horizontal position error of the full fit",
},
FieldUnit {
path: "doppler.sigma_enu_m[]",
unit: "m",
provenance: Modelled,
definition: "formal one-sigma east, north, up of the full fit",
},
FieldUnit {
path: "doppler.velocity_error_mps",
unit: "m/s",
provenance: Modelled,
definition: "velocity error when the velocity is estimated",
},
FieldUnit {
path: "doppler.drift_error_mps",
unit: "m/s",
provenance: Modelled,
definition: "clock-drift error of the fit",
},
FieldUnit {
path: "doppler.weighted_rms",
unit: "1",
provenance: InternalConsistency,
definition: "weighted post-fit residual RMS; near 1 when the sigmas describe the noise",
},
FieldUnit {
path: "doppler.windows[].window_s",
unit: "s",
provenance: Input,
definition: "window length from the start of the run",
},
FieldUnit {
path: "doppler.windows[].t_s",
unit: "s",
provenance: Input,
definition: "time of the fix after the start of the run: the window's end",
},
FieldUnit {
path: "doppler.windows[].n_obs",
unit: "count",
provenance: Computed,
definition: "measurements in the window",
},
FieldUnit {
path: "doppler.windows[].n_sats",
unit: "count",
provenance: Computed,
definition: "distinct satellites in the window",
},
FieldUnit {
path: "doppler.windows[].error_3d_m",
unit: "m",
provenance: Modelled,
definition: "3D error of the fit over the window",
},
FieldUnit {
path: "doppler.windows[].horizontal_error_m",
unit: "m",
provenance: Modelled,
definition: "horizontal error of the fit over the window",
},
FieldUnit {
path: "doppler.windows[].sigma_horizontal_m",
unit: "m",
provenance: Modelled,
definition: "formal horizontal one-sigma of the fit over the window",
},
FieldUnit {
path: "doppler.envelopes[].*.max_doppler_hz",
unit: "Hz",
provenance: Computed,
definition: "largest absolute Doppler shift",
},
FieldUnit {
path: "doppler.envelopes[].*.max_doppler_rate_hz_s",
unit: "Hz/s",
provenance: Computed,
definition: "largest absolute Doppler rate",
},
FieldUnit {
path: "doppler.envelopes[].*.max_doppler_jerk_hz_s2",
unit: "Hz/s^2",
provenance: Computed,
definition: "largest absolute rate of change of the Doppler rate",
},
FieldUnit {
path: "doppler.single_pass[].cross_track_offset_km",
unit: "km",
provenance: Input,
definition: "user distance from the ground track at closest approach",
},
FieldUnit {
path: "doppler.single_pass[].max_elevation_deg",
unit: "deg",
provenance: Computed,
definition: "highest elevation of the pass",
},
FieldUnit {
path: "doppler.single_pass[].pass_duration_s",
unit: "s",
provenance: Computed,
definition: "time above the mask",
},
FieldUnit {
path: "doppler.single_pass[].n_obs",
unit: "count",
provenance: Computed,
definition: "measurements over the pass",
},
FieldUnit {
path: "doppler.single_pass[].sigma_along_m",
unit: "m",
provenance: Modelled,
definition: "formal along-track one-sigma of the single-pass fit",
},
FieldUnit {
path: "doppler.single_pass[].sigma_cross_m",
unit: "m",
provenance: Modelled,
definition: "formal cross-track one-sigma of the single-pass fit",
},
FieldUnit {
path: "doppler.single_pass[].sigma_up_m",
unit: "m",
provenance: Modelled,
definition: "formal vertical one-sigma of the single-pass fit",
},
FieldUnit {
path: "joint.*.availability",
unit: "1",
provenance: Computed,
definition: "fraction of epochs with a fix",
},
FieldUnit {
path: "joint.*.median_pdop",
unit: "1",
provenance: Computed,
definition: "median position dilution of precision",
},
FieldUnit {
path: "joint.*.rms_error_3d_m",
unit: "m",
provenance: Modelled,
definition: "RMS 3D error of the seeded fixes",
},
FieldUnit {
path: "joint.*.median_sigma_3d_m",
unit: "m",
provenance: Modelled,
definition: "median formal 3D one-sigma",
},
FieldUnit {
path: "joint.fraction_epochs_with_leo",
unit: "1",
provenance: Computed,
definition: "fraction of epochs with at least one LEO ranging satellite in view",
},
FieldUnit {
path: "joint.isb_estimates[][]",
unit: "m",
provenance: Modelled,
definition:
"median estimated inter-system bias of each system with its own clock, fused fix",
},
FieldUnit {
path: "joint.isb_truth[][]",
unit: "m",
provenance: Input,
definition: "true inter-system bias used to simulate each system's pseudoranges",
},
FieldUnit {
path: "joint.dop_sweep[].n_leo",
unit: "count",
provenance: Input,
definition: "LEO satellites added to the GNSS geometry, highest elevation first",
},
FieldUnit {
path: "joint.dop_sweep[].median_pdop",
unit: "1",
provenance: Computed,
definition: "median PDOP over epochs with that many LEO satellites in view",
},
FieldUnit {
path: "joint.dop_sweep[].median_hdop",
unit: "1",
provenance: Computed,
definition: "median HDOP",
},
FieldUnit {
path: "joint.dop_sweep[].median_vdop",
unit: "1",
provenance: Computed,
definition: "median VDOP",
},
FieldUnit {
path: "joint.dop_sweep[].n_epochs",
unit: "count",
provenance: Computed,
definition: "epochs contributing",
},
FieldUnit {
path: "joint.epochs[].t_s",
unit: "s",
provenance: Computed,
definition: "time from the start",
},
FieldUnit {
path: "joint.epochs[].n_gnss",
unit: "count",
provenance: Computed,
definition: "GNSS satellites in view",
},
FieldUnit {
path: "joint.epochs[].n_leo",
unit: "count",
provenance: Computed,
definition: "LEO ranging satellites in view",
},
FieldUnit {
path: "joint.epochs[].pdop_gnss",
unit: "1",
provenance: Computed,
definition: "PDOP of the GNSS-only fix",
},
FieldUnit {
path: "joint.epochs[].pdop_fused",
unit: "1",
provenance: Computed,
definition: "PDOP of the fused fix",
},
FieldUnit {
path: "joint.epochs[].error_gnss_m",
unit: "m",
provenance: Modelled,
definition: "3D error of the GNSS-only fix",
},
FieldUnit {
path: "joint.epochs[].error_fused_m",
unit: "m",
provenance: Modelled,
definition: "3D error of the fused fix",
},
FieldUnit {
path: "joint.epochs[].error_leo_m",
unit: "m",
provenance: Modelled,
definition: "3D error of the LEO-only fix",
},
FieldUnit {
path: "polar.pdop_threshold",
unit: "1",
provenance: Input,
definition: "PDOP threshold for availability",
},
FieldUnit {
path: "polar.rows[].lat_deg",
unit: "deg",
provenance: Input,
definition: "latitude",
},
FieldUnit {
path: "polar.rows[].*.mean_in_view",
unit: "count",
provenance: Computed,
definition: "mean satellites in view",
},
FieldUnit {
path: "polar.rows[].*.median_pdop",
unit: "1",
provenance: Computed,
definition: "median PDOP",
},
FieldUnit {
path: "polar.rows[].*.median_hdop",
unit: "1",
provenance: Computed,
definition: "median HDOP",
},
FieldUnit {
path: "polar.rows[].*.median_vdop",
unit: "1",
provenance: Computed,
definition: "median VDOP",
},
FieldUnit {
path: "polar.rows[].*.availability",
unit: "1",
provenance: Computed,
definition: "fraction of samples with PDOP at or below the threshold",
},
FieldUnit {
path: "timing.utc_offset_s",
unit: "s",
provenance: ClosedForm,
definition: "system-time-to-UTC offset at the start, IS-GPS-200 20.3.3.5.2.4 expression",
},
FieldUnit {
path: "timing.utc_time_of_day_s",
unit: "s",
provenance: ClosedForm,
definition: "UTC time of day at the start",
},
FieldUnit {
path: "timing.utc_sigma_s",
unit: "s",
provenance: ModelledInput,
definition: "one-sigma of the broadcast UTC offset",
},
FieldUnit {
path: "timing.median_measurement_sigma_s",
unit: "s",
provenance: Modelled,
definition: "median one-epoch clock-measurement one-sigma at the nominal C/N0",
},
FieldUnit {
path: "timing.rows[].cn0_offset_db",
unit: "dB",
provenance: Input,
definition: "C/N0 offset applied to every system",
},
FieldUnit {
path: "timing.rows[].stats.rms_s",
unit: "s",
provenance: Modelled,
definition: "RMS time error to UTC",
},
FieldUnit {
path: "timing.rows[].stats.p95_s",
unit: "s",
provenance: Modelled,
definition: "95th percentile of the absolute time error",
},
FieldUnit {
path: "timing.rows[].stats.max_abs_s",
unit: "s",
provenance: Modelled,
definition: "largest absolute time error",
},
FieldUnit {
path: "timing.rows[].stats.median_predicted_sigma_s",
unit: "s",
provenance: Modelled,
definition: "median predicted one-sigma including the UTC-offset term",
},
FieldUnit {
path: "timing.rows[].stats.max_predicted_sigma_s",
unit: "s",
provenance: Modelled,
definition: "largest predicted one-sigma",
},
FieldUnit {
path: "timing.rows[].stats.fraction_in_view",
unit: "1",
provenance: Computed,
definition: "fraction of epochs with a LEO satellite in view",
},
FieldUnit {
path: "timing.rows[].stats.longest_gap_s",
unit: "s",
provenance: Computed,
definition: "longest interval without a satellite",
},
FieldUnit {
path: "timing.rows[].stats.rms_normalised",
unit: "1",
provenance: InternalConsistency,
definition: "RMS of the error over its predicted sigma; near 1 when consistent",
},
FieldUnit {
path: "timing.rows[].series[].t_s",
unit: "s",
provenance: Computed,
definition: "seconds after the start of the run",
},
FieldUnit {
path: "timing.rows[].series[].error_ns",
unit: "ns",
provenance: Computed,
definition: "time error against UTC at this epoch, the UTC-offset error included",
},
FieldUnit {
path: "timing.rows[].series[].sigma_ns",
unit: "ns",
provenance: Computed,
definition: "the filter's predicted one-sigma at this epoch, UTC-offset term included",
},
];