XPRafts is organised as a series of discrete modules each addressing a particular component of the rainfall/runoff routing process. The separate modules are called in a particular sequence according to the way that input data is coded.
The program currently consists of five modules:

  1. a library module which manages the overall operation of the program and controls data, computation and output sequences,
  2. a hydrograph-generation module which estimates a runoff hydrograph from either an actual rainfall event or a design storm using Laurenson's non-linear runoff routing method,
  3. a loss model employing Philip's Infiltration Module and the ARBM Losses (ARBM) to simulate both rural and urban excess rainfall,
  4. a reservoir routing module which routes an inflow hydrograph through a retarding basin or storage using a level pool routing procedure. The module also handles hydraulically interconnected basins,
  5. a river/channel routing module which routes a hydrograph along a channel using the Muskingum-Cunge procedure.

The following sections describe the library, hydrograph, retarding basin, loss and channel sections of XPRafts in detail. This Figure describes the various program modules and how they are linked.