Giter VIP home page Giter VIP logo

hydrodata's Introduction

https://raw.githubusercontent.com/cheginit/hydrodata/develop/docs/_static/hydrodata_logo_text.png

Package Description
Hydrodata Access NWIS, HCDN 2009, NLCD, and SSEBop databases
PyGeoOGC Query data from any ArcGIS RESTful-, WMS-, and WFS-based services
PyGeoUtils Convert responses from PyGeoOGC's supported web services to datasets
PyNHD Access NLDI and WaterData web services for navigating the NHDPlus database
Py3DEP Access topographic data through the 3D Elevation Program (3DEP) web service
PyDaymet Access the Daymet database for daily climate data

Hydrodata: Portal to hydrology and climatology data

PyPi Conda Version CodeCov Github Actions ReadTheDocs Binder

Downloads CodeFactor black pre-commit Zenodo

๐Ÿšจ This package is under heavy development and breaking changes are likely to happen. ๐Ÿšจ

Why Hydrodata?

Hydrodata is a stack of Python libraries designed to aid in watershed analysis through web services. Currently, it only includes hydrology and climatology data within the US. Some of the major capabilities of Hydrodata are:

  • Easy access to many web services for subsetting data and returning them as masked xarrays or GeoDataFrames.
  • Splitting the requests into smaller chunks under-the-hood since web services limit the number of items per request. So the only bottleneck for subsetting the data is the local available memory.
  • Navigating and extracting data from the NHDPlus database using web services without downloading the whole database.
  • Cleaning up the vector NHDPlus data, fixing some common issues, and computing flow accumulation.
  • A URL inventory of some of the popular web services.
  • Many other utilities for manipulating the data and visualization.

You can visit examples webpage to see some example notebooks. You can also try using Hydrodata without installing it on you system by clicking on the binder badge below the Hydrodata banner. A Jupyter notebook instance with the Hydrodata software stack pre-installed will be launched in your web browser and you can start coding!

The full documentation can be found at https://hydrodata.readthedocs.io.

Features

Hydrodata itself has three main modules; hydrodata, plot, and helpers. The hydrodata module provides access to the following web services:

  • NWIS for daily mean streamflow observations,
  • HCDN 2009 for identifying sites where human activity affects the natural flow of the watercourse,
  • NLCD 2016 for land cover/land use, imperviousness, and canopy data,
  • SSEBop for daily actual evapotranspiration, for both single pixel and gridded data.

Also, it has two other functions:

  • interactive_map: Interactive map for exploring NWIS stations within a bounding box.
  • cover_statistics: Compute categorical statistics of land use/land cover data.

The plot module includes two main functions:

  • signatures: Plot five hydrologic signature graphs
  • cover_legends: The official NLCD land cover legends for plotting a land cover dataset.

The helpers module include:

  • nlcd_helper: A roughness coefficients lookup table for each land cover type which is useful for overland flow routing among other applications.
  • nwis_error: A dataframe for finding information about NWIS requests' errors.

Moreover, requests for additional databases or functionalities can be submitted via issue tracker.

https://raw.githubusercontent.com/cheginit/hydrodata/develop/docs/_static/example_plots.png

Installation

You can install Hydrodata using pip after installing libgdal on your system (for example, in Ubuntu run sudo apt install libgdal-dev):

$ pip install hydrodata

Alternatively, Hydrodata can be installed from the conda-forge repository using Conda:

$ conda install -c conda-forge hydrodata

Contributing

Hydrodata offers some limited analysis tools. It could be more useful for the watershed modeling community to integrate more data exploratory and analysis capabilities to the package. Additionally, adding support for more databases such as water quality, phenology, and water level, are very welcome. If you are interested please get in touch. You can find more information about contributing to Hydrodata at our Contributing webpage.

Credits

This package was created based on the audreyr/cookiecutter-pypackage project template.

hydrodata's People

Contributors

cheginit avatar aaraney avatar deepsourcebot avatar dependabot-preview[bot] avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.