Developer information

Welcome to the developer info page. Firstly to you'll probably be interested to join our  sumover-dev email list - which will keep you up to date with all code and Trac updates. There's also a more general list  sumover-tech which sees less traffic.

We provide a brief details for use the subversion repository here. For more detailed information Subversion see the Tigris'  website and their O'Reilly book  online.

There are also tool specific pages on development details for  VIC and  RAT.

Checking out the code

To checkout a local 'working copy' use the Subversion command svn:


svn checkout rat

This checks out the trunk of RAT into a local directory called rat.


svn checkout vic

Currently we are actively working on the VicH264 branch of VIC.

Note: to build VIC and RAT you also need the common library and may also need tcl-8.0, tk-8.0 (though VIC and RAT do now build with stock tcl/tk-8.4):

svn checkout common

svn checkout tcl-8.0

svn checkout tk-8.0

GUI SVN tools

There are a variety of GUI based SVN tools - UNIX:  Subclipse Eclipse plugin,  rapidsvn. Windows:  tortoisesvn

Building the tools

Once the source is checked out run : "./configure && make" - In the following directories in order: tcl-8.0/unix, tk-8.0/unix, common, and then in VIC and/or RAT directories. if you want to enable debugging then add --enable-debug argument to the ./configure command.

Note: The development binaries are compiled with debugging enabled so they can be run in a debugger. e.g. UNIX: gdb (run directly or from a gui like ddd, eclipse, kdevelop etc). Windows: Visual Studio in Windows (note  debugview can be useful for just viewing debug messages

There is currently a branch of  vic-branch incorporating a number of new features which will be merged soon

Building on Ubuntu

You need the following packages installed to checkout and build vic:

apt-get install subversion libc6-dev g++ libxext-dev libz-dev 

and if you want to use the latest tcl/tk-8.4:

apt-get install tcl8.4-dev tk8.4-dev

For building rat with tcl/tk-8.4 use the following configure line:

./configure --with-tkinc=/usr/include/tcl8.4/ --with-tklib=/usr/lib/ --with-tclinc=/usr/include/tcl8.4/ --with-tklib=/usr/lib/ --with-tcltk-version=8.4

For more info on ubuntu see  Unbuntu Feisty,  Ubuntu wikipedia  Ubuntu issues,