Previous: User's Manual for the mpl Scientific Toolkit
Up: User's Manual for the mpl Scientific Toolkit
Next: mpl Data Set Format
Previous Page: User's Manual for the mpl Scientific Toolkit
Next Page: mpl Data Set Format
The mpl Scientific Toolkit is a group of programs, written in the C programming language[1], sharing a common data file format. The Toolkit is a powerful aid to a scientist's use of computers, alleviating much of the tedium associated with the analysis and interpretation of data. It was developed by the author in the process of research at SSRL[2] and APS.
In order to enhance the productivity of the Toolkit, the programs not only use mpl format (described below) for their input data, but they also create new data sets in the same format, when it is at all meaningful to do so. Hence, one can perform a sequence of operations on one's data by invoking a sequence of Toolkit programs.
The user interface for the programs is command-line-based, rather than menu-based or query-based. That is, the programs in the Toolkit are executed by typing the program name followed by a list of command-line options. This makes the programs more amenable to use in batch files and allows argument substitution through the command language.
There are any number of software packages available that provide integrated graphics and data analysis capabilities. Typically, these take the form of a single, ``all-in-one'' program within which the user is expected to work. The very attempt to make a single, integrated program forces the user to abandon to some extent other resources that are not part of that program. For example, the user most probably will not be able to access the features of the program from command-language scripts. Assuming the data format used by the all-in-one program is well documented and easy to produce, the user may be able to communicate with it from his own programs. However, the all-in-one package will most probably not allow the user to integrate his programs into the package. Frequently, one ends up doing what the package lets one do, rather than what one wants to do.
In contrast to this, the Toolkit approach emphasizes a large number of relatively simple programs that communicate via a common data format. Any programs written by the user have equal footing with pre-existing programs. The unifying environment is the native command language, so that all of its capabilities are immediately at the user's disposal. Further, upgrading the Toolkit does not require upgrading a single, huge program. This improves the robustness of the system by automatically segmenting functions into independent units.
On another front, it is very common for a large physics program to have customized post-processing and graphics packages. Often, the mathematical operations involved in post-processing are fairly basic ones that need not be customized to any particular application. Further, until someone develops a practical and inexpensive 3 dimensional display, the vast majority of scientific graphics is reducible to drawing lines, points, and symbols; again, there is no need to customize this to any particular application. The mpl Toolkit is used for post-processing data from codes that do accelerator simulation, electromagnetic simulation, thermal simulation, circuit modeling, coupled-bunch instability simulation and others. The author's experience and that of others who have used the Toolkit is that it greatly speeds the development of new simulation codes by obviating the need to design and write post-processing software.