- Created by Marcus Koehler, last modified on Mar 05, 2026
You are viewing an old version of this page. View the current version.
Compare with Current View Page History
« Previous Version 26 Current »
The ECMWF OpenIFS model has become publicly available for download under the Apache 2.0 open-source licence. This page provides an overview how to work with the new git repository on GitHub.
Download the OpenIFS model
The source code for the OpenIFS model, inclusive of the OpenIFS single-column model and the latest documentation, can be downloaded free from this repository on GitHub:
https://github.com/ecmwf-ifs/openifs
Migration for existing users
Users of previous OpenIFS releases (also including OpenIFS 48r1) should note that only the release available on GitHub is distributed under the open-source Apache 2.0 licence.
This open-source licence does not apply retroactively, so the usage of all previous releases of OpenIFS (obtained from the ECMWF download site, ftp server, or Bitbucket git repository) is only permitted under the conditions of the old ECMWF OpenIFS software licence.
Please note that the git merge of earlier model developments into the new open-source git repository may result in the inclusion of older git history which is not part of the open-source release. Such an inclusion into the git history will void the open-source licence of the resulting code package. Therefore we strongly recommend to carry out a "clean start" and manually implement any earlier code changes without merging in older git commits.
In order to benefit from the latest model developments, upgrades and new model cycles, including the benefits of the open-source licence, all model users are strongly encouraged to upgrade to the new open-source release as soon as possible.
Any new model development will only take place on the open-source git repository.
Branching and Tagging Convention
OpenIFS versions are named after their corresponding parent IFS cycle. For example OpenIFS 48r1 is named after IFS CY48R1.1.
Main branch
The main branch on the OpenIFS git repository contains the continuous OpenIFS development history. This ensures the traceability of all changes and developments. For practical usage, model users should not work from the main branch but select one of the release branches which represent different model cycle versions.
For example, to use OpenIFS 48r1 select the OpenIFS release branch that corresponds to the IFS cycle CY48R1.
Release branch naming
The naming convention for OpenIFS release branches is:
openifs-<support-level>/CY<cycle-number>.<dot-release>
Example: openifs-lts/CY48R1.1 is the release branch of OpenIFS 48r1
<support-level>
The release branch name also contains an indication of support duration for this particular release:
- lts - Long-term support, defined by the IFS cycle support time. These cycles often relate to cycles used for ERA or, for example, the cycle that forms part of EC-Earth4 (e.g., 48R1.1).
- mts - Medium-term support (normally 2 years after release).
- deprecated - Branch is no longer supported because, for example, it is out of the support period or the code has been superseded.
- unsupported - Not all IFS cycles will be formally released as OpenIFS. Only the source code and ifs-test will be made available, but supply of initial conditions from the Data Hub for that cycle are not guaranteed.
<cycle-number>
The IFS cycle number (e.g., 48R1, 49R1). These cycle numbers generally relate to operational cycles, with the exception being cycles for ERA.
<dot-release>
An additional distinction of IFS model releases from a given cycle are their "dot-release" numbers (e.g. CY48R1.0, CY48R1.1, etc). This number identifies a scientifically stable, bit-comparable release. A change in the dot-release number signifies a change in scientific answers. It is important to note that the dot-release number should relate to an IFS dot-release.
OpenIFS code is always derived from a specific dot-release of the IFS cycle. To ensure traceability from which dot-release OpenIFS was created, the IFS dot-release number forms part of the branch name in the OpenIFS repository.
Tag Naming
To specify a specific version of the model within a release branch git tags are used. The naming convention for git tags is:
openifs-<cycle-number>.<dot-release>.<version>
Example: openifs-48r1.1.0
<cycle-number> and <dot-release>
As defined for the branch naming above, except the cycle name is lower-case to match with previous OpenIFS naming convention.
<version>
Represents a sequentially numbered change to OpenIFS that is scientifically bit-comparable, e.g., bit-comparable bug fixes or changes to the scripts. If a change leads to a change in scientific output, then the dot-release number will increase.
Documentation on GitHub
The latest documentation for OpenIFS is included in the git repository, in the README.md and in the docs directory.
This documentation supersedes the existing user guides on ECMWF Confluence which will no longer be maintained. This also ensures that the documentation remains aligned with the respective model version.
![]()
- No labels