Cactus is a general, modular, parallel environment for solving systems of partial differential equations. The code has been developed over many years by a large international collaboration of numerical relativity and computational science research groups and can be used to provide a portable platform for solving any system of partial differential equations.
f2py is a command line tool for binding Python and Fortran code. It scans Fortran 77/90/95 code and generates a Python C/API module that makes it possible to call Fortran routines and to access Fortran data (COMMON blocks and Module data) from Python. No Fortran or C expertise is required for using this tool.
g2 is an easy to use, portable and powerful 2D graphics library. It provides a comprehensive set of functions for simultaneous generation of graphical output on different types of devices. The following devices are currently supported: Postscript, X11, FIG (xfig), PNG, and JPEG using the gd library, and Win32. g2 is written in C (ANSI) and additionally has Fortran, Perl, and Python interfaces.
The GRASP Project has created an algorithmic-level graphical representation for software called the Control Structure Diagram (CSD). The CSD was created to improve the comprehension efficiency of Ada source code and, as a result, improve software reliability and reduce software costs. Since its creation, the CSD has been expanded and adapted to include other languages. GRASP provides the capability to generate CSD's from Ada 95, C, C++, Java, and VHDL source code in both a reverse and forward engineering mode with a level of flexibility suitable for professional application. GRASP has been integrated with the GNU family of compilers for Ada (GNAT) and C (gcc), and Sun's javac compiler for Java. Use of GRASP is not restricted to these compilers, however. This has resulted in a comprehensive graphically-based development environment for these languages. The user may view, edit, print, and compile source code as CSDs with no discernible addition to storage or computational overhead.
LAM/MPI is an implementation of the Message Passing Interface (MPI) parallel standard that is especially friendly to clusters. It includes a persistent runtime environment for parallel programs, support for all of MPI-1, and a good chunk of MPI-2, such as all of the dynamic functions, one-way communication, C++ bindings, and MPI-IO.
LinAl was designed to bring together C++ and FORTRAN. At the same time LinAl is supposed to be easy to use, fast, and reasonably safe. The LinAl library is based on STL techniques and uses STL containers for the storage of matrix data and STL algorithms where feasible. Low level, algebraic operators, linear solvers, and eigenvalue solvers are implemented, based on calls to BLAS, LAPACK, and CGSOLX.
SLOCCount is a suite of programs for counting physical source lines of code (SLOC) in possibly large software systems. It can count physical SLOC for a wide number of languages. It can take a large set of files and automatically categorize their types using a number of different heuristics, and also comes with analysis tools.
PLplot is a library of C functions that are useful for making scientific plots from programs written in a wide variety of languages. It can be used to create standard x-y plots, semi-log plots, log-log plots, contour plots, 3D plots, shade (gray-scale and color) plots, mesh plots, bar charts, and pie charts. Multiple graphs may be placed on a single page with multiple lines in each graph. Different line styles, widths, and colors are supported. A virtually infinite number of distinct area fill patterns may be used. A variety of output devices and file formats are supported.