Getting Started

Why HyRiver?

Some of the major capabilities of HyRiver are as follows:

  • Easy access to many web services for subsetting data on server-side and returning the requests as masked Datasets or GeoDataFrames.

  • Splitting large requests into smaller chunks, under-the-hood, since web services often limit the number of features per request. So the only bottleneck for subsetting the data is your local machine memory.

  • Navigating and subsetting NHDPlus database (both medium- and high-resolution) using web services.

  • Cleaning up the vector NHDPlus data, fixing some common issues, and computing vector-based accumulation through a river network.

  • A URL inventory for some of the popular (and tested) web services.

  • Some utilities for manipulating the obtained data and their visualization.

Installation

You can install all the packages using pip:

$ pip install py3dep pynhd pygeohydro pydaymet pygeoogc pygeoutils async_retriever

Please note that installation with pip fails if libgdal is not installed on your system. You should install this package manually beforehand. For example, on Ubuntu-based distros the required package is libgdal-dev. If this package is installed on your system you should be able to run gdal-config --version successfully.

Alternatively, you can use conda or mamba (recommended) to install these packages from the conda-forge repository:

$ conda install -c conda-forge py3dep pynhd pygeohydro pydaymet pygeoogc pygeoutils async_retriever

or:

$ mamba install -c conda-forge --strict-channel-priority py3dep pynhd pygeohydro pydaymet pygeoogc pygeoutils async_retriever

Dependencies

  • async_retriever

  • cytoolz

  • geopandas

  • networkx

  • numpy

  • pandas

  • pyarrow

  • pygeoogc

  • pygeoutils

  • requests

  • shapely

  • simplejson

  • async_retriever

  • defusedxml

  • folium

  • geopandas

  • lxml

  • matplotlib

  • numpy

  • openpyxl

  • pandas

  • pygeoogc

  • pygeoutils

  • pynhd

  • rasterio

  • shapely

  • async_retriever

  • click

  • cytoolz

  • numpy

  • pydantic

  • pygeoogc

  • pygeoutils

  • rasterio

  • scipy

  • shapely

  • xarray

  • async_retriever

  • click

  • dask

  • lxml

  • numpy

  • pandas

  • py3dep

  • pygeoogc

  • pygeoutils

  • rasterio

  • scipy

  • shapely

  • xarray

  • async_retriever

  • cytoolz

  • defusedxml

  • owslib

  • pydantic

  • pyproj

  • pyyaml

  • requests

  • shapely

  • simplejson

  • urllib3

  • affine

  • dask

  • geopandas

  • netcdf4

  • numpy

  • orjson

  • pygeoogc

  • pyproj

  • rasterio

  • shapely

  • xarray

  • aiohttp-client-cache

  • aiohttp[speedups]

  • aiosqlite

  • cytoolz

  • nest-asyncio

  • orjson

Additionally, you can also install bottleneck, pygeos, and rtree to improve performance of xarray and geopandas. For handling vector and raster data projections, cartopy and rioxarray are useful.