views:

59

answers:

1

I've been thrown into a large Fortran project with a large number of source files.

I need to contribute to this project and it would seem prudent that I first understand the source.

As a first step, I'd like to visualize the interdependences between the various source files, i.e. which source files need which modules. As far as I can tell, automated methods exist for other languages and result in a graph that can be built using Graphviz.

But is anyone aware of software out there that can do this for Fortran 90 code?

[Searching the interwebs for Fortran help is a real pain as you end up searching the inter-cobwebs thanks to the painfully ubiquitous FORTRAN 77.]

+2  A: 

If you have money then Understand for Fortran is worth looking at. If you don't have money but intend to work quickly then you might get by with a trial download of the software.

For a static call graph, I've never found a free tool as useful as Understand; it's hard to find any free tools let alone a useful one. I'd write one myself but the market would be tiny :-(

For a dynamic call graph investigate your compiler options. I use the Intel Fortran Compiler which can generate a mound of useful information about an executing program. The TotalView debugger can also visualise the call graph of an executing program. You should also look at gprof2dot which makes a DOT file out of a GPROF call 'graph'. This is free and OK.

And I should also add, though it's not something I've ever used, that Callgrind may be of use.

High Performance Mark
Thanks for the response. Yeah, Understand for Fortran does seem to be the way to go.
CmdrGuard