Go to https://jupyterhub.ecmwf.int and log in with your ECMWF credentials. You will 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.
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.
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 ~/.ssh/authorized_keys
in your ECMWF HOME space.
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:
$ grep -q $USER@jupyter ~/.ssh/authorized_keys || echo "ssh-ed25519 AAAA...." >> ~/.ssh/authorized_keys |
Note you should replace "ssh-ed25519 AAAA...."
by the actual value of your SSH key that appears in the JupyterHub portal.
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:
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:
for space in perm hpcperm scratch; do ln -snf /$space/$USER ~/$space; done |
You may also add those and other frequently accessed places to your favourites:
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:
conda activate myCondaEnv conda install ipykernel python3 -m ipykernel install --user --name=myCondaEnv |
If you want to make your own Python virtual environment visible in Jupyterlab, the steps are similar:
source myVenv/bin/activate pip3 install ipykernel python3 -m ipykernel install --user --name=myVenv |
To remove your personal kernels from Jupyterlab once you don't need them anymore, you could do so with:
jupyter kernelspec uninstall myKernelName |