PSPLOT Software

Intended for users interested in generating technical drawings or graphics for technical journals in PostScript format. The manual describes PSPLOT, a library of Fortran-callable subroutines which can be combined in a calling program to produce PostScript plot files. The purpose, syntax, and calling convention of each subroutine is presented , along with plotting examples.

PostScript is a very robust graphics and typesetting language with wide-ranging capabilities. Since the focus of the subroutines in this library is to produce technical drawings, many of the "artistic" features of PostScript have not been addressed or included here.

The name PostScript is a registered trademark of Adobe Systems Incorporated. All instances of the name PostScript in this manual are references to the PostScript language as defined by Adobe Systems Incorporated.

PSPLOT is distributed free of charge for non-commercial use.

A Fortran 95 version of the software is available for download with associated documentation. This version is not maintained, supported, or guaranteed by Nova Southeastern University's Oceanographic Campus and any technical inquiries should be directed to dregonjanos@gmail.com.

Download PSPLOT

  • A library of Fortran-callable subroutines.
  • Written in Fortran-77.
  • Supports the standard 35 PostScript fonts
  • Supports color
  • Platform independent
  • Creates publication-quality graphics
  • Allows total control of your plots
  • Distributed free of charge for non-commercial use

  • A pushbutton graphics library. That is, you can't create a graph with a single call.
  • A screen viewer. Output is in the form of PostScript files only. However, you can view the output plots with GhostScript.

This section will present the conventions used by the plotting subroutines in the PSPLOT plotting library. This information can be used to create customized plotting subroutines.

A plotting session is a set of plotting instructions in a user's application program which produces hardcopy graphic display output. The output can be either a single plot or graph or a set of graphs. Every plotting session must begin with a call to subroutine PSINIT (with the exception of a call to NEWDEV) and end with a call to subroutine PLOTND.

Pen movement is occasionally mentioned throughout this manual. While PostScript does not use an actual pen for graphic production, it is useful to visualize the plot commands as directing the movements of a pen of variable thickness to a specified (x,y) coordinate, with the pen being either up or down. The plotting subroutines are simple, user-callable commands which direct the movements of an imagined pen upon a plotting sheet.

The initial coordinate origin is approximately .5 inches from the bottom and left paper edges. The orientation of the page must be specified to be either portrait (short side horizontal) or landscape (long side horizontal) and is set by the call to PSINIT (which see). The figure below shows the paper orientation and beginning plot origin for portrait and landscape modes. The current plot origin can be relocated to other positions during the plotting session to provide new reference points for subsequent plotting commands. When the next graph is started, the new origin should be placed far enough away to avoid overlapping the just-completed graph.

All plotting commands use an absolute plot coordinate system. This means that all coordinates passed to plotting subroutines are expected to be in terms of distance from the current plot origin. This is contrast to a relative plot coordinate system, in which coordinates are assumed to be in terms of distance from the current pen position.

In all plotting subroutines, plot coordinates, character heights, distances, etc. can be in arbitrary units. The default is inches. This can be changed by the variable conver in subroutine PSINIT.

Unless otherwise noted, any subroutine argument which specifies an angle is stated in degrees relative to the X axis, with positive angles measured counterclockwise from the X axis.

Most character variables are specified as Hollerith, rather than character strings. The reason for this is primarily historical, combined with the fact that the enormous amount of code already written and in use at my site precluded a comprehensive revision. This should not cause any problems, however.

The initial font of a plot session is Helvetica, with a size of 12 points. This can be changed permanently in subroutine PSINIT. Of course, the current font can always be changed with subroutine SETFNT. PSPLOT supports the standard 35 fonts found on most PostScript printers.

PSPLOT supports color, although all examples in this manual are shown in grayscale for the purposes of reproduction. Color is specified in the relevant subroutines as red, green, and blue (RGB) values.

Continuation allows you to append a character string or number to the end of a previously plotted string or number. The coordinates of the appended string are automatically calculated. Whether or not a subroutine supports continuation is stated in subroutine description in the next section.

Continuation is specified by setting the X and/or Y coordinate argument in calls to the subroutines listed above to 999, and may be applied to X and Y coordinates separately. A subroutine call with continuation must immediately follow the previous plotting call. Continuation is useful when plotting strings containing variable values, such that the resultant string length is not known beforehand.

For example,

ND=10
CALL KEKNUM (1., 2., .15, FLOAT(ND), 0., -1, 0)
CALL KEKSYM (999., 999., .15, 5H DAYS, 0. ,5, 0)

produces "10 DAYS".

Discussion

Coral skeletal growth is comprised of linear extension, density, and calcification. Each parameter carries independent information and all are needed for a complete assessment of coral growth. CoralXDS produces a visual representation of a transect on a coral X-radiograph, along with a corresponding density plot, and generates graphical representations of transect growth parameters for high-density, low-density, and annual bands. Associated datasets are produced in spreadsheet-compatible form.

Advantages of CoralXDS include utilizing a smooth wedge for luminance-to-density calibration, which offers a continuous profile of density values over the wedge thickness range. The use of an X-ray background image minimizes systematic anomalies in exposure and image capture. The interface for wedge calibration and coral transect selection allows for flexible, interactive specification of band minima and maxima using several objective criteria.

The measurement of extension, density, and calcification gives a more thorough representation of variations in coral growth. CoralXDS affords a rapid and efficient method for obtaining these parameters with a high degree of accuracy.

Coral growth rates, based on annual density bands, serve as an indicator for environmental change as well as a template for isotopic and elemental analysis of the skeleton. Growth rates are also useful for testing hypotheses regarding variations in growth attributable to climatic changes such as rising carbon-dioxide levels and sea-surface temperature. Additionally, coral growth can be analyzed for spatial variations such as depth dependence and latitudinal effects as well as temporal variations such as El Niño events.

References

  • Helmle, K.P., K.E. Kohler, and R.E. Dodge (2002) "Relative Optical Densitometry and The Coral X-radiograph Densitometry System: CoralXDS" Presented Poster (omitted from abstract book, but included in program), Int. Soc. Reef Studies 2002 European Meeting. Cambridge, England. Sept. 4-7.

  • Buddemeier, R.W.1974. Environmental controls over annual and lunar monthly cycles in hermatypic coral calcification. Proc. 2nd Int. Coral Reef Symp. 2:259-267.

  • Carlton, R.R., and A.M. Adler 1996. Principles of Radiographic Imaging. Delmar Pub., Albany, NY, 2nd ed., 730 pp.

  • Chalker, B., Z. Barnes, and P. Isdale.1985. Calibration of x-ray densitometry for the measurement of coral skeletal density. Coral Reefs 4:95-100.