- Created by Glenn Carver, last modified on Apr 15, 2021
OpenIFS ftp server
OpenIFS is distributed via an ftp service.
The OpenIFS software is held in a password protected ftp server with the username 'openifs'. Users at licensed institutes are provided with the password for this account on request. Please see OpenIFS Licensing for more details or email openifs-support@ecmwf.int.
All OpenIFS supporting anciliary datafiles, test initial files and examples can be found on the "anonymous" ftp server, which does not require a password. You can connect to this ftp server either via your web browser by typing this in the address bar:
ftp://ftp.ecmwf.int/pub/openifs
which then displays a list of the files available.
Connect via an ftp client
% ftp anonymous@ftp.ecmwf.int Connected to ftp-int.ecmwf.int. 220-************************************************** 220-European Centre for Medium-range Weather Forecasts 220- 220- You are connected to the ECMWF User FTP service 220- 220- All connections and transfers are logged 220 ************************************************** 230 Anonymous user logged in Remote system type is UNIX. Using binary mode to transfer files.
Connect using wget
The wget command can be used to transfer a file directly:
% wget ftp://ftp@ftp.ecmwf.int:/pub/openifs/ifsdata/43r3/name-of-file
Note in this example 'ftp' is used as the 'anonymous' username. Either 'anonymous' or 'ftp' can be used.
Using lftp instead of ftp
If your site or workstation only provides the 'lftp' command rather than 'ftp', proceed as shown below:
% lftp ftp.ecmwf.int lftp ftp.ecmwf.int:~> set ftp:ssl-allow no lftp ftp.ecmwf.int:~> user openifs Password: <enter the password lftp openifs@ftp.ecmwf.int:/> cd src/openifs/43r3 lftp openifs@ftp.ecmwf.int:/src/openifs/43r3/> get oifs43r3v1.tar.gz lftp openifs@ftp.ecmwf.int:/src/openifs/43r3/> get md5sum.check lftp openifs@ftp.ecmwf.int:/src/openifs/43r3/> exit
The 'set ftp:ssl-allow no' command is crucial to allow lftp to work with the ftp server at ECMWF. It disables use of a secure connection.
Remember to use the md5sum command (shown above) to verify the download was correct.
OpenIFS directory layout
The OpenIFS installation consists of (i) OpenIFS source code; (ii) OpenIFS anciliary files (climatologies, radiation tables, vertical coord tables). Both types are provided as gzipped tarfiles.
It's recommended that the OpenIFS anciliary files are stored in a separate directory, typically named 'ifsdata' and not within the model source code. As discussed in the previous section, the ecCodes GRIB library could be stored under a directory called 'ecmwf' available to other users. The ancilliary files could be stored in the same location.
Layout of OpenIFS anciliary files: ifsdata
Download instructions for the anciliary files are below. They are provided as gzipped tarfiles and unpack into the directory structure shown below.
For OpenIFS version '40r1' the layout is very similar, except 'climate.v015' is called 'climate' (43r3 uses an updated climatology). Do not use the climatology files from 40r1 with 43r3.
Note that the 'ifsdata' directory needs to be created first.
Layout of OpenIFS source files
Download instructions for the OpenIFS source files are below. The gzipped tarfile will unpack into a directory structure shown below (not all sub-directories are shown for brevity).
Other versions of OpenIFS may have different directories and directory names but will be similar to the figure below.
Download OpenIFS source code
The OpenIFS models' source code are available as compressed tarfiles. Once logged into the ftp site you will see the following directories:
Contents of ftp.ecmwf.int | Description |
---|---|
src/openifs/ | OpenIFS source code tar files. |
src/scm/ | Single Column model code and files. |
src/osm-htessel/ | Offline Surface Model (HTESSEL) code and files. |
Contents of directory src/openifs: | Description |
---|---|
src/openifs/43r3/ | Contains OpenIFS versions based on Cycle 43 Release 3 of the operational IFS. |
src/openifs/40r1/ | Contains OpenIFS versions based on Cycle 40 Release 1 of the operational IFS. |
To obtain the source code from the ftp site, change directory to the '43r3' directory and retrieve the latest source code (the filename may be different):
% ftp ftp.ecmwf.int user: openifs pass: <enter the password given to you by openifs-support> cd src/openifs/43r3 ls get oifs43r3v1.tar.gz get md5sum.check quit
Verify download
Download the md5sum.check file to verify the download was correct.
% md5sum --check md5sum.check oifs43r3v1.tar.gz: OK
Unpack OpenIFS source code
Unpack the gzipped tarfile into a directory:
% tar zxf oifs43r3v1.tar.gz % ls oifs43r3v1 CHANGES COPYING NOTICE READMEs examples make src t21test_xios CITE LICENSE README bin fcm oifs-config.editme.sh t21test tools
If your version of the 'tar' command does not support gzipped archives then do it in two stages:
% gzip -d oifs40r1v2.tar.gz % tar xf oifs40r1v2.tar
Download OpenIFS anciliary data files
The anciliary data files, as well as test-data and examples are available via ftp without the need for a password.
% ftp ftp.ecmwf.int user: ftp Anonymous user logged in > cd pub/openifs/ifsdata
Or enter this address into your browser: ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata. Files can then be downloaded directly from the browser.
Directory: | Description |
---|---|
pub/openifs/ifsdata/43r3/ | Contains data files for versions of OpenIFS 43r3. Note that the files for 43r3 are split into different resolutions unlike 40r1. Only download the resolutions you plan to work with as these files can be large. |
pub/openifs/ifsdata/40r1/ | Contains data files for versions of OpenIFS 40r1. |
These files are the same for all OpenIFS experiments. To save space for multiple users, it's recommended they are placed somewhere central and not copied to each user run directory. The sample job scripts provided assume that links are created from these files to the user run directory.
We suggest creating a directory ifsdata somewhere and unpacking the files there.
Filename | Size | Description |
---|---|---|
<version>/ifsdata_climatology_<version>.tgz | 15Mb | Contains the various long-lived gases and aerosol climatologies used by the model.e.g. files C11CLIM, MCICA, etc. Unpacks into a directory called <version>/ifsdata. |
<version>/ifsdata_<version>_climate*_<res>.tgz | varies | Contains ozone climatology for all supported horizontal and vertical resolutions, including full and reduced Gaussian grid versions. Note the 43r3 files are split into grid types, unlike 40r1. If you intend to work with cubic grids and linear grids, make sure you download both files for each resolution you plan to use. Unpacks into a directory: <version>/climate/<resolution><grid_type>. These contain data split one file per horizontal resolution with a suffix that corresponds to the type of model grid. For example '40r1/climate/159l_2', would correspond to the OpenIFS 40r1 model release, with a T159 linear grid. For further explanation of the model grid types, please see the user guide section on grid resolution. To save space, it's recommended you download just the resolutions you intend working with, as the higher resolution files are large. |
<version>/ifsdata_rtables_<version>.tgz | <1Mb | Contains namelists defining the supported grid resolutions for the radiation scheme. File name suffix refers to the type of grid and last 3 digits refers to the horizontal resolution. Unpacks to a directory: <version>/rtables |
<version>/ifsdata_vtables_<version>.tgz | <1Mb | Contains namelists defining the coefficients for the supported vertical resolutions. File name suffix refers to the number of levels. Unpacks to a directory: <version>/vtables. |
<version>/ifsdata_namelist_<version>.tgz | <1Mb | Contains the full model namelist set for this OpenIFS version. Unpacks to a directory: <version>/namelist. |
% mkdir oifs/ifsdata % cd oifs/ifsdata % ftp ftp.ecmwf.int Connected to ftp.ecmwf.int. Name (ftp.ecmwf.int): ftp User anonymous logged in. ftp> cd data/43r3 ftp> prompt ftp> get md5sum.check ftp> mget ifsdata*43r3.tgz ftp> mget ifsdata*_159*.tgz ftp> mget ifsdata*_255*.tgz ftp> mget ifsdata*_319*.tgz ftp> quit
% wget ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata/43r3/md5sum.check % wget ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata/43r3/ifsdata_*_43r3.tgz % wget ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata/43r3/ifsdata_cy43r3_*_159*.tgz % wget ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata/43r3/ifsdata_cy43r3_*_255*.tgz % wget ftp://ftp@ftp.ecmwf.int/pub/openifs/ifsdata/43r3/ifsdata_cy43r3_*_319*.tgz
Make sure you check the downloads are correct by using the md5sum command.
Once downloaded, unpack the files:
% md5sum --check md5sum.check # note this will report on missing files, but check those downloaded are ok. % for ff in *.tgz; do tar zxf $ff; done % ls 43r3 climate.v015 ifsdata namelist rtables vtables % ls 43r3/climate.v015 159_3 159_4 159l_2 21_full 255_3 255_4 255l_2
Make sure you download both grid types for each resolution. e.g. ifsdata_cy43r3_climate.v015_159.tgz (cubic grids) and ifsdata_cy43r3_climate.v015_159l.tgz (linear/full grids) if you intend working with both grid types. For more information about OpenIFS model grids, see: Grids.
% mkdir oifs/ifsdata % cd oifs/ifsdata % ftp ftp.ecmwf.int Connected to ftp.ecmwf.int. Name (ftp.ecmwf.int): openifs 331 User openifs OK. Password required ftp> cd data/40r1 ftp> prompt ftp> mget ifsdata_*.tgz ftp> quit % for ff in *.tgz; do tar zxf $ff; done
There is no md5sum.check file available for 40r1 files.
OpenIFS 40r1 expects the vtables and rtables directories to be at the same directory level as the 40r1 directory. This was changed in later versions of OpenIFS.
To allow for this, make links from the 'oifs/ifsdata' created above:
% cd oifs/ifsdata % ln -s 40r1/vtables vtables % ln -s 40r1/rtables rtables % ls 40r1 vtables rtables
On this page ...