Fortran 90 compilers are now available from a variety of sources for most of the commonly used scientific and engineering computing environments. A big question now for developers of scientific software is whether to use Fortran 90, stick with Fortran 77, or switch to something like C or C++. Buckley’s paper provides a detailed description and analysis of the process of converting a Fortran 77 minimization package to Fortran 90. Some of the discussion is specific to minimization software, but most of the paper addresses issues that will be important for all developers of scientific software in Fortran 90. The beginning of the paper contains an overview of Fortran 90 features not present in Fortran 77. The rest of the paper describes how and why each of the features was utilized in the new algorithm.
The paper can be read as an introduction to Fortran 90 for numerical computation, with a detailed case study. It can also be read as a guide to the issues that need to be addressed by any large Fortran 90 implementation. In many cases, Buckley describes not only what was done, but what other choices were available and why specific choices were made. The paper is long but well written, and it deserves a careful reading by anyone either considering or involved in a Fortran 90 implementation.
The companion paper provides a careful description, including a detailed example, of how to use the new Fortran 90 minimization package.