Using cyclone: Difference between revisions
added info on new cyclone1/2/3 login |
mNo edit summary |
||
| (15 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. Connecting from outside 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 | Use ssh to connect to one of the cyclones systems, cyclone1, cyclone2 and cyclone3, respectively: | ||
<pre> | <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 | ssh -Y <username>@cyclone3.gfi.uib.no</pre> | ||
or just simply: | or just simply: | ||
<pre> | <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 | ||
</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 === | ||
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 decribed in this wiki. | ||
| Line 27: | Line 26: | ||
<code>cd; du -sh .[^.]* *</code> | <code>cd; du -sh .[^.]* *</code> | ||
=== How to access software === | === 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 === | === 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 | <pre>module load CDO/2.2.2-gompi-2023b | ||
module load | module load MATLAB/2023a | ||
alias rm="rm -i" | alias rm="rm -i" | ||
| Line 57: | Line 48: | ||
fi</pre> | fi</pre> | ||
==== An example <code>. | ==== 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> | 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> | ||
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/ | *: <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/ | *: <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. | *: <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/ | *: <code>NCO</code>, <code>NCO/5.1.9-foss-2023a</code> | ||
* ncview | * ncview | ||
*: <code>ncview</code>, <code>ncview/2.1. | *: <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/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. | ||
| 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 | ||
*: | *: <code>R , R/4.4.1-gfbf-2023b</code> | ||
=== Text editors === | === Text editors === | ||
* emacs | * emacs, gedit, gvim, vi(m), nedit, meld, spyder | ||
*: All installed globally | |||
*: | |||
=== 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. | *: <code>ecCodes</code>, <code>ecCodes/2.31.0-gompi-2023b</code> | ||
* gcc, gfortran | * gcc, gfortran | ||
*: <code>GCC</code>, <code>GCC/ | *: <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. | *: <code>HDF5/1.14.3-gompi-2023b</code> | ||
* lapack | * lapack | ||
*: <code>ScaLAPACK/2.0 | *: <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/ | *: <code>OpenMPI/4.1.6-GCC-13.2.0</code> | ||
* netcdf | * netcdf | ||
*: For C-libaries: <code>netCDF/4. | *: For C-libaries:<code>netCDF</code>, <code>netCDF/4.9.2-gompi-2023b</code>, | ||
*: For Fortran-libraries <code>netCDF-Fortran/4. | *: 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/ | *: <code>PROJ</code>,<code>PROJ/9.3.1-GCCcore-13.2.0</code> | ||
=== Jupyter & Jupyterhub === | === Jupyter & Jupyterhub === | ||
| Line 144: | Line 129: | ||
== Accessing the data from your own machines == | == Accessing the data from your own machines == | ||
Note: From your | 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 135: | ||
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. | ||
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>@ | From UiB network: sshfs -o follow_symlinks <user name>@cyclone2.uib.no:/gfi/ ~/cyclone_gfi/ | ||
From ext. networks | From ext. networks, please connect to UiB vpn first. | ||
Unmount with: fusermount -u ~/cyclone_gfi</pre> | Unmount with: fusermount -u ~/cyclone_gfi</pre> | ||
== Displaying GUIs on your screen == | == Displaying GUIs on your screen == | ||
| Line 164: | Line 150: | ||
ForwardX11Trusted yes</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 | 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 when using XQuartz, windows may require additional terminal software (for establishing an ssh-connection) with inclusion of an XServer (e.g. MobaXterm, WSL or VcXsrv) - and some still prefer Putty. | ||
Latest revision as of 15:31, 13 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. Connecting from outside 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
or just simply:
ssh -Y cyclone1.gfi.uib.no ssh -Y cyclone2.gfi.uib.no ssh -Y cyclone3.gfi.uib.no
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 decribed 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.30andScaLAPACK/2.0.2-gompi-2018b-OpenBLAS-0.3.1.
- See temporary solution for python. Requires in addition
- 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/2.7.15-foss-2018bfor python 2.7.15, orPython/3.7.0-foss-2018bfor python 3.7.0. - 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/activatefor python 2.7.15.source /Data/gfi/users/local/share/virtualenv/dynpie3-2021a/bin/activatefor python 3.7.0.- For the pygrib module,
ecCodes/2.7.3-foss-2018bis required in addition.
- First choose and load the python module for the python version that you want to use, either
- R
R , R/4.4.1-gfbf-2023b
Text editors
- emacs, gedit, gvim, vi(m), nedit, meld, spyder
- All installed globally
Compilers and libraries
- blas
OpenBLAS/0.3.1-GCC-7.3.0-2.30. Note: The library is calledlibopenblas, 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 calledlibscalapack, 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
- For C-libaries:
- proj
PROJ,PROJ/9.3.1-GCCcore-13.2.0
Jupyter & Jupyterhub
Here is a step by step guide to setup and use Jupyter based on the dynpie3 environment.
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
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. 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 (/etc/ssh/ssh_config on linux systems) by adding or uncommenting the following two lines:
X11Forwarding yes ForwardX11Trusted yes
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 when using XQuartz, windows may require additional terminal software (for establishing an ssh-connection) with inclusion of an XServer (e.g. MobaXterm, WSL or VcXsrv) - and some still prefer Putty.
