Compute Environments in CUAHSI Jupyterhub

General-purpose computing environments

Python v3.8 – JupyterLab Interface

This is a general-purpose scientific computing environment built on Python version 3.8. When using this server, you will be working through the JupyterLab interface. It comes with pre-configured, widely used scientific libraries including scipy, pandas, geopandas, sympy, scikit-learn, matplotlib, ulmo, landlab, gdal, xarray, TauDEM, hsclient, dataretrieval, rasterio, pyproj, fiona, geemap, fsspec, and others. For a comprehensive list of installed packages, please click here.

R v3.6.1 – JupyterLab Interface

This serves as a general-purpose scientific computing environment built on the R programming language version 3.6.1. When using this server, you will be working through the JupyterLab interface. The environment comes equipped with pre-configured, commonly used tools and libraries, including tidyverse, glmnet, randomForest, forecast, sp, rjsonio, ncdf4, ggmap, rgrass7, dataRetrieval, WaterML, and RStudio. For a comprehensive list of installed packages, please click here

R v3.6.1 – RStudio Interface

This serves as a general-purpose scientific computing environment built on the R programming language version 3.6.1. When using this server, you will be working through the RStudio interface. The environment comes equipped with pre-configured, commonly used tools and libraries, including tidyverse, glmnet, randomForest, forecast, sp, rjsonio, ncdf4, ggmap, rgrass7, dataRetrieval, WaterML, and RStudio. 

Project specific computing environments

SUMAA Modeling

This is a computing environment built on Python version 3.9 and pre-installed tools to support using the Structure for Unifying Multiple Modeling Alternative (SUMAA). SUMMA is a hydrologic modeling framework that can be used to configure a wide range of hydrological model analysis. When using this server, you will be working through the JupyterLab interface. The environment comes with limited pre-installed scientific Python packages. For a comprehensive list of installed packages, please click here. For more information on the SUMMA model, visit the project website.

Example use case:

import pysumma

 

WRF-Hydro v5.1 - NWM v2.0

This computing environment is structured around Python version 3.9 and is tailored for seamless operation with the WRF-Hydro model because it has the source code pre-compiled. WRF-Hydro is a community hydrological model suitable for a range of projects, including real-time flash flood prediction, long-term water supply projections, and evaluations of regional hydroclimate impacts. Notably, WRF-Hydro has been used as the core hydrological module within the National Water Model (NWM) versions 2.0 and 2.1. When using this server, you will be working through the JupyterLab interface. While the environment features a curated selection of pre-installed scientific Python packages, users can follow CUAHSI’s guideline to create a customized conda environment, and then install specific Python packages that cater to their unique project requirements. For a comprehensive list of installed packages, please click here. For more information on the WRF-Hydro model, visit the project website

The source code is installed at /home/jovyan/wrfhydro/. An example use case is:

/home/jovyan/wrfhydro/wrf_hydro.exe

 

NextGen NWM Modeling Framework

This is an experimental computing environment structured around Python version 3.9 and is tailored for running the NOAA’s Next Generation National Water Model (NextGen NWM) as it has the ngen model framework source code pre-compiled. The NextGen framework promotes model interoperability, standardizes data and model setup workflows, and eases implementation and evaluation of different modeling approaches. This was prepared and used in the 2022 and 2023 Summer Institute. When using this server, you will be working through the JupyterLab interface. For a comprehensive list of installed packages, please click here. For more information on the NextGen framework, visit the project website. 

The source code is installed at /home/jovyan/ngen/. An example use case is:

ngen <catchment_data_path> <catchment subset ids> <nexus_data_path> <nexus subset ids> <realization_config_path>

 

CSDMS Workbench

This computing environment is built on Python version 3.9 and includes libraries, models, and tools in the Community Surface Dynamics Modeling System (CSDMS) Workbench. CSDMS Workbench is the integrated system of software products, technologies, and standards developed by CSDMS for building, interfacing, coupling, and running models. Products include Landlab, the Python Modeling Tool (pymt), and a collection of pymt-compatible numerical models, along with standard scientific libraries such as scipy, pandas, and matplotlib. For a comprehensive list of installed packages, please click here. For more information on the CSDMS Workbench, visit the project website.  

An example use case is:

import landlab
import pymt

 

HydroLearn - Intelligent Earth

This computing environment seamlessly integrates two programming platforms, Python version 3.9 and R version 4.2.2, to facilitate computational tasks described in the HydroLearn: Data Science in Earth and Environmental Sciences course that offers an opportunity to explore new techniques in data analytics as applied to earth and environmental data. HydroLearn is an education project funded by the National Science Foundation to promote the collaborative development and adoption of active-learning resources in hydrology and water resources engineering. The R domain of this environment contains a variety of pre-installed libraries tailored for machine learning and data science, including caret, forecast, glmnet, randomForest, e1071, cluster, quantmod, survival, and tidyverse. On the Python side, there is a set of pre-installed libraries for data science, including scipy, scikit-learn, seaborn, and statsmodels. For a comprehensive list of installed packages in R and Python, please click here and here, respectively. You can learn even more about the course itself by visiting this webpage. And to find out more about HydroLearn as a whole, check out their website. 

An example use case in Python is:

import scipy
import sklearn

An example use case in R is:

library("randomForest")
library("cluster")

 

USGS Python for Hydrology and FloPy Course

This is a computing environment built on Python version 3.9 and materials for the USGS python and FloPy training curriculum. FloPy is a Python package for creating, running, and post-processing MODFLOW-based models. Based on the most recent offering in October, 2022.For a comprehensive list of installed packages, please click here. For more information on the CSDMS Workbench, visit the project website.  

The source code is installed at /home/jovyan/binaries/.