JupyterHub

What is OpenEarthscape? | 400 px | right | link=https://csdms.colorado.edu/wiki/OpenEarthscape 
Through the NSF-funded OpenEarthscape project,
CSDMS operates three JupyterHubs:
# jupyter.openearthscape.org
# lab.openearthscape.org
# frontier.openearthscape.org
Together, they form EarthscapeHub.
Each Hub is hosted on the commercial cloud through the NSF CloudBank program.
Each is free and available for use by all CSDMS members, whether you're an undergraduate, grad student, postdoc, researcher, or faculty.
What can you do with EarthscapeHub? Here are a few ideas:
* Prototype and test Python code for a model
* Run a model through Landlab or pymt
* Create a notebook for a journal article
* Teach a class at a university
* Lead an interactive workshop at a conference 
* Work on a course assignment
* Run a lab from the CSDMS EKT repository
* Highlight your research in a notebook and share it with others in the community
* Explore a parameter space with multiple simultaneous model runs
* Access a Linux OS and shell in the cloud
The roles of these JupyterHubs---jupyter, lab, and frontier---as well as sign up and sign in instructions for each, are given in the sections below.
= jupyter =
This is the primary JupyterHub for use by all CSDMS members.
It's a place to work and experiment.
It includes CSDMS Workbench elements such as Landlab, pymt, and data components.
Labs from the CSDMS EKT repository can be run on this Hub.
Use this Hub to design, prototype, and test model code before production runs on the frontier Hub.
This Hub uses GitHub as a login service.
Please see these instructions to sign up and sign in.
Note that the login for this Hub is separate from the login for the lab Hub.
There is no expiration date for a login on this Hub.
= lab =
This JupyterHub is used for teaching; e.g., university classes or interactive workshops at a conference.
It's used for teaching and collaborative work in ESPIn.
Like jupyter, it's a place to work, experiment, and learn.
It includes CSDMS Workbench elements such as Landlab, pymt, and data components.
Labs from the CSDMS EKT repository can also be run on this Hub.
A username (typically an institutional email address) and password are required to login to this Hub.
If you'd like to teach a class or lead a workshop using lab,
please contact us through the CSDMS Help Desk,
or email us at csdms@colorado.edu.
We can help install software and create logins for the participants in your class or workshop.
Note that the login for this Hub is separate from the login for the jupyter Hub.
Non-instructor logins that are inactive for more than a year will be removed.
= frontier =
On frontier, work with a CSDMS RSE to set up a powerful computational resource in the cloud,
occupying a middle ground between a personal computer and an HPC.
This Hub is ideal, for example, for exploring a parameter space with multiple simultaneous model runs.
Access to frontier is limited to a few users at a time,
allowing them to take maximum advantage of its compute power.
If you have an idea for a project that you'd like to run on frontier,
please contact us through the CSDMS Help Desk.
We can help you get set up.
Bear in mind you may have to think about a scaling plan for your project;
e.g., how many processors, how much memory, how much run time, how much disk space will you use?
= common features = 
The jupyter, lab, and frontier Hubs share some common features described below.
== user interface ==
The default user interface on all Hubs is the flexible and configurable JupyterLab.
If you haven't used JupyterLab before, there's ample documentation.
== default files ==
On each Hub, a welcome notebook and pair of directories are included by default in your home directory.
The directories are:
* data: A read-only directory for storing and sharing data
* scratch: A read-write directory for sharing code, notebooks, or other files with other users
Files that remain in scratch longer than 90 days may be deleted.
If you'd like to add files to the data directory,
please contact us through the CSDMS Help Desk.
We've also created a brief tutorial on uploading and downloading files to/from a JupyterHub.
== software ==
These Hubs use Jupyter kernels
mapped to conda environments to group software.
The default kernel is called Python 3.
It contains a minimal set of software packages.
To explore with CSDMS models and tools,
including Landlab and pymt,
select the CSDMS kernel.
The core packages installed in the CSDMS kernel are listed in this conda environment file.
On the jupyter and frontier Hub instances,
there's also a kernel called Develop that contains a host of development tools for writing software,
including the GNU toolchain, CMake, conda compilers, and all the dependencies needed to build a Landlab component.
The core packages installed in the Develop kernel are listed in this conda environment file.
It's like having your own Linux development machine in the cloud!
If you'd like new software installed on a Hub (e.g., for a class or a workshop),
please contact us through the CSDMS Help Desk.
= system maintenance =
The lab, jupyter, and frontier Hubs will be offline for maintenance and software updates a few days per year,
usually at the beginning of June and the end of December.
The Hubs *may* also be offline for maintenance on Sundays between 9:30 and 10:00 AM Mountain Time.
If people are using the Hubs around these times,
we'll work with them to minimize disruption.
If you encounter a problem using EarthscapeHub,
please contact us through the CSDMS Help Desk.
Or, if you're comfortable with GitHub,
log an issue directly in our Hub management repository.