SimCon logo

SimCon - Fortran Analysis, Engineering & Migration

  FPT Reference ManualDownloadsLicensingHome

SimCon - Academic Associations and Software Research
Edge Hill University

The two senior researchers at SimCon, Brian Farrimond and John Collins, are both Honorary Research Fellows at the Department of Computing at Edge Hill University (EHU). The current project, in collaboration with Dr. Mark Anderson at EHU and Dave Gill at The University Corporation for Atmospheric Research, Boulder, Colorado, is to re-engineer the weather and climate prediction program, WRF, in order to remove systematic errors and to improve reliability. The project is funded by he United States Air Force.

This work includes:

  • The development of new compiler technologies which make possible the re-engineering of Fortran programs written with cpp pre-processor macros and directives. The pre-processor macros are expanded within the WinFPT internal represenataion, but the pre-processor code is reconstructed after analysis and re-engineering.

  • Analysis and systematic correction of mixed precision arithmetic, where the use of single precision variables and constants degrades the precision of double precision results.

  • Analysis of INTENT declarations in the code, and automatic correction of incorrect declarations.

  • Analysis of the use of OPTIONAL arguments as these are passed through the call-trees. Some sub-program arguments are declared to be OPTIONAL but are never used optionally. Some OPTIONAL arguments are not protected from access by IF (PRESENT(... constructs. The code is corrected automatically and the corrections are marked for inspection by the authors.

  • Detection and correction of race conditions in the multi-processor code.

Aspects of this work are described in the posters presented at the WRF workshops in Boulder Colorado, publication 3 and publication 4, and in the poster presented at the 4th WGNE Workshop on Systematic Errors in Weather and Climate Models, publication 5.

An important issue in the use of large computer programs such as WRF is the reproducibility of results. Different parallel configurations, different compilers and different machines may legitimately produce different results because of numerical drift. This is caused by the accumulation of small rounding errors due to different orders of computation or differences in the precision of numbers. The results may also differ because of differences in the consequences of coding errors and compiler bugs, but these effects are hidden amongst those due to numerical drift. The run-time trace facility in WinFPT is used to suppress numerical drift. Coding errors and compiler bugs are then exposed and may be trapped. This work is described in publication 7.

The University of Cape Town

Brian Farrimond and John Collins are Honorary Research Associates at the University of Cape Town (UCT). We are working in collaboration with members of the Radar Remote Sensing Group, and on projects connected with The Centre for High Performance Computing (CHPC). The current project, in collaboration with Jane Wyngaard and Prof. Mike Inggs at UCT, is the development of a new class of fine-graiin parallel processor, based on the work described in publication 2, below.


  1. "Dimensional Inference Using Symbol Lives", Farrimond B.T and Collins J. 2007, Paper presented at the 2007 International Conference: Software Engineering Theory and Practice, Orlando Florida
  2. "APPRASE: Automatic parallelisation of Fortran to run on an FPGA" Farrimond B.T., Collins J. and Sharma A. 2008, Paper presented at The Summer Conference of the Society for Computer Simulation, Edinburgh, Scotland, June 2008.
  3. "Automatic Detection of Softare Errors in WRF", Collins J, Farrimond B and Anderson M, 2011, Poster presented at the 12th WRF Users Workshop, Boulder Colorado, June 2011.
  4. "Q. A. Analysis of the WRF Program", Collins J, Anderson M, Farrimond B and Gill D, 2012, Poster presented at the 13th WRF Users Workshop, Boulder, Colorado, June 2012.
  5. "Automated Quality Assurance Analysis: WRF A Case Study", Collins, J., Farrimond, B., Anderson, M., Owens, D., Bayliss, D. and Gill, D. 2013, ICCET 2013, 13-14 April 2013, Vancouver.
  6. "Systematic Errors in Climate Models Consequent on the Design of the Fortran Language", Collins J, Anderson M, Farrimond B, Bayliss D and Owens D, 2013, Poster presented at the 4th WGNE Workshop on Systematic Errors in Weather and Climate Models, The Met Office, Exeter, UK, April 2013.
  7. "The Removal of Numerical Drift from Scientific Models", Collins J, Farrimond B, Flower D, Anderson M and Gill D. 2013, arXiv:1304.3260 [cs.SE].
  8. Wyngaard J, Inggs M, Collins J and Farrimond B, 2013, "Towards a many-core architecture for HPC", 23rd International Conference on Field Programmable Logic and Applications (FPL)

Copyright ©1995 to 2015 Software Validation Ltd. All rights reserved.