Difference between revisions of "Branches in the UM"

 
Line 39: Line 39:
 
|}
 
|}
 
and otherwise works like svn, eg.
 
and otherwise works like svn, eg.
<syntaxhighlight>
+
<syntaxhighlight lang=text>
 
$ fcm ls fcm:um_dev/saw562
 
$ fcm ls fcm:um_dev/saw562
 
7.3/
 
7.3/

Latest revision as of 23:25, 11 December 2019

Using branches in the UM

UM model development is done by using subversion branches to make changes

The source repository is located at https://acess-svn.nci.org.au/svn/um

User branches are put into user specific directories like https://access-svn.nci.org.au/svn/um/branches/dev/$USER

Command summary

Useful subversion commands:

svn help COMMAND Show help information on COMMAND
svn ls URL List a directory in the repository
svn copy URL URL Copy a folder/file (e.g. make a new branch)
svn checkout URL Checks out a copy of the repository to your computer
svn status List changed files under the current directory
svn diff Show all the changes in files under the current directory
svn commit Save changes to the repository

FCM Shortcuts

FCM provides some shortcuts:

fcm:um_tr https://access-svn.nci.org.au/svn/um/trunk
fcm:um_dev https://access-svn.nci.org.au/svn/um/branches/dev

and otherwise works like svn, eg.

$ fcm ls fcm:um_dev/saw562
7.3/
7.3_script_changes/
8.1/
VN7.3_UKCA_Strat_new/
VN7.3_add_stash/
VN7.8_drhook/
VN8.0_local_changes/
amip/
...

Branches in the UMUI

FCM Configuration -> FCM Options for Atmosphere window

Subversion URL - Needs to be a common ancestor of all branches so that the branches can be merged, usually just fcm:um_tr for the trunk UM Code base version - Leave at the default Precompiled build - Not used at NCI Modifications from branches - At the very least you'll need to add the local changes branch, so that the run will work on NCI, also add any other branches you'd like to use, e.g.

fcm:um_br/dev/Share/VN7.3_local_changes/src HEAD Y
fcm:um_br/dev/saw562/VN7.3_UKCA_Strat_new/src HEAD Y

The local changes branch should be at version HEAD, so that you get any bug fixes added there For the other branches, if the branch is not yours you may want to set the version to a specific value, so that any new changes the owner makes don't affect your runs.