HydroLang: An Open-Source Web-Based Framework for Environmental and Hydrological Analyses

Posted Jun 8, 2022


Hydroinformatics Blog Post

Organized by the CUAHSI Informatics Standing Committee. Contributions are welcome, please contact Veronica Sosa Gonzalez at email hidden; JavaScript is required.

By: Carlos Erazo Ramirez, Yusuf Sermet, Frank Molkenthin, Ibrahim Demir

The development of environmental and water resources web applications has risen in popularity, offering vast amounts of publicly available datasets in a way that is easily consumed and integrated for scholars and the general public in decision-making processes. These applications are designed to provide interfaces and functionalities that allow for analysis of specific features such as data driven analysis, retrieval and data modification, and visualizing GIS applications. Nonetheless, the majority of these applications require lengthy installations, setup, and upgrades. Web applications1 have grown in popularity due to their flexibility and ease of model execution via servers. The Tethys Platform2 is an example of this, allowing for a full stack Python-powered environment for geospatial and hydrological modeling through the web.

Despite the large range of applications, there is a shortage of full-scale integrated solutions for hydrological data handling, analysis, and visualization using web technologies that are free of complex installation requirements and can run entirely on available client-side hardware. This opens the possibility of developing applications that can take use of the new web development standards while having powerful interfaces.

Method and Infrastructure

HydroLang (Ramirez et al., 2021) is an open-source integrated and community-driven computing web framework (https://github.com/uihilab/HydroLang) that enables hydrology and water resource research and education. It uses client-side web technologies to carry out routines aimed at data acquisition, management, transformation, analysis, and visualization. The software was created using a modular architecture with four primary high-cohesion low-coupling modules: Data, Analysis, Maps, and Visualization. The data module retrieves data from freely available REST APIs for environmental datasets, with functions to transform data into various formats and download to local storage. The analysis module is made up of three parts that perform hydrological, statistical, and machine learning tasks that provide users with a solid analytical foundation. The map module is used to display maps and layers in various formats. Finally, the visualize module is used to generate tables and graphs that provide a graphical representation of the data. It was designed using state of the art web technologies with JavaScript’s ECMAScript 6 standard, powering the most common applications on the web. It makes use of external libraries such as D3.js, Tensorflow.js, GoogleMaps and Leaflet APIs to render and manipulate maps and geographic datasets, as well as Google Charts to create customizable graphics.

Results and Conclusion

HydroLang is a one-stop solution encompassing hydrological, data science and machine learning capabilities that is easily executable running completely on the client-side and free from architectural limitations. It is a comprehensive open-source scientific library dedicated to hydrological research and analysis based on web technologies simplifying scientific workflow. It was created and tested successfully using case studies for rainfall/runoff analysis, data retrieval and cleaning, and machine learning applications on rainfall datasets. Furthermore, the design's modular architecture and open-source ontology enable easy integration and manipulation of additional features given by the end user, providing a boilerplate application that can be tailored to individual purposes. The software is currently in use at the Brandenburg University of Technology (BTU) in Cottbus, Germany, and the University of Iowa in Iowa City, USA.

As part of the CUAHSI Hydroinformatics Fellowship4, HydroLang's databases will be enhanced with new data endpoints made available via the HydroShare5 platform, using the latter for community outreach and integration of new modules and functions. The development of guidelines for adoption and extension for community-driven expansion, as well as community-building initiatives, will be prioritized during the fellowship.

Additional Resources

The software can be found in the University of Iowa’s Hydroinformatics Lab (UIHILab) dedicated repository(https://github.com/uihilab/HydroLang). Models and additional resources for usage can be found in the model repository(https://github.com/uihilab/HydroLang-Models).

Acknowledgements

The project is based upon work funded by the UIHILab (https://hydroinformatics.uiowa.edu) and the Erasmus+ Scholarship Scheme. The advancements on data services and outreach activities of the platform is partially funded by the CUAHSI HydroInformatics Fellowship.

About the Authors:

Carlos Erazo Ramirez is a research assistant at the UIHILab and a PhD student in Civil and Environmental Engineering, both at the University of Iowa (UI), with a focus on the development of hydroinformatics systems.

Yusuf Sermet is a Postdoctoral Researcher at the UIHILab at the University of Iowa. His research revolves around applying the advancements in computer science and engineering to environmental problems including climate change, disaster mitigation, and water resources management.

Ibrahim Demir is an Associate Professor in Civil and Environmental Engineering at UI and the director of the UI Hydroinformatics Lab. Dr. Demir’s research focuses on hydroinformatics, environmental information systems, scientific visualization, big data analytics, intelligent systems, and information communication.

Frank Molkenthin is a hydrology and hydroinformatics professor at Brandenburg University of Technology.

References

  1. https://www.sciencedirect.com/science/article/pii/S1364815215000353
  2. https://www.tethysplatform.org
  3. Ramirez, C.E., Sermet, Y., Molkenthin, F. and Demir, I., 2021. HydroLang: An Open-Source Web-Based Programming Framework for Hydrological Sciences, EarthArxiv, https://doi.org/10.31223/X5M31D
  4. https://www.cuahsi.org/grant-opportunities/hydroinformatics-innovation-fellowship
  5. https://www.cuahsi.org/data-services/hydroshare