wiki:WikiStart

Version 11 (modified by Huw Lewis, 16 years ago) ( diff )

--

ROPP

This is the feature request, issue and bug tracking web site for the Radio Occultation Processing Package (ROPP). ROPP is a sofware package designed to assist NWP users to assimilate radio occultation data from any RO mission such as GRAS, COSMIC, CHAMP or GRACE-A. The package is being developed through the EUMETSAT GRAS SAF.

The ROPP deliverable source code is sub-divided into modules:

  • ropp_tools : low-level utility routines
  • ropp_io : I/O support for RO data in netCDF and BUFR files
  • ropp_pp : pre-processor (e.g. to derive refractivity profiles from bending angle profiles)
  • ropp_qc : quality control routines
  • ropp_fm : forward models (and associated tangent linear, adjoint & gradient code)
  • ropp_1dvar : 1D-Var retrieval & minimiser

Collectively, these modules are knowns as ropp_src. Not all of these modules have been implemented for the first release (ROPP-1), but will be added for later releases.

The ROPP Repository

The whole ROPP development system is divided into three areas:

  • ropp_src : deliverable code & supporting development system
  • ropp_doc : user and project documentation
  • ropp_test : Test Folder (test system and its results)

The repository for ROPP can be accessed via the Subversion server at the URL

https://svn.grassaf.org/ropp/

For example, checking out the latest development (trunk) versions:

svn co https://svn.grassaf.org/ropp/ropp_src/trunk . 
svn co https://svn.grassaf.org/ropp/ropp_doc/trunk . 
svn co https://svn.grassaf.org/ropp/ropp_test/trunk .

will check out the source code, documentation, and test folder, respectively to the local working directory.

Branches

It is recommended that developments to ROPP are made from, and committed to, a branch rather than directly to the latest trunk version. This allows changes to be tested before merging the required changes back into the trunk. The trunk therefore represents a stable 'next potential release' state for ROPP. Branches can be temporary and might be for working on resolving a specific Trac Ticket.

To create a branch of ropp_src from the trunk use the command:

fcm branch -c -n <branch name> -t DEV::SHARE --rev-flag NORMAL --branch-of-branch fcm:ropp_src_tr

where <branch name> is a name of your choice which should reflect what you are working on. To create a branch for sole use by the user, specify -t DEV::USER in the branch command. Similar branches can be created to store user versions of ropp_doc, ropp_test and ropp_web as required.

To make developments, the branch needs to be checked out as above, specifying the path name for the required branch as

fcm co fcm:ropp_src/branches/dev/Share/<branch name>

or

fcm co fcm:ropp_src/branches/dev/<user id>/<branch name>

if using a private user branch.

When all the changes you require to your branch have been committed and the ROPP Development Team are satisfied that it will be part of the next release, these changes will be merged back into the trunk by using merge. To do this, you must first change directory to your working copy of the trunk (create one using checkout if you don't already have it). Then enter the following:

cd ${HOME}/FCM/ropp_src
fcm merge fcm:ropp_src/branches/dev/Share/<branch name> 

After the merge, you will get a list of changes and your working copy of the main trunk will be updated. Nothing will change in the repository until you commit your working copy of the main trunk back into the repository. If everything has gone smoothly, you should delete your branch by using the following commands:

cd ${HOME}/FCM/<branch name>
fcm branch --delete 

While you are working on your branch, you may want to bring in the changes that have been made to the main trunk. This can be done using the merge command. You must first change directory to your branch's working copy:

cd ${HOME}/FCM/<branch name>
fcm merge fcm:ropp_src_tr

When you do this, you should see the list of updates that have been made to the trunk since you last brought in any changes (or since you branched). Again, this only results in changes to your working copy so you might want to commit them.

SVN instructions

Note: See TracWiki for help on using the wiki.