Getting Started#
Why HyRiver?#
Some 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 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 pynldas2 hydrosignatures 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 install them using conda
:
$ conda install -c conda-forge py3dep pynhd pygeohydro pydaymet pynldas2 hydrosignatures pygeoogc pygeoutils async-retriever
or mambaforge
(recommended):
$ mamba install py3dep pynhd pygeohydro pydaymet pynldas2 hydrosignatures pygeoogc pygeoutils async-retriever
Additionally, you can create a new environment, named hyriver
with all the packages
and optional dependencies installed with mambaforge
using the provided
environment.yml
file:
$ mamba env create -f ./environment.yml
Dependencies#
async-retriever
cytoolz
geopandas
networkx
numpy
pandas
pyarrow
pygeoogc
pygeoutils
requests
shapely
simplejson
async-retriever
cytoolz
defusedxml
folium
geopandas
h5netcdf
lxml
numpy
pandas
proplot
pygeoogc
pygeoutils
pynhd
rasterio
scipy
shapely
async-retriever
click
cytoolz
numpy
pygeoogc
pygeoutils
rasterio
rioxarray
scipy
shapely
xarray
async-retriever
click
dask
lxml
numpy
pandas
py3dep
pydantic
pygeoogc
pygeoutils
rasterio
scipy
shapely
xarray
async-retriever
h5netcdf
numpy
pandas
pygeoutils
pyproj
rioxarray
xarray
numpy
pandas
scipy
numba
async-retriever
cytoolz
defusedxml
owslib
pydantic
pyproj
pyyaml
requests
requests-cache
shapely
urllib3
dask
geopandas
netcdf4
numpy
pygeos
pyproj
rasterio
rioxarray
scipy
shapely
ujson
xarray
aiohttp-client-cache
aiohttp[speedups]
aiosqlite
cytoolz
nest-asyncio
ujson
Additionally, you can also install bottleneck
to improve performance of
xarray
. For handling vector and raster data projections, cartopy
are useful.