HydroServer
Future iterations of the National Water Model will need to assimilate local-scale data to improve forecasts. The United States Geological Survey (USGS) operates the largest network of operational streamflow gages in the U.S., but generally does not incorporate data from gages operated by other agencies/organizations. A cooperative network of the many streamflow gages outside of the USGS network would enhance data available to national-scale modeling. No cyberinfrastructure currently exists to support such a network.
HydroServer is an open-source software stack with functionality for collecting, managing, and sharing operational hydrologic data - e.g., time series of hydrologic observations from fixed monitoring sites like streamflow gages. HydroServer development for CIROH is focused on creating an enhanced, national-scale stream gage network to make more data available to operational modeling.

Software and Technologies
The HydroServer software stack includes:
- A user-oriented web application for creation of monitorings sites, site metadata, information about observed variables, etc.
- A Python package and desktop app for loading time series data from monitoring sites into HydroServer
- Application Programming Interfaces (APIs) for data ingest into HydroServer, data querying and retrieval, and data and metadata management
- A highly performant time series database for storing and managing time series data
Additional planned tools include:
- A Python client package for retrieving time series data from HydroServer
- Automated archival of time series data to the HydroShare repository
- Integration of data quality control functionality
- Web app(s) for data visualization
The HydroServer software stack is being build using the following technologies:
- Vue.js - A JavaScript framework for building web user interfaces
- Python/Django - A Python web framework for backend web development
- Open Geospatial Consortium SensorThings API - An API specification and data model for managing and retrieving observations and metadata from sensor systems.
- PostgreSQL - A robust relation database system for storing and managing time series data.
- Amazon Web Services (AWS) and Google Cloud Platform - The HydroServer web application and APIs are deployed using AWS or GCP.
Access
If you want to try HydroServer, we maintain a playground instance where anyone can set up a user account, load data, query data, and try the HydroServer software tools. Access is provided at:
- https://playground.hydroserver.org - Playground instance of HydroServer for CIROH researchers to try out HydroServer capabilities and software functionality.
- https://hydroserver.org - Documentation and tutorials for using HydroServer, including a "HydroServer 101" tutorial that walks you through creating a workspace, creating a monitoring site, setting up datastreams and metadata, and loading data.
Open-Source Code Development
The HydroServer software stack is developed as open-source software using the BSD3 open source license. All code development is hosted in our GitHub repositories hosted under the HydroServer GitHub Organization https://github.com/hydroserver2/
Bugs and Issues
Bugs, issues, and feature requests related to HydroServer applications can be reported via the main HydroServer issue tracker repository available at:
Development Team
The HydroServer software stack is under development at the Utah Water Research Laboratory at Utah State University. The main contributors include:
- Jeff Horsburgh - Professor, Utah Water Research Laboratory and Civil and Environmental Engineering, Utah State University
- Ken Lippold - Software Engineer, Utah Water Research Laboratory, Utah State University
- Daniel Slaugh - Software Engineer, Utah Water Research Laboratory, Utah State University
- Maurier Ramirez - Software Engineer, Utah Water Research Laboratory, Utah State University