slv.measurements.mobile.gps.read_horel_cr1000#

slv.measurements.mobile.gps.read_horel_cr1000(time_range, site='trx01', num_processes=1)[source]#

Horel-group CR1000 logger record (5 s): GPS + battery voltage + roof T/RH.

uataq raw level of the gps and cr1000 instruments (the monthly TRXnn_YYYY_MM_cr1000.h5 files), joined on time. The raw level is the one to use: the horel qaqc/final CSVs drop the satellite count and RMC status. Columns follow the uataq convention with N_Satellites renamed to N_Sat (Latitude_deg, Speed_m_s, N_Sat, Status, Battery_Voltage_V, Logger_T_C, Ambient_T_C, Ambient_RH_pct).

Indexed by GPS time, not the CR1000 clock (which runs 1-20 s ahead): see _to_gps_time(), which also adds Logger_Offset_s.

Covers Nov 2014 on (pilot files, then the post-pilot tree). The pilot-phase files (to HOREL_POST_PILOT) are a different setup: one fix per minute (so the scatter feature is undefined), a receiver that reports 3–8 satellites, and no speed or RMC status. Do not classify from them — use read_lin_gps() for the pilot era. time_range is any pair pandas can parse. num_processes is the number of processes that read the files (passed to uataq.read_data); the frame is the same for any number.

Return type:

DataFrame