You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 43 Next »


 

OpenIFS is available as a git repository, aimed at developers/users who want to work closely with the OpenIFS team and provide updates to the model. Using the git repository to submit branches makes this process easier. Please read the instructions on this page for further details.

The git repository only hosts the source code. All the data files to run OpenIFS must still be downloaded from the ftp site.

If you are looking for the IFS git repository (not OpenIFS), please follow this link.

git versions > 1.7.1 are required to work correctly with the OpenIFS git repository. If error code 501 appears when attempting to clone the repository, please upgrade.

On this page...

 

 

ECMWF Bitbucket git repository

ECMWF provide a web interface (called 'stash') to git repositories that hold OpenIFS. This is used to browse the sources, branches and create pull requests.  It works much like other web interfaces for git, such as github or bitbucket.

To connect to Stash, go to: https://software.ecmwf.int/stash/ and find the OpenIFS project.

Access to Bitbucket web interface

Access to Stash requires that you can login to the main ECMWF page: http://www.ecmwf.int/. This is normally the case if you have an account on ECMWF systems. Use your normal userid and secureid password.

For users without an account, please go to https://www.ecmwf.int/registration/ and fill in the form to register for an account. Note that it will take some time for the new account to be registered on all the websites. Please wait for about an hour and then try to login to the main website https://www.ecmwf.int/ to refer the account works.

After successfully logging in to the main ECMWF website (www.ecmwf.int), you will probably find you still cannot see the OpenIFS git repository. To be granted access, please contact openifs-support@ecmwf.int.

Access to git repository

To clone the OpenIFS git repository at your local site requires setting a further password to correctly authenticate with the Stash server.

Make sure you can successfully log in to the main ECMWF website before following the procedure below.

Authentication

The procedure to get a password to download the OpenIFS git repository is:

Cloning and branching

To clone the repository at the remote site follow these steps. This will prompt for your username and the password created as described in the previous section:

Example git clone session
% mkdir openifs
% cd openifs
% git clone https://software.ecmwf.int/stash/scm/oifs/oifs38r1.git       # or whichever model major release is required
Cloning into 'oifs38r1'...
remote: Counting objects: 4680, done.
remote: Compressing objects: 100% (3654/3654), done.
remote: Total 4680 (delta 1206), reused 4175 (delta 871)
Receiving objects: 100% (4680/4680), 21.45 MiB | 20.71 MiB/s, done.
Resolving deltas: 100% (1206/1206), done.
Checking connectivity... done
% cd oifs38r1
% git checkout release/v04                         # or whichever release version is required (the most recent is recommended)
Branch release/v04 set up to track remote branch release/v04 from origin.
Switched to a new branch 'release/v04'
% git checkout -b my_new_idea                      # create new branch. ALWAYS branch from the release branch, never the master branch.
Switched to a new branch 'my_new_idea'

Use release branches

Please ensure you checkout the release branch from the repositories for use. These mirror the versions available on the ftp site and will be tested.

Branching model

OpenIFS has a small number of developers and a small number of releases. In this scenario, a single 'develop' branch with multiple release branches works well. The branching strategy is similar to the "gitflow" model but with modifications for multiple supported releases, which gitflow does not support.

OpenIFS branch model

Possible problems

git commands return error code 501; cannot clone

This is a problem with the version of git you are using.

Versions of git greater than 1.7.1 are required to work correctly with Atlassian Bitbucket software we use.  There is more information on this error provided by Atlassian but note the advice to use version 1.6 is incorrect, and versions of git greater than 1.7.1 must be used.

Getting CAPTCHA problems when trying to login at 'git clone', 'git push' or 'git pull'?

In some situations you may get an error like the following

% git pull
fatal: remote error: CAPTCHA required
Your Stash account has been marked as requiring a CAPTCHA to be solved before
you may login again. This is typically caused by too many attempts to login
with an incorrect password. The required CAPTCHA prevents your SCM client from
accessing Stash until it is solved, even if you enter your password correctly.

If you are currently logged in to Stash via a browser you may need to logout
and then log back in in order to clear the CAPTCHA.

Visit Stash at https://software.ecmwf.int/stash for more details.

The solution is to follow this procedure

  • Log off the ECMWF Single Sign On system www.ecmwf.int
  • Log in manually into Stash, filling the CAPTCHA field (you will be asked for it after you try a first time). https://software.ecmwf.int/stash/login
  • The password is the same password you use with git, that you can change or recover in JIRA (but do allow some minutes for synchronization from JIRA to Stash

Acknowledgement

Portions of this page written by ECMWF user support: Daniel Santoalla.

 


 

 

 

  • No labels