Using cyclone: Difference between revisions

From gfi
Skr100 (talk | contribs)
No edit summary
Ngfih (talk | contribs)
 
(30 intermediate revisions by 2 users not shown)
Line 1: Line 1:
== Connection and first steps ==
== Connection and first steps ==
Requirements: To access GFI&SKD department servers via ssh, your computer will need to be attached to UiB-network. Connection via ssh is also open from Sigma2 resources, and sshfs is available to/from Sigma2. Otherwise, connecting from outside UiB or from private platform, you will need UiB-vpn or login via UiB login server. And your UiB account will need to be enabled for connection.


Use ssh to connect to one of the cyclone systems, i.e. the old cyclone, cyclone1, cyclone2 and cyclone3, respectively:
Use ssh to connect to one of the cyclones systems, cyclone1, cyclone2 and cyclone3, respectively:
<pre>ssh -Y <username>@cyclone.hpc.uib.no
<pre>ssh -Y <username>@cyclone1.gfi.uib.no
ssh -Y <username>@cyclone1.gfi.uib.no
ssh -Y <username>@cyclone2.gfi.uib.no
ssh -Y <username>@cyclone2.gfi.uib.no
ssh -Y <username>@cyclone3.gfi.uib.no</pre>
ssh -Y <username>@cyclone3.gfi.uib.no - (cyclone3 is reserved for GPU usage only)</pre>
or just simply:
or just simply:
<pre>ssh -Y cyclone.hpc.uib.no
<pre>ssh -Y cyclone1.gfi.uib.no
ssh -Y cyclone1.gfi.uib.no
ssh -Y cyclone2.gfi.uib.no
ssh -Y cyclone2.gfi.uib.no
ssh -Y cyclone3.gfi.uib.no
ssh -Y cyclone3.gfi.uib.no -  (cyclone3 is reserved for GPU usage only)
</pre>
</pre>
if you're connecting from a computer where you are logged in under the same user name (as usually the case with your UiB machine). When you are connecting for the first time, you will be asked to verify a signature. Reply "yes" to this question.
if you're connecting from a computer where you are logged in under the same user name (as usually the case with your UiB machine). When you are connecting for the first time, you will be asked to verify a signature. Reply "yes" to this question.
Line 16: Line 15:
=== Home directories ===
=== Home directories ===


<code>cyclone.hpc.uib.no</code> or any <code>cyclone*.gfi.uib.no</code> share home directories with the new hexagon cluster. These home directories are separate from your standard UiB home directory. The contents of your home directories will not be synced, so you will manually need to transfer your scripts to the new system.
All servers <code>cyclone*.gfi.uib.no</code> share same home directories. These home directories are separate from your standard UiB home directory. The content of your home directories will not be synced, so you will manually need to transfer your scripts to the new system.


Please be aware that your local home directory is not expected to exceed 30GB at any time - even in periods when sys.adms. do not practice quotas. If you need to store larger amount of data, please plan for using the GFI&SKD storage - also decribed in this wiki.
Please be aware that your local home directory is not expected to exceed 30GB at any time - even in periods when sys.adms. do not practice quotas. If you need to store larger amount of data, please plan for using the GFI&SKD storage - also described in this wiki.


To monitor your home directory size, you can use these commands from cyclone command shell:
To monitor your home directory size, you can use these commands from cyclone command shell:
Line 27: Line 26:


<code>cd; du -sh .[^.]* *</code>
<code>cd; du -sh .[^.]* *</code>
Monitoring your homefolder quota, you can run the following command:
<code>lfs quota -hp $(id -u) /shared/ </code>
or just
<code>lfs quota -hp $(id -u) $HOME </code>


=== How to access software ===
=== How to access software ===


In contrast to the old skd-cyclone, most scientific software is only available through software modules. Modules need to be loaded manually before the respective software can be used. We use software modules, because they provide are a clean and handy way to offer conflicting software or software versions: Instead of updating software and potentially breaking user scripts and programs new software is then made available in parallel to those that require it.
Most/all scientific software is only available through EESSI software modules. Modules need to be loaded manually before the respective software can be used. We use software modules, because they provide are a clean and handy way to offer conflicting software or software versions: Instead of updating software and potentially breaking user scripts and programs new software is then made available in parallel to those that require it.


