Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

 

Section
Column

OpenIFS is available for download as a git repository. Licensed users may request access to this repository if they prefer to work with git, though we expect most to download OpenIFS as compressed tar files.

Developers/users who want to work closely with the OpenIFS team and provide updates to the model are encouraged to use the git repository to submit branches. Please read the instructions on this page for further details.

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

Column
width20%30%
Panel
bgColorwhite
titleBGColorlightgrey
titleOn this page...
borderStyledotted

Table of Contents
indent6px

...

ECMWF use software called 'Stash' to provide a web interface to git repositories. This is the interface used to browse the sources, branches and create pull requests.  It works much like other web interfaces for git, such as github, and is not to be confused with the git stash command.

Users must have an account and password configured for ECMWF Stash before access can be granted.

Login and authentication

there are actually two ways of login in httpTo connect to Stash, go to: https://software.ecmwf.int/stash

...

/ and find the OpenIFS project.

Access to Stash 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 The problem is that to access with git and https (not ssh?) you have to use your JIRA password. And I think were all the problem was. (The same applies to https://softwarewww.ecmwf.int:8443/stash/)

Stash setup

Ensure user has an account and password for Stash.  If no userid, go to old.ecmwf.int/login and register. I then need to add this new user to the repository if they are outside ECMWF

...

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 about an hour if access does not initially work.

Info

After successfully logging in you find you still cannot see the OpenIFS Stash repository, please contact openifs-support@ecmwf.int. You may need to be granted access.

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 git repository.

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:

...

...

Once password is set, make sure userid and password work ok and the user can login to stash and see the OpenIFS git repository.

More detailed information is available.

...

from Daniel:

...

  • jsp. Choose "Can't access your account

...

  • "
  • Write your user id.
  • Now you should get an email from JIRA offering you a link to reset your JIRA password. Follow this link and type in the new password (it doesn't matter if you don't already have one).
  • This password should be available in Stash in some minutes. You can test it in Stash's web interface

...

Cloning and branching

 

...

To clone the repository at the remote site (once above login is successful):follow these steps. This will prompt for your username and the password created as described in the previous section:

Code Block
titleExample git clone session
% mkdir openifs
% cd openifs
% 
Code Block
mkdir ecmwf
cd ecmwf
git clone https://software.ecmwf.int/stash/scm/oifs/openifsoifs38r1.git
cd openifs
git checkout release/v04        # or whichever model major release required.

This will prompt for username and password and create a directory 'openifs' in 'ecmwf'.

Use 'ssh' protocol if within ECMWF as https doesn't work.

That's it!

Example email to users

...

 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'

Acknowledgement

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

 

5. To work with an OpenIFS release once you have the git repository:

    git checkout release/v04

Configure Git for the first time

git config --global user.name "Glenn Carver"
git config --global user.email "Glenn.Carver@ecmwf.int"

Working with your repository

I just want to clone this repository

If you want to simply clone this empty repository then run this command in your terminal.

git clone ssh://git@software.ecmwf.int:7999/oifs/contrib.git

My code is ready to be pushed

If you already have code ready to be pushed to this repository then run this in your terminal.

cd existing-project
git init
git add --all
git commit -m "Initial Commit"
git remote add origin ssh://git@software.ecmwf.int:7999/oifs/contrib.git
git push origin master

My code is already tracked by Git

If your code is already tracked by Git then set this repository as your "origin" to push to.

cd existing-project
git remote set-url origin ssh://git@software.ecmwf.int:7999/oifs/contrib.git
git push origin master

git workflows discussion:  http://www.atlassian.com/git/workflows#!workflow-centralized