Jupyterhub: A barrier-free entrance to DKRZ

With an account for mistral, you can connect via ssh on a terminal interface to the system. This requires knowledge in shell programming. As a user friendly alternative, we offer you the jupyterhub web service, which, by the way, also allows you to run terminals as with ssh as well.

Features in combination with notebooks:

  • Software independent and interactive access to HPC resources

  • Tutorials prepared by experts and formatted as Jupyter-notebooks for a steep learning curve

  • Inline plot creation for a all in one solution

  • Fully supported and maintained at DKRZ

Advanced programming with a beginner friendly control

How it works:

What you have to do:

  1. You log in via: https://jupyterhub.dkrz.de/hub/login

  2. You request a notebook server

What DKRZ does in turn:

  1. A server is spawned as a slurm job on mistral. It uses resources as specified by your request.

  2. Your server runs for as long as you specified in the request. In that time, you can close the tab and revisit jupyterhub without it is shut down.

Control Panel:

  • Either work with jupyterhub or jupyterlab

  • Navigate with a file browser

  • Launch Notebooks or Consoles

Why do we promote Jupyter-Notebooks?

  • Cells

    • Clear view: Mark Cells as Code, Markdown or Raw

    • Interactive: Run a cell individually without running the entire script

  • Code language: Python, but also Bash, R, Julia, Latex:

    • Use ! before the commands and bash runs it instead of the python interpreter

    • Define a entire cell as bash or latexwith the %% magic

!ls
dkrz-data-pool-cmip6.rst
dkrz-intake-catalog.rst
dkrz-jupyterhub-notebook.rst
plots
use-case_advanced_summer_days_intake_xarray_cmip6.rst
use-case_esmvaltool_example_recipe.rst
use-case_frost_days_intake_xarray_cmip6.rst
use-case_multimodel_comparison_xarray_cdo_cmip6.rst
use-case-simple_vis_cmip6.rst
%%bash
ls
dkrz-data-pool-cmip6.rst
dkrz-intake-catalog.rst
dkrz-jupyterhub-notebook.rst
plots
use-case_advanced_summer_days_intake_xarray_cmip6.rst
use-case_esmvaltool_example_recipe.rst
use-case_frost_days_intake_xarray_cmip6.rst
use-case_multimodel_comparison_xarray_cdo_cmip6.rst
use-case-simple_vis_cmip6.rst
%%latex
\begin{align}
\frac{\partial u}{\partial t} + \nabla \cdot \left( \boldsymbol{v} u - D\nabla u \right) = f
\end{align}
\[\begin{align} \frac{\partial u}{\partial t} + \nabla \cdot \left( \boldsymbol{v} u - D\nabla u \right) = f \end{align}\]
  • Modules and extensions

    • python and jupyter benefit from a quickly evolving package universe

    • Embed html to the notebook

    • Automatic code formatting when executing cell

%load_ext lab_black
from IPython.display import HTML

HTML(
    '<iframe src="https://jupyterhub.gitlab-pages.dkrz.de/jupyterhub-docs/overview.html" width="576" height="420" frameborder="0"></iframe>'
)
  • Kernels:

    • Predefined Software Environments can be set in the upper right by using a specific kernel

    • On Jupyterhub, you can choose between a hands full of different configurations

    • Customized kernels can be implemented with conda. See the docs for a tutorial

Conclusion:

⇨ Jupyterhub is your laboratory in the web browser