The CSU version 2.0 of pltgks is executed by typing
pltgks2 command_file_name DD
where DD is the display type and command_file_name contains
the commands to execute. DD can be
GF create gif file "plt.gif"
PF create postscript file "plt.ps"
PJ send postscript image to deskjet (color)
PS send postscript image to laserjet (black/white)
PV view postscript image with ghostview
TK view image on tek4014 screen
XI view cgm image with idt (use for animation)
XX view image in X11 window
The CSU version uses netcdf files for its database (not the
OSU binary database). There should be no major differences
in the user interface.
Note when using device XX, you need to hit return in the text
window (not the plot window) to advance to the next page.
The program is executed by typing
% pltgks
This should execute the image file $OSUATMOS/bin/pltgks
You must source the file $OSUATMOS/lib/inits/pltgks to use all
the features available. Add the following line to your .cshrc
file:
source /usr/local/lib/inits/pltgks
The proceedure reads its command line to search for the command
file, the first graphics workstation and the GKS error message
file in that order. Each argument must be preceeded with a
slash, /.
For example,
% pltgks /cfile /4014l2 /efile
sets the command file to cfile, the workstation to your terminal
assumed to emulate a Tektronics 4014 in landscape mode and the
error file to efile.
Instead of using the command line, you may use unix
environmental variables.
These are: PLT_COMMAND_FILE
GKS_WORKSTATION_1 (and _2 _3 _4)
GKS_ERROR_FILE
For example,
% setenv GKS_WORKSTATION_1 postl1
% pltgks /cfile
sets the command file to cfile, the workstation to landscape
postscript and the error file to your terminal (default). The
workstation assignment will remain in effect until changed or
you terminate the session.
Pltgks consists of high level routines which call an external
GKS library to handle graphics. The GKS library is not part of
pltgks. Several GKS librarys exist, and therefore there are
several versions of pltgks.
Each pltgks version is the same except for the GKS library.
These versions are:
opltgks local ats_gks2a, postscript, Tektronics 4014 and 4128
pltgks local gks2a, postscript, Tektronics 4014 and 4128 and
suncore
spltgks SunGKS 3.0, postscript and sunview
xpltgks IBM xgks, xwindows
The workstations for each version are shown below.
o pltgks
DESCRIPTION
WRKS TYPE (L=LANDSCAPE, P=PORTRAIT)
------ ---------- ---------------------------
CG2DL1 sunconsole a raw sunconsole device
CG2DL2 sunview a sunview window
4014L1 Tek 4014 A specfic 4014
4014P1
4014L2 Tek 4014 Your terminal
4014P2
POSTL1 Postscript Creates file PS1
POSTP1
POSTL2 Postscript Creates file PS2
POSTP2
4128L1 Tek 4128 A specfic 4128
4128P1
4128L2 Tek 4128 Your terminal
4128P2
WISS_1 generic
WISS_2 generic
o spltgks
DESCRIPTION
WRKS TYPE (L=LANDSCAPE, P=PORTRAIT)
------ ---------- ---------------------------------
STLBL suntool Big landscape suntool workstation
STLSL suntool Small
STLBP suntool Big portrait suntool workstation
STLSP suntool Small
POSTL1 Postscript Creates a file called ps1
POSTL2 Postscript Creates a file called ps2
METAI meta metafile input
METAO meta metafile output
MOBIN meta binary metafile
WISS_ generic
o xpltgks
DESCRIPTION
WRKS TYPE (L=LANDSCAPE, P=PORTRAIT)
------ ---------- --------------------------------
X1 xwindows pop up window
X2 xwindows another pop up window
MI meta metafile input
MO meta metafile output
WISS generic
EXAMPLES OF INVOKING PLTGKS:
1. % pltgks /myfile.mer /postl1
This assigns the command file to be myfile.mer, assigns
workstation 1 to be POSTL1 and assigns the message file to be
your terminal. If the command file does not exist the task will
fail to start. The order of the parameters on the command line
is significant. The output will be a file called PS1, unless you
have previously assigned something to PS1, for example;
% setenv PS1 myfile.vec
If the command file myfile.mer sets WRKS(1), eg. WRKS='4014L2',
then workstation number 1 will be 4014L2, not POSTL1, since the
command file assignment is done after the command line
assignment.
2. % pltgks
The program is started with no command file or workstation.
3. You may also assign things using the environmental
variables.
% setenv PLT_COMMAND_FILE myfile.mer
% setenv GKS_WORKSTATION_1 postp1
% setenv GKS_ERROR_FILE errfile
% pltgks
is equivalent to % pltgks /myfile.mer /postp1 /errfile, except
when you use the environmental variables they remain defined
until you chanage them of logoff.
4. You may assign more than one workstation and the postscript
output file
% setenv GKS_WORKSTATION_2 postl1
% setenv GKS_WORKSTATION_3 wiss_1
% setenv GKS_WORKSTATION_4
% setenv PS1 mypost1
% pltgks /myplt /4014l2 /pltgks.errors
this case starts PLTGKS with 3 workstations; 1)4014L2, 2)POSTL1
and 3)WISS_1, the postscript will be in the file mypost1
1) INPUT DATA
PLTGKS reads two types of data files: 1) the DISPLAY DATA BASE
(DDB), and 2) in STATION FILE form. A discussion of the data
base is in section XI and in the separate RWDATA documentation.
See the separate document Station Type Data, and the section I
SFILE parameter for a disucssion of station files. The data base
is binary, direct access for fast access to large data files.
Station data files are sequential, text files.
All fields in the data base have four dimensions. Of course, up
to three of them may not be applicable for any particular field.
The dimensions may be things like longitude,latitude,height,time
or anything. There is a PLTGKS plotting restriction that the
data in all dimensions be on a regular grid, ie. the grid nodes
are equally spaced. The data base stores the data in a binary,
direct access data file, and stores the data description in a
text file.
The Station type data files are sequential text files which may
be created with another program or with an editor. Plots that
can be done using Station type data files are XY line plots, Bar
plots, Histograms, vector plots and station plots.
While there is no limit to the size of arrays in the data base,
there is a limit to the array size of data that PLTGKS can read
and plot at one time. The input data and the user parameters
PLANE,CORD,WINDOW and WRAP determine the size of the final two-
dimensional array of data. The size of this array cannot exceed
32,767 WORDS, ie. the product of nx and ny must be less than
32,767. For data larger than this limit, parts of the data can
be plotted one at a time, and the subplots merged to look just
like one plot.
For Station file plots, the size limit is 32,767 divided by the
number of fields to extract from the station file. For example,
the maximum number of stations to plot at one time, when
extracting four fields per station, is 32,767/4 = 8,191
stations.
2) TYPES OF PROCESSING
A) Extracting a slice of data
Regardless of the logical order in which the data is stored in
the data base, eg. longitude,latitude,height, and time, any two
dimensional windowed slice may be extracted. The window may
include an option to select every other node, every third node,
etc. Either dimension may be wrapped around. A dimension may
also be reversed.
B) Quick examination of data
The mean,minimum and maximum of the extracted data slice is
computed and reported to the interactive user every time a
request is completed. An option exist for computing these
statistics on a sphere.
The field array may be printed to a file or the terminal to
allow examinaton of actual data values. The statistics may also
be printed to a file by using the GRAPH parameter. These may be
examined later to select the best plotting parameters.
C) Data manipulation with Functions
Data arrays may be scaled using constants, eg. multiply all
values by 1E6 prior to plotting, subtract a constant, etc. Two
arrays may be combined with a function to compute a new array of
data. The user first extracts field number one and 'saves' it,
then extracts the second field and supplies the function name to
perform. Eg. the difference of two arrays may be computed by
scaling one with a minus one mulitply constant and then adding
the two arrays.
A list of functions exist for performing operations like:
1) multiple,divide,add and exponent a single array with
constants
2) multiply two arrays together
3) divide two arrays
4) add two arrays (subtract=mulitply one by minus 1 and add
them)
5) raise one array to the power of a second array
6) grid transformation (one regular grid to another)
7) 9-point smoother filter
8) Esbensen/Kushnir gaussian filter
9) averaging a 2-d array over one of its dimensions
10) extending data with a data fill algorithm
11) take the log (base 10 or e) of a single array
12) do a harmonic decompostiion
13) compute a 2-d average of a 3-d field
14) compute monthly means from daily means
15) compute annual means from monthly means
16) compute sliding, 12-month means from monthly means
17) normalize an array so the maximum range is -1 to +1
18) compute simple derivatives
19) transfrom from an irregular to a regular grid
3) TYPES OF PLOTS
A) CONTOUR/FILL
Parameters which control contour/fill plots are CON (contour
levels to draw) and FILL (the regions to grey shade or fill with
color). The fill may be done continuously or for each
individual cell (cell array). Nice valued, equal increment
contour levels may be automatically generated. A list of the
drawn contour lines may be requested with CON.L and a list of
the fill regions may be requested with FILL.L. A fill or color
bar may be displayed using FILL.BAR.
Contour line options include CON.COLOR, CON.LWIDTH, CON.LTYPE,
CONLAB.TXT and CON.FORLAB.
Fill options include FILL.COLOR, FILL.INTSTYLE, FILL.STYLEIND
and FILL.METHOD and FILL.BAR. For denoting missing data regions
the FILL.BAD.DATA option may be used.
B) VECTOR
Vector plotting draws an arrow whose length is proportional to
the vector magnitude (see VECPAR) and whose direction is the
vector direction. The vector magnitude may also be contoured and
filled as in a normal contour plot. A vector plot requires the
use of the SAVE.DATA (to save the -> component) and FUNCTION (to
VECTOR the current field and the saved one) parameters in
section I. FUNCTION='VECTOR' invokes a vector plot. VEC.DESC
controls the polyline attributes. An example vector with the
magnitude labelled may be placed on the plot using the
VEC.LEGEND parameter. The VEC.UVLEG and VEC.UVLEGT inputs
control an optional legend showing selected u and v components
with a label, including the maximum u and v components in the
data.
Vector plots may be done using data either from the DDB or from
STATION files.
C) XY TYPE LINE DRAWING
The program may be used to do XY type plots, eg. temperature as
a function of height. All inputs and processes apply just the
same as for vector/contour plots. When the 2-dimensional slice
of data read has one of its dimensions with 1 grid node only,
then an XY type plot is ASSUMED. If the data is one dimensional,
then XY type plots will always be assumed. If the data is 2,3 or
4 dimensonal, then WINDOW and CORD must be used to select the
data in such a manner that one dimension has 1 grid node.
In a XY type plot values must be supplied for the plot data
axis. Eg. for temperature as a function of a dimension you may
want to specify plot labels for the temperature of 10,20,30 and
40 degrees C. This is acomplished by using PRANGE for the
appropriate axis (see PRANGE).
If PRANGE is not supplied for the appropriate plot axis, then
'nice' limits are AUTOMATICALLY computed for that axis of the
plot frame. For example, if the temperature range is 8.2 to 15
degrees, the 'nice' limits might be 8 to 16 with a frame label
every 2 degrees.
The XY line is clipped to the current user window and missing
data is handled. A legend of drawn lines may be generated.
The points may be markered and/or connected with line segments.
The parameter XYMARKS.DESC defines the markers, and XYLINE.DESC
the line segments. If the marker type (line type) in
XYMARKS.DESC (XYLINE.DESC) is zero, then the the markers (lines)
are not drawn, since zero is not a valid marker or line type.
The default is to connect with line segements and not mark.
XY type plots may also be done with station data. See this
discussion below.
D) SCATTER
These consist of placing a mark at (x,y) paired data value
locations. The method is invoked by first reading the x-axis
component using SAVE.DATA='Y', then the y-axis component using
FUNCTION='SCATTER' to indicate that the next plot is a scatter.
The 8th byte of FUNCTION is used to set the character that will
be drawn for the plot. If the 8th byte is a blank, then markers
are drawn. See SCAT.TXT in section II for a more complete
description of this option.
E) STREAMLINE
A streamline plot is a representation of a two-dimensional flow
field displayed by drawing continous streamlines with arrowheads
indicating the flow direction. The magniutde of the flow, which
is not represented, is returned from the streamline routines so
it may easily be contoured on the same plot if desired.
The STRPAR parameter controls many aspects of the streamlines.
As with vector plots, streamline plots require the use of the
SAVE.DATA (to save the -> component) and FUNCTION parameters.
FUNCTION='STREAM', invokes a streamline plot. The STR.DESC
parameter controls the polyline attributes.
F) STATION DATA
PLTGKS recognizes a particular type of file as a station data
file, and this file may be input by specifying the SFILE
parameter. For a true station plot, the data consists of
irregularly located stations, with a series of fields defined at
each station. The station file may be interpretated in different
ways depending on the station plot command.
A station data file is NOT in display data base form, it is a
simple text file, and as such can be created with an editor or
any applications program. See the Station Type Data
Documentation for a description of this file type.
The full functionality of PLTGKS in terms of data windowing and
manipulation is NOT implemented for station data plots. Bad or
missing data is handled.
The details of plotting with station files is given under the
section I STA.NAMES and STA.PLOT entrys.
F-A) TRUE STATION PLOT
A station plot displays the location of the stations, in terms
of any x,y space that can be defined by any two of the field
values. At each location, the value of any of the fields may
also be displayed. An option exists for displaying only the
sign (+ or -) of a field value at each station location.
F-B) XY LINE PLOT
If the number of fields requested using the STA.NAMES and
STA.PLOT parameters is two, then it is assumed that the request
is to connect the station locations sequentially with line
segments.
F-C) BAR PLOT
If the station plot command (STA.PLOT) is of the form 'BARPLT
i,j,k' a bar plot is done. The i,j,k triplets point to the bar
plots x-location, y-location and y extent. The line descriptors
for the bar plot are given by XYLINE.DESC and the marker
descriptors by XYMARKS.DESC.
F-D) HISTOGRAM
If the station plot command is of the form 'HISTO i,j' a
histogram plot is done. The i,j pairs point to the x and y
values for each box of the histogram. The first and last pair
are interpreted alittle differently. See the STA.PLOT
discussion. The line descriptors for the bar plot are given by
XYLINE.DESC.
F-E) VECTOR
If the station plot command is of the form 'VECTOR i,j,m,n' a
vector plot is done. The i,j pair point to the u and v
components of the vector, and the m,n pair points to the x and y
values. Eg. with STA.NAMES='LON','LAT','UT','VT', the station
plot command might look like 'VECTOR 3,4,1,2'. The line
descriptors for the vectors are given by VECPAR and VEC.DESC.
G) SURFACE PERSPECTIVES
This plot type is a perspective surface drawing of a function of
two variables, the x and y axes, with hidden lines removed. This
option is enabled by using FUNCTION='SURFACE'. The section II
parameter SRFPAR controls the eye viewing position in terms of
angles from the horizontal and vertical.
H) PRINT VALUES
In this type plot, the value of the data is printed (plotted) at
each grid node. It is very much like the PFILE, print file,
option except the values are displayed on the graphics
workstation instead of a disk file or terminal. This plot type
is invoked with FUNCTION='PRTVAL'.
There are options for how to display the values. If the seventh
byte of FUNCTION is a blank, then the fortran format supplied in
the FORMAT parameter is used to display the values. If the
seventh byte is not blank, then the values will be printed using
an algorithm which uses the least number of characters. In this
case the seventh byte is used to set the number of digits of
precision desired. For example, FUNCTION='PRTVAL3', would
display three digits.
The section II text descriptor parameter DEFCHAR.TXT is used to
set the color, relative size and font for the displayed values.
I) MAP PROJECTIONS
The default map projection for latitude, longitude plots is
RECTANG, or cylindrical equidistant. Other projections may be
selected using the section II MAP.PROJECT parameter. Ten
different projections are possible. Not all type plotting
functions are currently supported for all projections, but basic
contouring and filling are. The algorithm for the projection
equations is from the Ncar Graphics Ezmap routines. Different
MAP options are available for RECTANG and all other projections.
Section XIII has a full discussion of the various projections.
J) NO-DATA PLOTS
Plots with 'no-data', that is no information file and no station
file, can be constructed. Parameters typically used for these
types of plots are
PRANGE,BOX,TRIANGLE,LINES,ARCS,MARKS,PUTCHAR,DEFCHAR,LAB.AXS and
LAB.FRQ. For these plots, the 'data' is supplied in the plot
command file parameters. For example, lines may be drawn
connecting points in the LINES parameter.
4) GRAPHICS OPTIONS
Any data dimension may be assigned to either plot axis. Either
plot axis grid may be windowed, wrapped around and or reversed.
Any number of frames may be put on a single page at any location
with any size, and any number of plots may be overlayed in a
single frame.
Almost all features of the graphics, such as axis labelling,
where and if to put descriptive text, etc. are user controlled.
The many parameters which define how the plot looks, eg.
labelling, frame sizes, etc., may be set up once in a file and
then reused.
Text may include sub-scripts and super-scripts, and font changes
within strings. See section XII for a complete description.
Special plot frame labels may be automatically generated for
axes which are months, longitude and latitude. Unevenly spaced,
user specified plot frame labels may be requested.
The user controls the color,linewidth and linetype for all drawn
lines.
The user controls the color,size and font for all text strings.
Fill region(s) color, interior style
(hollow,solid,pattern,hatch) and style index (pattern or hatch
type) are user controlled. Either continuous, ie. interpolated
contour following, or individual cell fill can be selected.
An optional fill bar, or color bar, may be drawn showing the
range of data values that correspond to each fill, or color,
region.
An optional line legend may be drawn showing a sample of each
line next to a user supplied text string identitfying that line.
A map drawing routine is available for showing land/water
boundarys or any other boundary type features as an overlay to a
plot. One type of map draws boundary lines between unequal
surface codes, eq. 0 for water and 1 for land. This type of map
is created by the user with the SAVEMAP function from data in
the data base.
There are map options which draw specific maps, such as actual
world continential outlines, the OSU GCM 4x5 grid outlines, the
US political boundarys and the state of Oregon boundary.
At present, the special maps available are: 1) the actual
current global continental outlines, 2) the US state boundarys
and 3) the OSU AGCM 4x5 grid continental outlines. All these
special maps assume that X is longitude and Y is latitude and
that the projection is RECTANG. When another projection is
active, the list of maps changes. See section XIII for a
complete description.
A data masking function is available for masking out longitude,
latitude data fields with the Scripps 1x1 degree topography
data. Land, ocean or grid points within a range of elevations
may be masked.
Regardless of the data, including the case of no-data, figures
such as boxes, triangles, lines, arcs, marks and text strings
may be placed anywhere on the plot. The closed figures may be
filled. The boxes may be drawn and filled in 3-D.
Graphics segments may be created and manipulated. These
segments are saved temporary, ie. only as long as PLTGKS
executes.
By utilizing multiple plots per page and/or frame drawing
options and or the segment options, arrays to large to fit into
PLTGKS at one time may be plotted one section at a time to look
like one coherent plot.
Device dependent graphics codes may be saved to a disk file
specified by the GRAPHICS.FILE parameter in Section I. The
graphics may then be played back on the same type device at a
later time with the CPLOT utility. This is useful for 'movie'
type graphics, where a series of plots must be displayed in
rapid succesion, repeatedly.
5) OUTPUT DATA
Data may be permanently saved to disk files. This option is
triggered with the SAVE.DATA parameter. Data may be saved in
memory (SAVE.DATA='YES') for using FUNCTION, or to DDB files
(SAVE.DATA='DISK') or to RIMG image files (SAVE.DATA='RIMG').
When saving to DISK, the name of the output information file and
the text descriptors in the output information file may be
specified. Existing DDB files are appended and new files are
created. With this option, the utility may be used as a data
editor with or without graphics.
The SAVE.DATA='RIMG' option outputs a RIMG, or raw image format,
file. This file is then suitable for display with imaging
software like the NCSA imagetool program or IDL or others. An
RIMG file is a stream of 8-bit bytes with no fortran control
words. Each byte is the color index for a single pixel. The
pixels are written as the plot would be viewed according to the
pltgks options in effect, from left to right, and top to bottom.
6) USERS HOOKS
Pltgks has 2 user hooks. Using these hooks you may add your own
subroutines to pltgks. One hook is for data processing, and one
hook is for graphics. The approach taken is that the user writes
the two hook subroutines and then builds his or her own version
of pltgks that then uses the specific routines. The user
specific version of pltgks is built using the makepltgks script.
The subroutine names must be user_funct and user_plot. The
binding may be found by examining the two files, user_funct.f
and user_plot.f, in the pltgks source directory. This should be,
$OSUATMOS/src/pltgks.
User interaction with the program is handled using a symbolic,
dictionary oriented, Input-Output LANguage library of routines
called IOLAN. See the separate descritpion of IOLAN.
The program takes user interaction in three sections in one
complete cycle of producing each plot. If you are saving data to
disk, there are four sections.
For the user not doing graphics, sections II and III are not
invoked, such that flow always returns to section I. The GRAPH
parameter determines whether or not graphics are being done. If
GRAPH is not equal to 'YES', then graphics are not attempted.
GRAPH may be assigned in both sections I and III.
The turning on/off of graphics is useful in the case where a
function of fields is being computed and only the final product
is to be plotted.
The cycle begins with section I. Upon reading the IOLAN escape
code dollar sign ($), the program attempts to complete the data
request. If the attempt is successful, and data is not being
saved to disk, flow continues to section II, if not a message is
reported and section I is repeated. If graphics activity is
turned off (GRAPH='NO' or 'STAT') flow returns to section I
regardless.
When saving data to disk, SAVE.DATA='DISK', section IB is
invoked after section I. These parameters are the name of the
output information file and the information file descriptors.
After section IB, flow continues to section II if graphics are
turned on, else back to section I.
If there are any errors fulfilling the section I data request,
such as specifying an information file that doesn't exist or
requesting an illegal data slice, and the program is running
from a command file (the CFILE option), the program stops. The
interactive user is informed of the error and given another
chance at section I.
Upon reading the escape code from section II flow continues to
section III. When the IOLAN escape code is read from section
III, the graphics are attempted and the program returns to
section I, assuming graphics are turned on. If GRAPH is not
'YES', then flow returns immediately to section I without
attempting any graphics.
You may stop the program at any time by entering STOP. However,
if you do this, GKS workstations may be left in an open/active
state.
A MORE GRACEFULL EXIT SHOULD BE DONE BY USING GRAPH='STOP'.
THIS CLOSES ALL WORKSTATIONS, CLOSES GKS AND STOPS EXECUTION.
A brief summary of the type of inputs found in each section are:
I. DATA REQUEST AND PROCESSING OPTIONS:
command file name, workstations, segment actions, information
file name, station data file name, station field names and plot
request, search entry, slice/window of field to extract,
operation and functon to perform on the data field(s), masking
options
IB. SAVE DATA TO DISK OUTPUT DESCRIPTORS:
output information file name, field id, name and units, two
lines of additional description and dimension names and units.
II. GRAPHICS OPTIONS THAT RELATE TO THE CURRENT DATA SET:
optional ranges for the plot axes, contour levels and line
descriptions, fill regions and fill descriptions, vector drawing
parameters, streamline parameters, station data plot
descriptors, map projection and outline type, special figure
drawing (boxes,triangles,lines,markers and characters)
III. GRAPHICS OPTIONS THAT DEFINE THE GENERAL LOOK OF THE PLOT:
description of the frame lines and frame text, number of plot
frames on a page, number of plots to overlay in each frame, size
and location of the plot frame, how and if to label each axis of
the frame, where and if to put all other plot labels, text
strings and where to place them on the plot
if SAVE.DATA='RIMG' then
and the 23 .L parameters which control where text strings go:
ID.L NAME.L UNITS.L DFILE.L TEXT1.L TEXT2.L
HDNAM.L HDUNI.L VDNAM.L VDUNI.L
CORD.L MDAEP.L MASK.L
AVG.L MIN.L MAX.L NHAVG.L SHAVG.L
HAX.L VAX.L TEXT.L
CON.L FILL.L
All parameters in sections I,II and III are discussed below.
The format is the parameter name , the fortran variable type,
the number of elements or dimension size, and the default
value(s) enclosed in brackets.
o GRAPH C*4 1 [ NO ]
If GRAPH is not equal to YES then graphics are not attempted. If
in section I with GRAPH not equal YES, control will always
return to section I. To proceed to section II and the graphics
GRAPH must be equal to YES. The preferred way to exit the
program is by setting GRAPH equal to STOP, since this gracefully
closes the GKS interface.
If GRAPH is equal to 'STAT', then the information file name, the
field identification, the field name and the statistics are
printed without attempting any graphics. If PFILE is null then
the print is done to logical unit 6, or standard output. If
PFILE is not null, the print is done to the PFILE (print file).
This may be useful for previewing the data before plotting to
better select the plot paramters such as contour levels and fill
limits.
o WRKS C*8 4 [ all null ]
These are the workstation assignments. The first element may be
set with the PLTGKS command line or here. The remaining three
may be set here. If an element is set, that workstation is
opened and set to active. Workstations may be
deactivated/closed by setting WRKS to null.
o MODE C*4 1 [ MAN ]
This is the graphics page-completion wait mode. If MODE equals
MAN then the graphics beeps (or not depending on
PLTGKS_RING_BELL), and waits for a [cr] when the plot is
finished. Otherwise the MODE string is intrepreted as the
integer number of seconds to wait upon page completion.
MODE is only used when workstations with a display are active.
Eg., if PostScript is the only workstation, MODE is ignored.
o ADUMP C*4 1 [ N ]
Y or YES to automatically dump the dictionary on every entry
into a new section. If ADUMP is not equal to Y the dictionary is
not dumped unless you type DUMP and [cr].
o IFILE C*56 1 [ null ]
Information file name. IFILE may either point to a true data
file or a map file (see FUNCTION and MAP for a discussion of map
files), or IFILE may be null, the 'no-data' case. This parameter
is how you point to the particular data file you want to
display.
o CFILE C*56 1 [ null ]
The command file name. All the instructions for PLTGKS may be
put in a file, which is called the command file, or typed in
interactively at a terminal. Using the command file method is
highly recomended.
If CFILE is not null, then PLTGKS assumes you are running in
command file mode, and all subsequent inputs are read from the
command file. If CFILE is later reset, inputs are then read
from the file specified, including the terminal if CFILE is
null.
Whenever the command file is not equal to the last command file,
ie. it is reset, Section I is repeated. See also LABFILE, which
is an optional command file for section III only. CFILE may also
be set using the graphics device logical.
o PFILE C*56 1 [ null ]
The print file name. If PFILE is set, the data as it would be
plotted is printed to the print file along with header text
describing the data. The data array is printed using the
fortran format statement supplied through the FORMAT parameter.
If the first two characters of pfile are 'TT' or 'tt', then the
data will be printed to standard output.
o LABFILE C*24 1 [ null ]
LABFILE is the command file for section III only. If LABFILE is
not null then all inputs for section III are read from LABFILE,
otherwise the section III inputs are read from either the
terminal or the command file depending on CFILE.
The LABFILE is automatically rewound on an end of file (eof).
This rewind feature is useful for doing a series of different
type plots in succession and having each series look the same,
except of course for the data, contours, etc.
This option exists because of the numerous plotting and label
specifications possible in section III. If you want all your
plots for a certain type of data set to look the same, then you
may create a label file once and use that for all plots.
Sections I and II are specific to the data and thus are
distinctive from the 'graphics only' type parameters found in
section III.
o FORMAT C*24 1 [ (10F7.1) ]
A valid format for printing the data to the PFILE. The data is
written to the PFILE as ((a(i,j),i=1,nx),j=ny,1,-1), ie. it is
printed as it would appear in a plot, from left to right and top
to bottom.
FORMAT is also used with the FUNCTION='PRTVAL' option. In this
case the values are displayed on the workstation using the
format.
o ID C*8 1 [ null ]
Search id. Entrys in an information file may be searched on the
ID and NAME fields. If ID is null no search is performed on the
id. If ID is specified the information file entrys are searched
for an exact match on the id field.
o NAME C*16 1 [ null ]
Search name. If NAME is null no search is performed on the name.
If both ID and NAME are null, no searching is done, such that
the next sequential entry in IFILE will be found. The file is
rewound on an EOF. If a search is requested all entrys are read
at least once, with automatic rewind, until the search
completes. If a request is not found, a message appears to that
effect.
o PLANE INT 2 [ 1,2 ]
PLANE,CORD,WINDOW and WRAP combined determine the final data
window. The order of processing to arrive at the final plot
window is : 1) read a piece of data according to the PLANE /
CORD / WINDOW set 2) wrap around the data based on WRAP
The plane to slice the data into. PLANE(1) refers to the
horizontal plot axis and PLANE(2) the vertical. Enter the
dimension number to specify which dimension becomes which axis
for the plot. Eg. PLANE=1,2 would assign dimension number 1 as
the horizontal axis and dimension number 2 as the vertical.
To reverse the grid in a dimension specify PLANE as negative.
Eg. PLANE=-4,1 would assign dimension 4 as the horizontal axis
and reverse the grid nodes and data for the 4th dimension, and
assign dimension 1 as the vertical axis. Valid values for PLANE
are numbers 1,2,3,4,-1,-2,-3 and -4.
o CORD REAL 4 [ 0,0,0,0 ]
The coordinates in the 2 fixed dimensions. CORD(1) refers to
dimension number 1, CORD(2) to dimension 2 and so on.
Eg. if PLANE=1,2 then coordinates must be specified for
dimension 3 and 4 to uniquely define the two dimensional data
slice. In this case you would specify CORD(3) as the coordinate
for dimension number 3 and CORD(4) for the 4th. Eg.
CORD=,,120,0.6.
The values must be valid grid node coordinates for respective
dimensions. Eg. in this case the grid for the 3rd dimension must
have a node equal to 120, and the grid for the 4th dimension
must have a node of 0.6.
o WINDOW REAL 12 [ 12*0 ]
The data window in the 2 PLANE dimensions to read. If all
elements are zero, then all the data for the requested
dimensions is read.
WINDOW does not necesarily define the final plot window (see
PLANE and WRAP), but rather defines what data to read.
WINDOW(1),(2) and (3) refer to dimension 1, WINDOW(4),(5) and
(6) refer to dimension 2 and so on. If any of the three elements
for a dimension are non-zero, then all three elements are used
to define the window. If all are zero, then the window used is
the full window of the data.
The 3 values which define the window in a dimension are the
minimum,maximum and interval.
Eg. if PLANE=1,3 and a subset or window of the data is desired,
then you must specify WINDOW(1),(2),(3) for dimension 1 and/or
WINDOW(7),(8) and (9) for the 3rd dimension. WINDOW must be
given in grid units and must map to valid grid nodes.
WINDOW=1,9,2,3*0,900,300,-150,3*0 would mean window dimension 1
to grid nodes with values of 1,3,5,7 and 9 and window dimension
3 to grid nodes with values of 900,750,600,450 and 300. The
interval may be used to skip grid nodes.
o WRAP REAL 4 [ 0,0,0,0 ]
WRAP allows data to be wrapped around in one or both dimensons.
WRAP (1) and (2) refer to x1 and x2, while WRAP(3) and (4) refer
to y1 and y2. If (1) is not equal (2), the horizontal dimension
is wrapped around from (1) to (2). The WRAP(1) coordinate must
lie within the existing grid. WRAP(2) may lie outside the
current domain.
Eg. if the grid is -180 to 175 by 5 for 72 nodes, and you want
to plot the data on a grid of -30 to 390 by 5 for 85 nodes, do
not use WINDOW since you want to plot all the data. Instead use
WRAP=-30,390 to wrap the dimension beginning at node -30 and
proceeding in the positive direction, repeating to the beginning
when the rightmost node,175 , is reached. The plot axis will be
updated to -30 to 390 by 5 for 85 nodes. The same proceedure
applies to WRAP(3) and (4) for the vertical plot axis. Of course
WRAP may also be used to simply window the data already read
from the data file.
o NEW.GRID REAL 6 [ 6*0 ]
When FUNCTION='NEWGRID', this parameter defines the new grid.
The elements are: (1)=X1, (2)=Y1, (3)=DX, (4)=DY, (5)=NX and
(6)=NY. The input regularly gridded data is transformed with
bi-linear interpolation to the new grid.
When FUNCTION='GRIDATA', this parameter has the same meaning,
except the input data is on a irregulary spaced grid defined by
the data in the GRDFILE. Bi-linear interpolation is used.
o GRDFILE C*56 [ null ]
When FUNCTION='GRIDATA', this must contain the irregular x and
y-axis grid nodes of the input data. The NEW.GRID parameter must
contain the desired regularly spaced target grid. The GRDFILE
must have nx x-axis grid node values followed by ny y-axis grid
values. Each value must be separated by a white space character;
blank,comma,tab or newline.
In this case, nx is the number of elements read from the
database for the x-axis, and ny the y-axis. This of course,
depends on IFILE, PLANE, WINDOW and WRAP. Here, the grid
definition read from the information file is simply a dummy
description, for example, FIRST=4*0, DELTA=4*1. After the
function is complete, the grid description will be equal to
NEW.GRID.
The display data base does not in general handle irregularly
spaced grids. However, the NEW.GRID, GRDFILE and GRIDATA
function can be used to contour/fill irregular data.
o MDAEP REAL 5 [ 1,1,0,1,0 ]
Constants which multiply (M), divide (D), add to (A), exponent
(E) and power (P) the data. MDAEP(1) is the multiply constant,
(2) the divide, (3) the add, (4) the exponent and (5) the power.
Eg. anew=MDAEP(1)/MDAEP(2)* (aold+MDAEP(3)). MDAEP(4) is the
exponent as in anew=aold**MDAEP(4). MDAEP(5) is the power as in
anew=MDAEP(5)**aold. MDAEP(5) is used only if it is not equal
to zero. The default of MDAEP=1,1,0,1,0 has no effect on the
data. The order of operations is anew=M/D*(aold+A), then
anew=anew**E, then anew=P**anew. Eg. to convert from deg F to
deg C set MDAEP=5,9,-32,1,0
o MASK REAL 4 [ 0,0,0,0 ]
Two ranges of data values to mask out, ie. set to the bad data
value such that those values are not included in the stats or
any plotting. Data values between MASK(1) and MASK(2) and
between MASK(3) and MASK(4) are masked out. If the two values
defining the mask range are equal no masking is done.
o STAT.TYPE C*8 1 [ REGULAR ]
This parameter controls the way statistics are computed. If it
is equal to REGULAR, then the mean, minimum and maximum are
computed in the usual way. If it is equal to GLOBE, then the
data is assumed to be on a x=longitude and y=latitude surface,
and a global mean, northern and southern hemisphere means, and
minimum and maximum are computed.
The statistics are reported to the interactive user at the
terminal. The statistics may be placed on the plot by using the
AVG.L,MIN.L,MAX.L,NHAVG.L and SHAVG.L parameters in section III.
o FUNCTION C*8 1 [ null ]
Defines a function to peform. To use the functions of two fields
a data set must have been previously saved by using the
SAVE.DATA='YES' option. Some functions trigger certain graphics
options. Functions use the next data as set A and the saved
data as set B, to create a new data set D.
function operation notes
++++++++ +++++++++++ ++++++++++++++++++++++++++++++++++++++++++++++++++++
null D=A no action (the default)
ADD D=A+B add arrays
MULTIPLY D=A*B multiply arrays
DIVIDE D=A/B divide arrays
POWER D=A**B raise an array to the other power
LOGE D=LOG(A) natural logarithm
LOG10 D=LOG10(A) common logarithm
9PTFILT D=filt(A) a nine point filter
9PTSMOO D=smooth(A) a nine point smoother
25PTFILT D=filt(A) a 25 point filter
25PTSMOO D=smooth(A) a 25 point smoother
LEISEFnn D=filt(A) Leise filter. NOAA T.M. ERL WPL-82.
nn=steps for dimensions 1 and 2. All data must be valid.
LEISEEXT D=f(A) Leise extension. NOAA T.M. ERL WPL-82.
Replaces missing data with 'good' data.
EKGFnnmm D=f(A) Esbensen/Kushnir gaussian filter. nn and mm
are the 1/2 power wavelengths for dimensions 1 and 2 in
in multiples of the grid intervals, dx and dy.
NORMALIZ D=A/MAX(ABS(A)) Normalize array. Maximum range is -1 to +1
NEWGRID D=T(A) performs a grid transformation from one regular
grid to another regular grid. The new grid description is
defined by the NEW.GRID parameter.
GRIDATA D=T(A) interpolates irregularly spaced grid data to a
regular grid. The new regular grid description is defined by
the NEW.GRID parameter. The GRDFILE data must contain the
irregular grid nodes for the x-axis and y-axis.
AVGn D=favg(A) favg averages the data for dim number n. The
result is a 1-dimensional vector in the other dimension.
3DAVGn D=f3(A) f3 averages a 2-D field over a 3rd dimension,n.
WINDOW defines the range of the 3rd dimension. Eg.,PLANE=1,2
CORD=,,0 WINDOW=6*0,0,5,1 FUNCTION='3DAVG3' would create a
2-d field averaged over nodes 0,1,2,..5 in the 3rd dimension.
This could also be done using MDAEP and the ADD function.
HARM_?nn D=h(A) does a harmonic analysis for wave number nn. The ? is
either A for amplitude, P for phase or W for a reconstruction.
Options A (or P) return 1-dimensional fields of the amp (phase)
as a function of the 2nd dimension. Option W returns the
decompostiion of field a for wave number nn.
TAnMONmm D=monthly_mean(A) computes monthly means from daily means.
n is the dimension number and mm is the 1st month number (00-12)
TAnANNmm D=annual_mean(A) computes annual means from monthly means.
n is the dimension number and mm is the 1st month number (00-12)
TAnRANmm D=running 12-month mean(A) computes running 12 month means
from monthly means. n and mm same as TAnANNmm
DERIVnm D=dA/dn computes the first derivative of A. n is the dimension
number for the derivatives and m sets the differencing method.
m can be either F for forward differences or C for centered.
VECTOR D=mag(A,B) trigger a vector plot: B=horiz component, A=vert
STREAM D=mag(A,B) trigger a streamline plot: B=horiz component, A=vert
SURFACE D=A trigger a surface perspective plot
SCATTER D=A trigger a scatter plot: B=horiz axis, A=vert axis
BOXTRIFL D=A fill areas enclosed by BOX and TRIANGLE
3DBOXFL D=A fill areas enclosed by BOX and make boxes 3-D
DGRIDXY D=A trigger drawing the grid lines as an overlay.
Options are DGRIDX, DGRIDY or DGRIDXY for both.
The line attributes are set with FRAME.DESC
MGRID D=A trigger drawing markers at all grid nodes.
The marker attributes are set with SMARKS.DESC
PRTVALn D=A trigger a print value type plot. if n is not blank it
defines the number of digits of precision. if blank, use FORMAT.
SAVEMAP D=A save data as a map (see MAP='BMAP)
o READ.DATA C*4 1 [ YES ]
A switch to either read new data or not. If Y or YES, then an
attempt is made to read new data unless IFILE is null. If this
switch is turned off, then the new data is defined to be the
previous data.
o PROC.DATA C*4 1 [ YES ]
A switch to turn on or off the processing of the data. If Y or
YES then the data is put through the processing unless IFILE is
null (the nodata case). The processing is defined as the
MASKing, the MDAEPing and the FUNCTIONing. With READ.DATA and
PROC.DATA turned off, the exact same data will be repeated
regardless of other parameter settings.
o SAVE.DATA C*4 1 [ N ]
A switch with options to either save the current data or not
save it. If SAVE.DATA is equal to YES, the data is saved in
memory. Data that is saved in memory can be later combined with
another data set to compute new data that is a function of both
data sets (see FUNCTION).
New data can be computed with FUNCTION and saved at the same
time, such that functions of a number of fields can be done in a
stepwise manner. Data that is saved in memory is lost when the
program terminates or when new data is saved.
If SAVE.DATA='DISK', the current data array is permanently saved
to the display data base. In this case, section IB is invoked
after section I. Here you may specify the name of the output
information file IFILE and the text descriptors defining the
data; ID,NAME,UNITS,TEXT1 and TEXT2.
If SAVE.DATA='RIMG', the current data array is permanently saved
in RIMG, or raw image, format. An RIMG file is a stream of 8-bit
bytes that can range from 0 to 255 that are often used as
indices into a 256 color table. In this case, section IB is
invoked after section I. Here you may specify the base name of
the output RIMG file and image scaling parameters. The base
name you supply via the IFILE parameter is automatically
appended with the string '.wwwxhhh', where www is the image
width and hhh the height. The output RIMG base name should be
changed for every image created. The other section IB parameter
is IMGPAR, which has the image scaling options.
The elements of IMGPAR(3) are 1) minimum data value which
defines an image value of 1, 2) maximum data value which defines
an image value of 255, and 3) the image magnification or zoom.
If (1) and (2) are not defined, then every image is scaled
according to the actual data minimum and maximum, and if
multiple images are done, each may be scaled differently. For
example, if imaging a time series of a field, and the min and
max over the entire time series is say zero to ten, you could
set IMGAR=0,10 when the first image is done, and then for all
images, the image values will be representative of the same
actual data values for all the images. IMGPAR only needs to be
set once. An output image value of zero is reserved for missing
data.
IMGPAR(3), the zoom parameter, controls how big the output image
is. If the zoom is 1, the output image is the same size as the
data array. If its 2, the output image it twice as large in
width and height, and so on. The sign of the zoom controls the
method used to zoom the image. If the sign is positive, pixel
sampling is used, and if the sign is negative, interpolation is
used. Pixel sampling duplicates pixels and interpolation creates
new pixel values using bilinear interpolation. Sampling gives a
checkerboard looking image, and interpolation, while it takes
longer, gives a very smooth image. The default for IMGPAR is
0,0,0.
o MASK.BOX REAL 16 [ 16*0 ]
By setting the elements of MASK.BOX, data in regions of the XY
domain may be masked out. The elements are defined as: (1) and
(2) are the X,Y pair of the lower left corner of the box and
(3),(4) are the X,Y upper right corner. Elements (5) through (8)
define the second region, etc., for a total of 4 boxes. All data
at grid nodes inside each box is masked out. If the two X
coordinates defining a box are equal, then no masking is
attempted for that box.
o MASK.CRC REAL 12 [ 12*0 ]
This parameter is similiar to MASK.BOX, except it defines
circular regions for masking. Elements (1),(2) and (3) define
the X center, Y center, and the radius, respectively. Elements
(4) through (6) define the second region,etc., for a total of 4
circles. All data at grid nodes inside each circle is masked
out. If the radius is zero, then no masking is attempted for
that circle.
o TOPO.INCLUDE INT 3 [0,0,0]
Longitude, latitude data arrays may be masked according to the
elevation of the grid point. The Scripps 1x1 degree resolution
topography data for Earth is used to map to the user grid. The
Scripps data is interpolated to the users grid with a Gaussian
weighting function using the distances (km) from the grid to the
point. There are two ways of using TOPO.INCLUDE.
The first way is to specify the minimum and maximum elevation
(in meters) of grid points to keep, ie. to not mask out. Eg.
TOPO.INCLUDE=500,99999,0 would mask out all grid points with an
elevation below 500 meters. For this method, make sure the 3rd
element of TOPO.INCLUDE is zero.
The second way is to select a special case. For this method, set
the first two elements to zero, and the third element to 1 to
mask out land points, or 2 to mask out ocean points.
o SFILE C*56 1 [ null ]
Specifies the station file name. A station data type plot is
triggered when SFILE is not a null string. If entrys are given
for both SFILE and IFILE, the station data is used and the IFILE
is ignored. The READ.DATA parameter may also be used with
station files to replot the data without rereading it.
Beware, that most of the pltgks features for data analysis and
plotting are NOT implemented for station data. See the
discussion of the STA.PLOT parameter for what capabilities are
available.
o STA.NAMES C*8 6 [ all null ]
Specifies the search names for the station data fields to read
and plot. The names given are searched for in the station data
file headers. If a requested field is not found, an error is
reported.
o STA.PLOT C*24 1 [ null ]
This is the station plot command. It determines what type of
plot is requested and how to interprete each field.
Fields are referenced by their relative number as specified by
STA.NAMES, ie. 1,2,...6.
For TRUE STATION plots the form of the plot command is:
'n1,n2,... VS nx,ny'. Nx is the field number to define the
horizontal plot axis, and ny defines the vertical. n1 is the
field number of the first displayed field, n2 the second, etc.
For example, if STA.NAMES='LONG','LAT','TEMP','PRESS', and
STA.PLOT='3,4 VS 1,2', then the plot axes will be
longitude,latitude, and the displayed fields will be temp and
press. Relative field number one is displayed above the station
location, field number two below, three to the left and four to
the right. The 'display' consists of printing the value of the
field.
An XY TYPE plot is assumed when the number of fields is two.
That is no fields preceding the 'VS' in the station plot
command. The plot command should look like: 'VS nx,ny'. In
this case there are no fields to be displayed, only fields which
define the horizontal and vertical locations. The resulting line
that will be drawn connecting the XY pairs will use the
XYLINE.DESC line descriptors for line color, width and type.
For BAR PLOTS the form is 'BARPLT nx,ny,ndy'. In this case
nx,ny,ndy must point to the (x,y,dy) triplet to define the bar
plot. For example; if STA.NAMES='SZA','RFL','DRFL' and
STA.PLOT='BARPLT 1,2,3', then a bar plot will be done where the
x locations are given by SZA, the y midpoint locations by RFL,
and the y range by DRFL. The vertical line segments and lines
connecting the mid points are drawn using the XYLINE.DESC
descriptors, except that the vertical bar is always drawn with a
solid line type. The vertical segments are drawn from (x,y-dy)
to (x,y+dy). If XYMARKS.DESC defines a valid marker, markers
are done at the (x,y) pairs.
For HISTOGRAMS the form is 'HISTO nx,ny'. In this case nx,ny
must point to the (x,y) coordinates to define the histogram. For
example; if STA.NAMES='RAD','PROBDEN' and STA.PLOT='HISTO 1,2',
then a histogram will be done where the x locations are given by
RAD and the y by PROBDEN. All lines are drawn using the
XYLINE.DESC descriptors.
The required form of the station data for histograms is as
follows: x1,y1 is the bottom left edge of the 1st box, x2,y2 is
the x-mid point and y value for the 1st box, etc... to xn,yn is
the bottom right edge of the last box. Thus, if the bins are
evenly spaced, x(2)-x(1) will equal x(n)-x(n-1) and both will be
one-half all the x(i)-x(i-1), for i=3,n-1.
For VECTOR plots the form is 'VECTOR upt,vpt,nx,ny'. Here
upt,vtp point to the u and v wind components, and nx,ny point to
the x,y coordinates of the vector.
o PRE.SEGMENT C*32 1 [ null ]
This command defines the segment action request(s) before the
next graphics cycle is started. Any number of requests may be
given, each seperated by a blank space. Possible actions are:
String Description
--------- -------------------------------------------------------
CREA.n create segment number n (seg n should not exist).
you may only have one segment open at a time
CLOS.n close segment number n (seg n should be created).
the segment is retained for later use
DELE.n delete segment number n (seg n should be closed).
the segment is lost
COPY.n.m copy segment number n to workstation number m.
(seg n should be closed, wrks m should be open/active)
before the copy, the segment transformation in the
SEGTRANS parameter is applied, the segment must be in
WISS for the copy segment action.
TRNS.n transform segment number n with the SEGTRANS parameters.
the segment need not be WISS for CREA,CLOS,DELE and TRNS.
o POST.SEGMENT C*32 1 [ null ]
This command defines the segment action request(s) after the
next graphics is completed. The possible actions are identical
to the PRE.SEGMENT request. For example:
PRE.SEGMENT='CREA.1 TRNS.1'
POST.SEGMENT='CLOS.1 DELE.1'
This case creates segment number 1, applies the segment
transformation, completes the next graphics activity,
closes segment 1 and deletes segment 1. This example
would be suitable for using the segment transformation
to translate/rotate/scale all graphics.
o SEGTRANS REAL 8 [ 5*0,3*1 ]
These are the segment transformation parameters. They may be
used to translate, rotate and scale segments. The eight elements
are the arguments of the GKS GEVTM (EValuate Transformation
Matrix) routine, with the exception that the rotation angle
should be in degrees not radians.
(1) = X-coordinate of a fixed pivot point
(2) = Y-coordinate of a fixed pivot point
(3) = Shift vector for translation, X-coordinate
(4) = Shift vector for translation, Y-coordinate
(5) = Rotation angle in degrees (mathematical angle)
(6) = X-coordinate scale factor
(7) = Y-coordinate scale factor
(8) = Indicates coordinate system: 0=World, 1=Normalized
Device
The default does no transformation to the segment.
o GRAPHICS.FILE C*56 1 [ null ]
Device dependent graphics instructions for WRKS(1) may be saved
to a file by specifying the disk file with this entry. These
instructions, which are stored in a binary file, may then be
played back on the same device using the CPLOT utility. The
saving of graphics may be stopped, before terminating the
program, by setting the GRAPHICS.FILE to OFF, or a null string.
You may specify a new file at any time, so that one graphics
session can create multiple files. The graphics sent to WRKS
number one only, are saved to the file.
This parameter is not supported in all versions.
o IFILE C*56 1 [ last input information file ] The name of the output information file. If this file already exists, it will be appended with a new entry. If it does not exist it will be created. o ID C*8 1 [ last input id ] The field id desired for the output data. o NAME C*8 1 [ last input name ] The field name desired for the output data. o UNITS C*24 1 [ last input units ] The field units desired for the output data. o TEXT1 C*48 1 [ last input text1 field ] The desired text description, line one, for the output data. o TEXT2 C*48 1 [ last input text2 field ] The desired text description, line two, for the output data. o DNAM C*24 4 [ current horizontal and vertical dimensions ] The desired dimension names for the output data. These are derived from the last data read and PLANE used. Usually these will not change. o DUNI C*24 4 [ current horizontal and vertical dimensions ] The desired dimension units for the output data. These are derived from the last data read and PLANE used. Usually these will not change.
o PRANGE REAL 6 [ 0,0,0,0,0,0 ] This may be used to control the frame of the plot. The plot x and y axis may be extended (or shrunk) beyond the range of the current window by using PRANGE. PRANGE(1) refers to xmin, (2) is xmax, (3) to delta x, (4) ymin, (5) ymax and (6) delta y. If element (3) is zero, PRANGE elements (1),(2) and (3) are ignored and the data window for the x-axis is used to define the plot frame x-axis. Similiarly, if element (6) is zero elements (4),(5) and (6) are ignored and the the data window for the y-axis is used to define the plot. Eg. a grid window of 0 to 30 by 5 in x and 0 to 60 by 10 in y may be plotted in a frame that extends from -10 to 40 in x and -10 to 70 in y by specify PRANGE=-10,40,5,-10,70,10. The delta x and y combined with LAB.FRQ may be used to change the label intervals for the plot axes. If there is no data to define the limits for an axis, and PRANGE is zero for that axis, the default range is set to -1 to +1. For the case of no data GRID to define one of the axis, such as SCATTER, XY, BARPLT and HISTOGRAM plots, and PRANGE for that axis is all zero, nice limits are computed AUTOMATICALLY and the frame is labelled accordingly. o CON REAL 30 [ 30*0 ] The contour levels to draw. Contour levels may be explicitly specified or they may be generated using a constant contour interval. If the first 2 elements, ie. CON(1) and CON(2), are equal to zero, then no contouring is attempted. If CON(3) and CON(4) are both zero, it is assumed that contours will be generated using a constant interval, otherwise the values are taken explicitly as the levels to draw. When generating contours there are two possiblitlies: 1) CON(2) is greater than zero or 2) CON(2) is less than zero. For case 1), CON(1) is taken as the 1st level and subsequent levels are computed as level=level+CON(2). For case 2), the absolute value of CON(2) is taken as the interval and the 1st level is computed by decrementing CON(1) down to the minimum of the data. Subsequent levels are level=level+abs(CON(2)). In both cases of generating contours, CON(1) must lie in the range of the data, and the absolute value of CON(2) is the constant interval. Eg. CON=100,-5,28*0 with a data range of 87 to 109 would draw contour levels of 90,95,100 and 105. CON=100,5,28*0 would draw levels at 100 and 105 only. When explicitly specifying the levels the contours may be 'turned off' in either of two ways. If two succesive levels are equal or if the zero level is encounterd a second time, then contouring ends. Eg. CON=-5,-2,-1,0,1,2,5,23*0 and CON=-5,-2,- 1,0,1,2,5,5 both will attempt levels of -5,-2,-1,0,1,2 and 5 only. Nice valued, equally spaced contour levels may be AUTOMATICALLY generated by setting the first element of CON to 123456. This triggers the option. The second element is the approximate number of levels to draw. For example, if CON=123456,5 and the data range is .023 to 56.79, contours would be drawn at levels of 10,20,30,40 and 50. o CON.COLOR INT 30 [ 30*1 ] This controls the color of each drawn contour line. The default is black. Element (1) refers to the first level specified in CON, (2) to the second, etc. If contours are being generated, the correspondence between the descriptors, color, line-width and line-type, and the levels will in general be unknown. Thus, if you want a specific contour level to have unique descriptors, specify the levels explicilty in CON. o CON.LWIDTH INT 30 [ 30*15 ] This controls the line width of each drawn contour line. The value is the relative line width times ten. The default is 1.5 times the nominal width. o CON.LTYPE INT 30 [ 30*1 ] This controls the line type of each drawn contour level. The default is a solid line. o CONLAB.TXT INT 3 [ 1,10,1 ] The description of the contour labels. The three elements are the color, the relative size times ten (see REF.CHAR.SIZES) and the font index. o CON.FORLAB C*4 1 [ NO ] This may be used to FORce LABelling of more contour lines. If this is set to YES, then more lines will be labeled but some contour labels may overwrite each other. o FILL REAL 32 [ 32*0 ] The 32 elements of FILL can be used to specify 16 distinct fill (color) areas. Each area to fill requires 2 elements to specify; FILL(1),(2), define the first area, (3),(4) the second, etc. The pair of numbers define the limits of the region to fill. Eg. FILL=-1E32,0,10,1E32 would fill all areas of the plot which have data values between and including -1E32 and zero and all values between 10 and 1E32. A continuous or cell fill method may be specified with FILL.METHOD. Nice valued, equally spaced fill regions may be AUTOMATICALLY generated by setting the first element of FILL to 123456. The second element is the approximate number of levels to generate. When continuious fill is desired, ie. no data gaps, there is an easier way to specify the fill regions. If the first element of FILL is -123456, then it is assumed that the remaining elements define the break points for the fill regions. For example, FILL=-123456,0,1,2,3,4 is equivalent to FILL=0,1,1,2,2,3,3,4. o FILL.COLOR INT 16 [ 7,6,4,13*1 ] The color to fill the regions specified by FILL. Element one corresponds to the region defined by FILL(1) and FILL(2), element two to the region defined by FILL(3) and (4), etc. The default gives yellow, magenta and blue, or in black and white, light, medium and dark. o FILL.INTSTYLE INT 16 [16*1 ] The interior style for the 16 possible fill regions. The default is solid. o FILL.STYLEIND INT 16 [ 16*1 ] The fill area style index for the 16 fill regions. If the interior style is equal to 2 (pattern) or 3 (hatch), then this parameter selects the pattern or hatch style to use. The style index is a number from 1 to 16. o FILL.METHOD C*4 1 [ CONT ] The current fill methods are CONT, for continuous contour following fill, and CELL, for cell fill. If this parameter is CONT, the fill is done by drawing the contour lines separating the regions and then filling between the lines, which gives smooth, interpolated transitions. If it is CELL, then the box surrounding each individual grid point is filled based on the value at that box, including the background color for all boxs outside the fill range. The CELL method uses the gks cell array primitive, and thus wipes out everything previously plotted. o FILL.BAR INT 8 [ 0,0,0,1,10,1,8,2 ] This parameter controls if, where and how a fill bar is placed on the plot. A fill bar, or color bar, shows an example of each fill pattern along with the limits of data represented by that fill. The first 6 elements have the same meaning as the section III <->.L parameters. They are the text descriptors for the labelling along the fill bar. Element three is the switch for turning on/off the bar. Element 7 is the length, in units of a reference character size, of each section of the bar. Element 8 is the height of the bar in the same units. A continuous or broken fill bar is done according to the elements of FILL. o FILL.BAD.DATA INT 2 [ 0,0 ] This option is used to fill all grid boxes whose data value is equal to the BAD.DATA value read with the data from the information file. The first element is a switch which turns on the option. If it is zero, the fill is not done, otherwise it is. The second element sets the color for the fill. Note that the default color is the background, so no fill will be done unless the color is changed. This option uses the gks cell array primitive, and thus wipes out everything previously plotted. o VECPAR REAL 2 [ 1,0 ] This controls the length of drawn vectors when doing a vector plot. VECPAR(1) controls the maximum length of any arrow. The units are the minimum grid node spacing in the x and y directions. Eg. if VECPAR(1) is equal to one, the longest possible arrow will be the minimum grid node spacing, if two it will be twice the minimum spacing, etc. VECPAR(2) sets the speed in data units that will correspond to the maximum arrow length. If VECPAR(2) is zero, then the actual maximum speed is used. This parameter is useful for comparing multiple vector plots to see the speed difference. If you use the default of zero, then the actual maximum speed will be used for every plot, so a 1 inch arrow will have a different meaning depending on the maximum speed. If you set VECPAR(2)=20, for example, then for all plots an arrow of a given length will represent the same speed. When doing vector plots you may also draw contours and do filling (see CON and FILL). The field that is contoured/filled is the vector magnitude or speed. o VEC.LEGEND INT 7 [ 0,0,0,1,10,1,0 ] This parameter controls the vector legend for vector type plots. The legend consists of a single vector with the magnitude labelled. The first six elements have the same meaning as the <->.L parameters. They are positioning and text descriptors. Element seven is the magnitude of the vector for the legend. If element seven is zero, VECPAR(2) is used. If VECPAR(2) is zero, than the maximum vector magnitude is used. The vector will be drawn with the VEC.DESC line descriptors. o VEC.DESC INT 3 [ 1,15,1 ] These are the line descriptors for drawn vectors. The three elements refer to the 1) color, 2)linewidth and 3)linetype. o VEC.UVLEG REAL 8 [ 0,0,0,1,10,1,0,0,0,0 ] These control another form of vector legend. In this legend both u-component (v=0) and v-component (u=0) vectors are drawn. The first six elements have the same meaning as the <->.L parameters. They are positioning and text descriptors. Element 7 is the desired u-component and 8 the v-component. If (7) is zero, then the maximum u value in the current data is used. The same holds for v. Element 9 is a scale factor for encoding the label for the u vector. If (9) is non-zero and the label (see VEC.UVLEGT) is blank, then the actual u value is scaled with this value and the resulting number is encoded for the label. The scale factor is only used for the label, not for drawing the vector. The FORMAT parameter is used for the encoding unless it is blank, in which case a format is selected for you. If the label (VEC.UVLEGT) is not blank, then that label is used and element nine is not used. Element 10 is the same as nine, except for the v-component. o VEC.UVLEGT C*8 2 [ null,null ] These are text labels for the VEC.UVLEG vector plot legend. If blank then the actual u and v components are encoded to form the label. If not blank, these labels are used. Element one is for u and two is for v. o STRPAR REAL 4 [ 0,0,0,0.025 ] This parameter controls some aspects of drawn streamlines. The first element is the displacement distance in grid units. This distance is how far a streamline moves before the (u,v) components are updated. If equal to zero, it is calculated as 0.1 x (abs(dx)+abs(dy)). Making this smaller increases the CPU time required. The second element is the cutoff distance for terminating lines. If lines get closer than this distance at a grid box crossing point they are stopped. If equal to zero, it is calculated as 0.25 x the displacement distance. Decreasing this may increase the CPU time. The third element is the stagnation count limit. If a line remains in a single grid box for this many steps, it is terminated. If equal to zero, it is calculated as 3 x sqrt(dx**2+dy**2) / the displacement distance. Making this larger may increase the CPU time. The fourth element is really two parameters: a key that determines how many grid boxes are initially disabled from being streamline start locations, and the size of the vector heads in object space. The fourth element is the sum of these two parameters. The key definition is: key=0 (default) the program calculates the key as max(nx,ny)/25+1; key=1 turn off 4 of 9; key=2 turn off 8 of 9; key=3 turn off 24 of 25; key=4 turn off 48 of 49; key=5 turn off 80 of 81; and key=6 turn off 120 of 121. It is necessary to 'turn off' some of the grid boxes, otherwise the display will have too many streamlines. Turning off a box does not discard the data there or restrict a streamline originating somewhere else from passing through it. The default works quite well, however, for some flow fields you may want more (or less) streamlines than the default gives. o STR.DESC INT 3 [ 1,15,1 ] The line descriptors for streamlines. The three elements refer to the 1) color, 2)linewidth, and 3)linetype. o SRFPAR REAL 2 [ 45,60 ] This parameter controls the eye viewing postion for surface perspective plots. The first element is the angle in degrees in the XY plane to the line of sight counter-clock wise from the plus X axis. The second element is the angle in degrees from the XY plane to the line of sight, with positive angles above the middle Z. o SRF.DESC INT 3 [ 1,15,1 ] The line descriptors for surface perspective plots. The three elements refer to the 1) color, 2)linewidth, and 3)linetype. o MAP C*4 1 [ null ] If MAP is a null string no map is drawn. One type of map is a boundary map, which is created by the user with FUNCTION='SAVEMAP' in section I. Drawing this map is enabled by setting MAP equal to 'BMAP', for Boundary map. Any user defined map may be drawn in this manner. In addition to the boundary map, there are special predefined maps that may be requested without any user preparation. Simply setting MAP equal to one of the options listed below will draw the corresponding map. 1) OMAP the current, actual, world continental outlines 2) USMP the US state political boundarys 3) OSUO the OSU, GCM 4 x 5 grid, continental outlines 4) OREG the state of Oregon actual political boundary 5) USHR a high resolution version of USMP The special maps above will be windowed or wrapped around according to the X,Y (assumed to longitude,latitudein degs) space defined by the current data, or the PRANGE parameter if given. When the map projection is set to anything other than RECTANG, the list of predefined maps changes to the following: 1) CO the current, actual, world continental outlines 2) US the US state political boundarys 3) PS CO plus US plus international outlines 4) PO CO plus international outlines o MAP.DESC INT 3 [ 1,15,1 ] These are the line descriptors for map drawing. The three elements refer to the 1) color, 2)linewidth and 3)linetype. o MAP.PROJECT C*48 1 [ RECTANG ] This parameter selects the map projection. The current options are Lambert conformal, Sterographic, Orthographic, Lambert equal area, Gnomonic, Azimuthal equidistant, Satellite view, Cylindrical equidistant, Mercator and Mollweide. See section XIII for a complete description. Projections other than RECTANG use significantly more cpu time, and usually more io. o BOX REAL 32 [ 32*0 ] Enables the drawing of rectangles at specified locations in subject space. The 32 elements are logically broken down into groups of four elements. (1),(2) are the lower left corner x,y coordinates, and (3),(4) are the upper right corner x,y coordinates. The locaton of the second box is given by BOX(5),(6),(7) and (8), etc. If any of the 4 elements for the possible 8 (32/4) boxes is not zero, then that box is drawn. More than eight boxes may be done by overlaying multiple plots in the same frame. By using FUNCTION='BOXTRIFL', the boxes may be filled according to the FILL.COLOR, etc. parameters. The first box uses FILL.COLOR(1), the second FILL.COLOR(2), etc. With FUNCTION='3DBOXFL', the boxes are drawn and filled in 3-D. This option will do a three dimensional bar (or histogram) plot. The FILL parameters control how each box is filled. o TRIANGLE REAL 48 [ 48*0 ] This enables the drawing of triangles at specified locations in subject space. The 48 elements are logically broken down into groups of six elements. (1),(2) are the x,y pair for one corner, (3),(4) another corner, and (5),(6) the third corner. If any of the 6 elements for the possible 8 (48/6) triangles is not zero, then that triangle is drawn. By using FUNCTION='BOXTRIFL', the triangles may be filled according to the FILL.COLOR, etc. parameters. The first triangle uses FILL.COLOR(1), the second FILL.COLOR(2), etc. o LINES REAL 48 [ 48*0 ] This enables the drawing of lines at specified locations in subject space. The 48 elements are logically broken down into groups of four elements. (1),(2) are the first x,y pair coordinates, and (3),(4) are the second x,y pair. The locaton of the second line is given by LINES(5),(6),(7) and (8), etc. If any of the 4 elements for the possible 12 (48/4) lines is not zero, then that line is drawn. o ARCS REAL [ 30*0 ] This parameter enables the drawing of arcs at specifed locations in subject space. The 30 elements are logically broken down into groups of five elements. (1) and (2) are the x,y coordinates of the center of the arc (circle), (3) is the radius, and (4) and (5) are the start and end angles in degrees. The second arc is given by elements (6) through 10, etc.., up to 6 arcs per time. If the radius is equal to zero the arc is not attempted. Eg. ARCS=2*0,25,0,360,2*0,50,0,360 will draw two circles, both centered at (0,0), the first with a radius of 25 and the second with a radius of 50. o MARKS REAL 33 [ 33*0 ] This enables the drawing of markers at specified locations. The first element is the number of locations. Elements 2 and 3 define the first location X and Y values, respectively. Elements 4 and 5 define the second X,Y, etc., up to 32 locations per plot. o SLINES.DESC INT 3 [ 1,15,1 ] The line descriptors for special lines. Special lines are those defined by BOX,TRIANGLE,LINES and ARCS. The three elements refer to the 1) color, 2)linewidth and 3)linetype. o SMARKS.DESC INT 3 [ 1,10,1 ] The marker descriptors for the markers in MARKS. The three elements refer to the 1) color, 2) relative size and 3) marker type. These also set the marker attributes for the grid node marks when using FUNCTION='MGRID'. o PUTCHAR REAL 49 [ 49*0 ] Enables the drawing of short character strings at up to 24 at a time specified locations in subject space. The last 48 elements are logically broken down into groups of two elements. 1,2 refer to the first x,y pair, and 3,4 the second pair, etc.. The first element of PUTCHAR is the number of locations to do. Eg. to put the character string (see DEFCHAR) at 4 locations corresponding to x1,y1,x2,y2,x3,y3 and x4,y4 set PUTCHAR=4,x1,y1,x2,y2,x3,y3,x4,y4. o DEFCHAR C*4 24 [ null ] These are the character strings put at locations specified by PUTCHAR. Element one corresponds to PUTCHAR elements 2 and 3, element two corresponds to PUTCHAR elements 4 and 5, etc. o DEFCHAR.TXT INT 3 [ 1,10,1 ] The text descriptors for the DEFCHAR characters. The elements refer to 1)color, 2)relative size and 3)font. These descriptors are also used for print value type plots, invoked with FUNCTION='PRTVAL'. In this case, they are the text descriptors for the displayed values. o SCAT.TXT INT 3 [ 1,10,1 ] This parameter can have two meanings depending on the FUNCTION parameter. If FUNCTION is SCATTER and the 8th byte is not a blank, then these are the TEXT descriptors for the scatter plot character (the 8th byte). The elements refer to 1)color, 2)relative size and 3)font. If the 8th byte of FUNCTION is a blank then these are the MARKER descriptors. In this case the elements refer to 1)color, 2)relative size and 3)marker type. See the attached list of marker types. o ALL.LABELS C*4 1 [ N ] This parameter is either YES, NO or null. If YES, then all the <>.L parameters in section III, which determine where and if text labels appear on the plot, are set to some default value (see section III discussion). Setting ALL.LABELS to NO, is equivalent to setting the third element of all the <>.L parameters to zero, ie. turnning off labelling. If this parameter is null, the <>.L parameters are unchanged from their current setting. Note that as each plot in a series is passed through, all the labelling is turned off each time, if ALL.LABELS is 'NO', so if you want to label each plot with just TEXT and TEXT.L for example, then TEXT.L must be set for each plot. Alternatively, you may just set the <>.L parameters once and then set ALL.LABELS to null, so succesive plots will have the same text labels. o XF.NODES REAL 13 [ 13*0 ] Like PRANGE, this parameter may be used to control the horizontal axis plot frame. XF.NODES overrides PRANGE, so that if both are set, XF.NODES will prevail. It enables frame labelling at IRREGULARLY spaced nodes. It does not define the data at irregular nodes, it only defines the plot frame label locations, which may or may not be regularly spaced. The first element is the number of x-axis nodes. The second element is the first x-axis node, ie. the leftmost, the third element is the second node, and the nxn+1 element is the last node, where nxn is the number of xnodes. For example, XF.NODES=5,1,2,5,10,20 would define the x-axis frame to be from 1 to 20. Five frame labels would be done at 1,2,5,10 and 20, assuming LAB.AXS does not turn off frame labelling. LAB.FRQ does not apply when using XF.NODES. Every irregular node supplied will be labelled on the frame. HLAB still applys, so that for the example above, the labels at 1,2,5,10 and 20 on the frame could be set to any 8-byte text string. o YF.NODES REAL 13 [ 13*0 ] Identical to XF.NODES except for the vertical axis plot frame. o XYLINE.DESC INT 3 [ 1,15,1 ] These are the line descriptors for lines drawn in simple XY type plots. A XY type plot is automatically assumed if nx or ny equal one and the FUNCTION parameter does not select a VECTOR or SCATTER plot. The three elements refer to the 1) color, 2)linewidth and 3)linetype. These descriptors are saved for each line for the line legend. The line segments connecting the points may be turned off by setting the line type to zero. When doing a station plot with two fields, the line connecting the XY pairs will also use this parameter for the line descriptors. o XYMARKS.DESC INT 3 [ 1,10,0 ] These are the marker descriptors for marking the x,y pair points for a XY type plot. The three elements refer to 1) color, 2) relative size and 3) type. The default type of zero, turns off drawing the markers. o XYLINE.LAB C*8 2 [ ' ','AUTO' ] This parameter controls the labelling of lines in XY type plots. A label consists of a short character string positioned just above and along a segment of the line. The first element is the label, if equal to a null string no label is attempted. The second element controls the location of the label. If 'AUTO', the program selects a location for you. To specifically control the location of the label set the second element to the desired grid location. For example, to label at the grid node -60, set the second element to '-60'. o XYLINE.TXT INT 3 [ 1,10,1 ] The text descriptors for the XYLINE.LAB label characters. The elements refer to 1)color, 2)relative size and 3)font. o XYLEGEND INT 8 [ 0,0,0,1,10,1,6,2 ] This controls if, where and how a legend of the XY type drawn lines is placed on the plot. A line legend consists of a short character string followed by an example line segment. The legend is drawn when the last line in the current frame is complete, and it will include all the lines. The first six elements have the same meaning as the <->.L parameters. They are positioning and text descriptors. Element seven is the length of the lines in units of the reference character width. Element eight is the vertical spacing between lines in units of the reference character height. The first line is placed at the top and the last at the bottom of the legend. The text associated with each line is supplied in XYLEG.LAB. o XYLEG.LAB C*4 8 [ all null ] These are the text strings to be placed in the line legend. Element one is associated with the first XY type line in the current frame. Element two with the second, and so on up to a maximum of eight lines per frame. Each string will be placed adjacent to its corresponding line segment. o STA.FORMAT C*8 6 [ all null] This parameter defines what aspects of a field are displayed on a station plot. The six elements correspond to the six elements of the STA.NAMES parameter. Options for this parameter are: Value Meaning ----------------------------------------------------------- null does a character representation of the field value (the program selects the 'best' format. a format any valid Fortran format statement for real numbers SIGNOF the sign of the field is displayed (+ or - or X), where X is missing. For station type plots, the minimum, maximm and mean of the LAST displayed field may be shown on the plot with the MIN.L, MAX.L and AVG.L section III parameters. If the format for this field is SIGNOF, then the MIN.L will contain the number of negatives, and the MAX.L will contain the number of positives. o STATION.TXT INT 12 [ 4 x (1,10,1) ] The text descriptors for station plot field displays. The first three elements define the descriptors for relative field number 1, the second three define relative field number two, etc. The descriptors are color, relative size and font. o SIGNOF.TXT INT 9 [ 2,3,4, 15,10,10, 1,1,1 ] The text descriptors for station plot field displays when using the STA.FORMAT equals SIGNOF option. The first three elements define the colors for +,- and missing, respectively. The second three elements define the relative sizes and the last three define the fonts. The default makes the +'s red and large, the -'s green and medium size, and the missings blue and medium size.
Section III inputs may be supplied at the terminal, using the
command file (CFILE) or using the special section III only
command file (LABFILE). Using the LABFILE option is useful for
setting up the plot once, and there after all plots will look
the same.
o GRAPH C*4 1 [ NO ]
See section I for a description of GRAPH. This parameter is
repeated here to allow a last minute escape of graphics
activity.
o TIME_STAMP C*4 [ null ]
This controls if and where a time stamp is done. If blank or
null, no time stamp is done. Valid values are 'LL','LR','UL' and
'UR', for placing the stamp in the lower-left corner, lower-
right, upper-left or upper-right. A time stamp is the current
time and date.
o REF.CHAR.SIZES REAL 2 [ 1,1 ]
The reference size of characters. Element (1) refers to the
character width and (2) to the height. The size of all text put
on a plot may be individually controlled with the specific
parameter for that field. For example FRAME.TXT controls the
size of the frame axis labels and CONLAB.TXT controls the size
of contour labels. These descriptors control the relative size,
where the reference size is controlled by REF.CHAR.SIZES. Thus,
changing this parameter will change the size of all text. The
default provides reasonably sized characters.
o FRAME.DESC INT 3 [ 1,15,1 ]
The descriptors for the lines which comprise the frame. The
elements refer to 1)color, 2)linewidth, and 3)linetype. These
also set the line attributes for the grid lines when using
FUNCTION='DGRIDxx'.
They are also used for the grid overlay and surrounding frame
box for plots where a projection other than RECTANG is used.
Setting the linewidth to zero will turn off the grid overlay.
o FRAME.TXT INT 3 [ 1,10,1 ]
The text descriptors for the frame labels. The elements refer to
1)color, 2)relative size and 3)font. The horizontal and vertical
axes of the frame may have their own frame label text
descriptors (see VFRAME.TXT).
They also control the text on the grid overlay for plots where a
projetion other than RECTANG is used. Setting the size to zero
will turn off the text labels on the grid overlay.
o VFRAME.TXT INT 3 [ 3*0 ]
Text descriptors for the frame labels. If all three elements are
zero, this parameter is ignored and FRAME.TXT controls both axes
of the frame text labels. If any element is not zero, FRAME.TXT
defines the text descriptors for the horizontal axis and
VFRAME.TXT defines the descriptors for the vertical axis.
o PLT.LOC REAL 4 [ .125,.125,.75,.7 ]
The location on the page for the next plot frame in terms of
fractions (zero to one) of the page in the x and y direction.
PLT.LOC(1) refers to the x margin, (2) the y margin, (3) the x
fraction and (4) the y fraction. Eg. PLT.LOC=.2,.1,.6,.5 would
cause the next frame to be drawn with the lower left corner at
x=0.2 of the total x range, y=0.1 of the total y range, and the
length of the frame would be 0.6 of the total x range, and the
height 0.5 of the y range. The upper right corner would be at
x,y= 0.8,0.6. The x range is zero at the left and one at the
right, while y is zero at the bottom and one at the top.
Beware that for most graphics devices the page length and height
are typically not the same, SO GIVING AN X FRACTION AND Y
FRACTION WHICH ARE EQUAL WILL NOT RESULT IN A SQUARE FRAME. To
get a square frame, you need to include the aspect ratio of the
device resolution. See AFRAME below for automatic generation of
frames, including square.
Beware that if the plot location is changed from the default,
the default labelling may not all fit and some labels should
probably be eliminated or moved.
o AFRAME REAL 6 [ 0,.1,.1,.1,.1,1]
This option is useful for generating pictures with multiple
frames and for making the plot axes lengths proportional to the
dimension they represent. The elements of AFRAME refer to 1) the
number of frames per row, ie. across the page, 2) the left hand
X-margin for the entire picture, 3) the top Y-margin for the
entire picture, 4) the X spacing between frames, 5) the Y
spacing between frames and 6) the relative X to Y frame size
relative to the actual grid size. This option is turned on when
AFRAME(1) is not zero. Eg. if NFRAMES=9 and AFRAME=3,4*.1,1
then a page will consist of 9 frames, 3 per row, with margins
and spacing and with the plot X-axis and Y-axis lengths
proportional to the grid. If AFRAME= 3,4*.1,2 then the plot X-
axis will be twice the plot Y-axis in length, proportional to
the grid. If the X and Y data axis are both 100 units, and
AFRAME(6)=1, the frame will be square, etc.
o LAB.FRQ INT 2 [ 5,5 ]
The frequency to label the x and y grid nodes. A label consists
of a long tic mark and text describing the grid node. The text
is a character representation of the value of the grid at that
node using the minimum number of characters.
LAB.FRQ(1) refers to the x axis, and (2) refers to the y axis.
Eg. if LAB.FRQ=10,5 then the 1st x node is labelled, the 11th is
labelled, and so on to the end, and the 1st y node is labelled,
the 6th y node, etc.. to the end. If the x grid interval is say
5 km and LAB.FRQ(1)=5, then labels will be done every 25
kilometers. Every grid node is marked with a short tic mark
regardless of LAB.FRQ unless LAB.AXS (see below) turns this
function off.
If XF.NODES and/or YF.NODES is being used, ie. irregularly
spaced frame label locations, LAB.FRQ for that plot frame axis
is ignored, and every irregular frame label is done.
o LAB.AXS INT 6 [ 1,1, 1,-1,1,-1 ]
Switches to control which sides of the frame are drawn and how
they are labelled (in conjuntion with LAB.FRQ). LAB.AXS(1) and
(2) refer only to the last label for the horizontal and vertical
plot axis, respectively. The last label is the rightmost or
topmost one. If LAB.AXS(1)=1 the last grid node in the
horizontal is labelled regardless of whether it is a multiple of
the LAB.FRQ parameter. If LAB.AXS(1) is not equal to 1, the
last node is not labelled. LAB.AXS(3) through (6) refer to the
left,right,bottom and top edges of the frame, respectively. The
switches for (3) thorugh (6) have the following interpretation:
1 draw the edge and label according to LAB.FRQ (full
labelling)
0 draw the edge but don't do any labelling or any short tics
-1 draw the edge with long tics at label locations and short
tics
at every node but don't draw any text description of the
node -2 don't draw the edge at all leaving the frame open on
that side
The default fully labels the left and bottom, and labels
without the text on the right and top, ie. 1,-1,1,-1.
o TICS C*4 1 [ OUT ]
This controls how the frame tic marks are drawn. The six
possible choices are OUT (drawn from frame border outward), OUTS
(out and small), OUTB (out and big), IN (inside frame and
nominal size), INS (small) and INB (big). The nominal tic mark
size is controlled by the REFERENCE.CHAR.SIZE. Small tics are
half as large, and big tics are twice as big.
o NFRAMES INT 1 [ 1 ]
The number of frames on a single plot page. This is used to
determine when the graphics for a page is complete so the
appropiate action can be taken. When using NFRAMES greater than
one, it is usually desireable to change the PLT.LOC so the
frames are not on top of each other. Also see AFRAME and NPLOTS.
When using NFRAMES greater than one or NPLOTS greater than one,
it is desireable to run using a command file or run from a
terminal other than the graphics device, since otherwise user
prompts and inputs will overwrite the graphics on the screen.
o NPLOTS INT 1 [ 1 ]
The number of plots in a single frame. Eg. two plots can be
overlayed by specifying NPLOTS=2.
The total number of plots done on a single page is NFRAMES times
NPLOTS. Both NFRAMES and NPLOTS may be changed any number of
times.
o HLAB C*8 12 [ null ]
Text strings to use as axis labels in place of the grid node
descriptions for the horizontal axis. Where the labels go is
determined by LAB.FRQ,LAB.AXS and the grid itself. If all
elements are null then HLAB is ignored, otherwise all elements
are used. This option may be useful for labelling the plot with
strings like 'MONDAY','TUESDAY', or 'jan','feb', or '90S','70S',
etc. when the grid node values are numbers like 1,2,3..etc. The
description of the text is controlled by FRAME.TXT.
A special option is triggered when HLAB='AUTO_MON','MMM','N'.
The plot horizontal axis is labelled with the months of the year
in sequence according to the LAB.AXS and LAB.FRQ parameters. MMM
is the first three characters of the 1st month in the series,
eg. 'JAN','SEP', etc. N is the number of characters for each
label, which may be 1,2 or 3.
Longitude or latitude labels may be triggered by specifying
HLAB='AUTO_LON' or HLAB='AUTO_LAT', respectively. For longitude,
this option replaces negative grid nodes with a West identifier,
and positve with East. For latitude, negative values are
identified as South and positve as North. Thus, for a longitude
vs latitude plot, you may set HLAB='AUTO_LON' and VLAB='AUTO-
LAT' to label with W,E and S,N identifiers for the X and Y axes.
o VLAB C*8 12 [ null ]
Identical to HLAB except for the vertical plot axis. The
AUTO_MON option is disabled for VLAB. The AUTO_LON and AUTO_LAT
options work for VLAB just as for HLAB.
o HDLAB C*48 1 [null ]
A text string to be placed according to the HAX.L parameters.
The main motivation for this field is when the horizontal plot
axis needs to be labelled with something other than the
dimension name and units read with the data, eg. for a xy type
or scatter plot. However, HDLAB may be used to put any text
anywhere on the plot. HAX.L controls where the text will go, the
color, relative size and font.
o VDLAB C*48 1 [null ]
A text string to be placed according to the VAX.L parameters.
The main motivation for this field is when the vertical plot
axis needs to be labelled with something other than the
dimension name and units read with the data, eg. for a xy type
or scatter plot.
o TEXT C*64 1 [ null ]
A text string to be placed according to the TEXT.L parameters.
The main motivation for this field is when a function of two or
fields is plotted and this function needs to be placed on the
plot. Eg. if the plot is a difference of two fields, then you
may want to set TEXT equal to 'Exp# 21 minus Exp# 20', for
instance.
o COLOR.FILE C*56 1 [ null ]
This parameter allows the user to define his own color table.
To use colors other than the defaults, set this to the name of a
color table file. This file should have 16 lines corresponding
to color numbers 0 to 15, where each line has 3 integers
separated by at least one blank space. The 3 integers are the
RED,GREEN and BLUE components in percent (0 to 100),
respectively. Color number zero, the first line of the file, is
the background color.
With this option, a smooth image of a data set may easily be
done. Create a color table with some scheme, say blue to green
to yellow to red in 16 steps. Then use FILL=123456,16 and
FILL.COLOR=1,2,3,4,...16.
o THE L PARAMETERS
Section III has 23 more parameters which are all closely
related. They all control where and how text gets placed on the
plot. All these variables are integers with six elements. Each
element has the following meaning:
Element Descritpion
------ ----------------------------------------------------
1 the X displacement from a reference point in units
of the reference character width.
2 same as element 1 but for Y and a character height.
3 this number is really three numbers: a centering
option, an angle category and a reference point.
It is also the controller for whether the field
is labelled or not. If it is zero, the field is
not labelled.
the HUNDREDS digit is the centering option:
0=no centering 1=center on the X frame
2=center on the Y frame 3=right justify on X frame
the TENS digit is the angle category:
category 1 is 0 deg. category 2 is 90 deg.
category 3 is 180 deg. category 4 is 270 deg.
and the ONES digit is the reference point:
reference point 1 is the lower left frame corner
reference point 2 is the lower right frame corner
reference point 3 is the upper left frame corner
reference point 4 is the upper right frame corner
4 color (zero to fifteen)
5 relative size (10 gives the current reference size)
6 font number (one to number of possible fonts)
eg. CON.L=0,-8,11,3,10,1
means place the list of drawn contour levels zero
character widths to the right and 8 character heights
below the lower left frame corner and draw at 0 degrees.
Use color number 3, the reference size and font one.
eg. TEXT.L=0,6,113,3,30,2
means center the text in the TEXT parameter on the
X frame six character heights above the frame. Use color
3, a character size three times the reference and font 2.
The complete list of the section III text controllers is shown
below:
Name Default Field to be labelled
------- ------- -------------------------------------
CON.L 8,-6,11 Echoing of drawn contour levels
FILL.L 8,-8,11 Echoing of filled regions (see also FILL.BAR)
ID.L 0,8,13 ID read from information file
NAME.L 10,8,13 NAME read from information file
UNITS.L 28,8,13 UNITS read from information file
DFILE.L 54,8,13 DFILE read from information file
TEXT1.L 0,7,13 TEXT1 read from information file
TEXT2.L 0,6,13 TEXT2 read from information file
HDNAM.L 8,-4,11 horizontal dimension name read from ifile
HDUNI.L 34,-4,11 horizontal dimension units read from ifile
VDNAM.L -8,8,21 vertical dimension name read from ifile
VDUNI.L -8,34,21 vertical dimension units read from ifile
CORD.L 0,5,13 fixed coordinates in other 2 planes
MDAEP.L 0,4,13 Mul,Div,Add,Exp and Power constants
MASK.L 32,4,13 Mask range
AVG.L 0,3,13 mean of all data points (or global mean)
MIN.L 13,3,13 minimum of all data points
MAX.L 26,3,13 maximum of all data points
NHAVG.L 39,3,13 northern hemisphere mean
SHAVG.L 52,3,13 southern hemisphere mean
HAX.L 8,-4,11 horizontal plot axis label supplied as HDLAB
VAX.L -8,8,21 veritcal plot axis label supplied as VDLAB
TEXT.L 0,2,13 64 byte text string supplied as TEXT
The last three elements of each of these fields are identical
and are
1,10,1 which is white, the reference size and font number
one.
Note that the amount of labelling and the location of the labels
is a matter of taste. The default is to do NO labelling except
for the plot frame axes labelling (see LAB.AXS and ALL.LABELS).
Many users may wish to turn on some or all of the labelling, or
change the locations and angles.
If ALL.LABELS is set to YES, all the <->.L parameter listed
above are set to their defualt values. If ALL.LABELS is set to
NO (the default) the third element is set to zero which turns
off the labelling of the associated field.
If ALL.LABELS is null then all the <->.L parameters are left
unchanged from their last value.
PLTGKS has descriptors for all lines and text put on the plot.
A. Line descriptors end with a .DESC extension and include:
color, line-width and line-type.
B. Text descriptors end with a .TXT extension and include:
color, size and font.
C. Marker descriptors (XYMARKS.DESC, SMARKS.DESC and optionally
SCAT.TXT) include: color, size and marker-type.
D. The section III parameters which have a .L extension, describe
text labelling. Besides the positioning information they include:
color, size and font.
E. Contours and filling operations have their own descriptors:
CON.COLOR, CON.LWIDTH and CON.LTYPE
and FILL.COLOR, FILL.INTSTYLE and FILL.STYLEIND (and FILL.METHOD)
The following table defines these descriptors.
Feature Description
---------- -------------------------------------------
color Selects a color out of the color table by number.
Color index zero is the background color.
Valid values are 0-15. See attached. You may define
your own color table using COLOR.FILE.
line-width Ten times the relative line-width. A value of ten
is the nominal line width, 20 is twice as wide, etc.
line-type Selects the line type. 1 is solid, 2 is dashed,
3 is dotted, 4 is dash-dot, -1 is broken, -2 is
dot-broken, -3 is broken-dash and -4 is large broken.
See attached.
marker-type Selects the marker type. 1 is a dot, 2 is a plus sign,
3 is an asterisk, 4 is a circle, 5 is an X. -1 is a box
with an X, -2 is a box, -3 is a box with a dot, -4 is a
box and dot rotated 45 degrees and -5 is a box rotated
45 degrees. See attached.
intstyle The set fill area interior style.
0 is hollow, 1 is solid, 2 is pattern and 3 is hatch.
styleind The set fill area style index. If intstyle is pattern
this selects the pattern, iF intstyle is hatch then
this selects the hatch style. See attached.
text-size Ten times the relative size. A value of ten is the
reference text size, 20 is twice as large, etc. The
reference text size may be set with the REF.CHAR.SIZES
parameter in section III.
font Selects the font for text. The default font number is 1.
Other optional fonts are numbered -1 through -12.
See attached.
Graphics segments may be created when a workstation is open.
These segments may then be manipulated using the SEGTRANS
transformation. If a segment is created in WISS, it may also be
copied to any other active workstation(s). The section I
parameters:
PRE.SEGMENT POST.SEGMENT SEGTRANS
must be used to create, close, transform, copy and delete
segments. Any number of segments may be created, but only one
may be open at any one time (this is a GKS restriction).
SEGTRANS may be used to manipulate individual segment(s) through
translation, scaling and rotation. The default transformation
reproduces the segment as written.
Segments may be useful for 1) drawing an overlay such as a map
that never changes from plot to plot, 2) scaling and translating
a plot to select the best size,location and aspect ratio for the
frame(s), and 3) enlarging a particular region of a plot to
better see some feature.
Example 10 in section XIV shows how a segment may be translated,
rotated and scaled.
XI. INPUT DATA BASE
See the library of routines called RWDATA for reading and
writing data from the data base.
Any one can write software to read and write data from the data
base, it is not difficult. However the RWDATA library of
routines can easily be incorporated into any particular program
to handle the job for you.
The input data consists of two parts in two distinct files: the
data itself, and the information describing the data.
The data file is an unformatted, direct access file with a fixed
record length of 512 bytes, or 128 four-byte words. The data
base is limited to real 4-byte words.
Each array of data is stored with element (1) as the first word
in the 1st record, elememt (2) as the second word in the first
record, etc., with the standard fortran convention for fastest
indicies in the case of multiply dimensioned arrays.
Several distinct pieces of data may all reside in a single data
file. The information describing the data (see information
file) includes the data file name and a record number within
that data file which points to the start of the data.
Although not required, it is probably a good idea to have a
single information file which corresponds to a single data file.
One convention is to call the files mydata.INF and mydata.DAT.
As more entrys are added to the data file, the information file
is updated accordingly (RWDATA handles this case). Existing
entrys can be appended using RWDATA.
The information file is an IOLAN type file with all the
information about the data including the data file name. These
files can be examined with the editor and modified as needed. A
single information file may contain the describtions for several
distinct pieces of data, with each set of descriptors seperated
by the IOLAN escape character $.
Fields in the information file are:
Name Type Size Decription
---- ---- ---- -------------------------------------
DFILE C*56 1 data file name
ID C*8 1 identification for the data
NAME C*8 1 name of the field
UNITS C*24 1 units of the field
TEXT1 C*48 1 descriptive text: line 1
TEXT2 C*48 1 descriptive text: line 2
DNAM C*24 4 name of each of the 4 dimensions
DUNI C*24 4 units of each of the 4 dimensions
FIRST R*4 4 first grid node value for each dimension
DELTA R*4 4 grid node interval for each dimension
NDIM I*2 4 number of grid nodes for each dimension
BAD.DATA R*4 1 the value for missing data
OFFSET I*4 1 the record number preceding the data
It is suggested that a consistent file naming convention be used
for the information and data files. This will easily allow you
to inventory all data that is in the data base. One convention
is to select a file name for the data, and use a .INF extension
for the information file and a .DAT extension for the data file.
Eg. myfile.INF and myfile.DAT
Specifying a DELTA of zero will cause problems when using PLTGKS
to read the data. Always set the DELTA's for dimensions which are
not significant to one, not zero.
All four values of NDIM must be greater than zero. Set the NDIM's
for the non-significant dimensions to one.
It is a good idea to set all non-significant values for FIRST to zero,
since the default value of CORD in PLTGKS is (0,0,0,0).
The three notes above may be accomplished by inserting the following
line in your driver program which creates new data base files:
DATA FIRST/4*0./, DELTA/4*1./, NDIM/4*1/
Then set the significant elements to their corresponding true values.
The following is an example information file.
DFILE='USER1:[SMITH.DATA]EXP01.DAT'
ID='EXP01'
NAME='QR'
UNITS='G/KG'
TEXT1='RAIN WATER MIXING RATIO'
TEXT2='COLLECTION PARAMETER SET # 1'
DNAM='DISTANCE BEHIND LINE','DISTANCE ACROSS LINE'#
DUNI='KM','KM','METERS','HOURS'
FIRST=0.,-50.,100.,0.5
DELTA=5.,5.,100.,0.5
NDIM=21,21,50,20
BAD.DATA=1E10
OFFSET=0
$
NAME='QS'
TEXT1='SNOW MIXING RATIO'
OFFSET=3446
$
NAME='QG'
TEXT1='GRAUPEL MIXING RATIO'
OFFSET=6892
$
This example describes a data file with three fields in it. All
the fields are defined on the same grid, from the same model
experiment so some of the information need not be repeated for
each entry. The only descriptions which change are the name of
the field, the title of the field (which has been put in the
TEXT1 parameter), and the location of the start of the field in
the data file.
The grid is as follows:
dim # first delta last size
------- ----- ----- ---- ----
1 0 5 100 21
2 -50 5 50 21
3 100 100 5000 50
4 .5 .5 10 20
The offset is computed from the size of the field. In this case
the product of all the dimension sizes is 441,000 words. Since
there are 128 words per direct access record, each field
requires 441,000/128 = 3445.3 -> 3446 records.
By using special action codes, graphics text may include
subscripts, superscripts and font changes within a single line
of text.
In PLTGKS the user specifys graphics text strings in
HLAB,VLAB,TEXT,HDLAB and VDLAB, as well as the information file
text strings TEXT1,TEXT2,HDNAM,HDUNI,VDNAM and VDUNI. Any or
all of these may contain the special action codes.
All codes must be delimetered with the backslash character, .
After the first backslash is the specific special action code;
an underscore for subscripts, an up arrow for superscripts and
an at sign for change font.
action code desciption
----------- ---- ------------------------------------------------
subscript \_n\ where n is the subscript. All characters after
the _ and before the will be subscripted. The
subscript may be any number of characters long.
superscript \^n\ where n is the superscript. All characters after
the ^ and before the will be super.
font change \@m.t\ where m is the font number. The font number must
be terminated with a dot. All text between the dot
and the next backslash, denoted by t here, will
be in font number m. The font will then be set
back to its original value.
Examples
---------------------------------------------------------------
TEXT='CO\_2\ CONCENTRATION' ..the chemical symbol CO2
TEXT='Watts/m\^2\' .the squared sign as a superscript
TEXT='surface albdeo,\@-12.a\' ..the greek a, or alpha
TEXT='Name: \@-2.TS\ \@1.,Temperature\' ..change font
The pltgks section II parameter MAP.PROJECT selects the projection.
When this is 'RECTANG', no special mapping is required.
This section describes the other optional map projections.
o The first 2 bytes of MAP.PROJECT specify the projection to be used.
In what follows, this is referred to JPRJ. The possible values are:
The conic projection: 'LC' - Lambert conformal conic with two
standard parallels.
The azimuthal projections: 'ST' - Stereographic.
'OR' - Orthographic. Causes the parameter
'SA' to be zeroed.
'LE' - Lambert equal area.
'GN' - Gnomonic.
'AE' - Azimuthal equidistant.
'SV' - Satellite-view.
The cylindrical projections:'CE' - Cylindrical equidistant.
'ME' - Mercator.
'MO' - Mollweide. The projection used is
not actually a true Mollweide.
o The second 2 bytes specify one of five ways in which the limits of the
map are defined by the parameters PLM1, PLM2, PLM3, and PLM4.
If you want the maximum useful area produced by the projection, you can
use anything for the second 2 bytes. If the choice does not match any
of the possible values, '