=== Start-up scripts ===
=== Start-up scripts ===
Line 46: Line 37:
==== An example <code>.bash_profile</code> for inspiration ====
==== An example <code>.bash_profile</code> for inspiration ====


<pre>module load cdo/1.6.9
<pre>module load CDO/2.2.2-gompi-2023b
module load ncarg/6.3.0-login
module load MATLAB/2023a


alias rm="rm -i"
alias rm="rm -i"
Line 57: Line 48:
fi</pre>
fi</pre>


==== An example <code>.bash_profile</code> for inspiration ====
==== An example <code>.bashrc</code> for inspiration ====


<pre>alias rm="rm -i"
<pre>alias rm="rm -i"
Line 66: Line 57:
== Available software ==
== Available software ==


Below is a list of frequently used software and which module to load on the new cyclone. Relevant module names are printed like for <code>matlab/2015b</code>. Modules can be loaded by <code>module load <module name></code>, and unloaded <code>module unload <module name></code>. [[Using modules on cyclone|More details on the module system]].
Below is a list of frequently used software and which module to load on the new cyclone. Relevant module names are printed like for <code>MATLAB/2023a</code>. Modules can be loaded by <code>module load <module name></code>, and unloaded <code>module unload <module name></code>. [[Using modules on cyclone|More details on the module system]].


To list all available modules, use the command
To list all available modules, use the command
<pre>module avail</pre>
<pre>module avail</pre>


Hexagon-specific modules are now no longer listed and available on cyclone. All packages listed with this command should work, so please report to <code>support@hpc.uib.no</code> if they do not.
All packages listed with this command should work, so please report to <code>support@hpc.uib.no</code> if they do not.


=== Data analysis and plotting ===
=== Data analysis and plotting ===


* CDO
* CDO
*: <code>CDO</code>, <code>CDO/1.9.5-foss-2018b</code>
*: <code>CDO</code>, <code>CDO/2.2.2-gompi-2023</code>
* Dynlib
* Dynlib
*: See temporary solution for python. Requires in addition <code>OpenBLAS/0.3.1-GCC-7.3.0-2.30</code> and <code>ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1</code>.
*: See temporary solution for python. Requires in addition <code>OpenBLAS/0.3.1-GCC-7.3.0-2.30</code> and <code>ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1</code>.
Line 84: Line 75:
*: ''<no module required>''
*: ''<no module required>''
* Matlab
* Matlab
*: <code>Matlab</code>, <code>Matlab/2018a</code>, <code>Matlab/2012a</code>
*: <code>Matlab</code>, <code>Matlab/2023a</code>, <code>Matlab/2021b</code>
* ncdump and other netCDF utilities
* ncdump and other netCDF utilities
*: <code>netCDF</code>, <code>netCDF/4.6.1-foss-2018b</code>
*: <code>netCDF</code>, <code>netCDF/4.9.2-gompi-2023b</code>
* NCL
* NCL
*: <code>NCL</code>, <code>NCL/6.5.0</code>
*: <code>NCL</code>, <code>NCL/6.5.0</code>
* nco
* nco
*: <code>NCO</code>, <code>NCO/4.7.4-foss-2018b</code>
*: <code>NCO</code>, <code>NCO/5.1.9-foss-2023a</code>
* ncview
* ncview
*: <code>ncview</code>, <code>ncview/2.1.7-foss-2018b</code>. Load only when needed! The package is currently known to break some GUI programs like gedit and gvim.  
*: <code>ncview</code>, <code>ncview/2.1.8-gompi-2023a</code>. Load only when needed! The package is currently known to break some GUI programs like gedit and gvim.  
* python, plus selection of scientific packages
* python, plus selection of scientific packages
*: ''First'' choose and load the python module for the python version that you want to use, either <code>Python/2.7.15-foss-2018b</code> for python 2.7.15, or <code>Python/3.7.0-foss-2018b</code> for python 3.7.0.
*: ''First'' choose and load the python module for the python version that you want to use, either <code>Python/3.11.5-GCCcore-13.2.0</code> for python 3.11.5, or <code>Python/2.7.18-GCCcore-12.2.0-bare</code> for python 2.7.18.
*: ''Then'', as a temporary solution, many scientific python packages are installed in the following virtual environments:
*: ''Then'', as a temporary solution, many scientific python packages are installed in the following virtual environments:
*: <code>source /Data/gfi/users/local/share/virtualenv/dynpie2/bin/activate</code> for python 2.7.15.  
*: <code>source /Data/gfi/users/local/share/virtualenv/dynpie2/bin/activate</code> for python 2.7.15.  
Line 100: Line 91:
*: For the pygrib module, <code>ecCodes/2.7.3-foss-2018b</code> is required in addition.
*: For the pygrib module, <code>ecCodes/2.7.3-foss-2018b</code> is required in addition.
* R
* R
*: ''<no module required>''
*: <code>R , R/4.4.1-gfbf-2023b</code>


