Skip to content

Command-line Environment

This page explains the environment setup for a command line session within our platform. The Environment is an important concept in the Unix operating system 1. It is defined in terms of environment variables 2, some of which are set by the system, others by the user, yet others by the shell or by any program that loads another program.

After logging into our platform via the Command Line Interface (CLI), the user will by default enter the Login Home directory, from which other nodes of the infrastructure can be accessed.

Customization

The CLI environment can be customized by the user in two respects: by choosing the Shell type, and through the loading of the environment Modules, which include numerous commonly-used simulation packages and associated libraries. Both are explained below.

Shell Type

The Shell type 3 can modify the way that the user can interact with the CLI by, for example, introducing new commands or key shortcuts. For example, Ref. 4 explains how the "bash" shell type differs from zsh.

The different shell types that are available as part of our product, and can be chosen from by the user, are listed below.

  • sh 5
  • bash 6
  • csh 7
  • ksh 8
  • zsh 9

ZSH

We use oh-my-zsh, a community-driven framework for managing the zsh configuration. For more information, please visit its official website 10.

The default shell is set to bash. The user can change shell from this default setting by following the instructions contained in this page.

The shell customization can be further controlled via certain startup scripts, which are executed when the user first logs into the CLI. The user can customize some of these scripts, which are commonly referred to as "dot files," by setting environment variables and aliases in them, as explained in this page.

Modules

Software packages and programming libraries, are available through the environment modules further explained in a dedicated page.

After loading the corresponding modules, the software can be used in Job Scripts for Job execution via the CLI.

Default Python Environment

By default, we implement Python 2.7.5 as our global system version.

To use a more recent Python version, we have environment modules available which can be activated to replace the global Python interpreter for an individual session.

If a specific Python version is needed for which we don't yet provide an environment module, a wide variety of Python versions can be installed via Pyenv. 11.

Finally, once a Python version has been chosen, we explain how to create customized Python virtual environments to manage installing Python software packages.