Skip to end of metadata
Go to start of metadata

Ecgate is a Linux cluster, available exclusively to registered users from Member and Co-operating States. This general-purpose computing facility can be used for graphical or other pre- and post-processing that is not suitable for the supercomputer, to access the Data Handling System, to transfer data to and from external sites etc. The operating system is RedHat RHEL 6 Linux and batch jobs are scheduled with SLURM.

You can login to ecgate using your local ECaccess gateway, if installed, or the ECaccess and MSaccess gateways at ECMWF.

The outgoing IP address for traffic from ecgate over the RMDCN is

Here you can find the information about the system overview:


  • RedHat RHEL 6 Linux
  • SLURM batch job scheduler (see ecgate Slurm batch job scripts)
  • gfortran and gcc compilers by default
  • little-endian (like HPC)
  • bash shell installed and supported
  • software environment customisation via "module" command
  • ssh supported
  • file transfer with ectrans, (s)ftp, scp,  see File Transfer for more information

Parallel jobs are not permitted.

Access to ecgate

The methods of access to ECMWF machines vary from country to country. For more information please refer to our page on how to log in.

Please refer also to separate pages on File Transfer.

If you have any problems with access to the ECMWF systems, please contact ECMWF's 24 hour Service Desk

System sessions are usually scheduled on Wednesday mornings. During these system sessions you can expect disruptions or the unavailability of some services. Please keep yourself informed about planned system sessions and other events by referring to the Service Status web page

File systems

$HOME offers daily snapshots, available from /vol/nasa_snapshot/vol_home_ms as well as a few snapshots taken during the day, available via cd .snapshot in any sub-directory of the user's $HOME.

The $SCRATCHDIR file system is part of $SCRATCH and counts towards the same quota.

In addition, Member State users have the new $PERM file system available, which is permanent (i.e. not subject to regular select/delete), but without any snapshots or backups taken. The quota is 30 GB.

Usage and quotas can be checked with the ecquota command.

File systemusagequota
$HOMEpermanent files: sources, .profile, utilities, libs …, full backup and snapshots3 GB
$PERMlarger permanent files, no backup30 GB
$SCRATCH(large) temporary files, regular select/delete, no backup300 GB
$SCRATCHDIR(large) temporary data, to be automatically deleted at the end of a job or at logoutsame as $SCRATCH

More information here: File systems

Login shells and configuration files

On ecgate the Bash and the Korn shell are supported login shells. For more details see Environment and shells.

Working in batch on the Linux Cluster

The job scheduler (or batch system) is SLURM. Slurm is an open-source workload manager designed for Linux clusters of all sizes. It allows users to request and use the resources of the cluster effectively and efficiently. See the following pages for more information:

Cron and time-critical jobs

If you have access to ECMWF operational data in real-time please submit your retrieval jobs via the time-critical framework option 1 so that they are queued as soon as the data is available.

For other regular tasks you might want to use cron with a crontab entry like e.g.

05 12 * * * $HOME/cronrun.ksh sbatch $HOME/cronjob

where the script cronrun.ksh sets the environment before the SLURM batch job cronjob is submitted. For ksh the cronrun.ksh should contain

export PATH=/usr/local/bin:$PATH
. ~/.profile
. ~/.kshrc

For other shells you might need to modify the script accordingly.

Compiling environment

The Fortran compiler on ecgb, gfortran 4.4.7, is fully compliant with the Fortran 95 Standard and includes legacy F77 support. In addition, a significant number of Fortran 2003 and Fortran 2008 features are implemented. gfortran is part of the GNU compiler collection (GCC). For compiler manuals please see

Some basic compiler options for gfortran.

gfortran optionDescription
compilation only, no linking
produces information for symbolic debugging
inhibits implicit typing of variables
check array element references
display usage information
-I <dir>
adds directory named to search for include files or module files
at linking, searches for external entries in the library with a name matching lib<key>.a or lib<key>.so
searches also in named directory for library files
-o <name>
specifies the name of the output file produced, instead of the default name, e.g. a.out for an executable
requests basic profiling
requests extended profiling
Specify a list of IEEE exceptions when a Floating Point Exception should be raised
display the version number
-fdefault-real-8 -fdefault-double-8
promotes real values (only) to 64-bit entities

Recommended compiler options

Whenever possible you should try to generate optimised code. Start to compile with

-march=native  -O2

If you still get correct results then try with

-march=native  -O3

Check results again and go with the faster. In addition the following options can be tried to increase performance further

-ffast-math -funroll-loops


On ecgate you can manage your software environment using the module command. This approach has already been used for some time on the HPCF.  > more info