  Computer programs often behave differently under different compilers or in
different computing environments. Relative debugging is a collection of
techniques by which these differences are analysed. Differences may arise
because of different interpretations of errors in the code, because of bugs in
the compilers or because of numerical drift, and all of these were observed in
the present study. Numerical drift arises when small and acceptable differences
in values computed by different systems are integrated, so that the results
drift apart. This is well understood and need not degrade the validity of the
program results. Coding errors and compiler bugs may degrade the results and
should be removed. This paper describes a technique for the comparison of two
program runs which removes numerical drift and therefore exposes coding and
compiler errors. The procedure is highly automated and requires very little
intervention by the user. The technique is applied to the Weather Research and
Forecasting model, the most widely used weather and climate modelling code.
