Introduction; 1. The modern Fortran source; 2. Modules for subprogram libraries; 3. Generic subprograms; 4. Sparse matrices, defined operations, overloaded assignment; 5. Object-oriented programming for numerical applications; 6. Recursion in Fortran; 7. Case study: toward a modern QUADPACK routine; 8. Case study: quadrature routine qag2003; 9. IEEE arithmetic features and exception handling; 10. Interoperability with C; 11. Defined operations for sparse matrix solutions; 12. Case study: two sparse least-squares system examples; 13. Message passing with MPI in standard Fortran; 14. Coarrays in standard Fortran; 15. OpenMP in Fortran; 16. Modifying source to remove obsolescent or deleted features; 17. Software testing; 18. Compilers; 19. Software tools; 20. Fortran book code on SIAM web site; Bibliography; Index.
Richard Hanson is a former Algorithms Editor for ACM. He has over five decades of practical experience in the development of mathematical software. He has worked with academics, the US Government, and private software firms. He now has his own consulting business and is working on a new parallel version of the ARPACK eigenvalue package. Tim Hopkins is the current Algorithms Editor for ACM's Transactions on Mathematical Software and has four decades experience of writing and testing scientific application codes in Fortran. He worked as a lecturer in the School of Computer Science at the University of Kent, UK for 35 years before retiring in 2010. He has been a member of IFIP Working Group 2.5 on Numerical Software since 2003 and is currently writing parallel simulation codes for BSSI using Fortran and MPI.