easysnowdata.stations.inventory#

easysnowdata.stations.inventory(aoi: Any = None, *, networks: Any = None, daily_only: bool = False, active_only: bool = False, source: str = 'archive', **kwargs: Any) GeoDataFrame[source]#

Snow stations as a GeoDataFrame, indexed by their global station code.

Parameters:
  • aoi – Any form easysnowdata.aoi.parse_aoi() accepts; None asks for every station in the chosen networks.

  • networks – Which networks to list — any of "awdb", "cdec", "databc", "nve", "yukon". None (default) means all five.

  • daily_only – Keep only stations with a daily-or-better SWE or snow-depth record. On source="archive" this is the probe-verified verdict (global_snow_networks’ DESIGN.md §4: a station counts as daily only once the pipeline has actually retrieved daily values). The live route has no such verdict, so there it filters on what each network advertises about itself, and the frame’s daily column and daily_flag attribute say so.

  • active_only – Keep only stations the network reports as active. Inactive stations with a long record are usually still worth having.

  • source"archive" (default) reads the daily-refreshed inventory global_snow_networks publishes: one HTTP request, normalized columns and probe-verified daily flags, at most a day old. "clients" asks the five APIs for today’s station list instead — five sweeps, slower, and NVE needs its key.

  • **kwargs – On the archive route, passed to geopandas.read_file (rows=, columns=, …).

Returns:

geopandas.GeoDataFrame – Stations in EPSG:4326 indexed by code ("679_WA_SNTL"), with the native station_id and the columns listed in easysnowdata.stations._frames.INVENTORY_COLUMNS.

Examples

>>> import easysnowdata as esd
>>> aoi = (-121.94, 46.72, -121.54, 46.99)
>>> esd.stations.inventory(aoi, daily_only=True)