slv.measurements.mobile.receptor_obs.trax_receptor_observations#

slv.measurements.mobile.receptor_obs.trax_receptor_observations(receptors_csv, crossings, dwells, ch4, lag=None, min_samples=5, include_uncalibrated=True, include_low_pressure=True, crossing_states=('route', 'line', 'stopped'), dwell_states=('route', 'line', 'stopped', 'yard'))[source]#

One CH4 observation per STILT receptor, keyed for the inversion.

Parameters:
  • receptors_csv (str | Path) – The PYSTILT receptor CSV the simulations were run from (receptors_YYYY.csv).

  • crossings (DataFrame) – The tables that built those receptors (crossings_YYYY.parquet, dwells_YYYY.parquet), which carry each receptor’s sample window.

  • dwells (DataFrame) – The tables that built those receptors (crossings_YYYY.parquet, dwells_YYYY.parquet), which carry each receptor’s sample window.

  • ch4 (DataFrame) – The georeferenced CH4 record (obs.parquet / load_trax_obs() with location="all") with Time_UTC, CH4_ppm, state, cal_source and low_pressure.

  • lag (float | DataFrame | None) – Inlet lag: None, seconds, or the per-epoch table (inlet_lag_seconds()).

  • min_samples (int) – Receptors with fewer usable samples in their window get no observation.

Return type:

DataFrame

Returns:

  • DataFrame indexed (obs_location, obs_time) – the inversion’s observation key – with

  • CH4 [ppm, window mean], ch4_std, n, kind, r_idx, lag_s,

  • lag_source and frac_uncalibrated.