====== b. Python and Jupyter notebook ====== [[https://jupyter.org|Jupyter]] is a server-client application that allows editing and running computer code (in our case python). This section explains how to setup a jupyter session with the help of [[https://jupyterhub.readthedocs.io/en/stable/|JupyterHub]], a jupyter server, that can run notebooks for multiple users. == The JupyterHub at DKRZ: == Use the following steps to setup a jupyter notebook using the Jupyter Hub which is provided by DKRZ: * Log on to the Jupyter Hub page of DKRZ: https://jupyterhub.dkrz.de/hub/login with your user credentials * Select either preset options or advanced options. * For both options you will have to set at least the project account that will be charged for the computing time, usually this account starts with an ''%%mh%%'' followed by a number. * Select the slurm queues (if you choose the advanced option). The JupyterHub uses the [[https://slurm.schedmd.com/overview.html|slurm workload manager]] to start your Jupyter session. Hence you will have to choose a //queue// for your computations. All available queues and their hardware specifications can be found on the [[https://www.dkrz.de/up/systems/mistral/configuration|dkrz user portal]]. If you choose advanced options you should bare in mind that certain slurm combination settings are not available. For instance jobs running for more than 8 hours on the ''%%computing%%'' queues are not possible. After you've clicked the start button and the jupyter server has been setup you'll see the notebook interface. Here you can create a new or load an existing jupyter notebook. When using the examples in this section you'll have to use the **Python 3 unstable** kernel