=== Text editors ===
=== Text editors ===


* emacs
* emacs, gedit, gvim, vi(m), nedit, meld, spyder (Spyder comes available when Anaconda module loaded)
*: Is installed globally, but requires <code>util-linux/2.32-GCCcore-7.3.0</code> to work.
*: All installed globally
* gedit
*: ''<no module required>''
* gvim
*: ''<no module required>''
* vi(m)
*: ''<no module required>''


=== Compilers and libraries ===
=== Compilers and libraries ===
Line 118: Line 103:
*: <code>OpenBLAS/0.3.1-GCC-7.3.0-2.30</code>. '''Note''': The library is called <code>libopenblas</code>, so you'll need to compile with <code>-lopenblas</code>.  
*: <code>OpenBLAS/0.3.1-GCC-7.3.0-2.30</code>. '''Note''': The library is called <code>libopenblas</code>, so you'll need to compile with <code>-lopenblas</code>.  
* eccodes (replacement for grib_api)
* eccodes (replacement for grib_api)
*: <code>ecCodes/2.7.3-foss-2018b</code>
*: <code>ecCodes</code>, <code>ecCodes/2.31.0-gompi-2023b</code>
* gcc, gfortran
* gcc, gfortran
*: <code>GCC</code>, <code>GCC/7.3.0-2.30</code>
*: <code>GCC</code>, <code>GCC/13.2.0</code>
* grib_api
* grib_api
*: <code>grib_api/1.24.0-foss-2018b</code>
*: <code>grib_api/1.24.0-foss-2018b</code>
* HDF5 libraries
* HDF5 libraries
*: <code>HDF5/1.10.2-foss-2018b</code>
*: <code>HDF5/1.14.3-gompi-2023b</code>
* lapack
* lapack
*: <code>ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1</code>. '''Note''': The library is called <code>libscalapack</code>, so you'll need to compile with <code>-lscalapack</code>.  
*: <code>ScaLAPACK</code>, <code>ScaLAPACK/ScaLAPACK/2.2.0-gompi-2023b-fb</code>. '''Note''': The library is called <code>libscalapack</code>, so you'll need to compile with <code>-lscalapack</code>.
* MPI
* MPI
*: <code>OpenMPI/3.1.1-GCC-7.3.0-2.30</code>
*: <code>OpenMPI/4.1.6-GCC-13.2.0</code>
* netcdf
* netcdf
*: For C-libaries: <code>netCDF/4.6.1-foss-2018b</code>,  
*: For C-libaries:<code>netCDF</code>, <code>netCDF/4.9.2-gompi-2023b</code>,  
*: For Fortran-libraries <code>netCDF-Fortran/4.4.4-foss-2018b</code>, compile with option <code>-I/shared/apps/netCDF-Fortran/4.4.4-foss-2018b/include</code>
*: For Fortran-libraries <code>netCDF-Fortran/4.6.1-gompi-2023b</code>, compile with option <code>-I/vol/vb_apps/software/netCDF-Fortran/4.6.1-gompi-2023b/include</code>
* proj
* proj
*: <code>PROJ/5.0.0-foss-2018b</code>
*: <code>PROJ</code>,<code>PROJ/9.3.1-GCCcore-13.2.0</code>


