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 22.214.171.124.
Here you can find the information about the system overview: http://www.ecmwf.int/en/computing/our-facilities/ecgate
- 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
$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
|$HOME||permanent files: sources, .profile, utilities, libs …, full backup and snapshots||3 GB|
|$PERM||larger permanent files, no backup||30 GB|
|$SCRATCH||(large) temporary files, regular select/delete, no backup||300 GB|
|$SCRATCHDIR||(large) temporary data, to be automatically deleted at the end of a job or at logout||same 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.
where the script
cronrun.ksh sets the environment before the SLURM batch job
cronjob is submitted. For ksh the
cronrun.ksh should contain
For other shells you might need to modify the script accordingly.
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 http://gcc.gnu.org/wiki/GFortran
Some basic compiler options for gfortran.
|compilation only, no linking|
|produces information for symbolic debugging|
|inhibits implicit typing of variables|
|check array element references|
|display usage information|
|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|
|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|
|promotes real values (only) to 64-bit entities|
Recommended compiler options
Whenever possible you should try to generate optimised code. Start to compile with
If you still get correct results then try with
Check results again and go with the faster. In addition the following options can be tried to increase performance further
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