You are here: Home / Systems / Mistral / Login and Environment

Login and Environment

The High Performance Computing system Mistral can be accessed only via Secure Shell (SSH) network protocol. For file transfer between different hosts SSH provides SCP and SFTP.


You can log into Mistral with the following ssh command, replacing <userid> by your username:

$ ssh  -X <userid>

After having logged into mistral, you will find yourself on one of the six login nodes: mlogin[100-105]. The login nodes serve as an interface to the compute nodes of the HPC cluster. They are intended for file editing and compilation of source code, as well as for submission, monitoring and canceling of batch jobs. They can also be used for simple and none time and memory intensive serial processing tasks. The routine data analysis and visualization, however, have to be performed on mistralpp or on Mistral prepost nodes as explained here. For advanced 3D data visualization specialized visualization resources are provided. For interactive testing and debugging of parallel programs you can use SLURM salloc command to allocate the required number of nodes.


All DKRZ systems are manged by the LDAP protocol. The password can be changed through DKRZ online services. A user defined password must contain at least eight nonblank characters and has to be a combination of upper and lowercase letters, numbers and special characters. Additional checks are made to ensure that the password is no dictionary word and not too simple. The online service will give you detailed error messages if and why a new password was rejected.

In case you do not remember your password please contact DKRZ user's consultancy. Members of MPI-M should contact CIS and members of UniHH/CEN should contact CEN-IT.

Default login shell

The default login shell for new DKRZ users is bash. You can change your login shell to tcsh or ksh using the DKRZ online services. The settings you would like to use every time you log in can be put into special shell setup files. A login bash shell looks for .bash_profile, .bash_login or .profile in your home directory and executes commands from the first file found. A non-login bash shell or bash subshell reads .bashrc file. Tcsh always reads and executes .cshrc file. If tcsh is invoked as login shell, file .login is sourced additionally. The typical tasks and setting that can be put in shell setup files are for example:

  • Creation of a custom prompt
  • Modification of search path for external commands and programs
  • Definition of environment variables needed by programs or scripts
  • Definition of aliases
  • Execution of commands (e.g. 'module load <modname>/<version>')

Primary group

Your primary Unix group will be set to the first project your account is member of. This will not be modified until the project expires. Even if you join other projects, the primary group will stay the same. If you wish to have a different primary group (e.g. you are working most of the time for a different project), you will have to contact DKRZ user's consultancy, there is no option to change the primary group on your own.

Module environment

To cover the software needs of DKRZ users and to maintain different software versions, the DKRZ uses the module environment. Loading a module adapts your environment variables to give you access to a specific set of software and its dependencies. The modules are not organized hierarchically but have internal consistency checks for dependencies and can uniquely be identified by naming convention <modname>/<modversion>. Optionally, the version of the compiler that was used to build the software is also encoded in the name (e.g. all modules built with version 14 of the Intel compiler are labeled with *-intel14).

Hint: if only the <modname> (i.e. without <modversion>) is supplied, the lexically highest software version is loaded by default. If you want to make sure that the module version is not changed within job chains, you must explicitely supply the <modversion>.

Users can load, unload and query modules through the module command. The most important module sub-commands are listed in the table below

module avail
Shows the list of all available modules
module show <modname>/<version>
Shows the effect of loading the module <modname>/<version> on your environment
module load <modname>/<version>
Loads selected module; a default version is chosen, unless <version> is specified
module list
Lists all modules currently loaded
module rm <modname>/<version>
Unloads module <modname>/<version>
module swap <modname1> <modname2>

Switches loaded module <modname1> to <modname2> (mainly used to switch to a different version of software)

module purge
Unloads all modules
module apropos <keyword>
Scans the available module files for the specified keyword and list all matching modules
man module
Displays manual pages for the module command


For all details of the  module command please refer to the manual pages or execute 'module --help'.

To use the module command in a script you can source one of the following files in your script before any invocation of the module command:

# in bash or ksh script
source /sw/rhel6-x64/etc/profile.mistral

# in tcsh or csh script
source /sw/rhel6-x64/etc/csh.mistral

The 'module avail' command provides up-to-date information on installed software and versions. For a comprehensive list of software and tools available on Mistral, see our Software List.

Document Actions