slv.measurements.mobile.receptor_obs#

TRAX CH4 observations paired one-to-one with the STILT receptors.

The inversion joins a Jacobian row to an observation on (obs_location, obs_time): for a mobile receptor obs_location is the receptor’s PYSTILT location_id (it has no site name to map to) and obs_time is its release time. So every observation here is built from the receptor it belongs to, and keyed with the same identifiers the simulations were given – the receptors are read back with stilt.read_receptors(), the function the batch workers use, so the keys cannot drift from the footprints.

Two receptor types (see receptors):

  • crossing – one pass of a 2-km segment. The observation is the mean CH4 over the pass, i.e. over the samples logged between the pass’s first and last GPS fix.

  • dwell – one hour of the train parked at one outdoor spot. The observation is the mean CH4 over the samples in that hour of the dwell.

Inlet lag. A sample logged at time t is air that entered the roof inlet at t - lag, so the air drawn in while the train was on the segment during [t_start, t_end] is logged during [t_start + lag, t_end + lag]. The window is shifted by the lag for its epoch (inlet_lag_seconds()); the lag is still being refined, so it is an input, and the receptors themselves do not depend on it.

Attributes

CROSSING_STATES

Location states whose CH4 counts for each receptor type (obs.parquet state).

Functions

inlet_lag_seconds

Inlet lag in seconds at each of times, and where it came from.

trax_receptor_observations

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