=== Jupyter & Jupyterhub ===
=== Jupyter & Jupyterhub ===
Jupyter-lab and jupyter notebook can be initiated when Anaconda module has been activated:<pre>ml Anaconda3
jupyter-lab --no-browser --port 888X  (unoccupied port, interval 8880 < X < 8951)
(Prepare for copy&paste of the output line  http://localhost:888X/lab?token=<unique-code>)</pre>Then from your local client computer:<pre>ssh -N -L 888X:localhost:888X <userid>@cyclone1.gfi.uib.no
(same portnumber, hostname= cyclone1 or cyclone2)</pre>From your preferred browser on your local client computer, paste in the http://localhost url output line from jupyter-lab:<pre>http://localhost:888X/lab?token=<unique code></pre>Your jupyter-lab is now supposed to run towards your local browser window.
You can change "jupyter-lab" to "jupyter notebook" in first startup if notebook is preferred.


Here is a step by step guide to setup and use Jupyter based on the <code>dynpie3</code> environment.
Here is a step by step guide to setup and use Jupyter based on the <code>dynpie3</code> environment.
Line 144: Line 136:
== Accessing the data from your own machines ==
== Accessing the data from your own machines ==


Note: From your personal machines you will need to be connected to the UiB VPN to be able to mount the following network drives.  
Note: From your private machines you will need to be connected to the UiB VPN to be able to mount the following network drives. From UiB-client computers, UiB network connection is sufficient.


On MacOS you can mount folders through <code>Finder > Go > Connect to Server ...</code>. In the dialogue window that pops up, enter
On MacOS you can mount folders through <code>Finder > Go > Connect to Server ...</code>. In the dialogue window that pops up, enter
Line 150: Line 142:
as the '''Server Address'''. You might want to replace <code>gfi</code> by <code>skd</code> to access the skd disks if that is your primary affiliation.
as the '''Server Address'''. You might want to replace <code>gfi</code> by <code>skd</code> to access the skd disks if that is your primary affiliation.
On Ubuntu this is very similar: <code>Files > Go > Enter Location ...</code>. Enter the address: <pre>smb://uib.no;<user name>@klient.uib.no/FELLES/MATNAT/GFI</pre> and enter your password in the next pop-up window, while keeping "UiB" in the "Domain" field.
On Ubuntu this is very similar: <code>Files > Go > Enter Location ...</code>. Enter the address: <pre>smb://uib.no;<user name>@klient.uib.no/FELLES/MATNAT/GFI</pre> and enter your password in the next pop-up window, while keeping "UiB" in the "Domain" field.
Alternatively you can mount the network drive with sshfs to a dedicated directory using <code>sshfs</code> (install with <code>sudo apt install sshfs</code>):
 
From Windows you can mount by navigating to <code>File Explorer > Map network drive</code> and enter <br><code>\\klient.uib.no\felles\matnat\gfi</code>. Make sure to enable <code>Connect using different credentials</code> and fill in <code><user name>@uib.no</code> and your PW.
 
From platforms with sshfs available, alternative  mount of network drive with sshfs to a dedicated directory using <code>sshfs</code> (linux: install with <code>sudo apt install sshfs</code>):
<pre>mkdir ~/cyclone_gfi
<pre>mkdir ~/cyclone_gfi
From UiB network: sshfs -o follow_symlinks <user name>@cyclone.hpc.uib.no:/gfi/ ~/cyclone_gfi/
From UiB network: sshfs -o follow_symlinks <user name>@cyclone2.uib.no:/gfi/ ~/cyclone_gfi/
From ext. networks: sshfs -o follow_symlinks <user name>@sync.uib.no:/gfi/ ~/cyclone_gfi/
From ext. networks, please connect to UiB vpn first.
Unmount with: fusermount -u ~/cyclone_gfi</pre>
Unmount with: fusermount -u ~/cyclone_gfi</pre>
On Windows you can mount by navigating to <code>File Explorer > Map network drive</code> and enter <code>\\leo.hpc.uib.no\gfi</code>. Make sure to enable <code>Connect using different credentials</code> and fill in <code><user name>@uib.no</code> and your PW.
For access to Sigma2 storage resources via sshfs access from cyclones, defining the following aliases can be convenient for mount and umount towards ~/sigma2 - and similar can be done from Sigma2-resource for access to cyclones storage resource:<pre>alias mountsigma2="mkdir ~/sigma2; sshfs <userid>@<sigma2-host>:<sigma2_path> ~/sigma2 -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,follow_symlinks,uid=$(id -u),gid=$(id -g)"
alias umountsigma2="cd ; chmod go+rx ~/; fusermount -u ~/sigma2; chmod go-rx ~/; rmdir ~/sigma2"
</pre>


== Displaying GUIs on your screen ==
== Displaying GUIs on your screen ==


The ssh-login command at the top of this wiki enables trusted X11 forwarding (the <code>-Y</code> option), which allows you to display Graphical User Interfaces (GUIs) on your screen. This way you may be able to run software on a high performance system in a more userfriendly way than by just operating via the terminal. To make this work properly you may have to edit the ssh configuration file (<code>/etc/ssh/ssh_config</code> on linux systems) by adding or uncommenting the following two lines:  
The ssh-login command at the top of this wiki enables trusted X11 forwarding (the <code>-Y</code> option), which allows you to display Graphical User Interfaces (GUIs) on your screen. Inclusion of  <code>-C</code> option as well is an advantage for speeding up the X11 response. This way you may be able to run software on a high performance system in a more userfriendly way than by just operating via the terminal. To make this work properly you may have to edit the ssh configuration file (<code>~/.ssh/config</code> on linux and macos systems) by adding the following lines:  
 
<pre>ForwardX11 yes
ForwardX11Trusted yes
Compression yes</pre>
 
Windows will require additional  terminal software  (for establishing an ssh-connection)  with inclusion of an XServer (e.g. MobaXterm, WSL or VcXsrv) or [https://hjelp.uib.no/tas/public/ssp/content/detail/service?unid=a9cc906b686940498f0cf68882fc5d20 NoMachine] - and some still prefer Putty.


<pre>X11Forwarding yes
For Mac the solution should be pretty similar when using XQuartz - for Tahoe and later macos versions it may come necessary with the following initial setting for Xquartz, entered from your Mac command shell:<pre>defaults write org.xquartz.X11 enable_render_extension 0</pre>
ForwardX11Trusted yes</pre>


Editing this file requires superuser priviliges so you may have to ask the IT department for support. For Mac the solution should be pretty similar, windows requires additional software like PuTTY (for establishing an ssh-connection) and an XServer (e.g. VcXsrv).
And it may come fortunate with later follow up toggling "Full-screen mode" in  XQuarts settings -> Output.

Latest revision as of 12:53, 26 March 2026

Connection and first steps

Requirements: To access GFI&SKD department servers via ssh, your computer will need to be attached to UiB-network. Connection via ssh is also open from Sigma2 resources, and sshfs is available to/from Sigma2. Otherwise, connecting from outside UiB or from private platform, you will need UiB-vpn or login via UiB login server. And your UiB account will need to be enabled for connection.

Use ssh to connect to one of the cyclones systems, cyclone1, cyclone2 and cyclone3, respectively:

ssh -Y <username>@cyclone1.gfi.uib.no
ssh -Y <username>@cyclone2.gfi.uib.no
ssh -Y <username>@cyclone3.gfi.uib.no  - (cyclone3 is reserved for GPU usage only)

or just simply:

ssh -Y cyclone1.gfi.uib.no
ssh -Y cyclone2.gfi.uib.no
ssh -Y cyclone3.gfi.uib.no  -  (cyclone3 is reserved for GPU usage only)

if you're connecting from a computer where you are logged in under the same user name (as usually the case with your UiB machine). When you are connecting for the first time, you will be asked to verify a signature. Reply "yes" to this question.

Home directories

All servers cyclone*.gfi.uib.no share same home directories. These home directories are separate from your standard UiB home directory. The content of your home directories will not be synced, so you will manually need to transfer your scripts to the new system.

Please be aware that your local home directory is not expected to exceed 30GB at any time - even in periods when sys.adms. do not practice quotas. If you need to store larger amount of data, please plan for using the GFI&SKD storage - also described in this wiki.

To monitor your home directory size, you can use these commands from cyclone command shell:

du -sh ~/

Or to include more details on both dot files/directories and non-hidden home directory subfolders:

cd; du -sh .[^.]* *

How to access software

Most/all scientific software is only available through EESSI software modules. Modules need to be loaded manually before the respective software can be used. We use software modules, because they provide are a clean and handy way to offer conflicting software or software versions: Instead of updating software and potentially breaking user scripts and programs new software is then made available in parallel to those that require it.

Start-up scripts

It might be handy to automatically load modules for software that you use frequently every time you login to cyclone. To accomplish that for bash, there are two relevant files, $HOME/.bashrc and $HOME/.bash_profile . .bash_profile should contain things that need to be defined at login time only, like PATH and other environment variables, startup programs, etc. You just need things once, not in every shell you open. In most cases, you also need the things from .bashrc in your login shell. That's why .bash_profile sources .bashrc as well, but .bashrc doesn't usually source .bash_profile. In contrast, .bashrc should typically contain things you want to set in every shell you open, like aliases, functions, etc. These are per shell session items that are not inherited from environment (source and detailed explanation).

An example .bash_profile for inspiration

module load CDO/2.2.2-gompi-2023b
module load MATLAB/2023a

alias rm="rm -i"
alias cp="cp -i"
alias erai="cd /Data/skd/share/Reanalysis/ERA_INTERIM/6HOURLY/"

if [ -f ~/.bashrc ]; then
   . ~/.bashrc
fi

An example .bashrc for inspiration

alias rm="rm -i"
alias cp="cp -i"
alias erai="cd /Data/skd/share/Reanalysis/ERA_INTERIM/6HOURLY/"


Available software

Below is a list of frequently used software and which module to load on the new cyclone. Relevant module names are printed like for MATLAB/2023a. Modules can be loaded by module load <module name>, and unloaded module unload <module name>. More details on the module system.

To list all available modules, use the command

module avail

All packages listed with this command should work, so please report to support@hpc.uib.no if they do not.

Data analysis and plotting

  • CDO
    CDO, CDO/2.2.2-gompi-2023
  • Dynlib
    See temporary solution for python. Requires in addition OpenBLAS/0.3.1-GCC-7.3.0-2.30 and ScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1.
  • ghostview
    <no module required>
  • grads
    <no module required>
  • Matlab
    Matlab, Matlab/2023a, Matlab/2021b
  • ncdump and other netCDF utilities
    netCDF, netCDF/4.9.2-gompi-2023b
  • NCL
    NCL, NCL/6.5.0
  • nco
    NCO, NCO/5.1.9-foss-2023a
  • ncview
    ncview, ncview/2.1.8-gompi-2023a. Load only when needed! The package is currently known to break some GUI programs like gedit and gvim.
  • python, plus selection of scientific packages
    First choose and load the python module for the python version that you want to use, either Python/3.11.5-GCCcore-13.2.0 for python 3.11.5, or Python/2.7.18-GCCcore-12.2.0-bare for python 2.7.18.
    Then, as a temporary solution, many scientific python packages are installed in the following virtual environments:
    source /Data/gfi/users/local/share/virtualenv/dynpie2/bin/activate for python 2.7.15.
    source /Data/gfi/users/local/share/virtualenv/dynpie3-2021a/bin/activate for python 3.7.0.
    For the pygrib module, ecCodes/2.7.3-foss-2018b is required in addition.
  • R
    R , R/4.4.1-gfbf-2023b

Text editors

  • emacs, gedit, gvim, vi(m), nedit, meld, spyder (Spyder comes available when Anaconda module loaded)
    All installed globally

Compilers and libraries

  • blas
    OpenBLAS/0.3.1-GCC-7.3.0-2.30. Note: The library is called libopenblas, so you'll need to compile with -lopenblas.
  • eccodes (replacement for grib_api)
    ecCodes, ecCodes/2.31.0-gompi-2023b
  • gcc, gfortran
    GCC, GCC/13.2.0
  • grib_api
    grib_api/1.24.0-foss-2018b
  • HDF5 libraries
    HDF5/1.14.3-gompi-2023b
  • lapack
    ScaLAPACK, ScaLAPACK/ScaLAPACK/2.2.0-gompi-2023b-fb. Note: The library is called libscalapack, so you'll need to compile with -lscalapack.
  • MPI
    OpenMPI/4.1.6-GCC-13.2.0
  • netcdf
    For C-libaries:netCDF, netCDF/4.9.2-gompi-2023b,
    For Fortran-libraries netCDF-Fortran/4.6.1-gompi-2023b, compile with option -I/vol/vb_apps/software/netCDF-Fortran/4.6.1-gompi-2023b/include
  • proj
    PROJ,PROJ/9.3.1-GCCcore-13.2.0

Jupyter & Jupyterhub

Jupyter-lab and jupyter notebook can be initiated when Anaconda module has been activated:

ml Anaconda3
jupyter-lab --no-browser --port 888X  (unoccupied port, interval 8880 < X < 8951)
(Prepare for copy&paste of the output line  http://localhost:888X/lab?token=<unique-code>)

Then from your local client computer:

ssh -N -L 888X:localhost:888X <userid>@cyclone1.gfi.uib.no
(same portnumber, hostname= cyclone1 or cyclone2)

From your preferred browser on your local client computer, paste in the http://localhost url output line from jupyter-lab:

http://localhost:888X/lab?token=<unique code>

Your jupyter-lab is now supposed to run towards your local browser window.

You can change "jupyter-lab" to "jupyter notebook" in first startup if notebook is preferred.

Here is a step by step guide to setup and use Jupyter based on the dynpie3 environment.

File:Get started cyclone.pdf


Accessing the data from your own machines

Note: From your private machines you will need to be connected to the UiB VPN to be able to mount the following network drives. From UiB-client computers, UiB network connection is sufficient.

On MacOS you can mount folders through Finder > Go > Connect to Server .... In the dialogue window that pops up, enter

smb://uib.no;<user name>@klient.uib.no/FELLES/MATNAT/GFI

as the Server Address. You might want to replace gfi by skd to access the skd disks if that is your primary affiliation.

On Ubuntu this is very similar: Files > Go > Enter Location .... Enter the address:

smb://uib.no;<user name>@klient.uib.no/FELLES/MATNAT/GFI

and enter your password in the next pop-up window, while keeping "UiB" in the "Domain" field.

From Windows you can mount by navigating to File Explorer > Map network drive and enter
\\klient.uib.no\felles\matnat\gfi. Make sure to enable Connect using different credentials and fill in <user name>@uib.no and your PW.

From platforms with sshfs available, alternative mount of network drive with sshfs to a dedicated directory using sshfs (linux: install with sudo apt install sshfs):

mkdir ~/cyclone_gfi
From UiB network: sshfs -o follow_symlinks <user name>@cyclone2.uib.no:/gfi/ ~/cyclone_gfi/
From ext. networks, please connect to UiB vpn first.
Unmount with: fusermount -u ~/cyclone_gfi

For access to Sigma2 storage resources via sshfs access from cyclones, defining the following aliases can be convenient for mount and umount towards ~/sigma2 - and similar can be done from Sigma2-resource for access to cyclones storage resource:

alias mountsigma2="mkdir ~/sigma2; sshfs <userid>@<sigma2-host>:<sigma2_path> ~/sigma2 -o reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,follow_symlinks,uid=$(id -u),gid=$(id -g)"
alias umountsigma2="cd ; chmod go+rx ~/; fusermount -u ~/sigma2; chmod go-rx ~/; rmdir ~/sigma2"

Displaying GUIs on your screen

The ssh-login command at the top of this wiki enables trusted X11 forwarding (the -Y option), which allows you to display Graphical User Interfaces (GUIs) on your screen. Inclusion of -C option as well is an advantage for speeding up the X11 response. This way you may be able to run software on a high performance system in a more userfriendly way than by just operating via the terminal. To make this work properly you may have to edit the ssh configuration file (~/.ssh/config on linux and macos systems) by adding the following lines:

ForwardX11 yes
ForwardX11Trusted yes
Compression yes

Windows will require additional terminal software (for establishing an ssh-connection) with inclusion of an XServer (e.g. MobaXterm, WSL or VcXsrv) or NoMachine - and some still prefer Putty.

For Mac the solution should be pretty similar when using XQuartz - for Tahoe and later macos versions it may come necessary with the following initial setting for Xquartz, entered from your Mac command shell:

defaults write org.xquartz.X11 enable_render_extension 0

And it may come fortunate with later follow up toggling "Full-screen mode" in XQuarts settings -> Output.