During the course of my research I have written several utilities and Fortran modules. The following are all available under open source licences. Please contact me with suggestions, comments or bug reports.
Please see the documentation files and examples supplied with each package for more details.
- testcode
testcode is a python module designed to catch regression bugs in scientific programs. Essentially testcode runs a set of calculations, runs a data extraction program on the output and compares the data to that generated by previous calculations (which are regarded to be "correct"). It also contains functions designed to enable regular automated testing and to aid tracking down bugs. Full documentation is available.
- environment_report
environment_report is a small Fortran module which prints out a summary of the environment: including information about the code (especially the version) automatically in the output makes it much easier to reproduce calculations later on. environment_report obtains this information from C pre-processing at compilation time.
Last updated 3/09/09.
- memory logging
Memory manager provides book-keeping routines for logging memory usage in Fortran programs.
Last updated 16/07/09.
- timing
timing is a Fortran module containing routines for timing the executation of blocks of code in programs.
Last updated 16/07/09.
- get_dependencies.py
get_dependencies.py is a short python script which will examine Fortan source files and build up a depencies network which can be turned into a graph (example). This is especially helpful when trying to reorder code for a cleaner flow, trying to remove issues leading to circular dependencies, or for becoming familiar with the structure of a new code.
Last updated 12/08/09.