I, Allyn Tennant, quickly adopted QDP and started to add some new features to it. In 1983 I moved from Goddard to Cambridge, England to join Andy Fabian's group, and took along the idea of QDP program. Rather than port the existing code, it was decided it would be best to start over and to rewrite the code with the following goals:
1) The plotting routine would be isolated from all other activities such as reading data from disk. A separate routine was provided to read ASCII (QDP) files.
2) All of the author's scientific graphics would be done with PLT. Thus when a new function was needed it would be added to PLT. This would be done in such a way that existing software would not need to be modified to use the new function.
3) The interface to the low level graphics routines would be minimized. Thus all high level functions would be written in Fortran and hence be portable to new systems. This goal was met by using the PGPLOT graphics package.
Over the years, the goal of always using PLT to produce line graphics has resulted in the slow accretion of functionality, so that now the QDP name has been changed to stand for the Quick and Dandy Plotter. PGPLOT has now been ported to several systems and, in addition, there is a version of PGPLOT that works with GKS.
The appearance of MONGO on Starlink in 1984 influenced the evolution of PLT. Up to that time, the only way to change the defaults was for the user to type in a command. When MONGO appeared, it was realized that the calling program could also issue some commands to PLT. At this time, the calling sequence to PLT was updated to allow a command list to passed to it. PLT can now be completely controlled through this command list: It will never again be necessary to change the calling sequence.
The development of PLT at Cambridge was influenced by the interaction with Rick Shafer and his XSPEC program. Rick and I would often compete to design the `most user friendly interface'. This resulted in the free exchange of ideas between XSPEC and PLT; as a result, these programs now have similar (but not identical) user interfaces.
One of the strengths of QDP has always been its ability to FIT the data. With the original Goddard version, it was possible to fit either a constant or a line through the data. At Cambridge, PLT was enhanced to allow fitting of any linear combination of `components'. The list of components slowly grew to include many functions such as sine, exponential, log, and two types of spline. In order to keep the specialized components from becoming part of the standard PLT/FIT program, a user model was created. This allows users to link a program using PLT/FIT that contains a single specialized component. This component could then be added to components from the existing list of built-in functions to construct an advanced model. While workable, this method entailed making people link `private' versions of standard programs.
In late 1987, development started on a new way to define a model component, that would entail reading a `program' stored in an ASCII disk file. Clearly the program would be an interpreted language and, for maximum speed and efficiency, this language would need to be stack oriented. Hence, COD (COmponent Definition) files were created. Although COD is now an integral part of QDP/PLT/FIT, the programming language itself is still evolving.
In 1988, Allyn Tennant moved from Cambridge to the Marshall Space Flight Center in Huntsville. All questions, complaints, requests, etc., should now be directed to Huntsville.
In early 1989 the first edition of the User's Guide was produced for distribution by the EXOSAT group at ESTEC. I'm grateful to Nick White for his encouragement of this effort and to Steve O'Dell who greatly assisted in producing the original LaTeX version of the manual.
Finally, many people have contributed ideas for additional features and many of these have been included. You are still encouraged to suggest enhancements (yes, you are even encouraged to point out minor bugs).
Return to plt main page.