Local Level Lab

Airborne measurements. Open methods.

Learning calibration before predicting later positions

Purpose and dependency

The antenna and calibration controls supply the correct calibration vector. This next E01 test must estimate it using earlier observations instead. It may start only after that calculation qualifies and the new source-bound software tests pass.

This remains a generated-data qualification. No ESA recording, including recording 187, is fitted. Reserved confirmation groups remain untouched.

Fixed experiment

Use the independent Cartesian trajectories and synthetic sensor transformations from lll.airquantumgrav_truth and lll.airquantumgrav_observation_truth. Keep the earlier fast-maneuver pattern, but use 120 seconds at 300 Hz for this estimation check. The preceding controls test twenty-minute forward propagation; this shorter study tests training-only estimation and prediction together.

There are 24 identities: three generating candidates, two latitude signs (−55° and +55°), two processing cases and two predetermined starts. Each fit uses its generating candidate. This qualifies fitting behavior; a full three-candidate decision calibration is a later, separate study.

Allowance and evidence

Each identity allows 200 native fitting calls, including fresh stopping checks, plus one continuous forecast. Reserve at most 201 calls × 36,000 packets × 119 queries per identity: 4,824 calls and 20,666,016,000 conservative packet/query visits in total. One worker uses four numerical threads, with a cooperative two-hour ceiling and no retries. Later positions are opened for scoring only after the forecast artifact is saved. Interrupted starts remain charged.

Charge construction before work and record array/source/environment hashes. Each case generates 36,001 rate samples and 79 earlier receiver samples, then regenerates all 119 receiver samples for scoring after the forecast is saved. The repeated earlier positions must match exactly. Its separate construction allowance is 36,000 intervals and 36,199 generated samples per identity: 864,000 intervals and 868,776 generated samples across the complete matrix. Raw rate/increment arrays use a compressed, hash-bound NumPy archive; training positions and post-forecast scoring positions remain separate JSON artifacts. Freeze a separate definition and allowance; completed work cannot fund this test. Preserve every fit, failure, active column, forecast and error curve. Publishing reads saved artifacts only. No change to the original NASA findings is implied.

Shared implementation and verification

  1. Extend the independent observation geometry with Cartesian-to-coordinate conversion. Check it against separate geometric identities and both latitude signs; keep navigation imports absent.
  2. Add a small lll.airquantumgrav_training_controls definition/evaluator that calls the existing training initialization, fit and forecast components. Keep generated raw inputs and later receiver positions in separate artifacts.
  3. Test earlier/later isolation, all columns, native/construction charges, complete timing support and source-bound preparation before launch. Use real short native examples; do not initialize from supplied true calibration.
  4. Audit closed results and publish every outcome. A failure blocks observed ESA fits, while receiver-error diagnosis and other independent roadmap work may continue. Do not widen targets or an active allowance to obtain a pass.

What remains afterward

Even a complete pass does not identify actual rate averaging or filtering, calibrate receiver covariance, establish installation continuity or validate twenty-minute calibration recovery. Those requirements need explicit assessment before a receiver-only selection revision and observed ESA comparison.

Roadmap · Prediction safeguards.