Overview
The CUAHSI JupyterHub is a web application that allows HydroShare users to execute scientific code in the cloud. It’s hosted on the Google Cloud Platform and is maintained by the CUAHSI staff. This application supports the execution of code written in several programming languages, including Python and R, and is specifically designed to support the development of research and education focused Jupyter Notebooks. To learn more about project Jupyter, visit their website here.
The Jupyter Notebook is an open-source web application that allows you to create and share documents that contain live code, equations, visualizations and narrative text. Uses include: data cleaning and transformation, numerical simulation, statistical modeling, data visualization, machine learning, and much more. - Project Jupyter
Jupyter notebooks that combine narrative text and code into a single document which can be used for creating and disseminating scientific workflows as well as educational tools for classroom exercises and professional workshops. The CUAHSI JupyterHub combines this functionality with the HydroShare data repository to provide a rich computational environment for water sciences.
This computational environment is hosted on the Google Cloud Platform and has been carefully designed to provide maximum interoperability with the HydroShare data repository. It offers free, limited computational resources primarily aimed at education and reproducible science. If you’re interested in contributing to this web application, contact Tony Castronova <acastonova@cuahsi.org>
Requesting Access
The CUAHSI JupyterHub environment is open to all HydroShare users, however to access the platform you must be a member of the CUAHSI Cloud Computing group. Group membership limits system interruptions and ensures that resources are effectively managed and not abused. To request access, simply navigate to the CUAHSI Cloud Computing group and “Ask to join.” Group membership requests are reviewed by a team of volunteer researchers and faculty on a first-come first-served basis.
To expedite the approval process, please ensure that your HydroShare user profile is complete and up-to-date.
Contact help@cuahsi.org if you have any questions regarding this process.
Getting Started
There are multiple ways to access the CUAHSI JupyterHub web application from HydroShare. The simplest is to launch it from the HydroShare Apps library https://apps.hydroshare.org/apps/ (Figure 1). This will launch an isolated cloud computing environment where you can create files and execute code from within your web browser. Any data that is uploaded, downloaded, and created is associated with your HydroShare account and will persist between sessions, meaning that it will be there next time you log in.
After launching the CUAHSI JupyterHub application, you will be presented with several purpose-built environments to choose from. Each of these environments contain pre-installed software to assist in the rapid development of code. You will receive the following server options:
Python - v3.8
This is a general purpose scientific computing environment that is pre-configured with common scientific libraries such as scipy, pandas, geopandas, sympy, scikit-learn, matplotlib, ulmo, landlab, gdal, xarray, TauDEM, hsclient, dataretrieval, etc.
R - v3.6.1
This is a general purpose scientific computing environment for the R programming language. It comes pre-configured with common tools and libraries jsonio, nscdf4, ggmap, grass, dataRetrieval, WaterML, and R Studio
SUMMA Modeling
This an environment built with the SUMMA model and supporting tools pre-installed. For more information on the SUMMA model, visit the project webpage.
CSDMS Workbench
This environment includes libraries, models, and tools in the CSDMS Workbench, from the Community Surface Dynamics Modeling System. 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.
WRF-Hydro - NWM v2.0
This is environment is configured for running the WRF-Hydro model.
MODFLOW Workshop - 2021 IAH Brazil
This environment is designed for the 1-day virtual pre-conference MODFLOW class at the 2021 IAH Congress, Brazil. The class will use MODFLOW 6 and the FloPy package for python to develop MODFLOW datasets and post-process model results.
JupyterHub Minimal (Base Image) - Beta
This is a beta environment for testing improvements to the CUAHSI Base image, including HS_Sync. This is not intended to be used for research.
We recommend that new users start with either the Python or R environments since they contain a number of common scientific libraries that are useful for water science analysis in their respective programming languages. Users can also install additional software as necessary, to learn more please visit the additional documentation.
HydroShare resources can also be “launched” into the CUAHSI JupyterHub environment HydroShare “Open with …” functionality (pictured below). This button can be found in the top right corner of any HydroShare resource landing page. After selecting “CUAHSI JupyterHub,” a computing environment will be prepared and the HydroShare resource content is placed inside of it. This is a convenient method for executing code, data, and workflows that have been published in the HydroShare repository.
Advanced Features
The CUAHSI JupyterHub supports a number of advanced features, e.g. switching between profile environments, installing software, and transferring to and from HydroShare. To learn more about these features, see the official CUAHSI JupyterHub documentation.
Contributing
The CUAHSI JupyterHub is an open source project and we welcome contributions from the community. If you’re interested in contributing to this web application or hosting your own version, please contact Tony Castronova <acastonova@cuahsi.org>.