Where to find ECMWF's JupyterHub?
Go to https://jupyterhub.ecmwf.int and log in with your ECMWF credentials. You will require a second factor authentication Using Time-based One-Time Passwords
ECMWF offers the possibility of using a JupyterLab environment to authorised users. The options available to you will depend on the privileges granted to your user account.
JupyterLab on HPCF or ECS
Who can use it?
You may run a JupyterLab instance on HPCF or ECS if you have access to those services.
JupyterHub offers a novel way to access HPCF or ECS services, connecting you to an interactive JupyterLab session where you can run your Jupyter notebooks, manage your files, and much more. JupyterLab would effectively run within a job on the Atos HPCF or ECS with dedicated resources on an allocated node for the job, and would allow you to conveniently interact with it from your browser without the need of any other connection to the HPCF using other methods. Time limited singleton sessions All JupyterLab sessions running on this service are time limited. When the time is up, the instance will be killed automatically along with any active processing that may be taking place. You can only have one JupyterLab instance running. If you left one running, JupyterHub will connect you straight back into it. This is only needed once Before you can start using this service, you need to enable the access from JupyterHub into your account on the target platform. A unique SSH key pair is created for this purpose, and you will need to append the generated public SSH key into your You will need to access Atos HPCF, ECS or VDI services via other means. From a terminal in one of those systems, you can then: Note you should replace Select the desired profile in the profile dropdown: Configure the resources and the time allocated for your session: Configure the project account where your session will be accounted for: Debug output By default, the session standard output will not be saved. If you run into problems starting JupyterLab, or something does not work as you would expect once within JupyterLab, you may enable the debug option to generate the job output in your HOME directory, which will be directed to a file called When you are ready, click Start You may need to wait between 30 seconds and several minutes for the system to schedule your new job and connect to your new JupyterLab session After a few minutes, your session will be up and running. Take note of the finishing time at the top right corner of the page. Your session will be terminated automatically once that time is reached. Closing your browser will not stop JupyterLab. It will continue to run in the background until it is actively stopped or it reaches its time limit. To stop your JupyterLab session, you may go to the top bar menu, and then click on File - Hub Control Panel This will bring you back to your JupyterHub Home, from which you will be able to Stop your server (red button) or connect back to it (blue button) Since it is also possible to start Jupyter sessions with ecinteractive, you should avoid running two JupyterLabs at the same time with each tool. They run on the same platform using the same HOME filesystem, so you may run into unexpected behaviour. Your Jupyter instance will always start with HOME as your top level directory. In order to access any other of your storage spaces in the Atos HPCF or ECS, you may create soft links to those spaces from your HOME directory. You can do that from a terminal: You may also add those and other frequently accessed places to your favourites: Load your modules first! Make sure you load the necessary modules BEFORE starting your kernels so they have the right environment. Loading modules after will not have any effect on existing kernels. You can leverage the existing software stack on the systems with modules with the Lmod extension in Jupyterlab: To use your own conda environment as a kernel for Jupyter notebook you will need to have ipykernel installed in the conda environment before starting your Jupyter instance. ipykernel can be installed with: If you want to make your own Python virtual environment visible in Jupyterlab, the steps are similar: To remove your personal kernels from Jupyterlab once you don't need them anymore, you could do so with: In rare occasions you may this error when spawning a new JupyterLab instance or reconnecting to an existing one. In this case, you will need to manually cancel the failed instance and start a new one. You may go to the JupyterHub home at https://jupyterhub.ecmwf.int/hub/home and click on the red button "Stop My Server". After a few seconds, you will be able to start a new one with the desired settings.First use: enabling access to your account from JupyterHub
~/.ssh/authorized_keys
in your ECMWF HOME space.$ grep -q $USER@jupyter ~/.ssh/authorized_keys || echo "ssh-ed25519 AAAA...." >> ~/.ssh/authorized_keys
"ssh-ed25519 AAAA...."
by the actual value of your SSH key that appears in the JupyterHub portal.Configuring your JupyterLab session
userid-jupyterhub-jobid.out.
Stopping your JupyterLab
JupyterHub and ecinteractive Jupyter sessions
Accessing other filesystems beyond your HOME
for space in perm hpcperm scratch; do ln -snf /$space/$USER ~/$space; done
Leveraging the ECMWF software stack: using modules
Using your own environments
conda activate myCondaEnv
conda install ipykernel
python3 -m ipykernel install --user --name=myCondaEnv
source myVenv/bin/activate
pip3 install ipykernel
python3 -m ipykernel install --user --name=myVenv
jupyter kernelspec uninstall myKernelName
Troubleshooting
500: Server internal error