uataq.Network.get_obs#
- Network.get_obs(time_range=None, num_processes=1)[source]#
Get observations for the network across all sites.
Combines data from all sites into a single GeoDataFrame with spatial coordinates, reading the highest data level each instrument has. That is
final, asget_obs()reads, except at a horel vehicle with no finalized files at all, which is read atraw(see Which level a read gives). For stationary sites, coordinates are repeated for each timestamp. For mobile sites, coordinates vary with GPS data.This method is optimized for the common case of combining data from multiple sites for one pollutant at the final data level. For complex custom filtering (e.g., reading from multiple instruments at different levels, applying custom QAQC flags), use the lower-level Site.read_data() API directly.
- Parameters:
time_range (
TimeRange|str|tuple[str|datetime|datetime64|None,str|datetime|datetime64|None] |list[str|datetime|datetime64|None] |slice|None) – The time range to retrieve data for, in UTC (see Time range). Can be a TimeRange object, string, list, or None (all data). Default is None.num_processes (
int|Literal['max']) – Number of processes to use for parallel data reading. Default is 1.
- Returns:
A GeoDataFrame with the following structure:
Index: Time_UTC (datetime)
Columns: SID, instrument, [pollutant columns], Latitude_deg, Longitude_deg, zagl, geometry (mobile sites also carry the GPS motion columns)
CRS: EPSG:4326
Pollutant columns are those
concentration_columns()matches withraw=True: e.g.CO2d_ppm_calandCO2d_ppm_raw. Instruments at one site are stacked as rows, labeled byinstrument.- Return type:
Notes
Which of
_cal/_rawholds the usable value is not uniform. TRX01’slgr_uggais tank-calibrated (_cal;_rawis uncalibrated), butlgr_ugga_manual_cal(from 2023-11-18, and again from 2024-08-27) has_calempty and the LGR-software calibrated value in_raw. Choose perinstrument.- Raises:
ReaderError – If no data is found for any site.
- Warns:
EmptyResultWarning – If the sites have files for the range but the table has no rows.