root/doc/trunk/htdocs/vcs_html/vcs-4.html

Revision 5488, 54.9 kB (checked in by dubois, 8 years ago)

Add "Getting Started" document.

Line 
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN"><HTML>
2 <HEAD>
3 <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
4 <META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">
5 <META NAME="GENERATOR" CONTENT="Adobe FrameMaker 6.0/HTML Export Filter">
6 <LINK REL="STYLESHEET" HREF="vcs.css" CHARSET="ISO-8859-1" TYPE="text/css">
7 <TITLE> CHAPTER 4       Overview</TITLE>
8 </HEAD>
9 <BODY BGCOLOR="#ffffff">
10 <H2 CLASS="ChapterTitle">
11 <A NAME="pgfId-831306"></A>CHAPTER 4    <A NAME="60683"></A>Overview</H2>
12 <DIV>
13 <H4 CLASS="Heading1">
14 <A NAME="pgfId-825535"></A><DIV>
15 <IMG SRC="vcs-2.gif">
16 </DIV>
17 VCS Model Overview</H4>
18 <P CLASS="Body">
19 <A NAME="pgfId-825537"></A>The VCS model is defined by a trio of named attribute sets, designated the &quot;Primary Objects&quot; (also known as &quot;Primary Elements&quot;). These include: the data, which specifies what is to be displayed and are obtained from the &quot;cdms&quot;, &quot;cu&quot;, or Numeric modules; the graphics method, which specifies the display technique; and the picture template, which determines the appearance of each segment of the display.</P>
20 </DIV>
21 <DIV>
22 <H4 CLASS="Heading1">
23 <A NAME="pgfId-825541"></A><DIV>
24 <IMG SRC="vcs-2.gif">
25 </DIV>
26 VCS Primary Objects (or Primary Elements) </H4>
27 <P CLASS="Body">
28 <A NAME="pgfId-885216"></A>A description of each primary object is warranted before showing their use and usefulness in VCS. See descriptions below.</P>
29 <DIV>
30 <H6 CLASS="Heading2">
31 <A NAME="pgfId-825545"></A>Graphics Method Objects</H6>
32 <P CLASS="Body">
33 <A NAME="pgfId-825547"></A>A graphics method simply defines how data is to be displayed on the screen. Currently, there are eleven different graphics methods with more on the way. Each graphics method has its own unique set of attributes (or members) and functions. They also have a set of core attributes that are common in all graphics methods. The descriptions of the current set of graphics methods are as follows: </P>
34 <UL>
35 <LI CLASS="Bulleted">
36 <A NAME="pgfId-825549"></A>boxfillobject - The boxfill graphics method draws color grid cells to represent the data on the VCS Canvas. Its class symbol or alias is &quot;Gfb&quot;.</LI>
37 <LI CLASS="Bulleted">
38 <A NAME="pgfId-825551"></A>continentsobject - The continents graphics method draws a predefined, generic set of continental outlines in a longitude by latitude space. To draw continental outlines, no external data set is required. Its class symbol or alias is &quot;Gcon&quot;.</LI>
39 <LI CLASS="Bulleted">
40 <A NAME="pgfId-825553"></A>isofillobject - The isofill graphics method fills the area between selected isolevels (levels of constant value) of a two-dimensional array with a user-specified color. Its class symbol or alias is &quot;Gfi&quot;.</LI>
41 <LI CLASS="Bulleted">
42 <A NAME="pgfId-825555"></A>isolineobject - The isoline graphics method draws lines of constant value at specified levels in order to graphically represent a two-dimensional array. It also labels the values of these isolines on the VCS Canvas. Its class symbol or alias is &quot;Gi&quot;.</LI>
43 <LI CLASS="Bulleted">
44 <A NAME="pgfId-825557"></A>outfillobject - The outfill graphics method fills a set of integer values in any data array. Its primary purpose is to display continents by filling their area as defined by a surface type array that indicates land, ocean, and sea-ice points. Its class symbol or alias is &quot;Gfo&quot;.</LI>
45 <LI CLASS="Bulleted">
46 <A NAME="pgfId-825559"></A>outlineobject - The Outline graphics method outlines a set of integer values in any data array. Its primary purpose is to display continental outlines as defined by a surface type array that indicates land, ocean, and sea-ice points. Its class symbol or alias is &quot;Go&quot;.</LI>
47 <LI CLASS="Bulleted">
48 <A NAME="pgfId-825561"></A>scatterobject - The scatter graphics method displays a scatter plot of two 4-dimensional data arrays, e.g. A(x,y,z,t) and B(x,y,z,t). Its class symbol or alias is &quot;GSp&quot;.</LI>
49 <LI CLASS="Bulleted">
50 <A NAME="pgfId-825563"></A>vectorobject - The Vector graphics method displays a vector plot of a 2D vector field. Vectors are located at the coordinate locations and point in the direction of the data vector field. Vector magnitudes are the product of data vector field lengths and a scaling factor. Its class symbol or alias is &quot;Gv&quot;.</LI>
51 <LI CLASS="Bulleted">
52 <A NAME="pgfId-825565"></A>xvsyobject - The XvsY graphics method displays a line plot from two 1D data arrays, that is X(t) and Y(t), where `t' represents the 1D coordinate values. Its class symbol or alias is &quot;GXY&quot;.</LI>
53 <LI CLASS="Bulleted">
54 <A NAME="pgfId-825567"></A>xyvsyobject - The Xyvsy graphics method displays a line plot from a 1D data array, i.e. a plot of X(y) where `y' represents the 1D coordinate values. Its class symbol or alias is &quot;GXy&quot;.</LI>
55 <LI CLASS="Bulleted">
56 <A NAME="pgfId-825569"></A>Yxvsxobject - The Yxvsx graphics method displays a line plot from a 1D data array, i.e. a plot of Y(x) where `x' represents the 1D coordinate values. Its class symbol or alias is &quot;GYx&quot;.</LI>
57 </UL>
58 </DIV>
59 <DIV>
60 <H6 CLASS="Heading2">
61 <A NAME="pgfId-825573"></A>Picture Template Object</H6>
62 <P CLASS="Body">
63 <A NAME="pgfId-825575"></A>A picture template determines the location of each picture segment, the space to be allocated to it, and related properties relevant to its display. The description of the picture template is as follows: </P>
64 <UL>
65 <LI CLASS="Bulleted">
66 <A NAME="pgfId-825577"></A>templateobject - Picture Template attributes describe where and how segments of a picture will be displayed. The segments are graphical representations of: textual identification of the data formatted values of single-valued dimensions and mean, maximum, and minimum data values axes, tick marks, labels, boxes, lines, and a legend that is graphics-method specific the data. Picture templates describe where to display all segments including the data. Its class symbol or alias is &quot;P&quot;.</LI>
67 </UL>
68 </DIV>
69 <DIV>
70 <H6 CLASS="Heading2">
71 <A NAME="pgfId-825581"></A>Data Objects</H6>
72 <P CLASS="Body">
73 <A NAME="pgfId-825583"></A>Array data attribute sets and their associated dimensions are to be modified outside of VCS. See the CDMS, CU, and Numeric module documentation for data extraction, creation and manipulation.</P>
74 </DIV>
75 </DIV>
76 <DIV>
77 <H4 CLASS="Heading1">
78 <A NAME="pgfId-825587"></A><DIV>
79 <IMG SRC="vcs-2.gif">
80 </DIV>
81 VCS Secondary Objects (or Secondary Elements) </H4>
82 <P CLASS="BodyAfterHead">
83 <A NAME="pgfId-881555"></A>A description of each secondary object is warranted before showing their use and usefulness in VCS. It is these secondary objects that defines the detailed specification of the primary objects' attributes. Currently, there are five secondary objects with more to follow.</P>
84 <DIV>
85 <H6 CLASS="Heading2">
86 <A NAME="pgfId-825591"></A>Colormap Object</H6>
87 <P CLASS="Body">
88 <A NAME="pgfId-825593"></A>The colormap object is used to specify, create, and modify colormaps. There are 256 colors and color indices, but only the first 240 color indices can be modified (indices 240 through 255 are reserved for VCS internal use). The description of the colormap object is as follows: </P>
89 <UL>
90 <LI CLASS="Bulleted">
91 <A NAME="pgfId-825597"></A>colormapobject - A colormap contains 240 user-definable colors that are used for graphical displays. The color mixtures are defined in terms of percentages of red, green, and blue colors (0 to 100% for each). The resulting color depends on the specified mixtures of red, green, and blue. Its class symbol or alias is &quot;Cp&quot;.</LI>
92 </UL>
93 <P CLASS="Body">
94 <A NAME="pgfId-825601"></A>Note: VCS colormaps are objects, but they are not referenced like other secondary objects.</P>
95 </DIV>
96 <DIV>
97 <H6 CLASS="Heading2">
98 <A NAME="pgfId-836811"></A>Fillarea Object</H6>
99 <P CLASS="Body">
100 <A NAME="pgfId-825607"></A>The fillarea objects allows the user to edit fillarea attributes, including fillarea interior style, style index, and color index. The description of the fillarea object is as follows:</P>
101 <UL>
102 <LI CLASS="Bulleted">
103 <A NAME="pgfId-825611"></A>fillareaobject - The fill area attributes are used to display regions defined by closed polygons, which can be filled with a uniform color, a pattern, or a hatch style. Attributes specify the style, color, position, and dimensions of the fill area. Its class symbol or alias is &quot;Tf&quot;.</LI>
104 </UL>
105 </DIV>
106 <DIV>
107 <H6 CLASS="Heading2">
108 <A NAME="pgfId-825615"></A>Line Object</H6>
109 <P CLASS="Body">
110 <A NAME="pgfId-825617"></A>The line object allows the editing of line type, width, and color index. The description of the line object is as follows:</P>
111 <UL>
112 <LI CLASS="Bulleted">
113 <A NAME="pgfId-825621"></A>lineobject - The line attributes specify the type, width, and color of the line to be drawn for a graphical display. Its class symbol or alias is &quot;Tl&quot;.</LI>
114 </UL>
115 </DIV>
116 <DIV>
117 <H6 CLASS="Heading2">
118 <A NAME="pgfId-825625"></A>Marker Object</H6>
119 <P CLASS="Body">
120 <A NAME="pgfId-825627"></A>The marker object allows the editing of the marker type, width, and color index. The description of the marker object is as follows:</P>
121 <UL>
122 <LI CLASS="Bulleted">
123 <A NAME="pgfId-825631"></A>markerobject - The marker attribute specifies graphical symbols, symbol sizes, and colors used in appropriate graphics methods. Its class symbol or alias is &quot;Tm&quot;.</LI>
124 </UL>
125 </DIV>
126 <DIV>
127 <H6 CLASS="Heading2">
128 <A NAME="pgfId-825635"></A>Text Objects</H6>
129 <P CLASS="Body">
130 <A NAME="pgfId-837224"></A>Graphical displays often contain textual inscriptions, which provide further information. The text-table object attributes allow the generation of character strings on the VCS Canvas by defining the character font, precision, expansion, spacing, and color. The text-orientation object attributes allow the appearance of text character strings to be changed by defining the character height, up-angle, path, and horizontal and vertical alignment. The text-combined object is a combination of both text-table and text-orientation objects. The description of the text objects are as follows:</P>
131 <UL>
132 <LI CLASS="Bulleted">
133 <A NAME="pgfId-831435"></A>textcombinedobject - The text-combined attributes combine the text-table attributes and a text-orientation attributes together. From combining the two classes, the user is able to set attributes for both classes at once (i.e., define the font, spacing, expansion, color index, height, angle, path, vertical alignment, and horizontal alignment). Its class symbol or alias is &quot;Tc&quot;.</LI>
134 <LI CLASS="Bulleted">
135 <A NAME="pgfId-825643"></A>textorientationobject - The text-orientation attributes set names that define the height, angel, path, horizontal alignment and vertical alignment. Its class symbol or alias is &quot;To&quot;.</LI>
136 <LI CLASS="Bulleted">
137 <A NAME="pgfId-825645"></A>texttableobject - The text-table attributes set names that define the font, spacing, expansion, and color index. Its class symbol or alias is &quot;Tt&quot;.</LI>
138 </UL>
139 </DIV>
140 </DIV>
141 <DIV>
142 <H4 CLASS="Heading1">
143 <A NAME="pgfId-825649"></A><DIV>
144 <IMG SRC="vcs-2.gif">
145 </DIV>
146 Initializing VCS </H4>
147 <DIV>
148 <H6 CLASS="Heading2">
149 <A NAME="pgfId-825653"></A>Importing VCS</H6>
150 <P CLASS="Body">
151 <A NAME="pgfId-825655"></A>In Python, before one can start using a module they must first load it. To load the VCS module, like all other Python modules, either type:</P>
152 <P CLASS="Code">
153 <A NAME="pgfId-825659"></A>&quot;from vcs import *&quot;; or</P>
154 <P CLASS="Code">
155 <A NAME="pgfId-825661"></A>&quot;import vcs&quot;</P>
156 <P CLASS="Body">
157 <A NAME="pgfId-825665"></A>If you use &quot;import vcs&quot;, then you must prepend &quot;vcs&quot; to certain calls (e.g., &quot;vcs.help()&quot;). If you use &quot;from vcs import *&quot;, then you must be aware of possible name clashes. That is, if two packages are imported using the form &quot;from name import *&quot; and both have a &quot;help&quot; function, then Python doesn't know which &quot;help&quot; function to call. For such cases, and indeed as an unspoken rule, it is best to use &quot;import name&quot; to avoid name clashing between packages.</P>
158 </DIV>
159 <DIV>
160 <H6 CLASS="Heading2">
161 <A NAME="pgfId-825669"></A>VCS Initialize</H6>
162 <P CLASS="Body">
163 <A NAME="pgfId-825671"></A>To construct a VCS Canvas object type the following:</P>
164 <P CLASS="Code">
165 <A NAME="pgfId-825675"></A>a=vcs.init()</P>
166 <P CLASS="Body">
167 <A NAME="pgfId-825679"></A>There can only be at most 8 VCS Canvas objects initialized at any given time. When a VCS Canvas object is initialized, the current template and graphics method will be displayed. For example:</P>
168 <P CLASS="Body">
169 <A NAME="pgfId-897824"></A>&quot;`Template' is currently set to P_default. </P>
170 <P CLASS="Body">
171 <A NAME="pgfId-897825"></A>Graphics method 'Boxfill' is currently set to Gfb_default.'&quot;</P>
172 </DIV>
173 </DIV>
174 <DIV>
175 <H4 CLASS="Heading1">
176 <A NAME="pgfId-825683"></A><DIV>
177 <IMG SRC="vcs-2.gif">
178 </DIV>
179 VCS Functions</H4>
180 <DIV>
181 <H6 CLASS="Heading2">
182 <A NAME="pgfId-825687"></A>Plotting in VCS</H6>
183 <P CLASS="Body">
184 <A NAME="pgfId-825689"></A>There are several different ways to display data on the VCS Canvas. The most basic way is to use the plot() function. The simple plot() function command: plot(array1,[array2], [template object], [graphics_method object]). The examples below are showing how to plot a simple array using default values for everything else.</P>
185 <DIV>
186 <H6 CLASS="Heading3">
187 <A NAME="pgfId-825693"></A>Plotting a CDMS Persistent Array</H6>
188 <P CLASS="Code">
189 <A NAME="pgfId-825695"></A>import vcs                                                   # import the VCS module</P>
190 <P CLASS="Code">
191 <A NAME="pgfId-825697"></A>import cdms                                                  # import CDMS for ingesting data</P>
192 <P CLASS="Code">
193 <A NAME="pgfId-825699"></A>cdms.setAutoReshapeMode(`on')                                                          # needed by CDMS module if </P>
194 <P CLASS="Code">
195 <A NAME="pgfId-899840"></A>                                                 # data is reshaped</P>
196 <P CLASS="Code">
197 <A NAME="pgfId-825701"></A>f=cdms.openDataset(`example.nc')                                                     # open file via the cdms module</P>
198 <P CLASS="Code">
199 <A NAME="pgfId-825703"></A>psl=f.variables[`clt'] # get the &quot;psl&quot; variable</P>
200 <P CLASS="Code">
201 <A NAME="pgfId-825705"></A>data=psl[...] # get the &quot;psl&quot; variable data (Note, data is</P>
202 <P CLASS="Code">
203 <A NAME="pgfId-836873"></A>                                                     # now a Numeric array)</P>
204 <P CLASS="Code">
205 <A NAME="pgfId-825709"></A>v=vcs.init() # &quot;v&quot; is an instance of the VCS class </P>
206 <P CLASS="Code">
207 <A NAME="pgfId-825711"></A>                                                     # object (constructor)</P>
208 <P CLASS="Code">
209 <A NAME="pgfId-825713"></A>v.plot(data, variable=psl) # call &quot;plot&quot; function to display the CDMS </P>
210 <P CLASS="Code">
211 <A NAME="pgfId-825715"></A>                                                     # Persistent Array on the VCS Canvas </P>
212 <P CLASS="Code">
213 <A NAME="pgfId-825717"></A>                                                     # using default settings</P>
214 </DIV>
215 <DIV>
216 <H6 CLASS="Heading3">
217 <A NAME="pgfId-825721"></A>Plotting a CU Slab Array</H6>
218 <P CLASS="Code">
219 <A NAME="pgfId-825723"></A>import vcs                                                   # import the VCS module</P>
220 <P CLASS="Code">
221 <A NAME="pgfId-825725"></A>import cu                                                    # import CU for ingesting data</P>
222 <P CLASS="Code">
223 <A NAME="pgfId-825727"></A>f=cu.open(`example.nc')                                                      # open file via the cu module</P>
224 <P CLASS="Code">
225 <A NAME="pgfId-825729"></A>s=f.getslab(`clt') # get the &quot;psl&quot; variable slab</P>
226 <P CLASS="Code">
227 <A NAME="pgfId-825731"></A>v=vcs.init() # &quot;v&quot; is an instance of the VCS </P>
228 <P CLASS="Code">
229 <A NAME="pgfId-825733"></A>                                            # class object (constructor)</P>
230 <P CLASS="Code">
231 <A NAME="pgfId-825735"></A>v.plot(s) # call &quot;plot&quot; function to display the CU &quot;slab&quot; </P>
232 <P CLASS="Code">
233 <A NAME="pgfId-825737"></A>                                     # array on the VCS Canvas using default settings</P>
234 </DIV>
235 <DIV>
236 <H6 CLASS="Heading3">
237 <A NAME="pgfId-825741"></A>Plotting a Numeric Array</H6>
238 <P CLASS="Code">
239 <A NAME="pgfId-825743"></A>import vcs                                                   # import the VCS module</P>
240 <P CLASS="Code">
241 <A NAME="pgfId-825745"></A>import Numeric                                                       # import Numeric for generating data</P>
242 <P CLASS="Code">
243 <A NAME="pgfId-825747"></A>a=Numeric.array([[1,2,3],[4,5,6],[7,8,9]])  # create a simple </P>
244 <P CLASS="Code">
245 <A NAME="pgfId-899841"></A>                                                             # multidimensional array</P>
246 <P CLASS="Code">
247 <A NAME="pgfId-825749"></A>v=vcs.init() # &quot;v&quot; is an instance of the VCS </P>
248 <P CLASS="Code">
249 <A NAME="pgfId-825751"></A>                                                     # class object (constructor)</P>
250 <P CLASS="Code">
251 <A NAME="pgfId-825753"></A>v.plot(a) # call &quot;plot&quot; function to display the Numeric </P>
252 <P CLASS="Code">
253 <A NAME="pgfId-825755"></A>                                                     # &quot;array&quot; data on the VCS Canvas using </P>
254 <P CLASS="Code">
255 <A NAME="pgfId-825757"></A>                                                     # default settings</P>
256 <P CLASS="Code">
257 <A NAME="pgfId-825759"></A>&nbsp;</P>
258 </DIV>
259 <DIV>
260 <H6 CLASS="Heading3">
261 <A NAME="pgfId-825761"></A>Plotting Using Keyword Arguments</H6>
262 <P CLASS="Body">
263 <A NAME="pgfId-825763"></A>The plot function has many overriding keyword arguments that control textural and graphical output of the display. As shown above, the arguments necessary to plot data can be very simple. Below is a more complex plot() function showing the uses of array objects, template object, graphics method object, and key word arguments. Objects placed in brackets &quot;[ ]&quot; indicate optional entries into the plot function:</P>
264 <P CLASS="Code">
265 <A NAME="pgfId-825767"></A>    plot(array1, [array2 [, template [, graphics method [,key=value [, key=value [, ...]]]]]]), </P>
266 <P CLASS="Body">
267 <A NAME="pgfId-825769"></A>      where array1 and array2 are Numeric arrays or CU slabs; template represents a template object; graphics method represents a graphics method object (such as, boxfill or isofill); and key=value represents one variable attributes used to display textual information or to modify the plot's output. If no template is specified, then the default template will be used. If no graphics method is specified, then the default boxfill graphics method is used.</P>
268 <P CLASS="Body">
269 <A NAME="pgfId-837236"></A>Variable attribute keys are:</P>
270 <P CLASS="Code">
271 <A NAME="pgfId-825777"></A>       comment1                              = string                                # Comment plotted above file_comment</P>
272 <P CLASS="Code">
273 <A NAME="pgfId-825779"></A>       comment2                              = string                        # Comment plotted above comment1</P>
274 <P CLASS="Code">
275 <A NAME="pgfId-825781"></A>       comment3                              = string                                        # Comment plotted above comment2</P>
276 <P CLASS="Code">
277 <A NAME="pgfId-825783"></A>       comment4                              = string                                        # Comment plotted above comment3</P>
278 <P CLASS="Code">
279 <A NAME="pgfId-825785"></A>       file_comment                          = string                                # Comment (defaults to file.comment)</P>
280 <P CLASS="Code">
281 <A NAME="pgfId-825787"></A>       hms                                   = string (hh:mm:ss)                             # Hour, minute, second</P>
282 <P CLASS="Code">
283 <A NAME="pgfId-825789"></A>       long_name                             = string                                                # Descriptive variable name</P>
284 <P CLASS="Code">
285 <A NAME="pgfId-825791"></A>       missing_value= (same type as array) # Missing data value </P>
286 <P CLASS="Code">
287 <A NAME="pgfId-836886"></A>                                                                        #(defaults to var.getMissing())</P>
288 <P CLASS="Code">
289 <A NAME="pgfId-825793"></A>       name                                  = string                                                # Variable name (defaults to var.id)</P>
290 <P CLASS="Code">
291 <A NAME="pgfId-825795"></A>       time                                  = cdtime                                                # instance (relative or absolute),</P>
292 <P CLASS="Code">
293 <A NAME="pgfId-825797"></A>                                                                                                                        # cdtime, reltime or abstime value</P>
294 <P CLASS="Code">
295 <A NAME="pgfId-825799"></A>       units                                         = string                                                # Variable units</P>
296 <P CLASS="Code">
297 <A NAME="pgfId-825801"></A>       ymd                                   = string (yy/mm/dd)                             # Year, month, day</P>
298 <P CLASS="Code">
299 <A NAME="pgfId-836889"></A>&nbsp;</P>
300 <P CLASS="Code">
301 <A NAME="pgfId-825805"></A>    Dimension attribute keys (dimension length=n) are:</P>
302 <P CLASS="Code">
303 <A NAME="pgfId-825807"></A>       [x|y|z|t|w]array1                                     = NumPy array of length n                                       # x or y Dimension values</P>
304 <P CLASS="Code">
305 <A NAME="pgfId-825809"></A>       [x|y|z|t|w]array2                                     = NumPy array of length n                                       # x or y Dimension</P>
306 <P CLASS="Code">
307 <A NAME="pgfId-836892"></A>&nbsp;</P>
308 <P CLASS="Code">
309 <A NAME="pgfId-836893"></A> values:</P>
310 <P CLASS="Code">
311 <A NAME="pgfId-825811"></A>       [x|y]bounds                                           = NumPy array of shape (n,2)                                    # x or y Dimension</P>
312 <P CLASS="Code">
313 <A NAME="pgfId-836894"></A>&nbsp;</P>
314 <P CLASS="Code">
315 <A NAME="pgfId-836895"></A> boundaries:</P>
316 <P CLASS="Code">
317 <A NAME="pgfId-825813"></A>       [x|y|z|t|w]name                                       = string                                                        # x or y Dimension name</P>
318 <P CLASS="Code">
319 <A NAME="pgfId-825815"></A>       [x|y|z|t|w]units                                      = string                                                        # x or y Dimension units</P>
320 <P CLASS="Code">
321 <A NAME="pgfId-825817"></A>       [x|y]weights                                          = NumPy array of length n                                # x or y Dimension </P>
322 <P CLASS="Code">
323 <A NAME="pgfId-836896"></A>                                                                        # weights (used # to </P>
324 <P CLASS="Code">
325 <A NAME="pgfId-899844"></A>                                                                      # calculate area-weighted </P>
326 <P CLASS="Code">
327 <A NAME="pgfId-899845"></A>                                                                      # mean)</P>
328 <P CLASS="Code">
329 <A NAME="pgfId-825821"></A>&nbsp;</P>
330 <P CLASS="Code">
331 <A NAME="pgfId-825823"></A>    CDMS object attributes are:</P>
332 <P CLASS="Code">
333 <A NAME="pgfId-825825"></A>       [x|y|z|t|w]axis                               = CDMS axis object                                              # x or y Axis </P>
334 <P CLASS="Code">
335 <A NAME="pgfId-836897"></A>       grid                                          = CDMS grid object                                              # Grid object (e.g. </P>
336 <P CLASS="Code">
337 <A NAME="pgfId-836901"></A>                                                                    # grid=var.getGrid()</P>
338 <P CLASS="Code">
339 <A NAME="pgfId-836898"></A>       variable         = CDMS variable object                                                                       # Variable object</P>
340 <P CLASS="Code">
341 <A NAME="pgfId-825831"></A>&nbsp;</P>
342 <P CLASS="Code">
343 <A NAME="pgfId-825833"></A>    Miscellaneous attributes are:</P>
344 <P CLASS="Code">
345 <A NAME="pgfId-825835"></A>       [x|y]rev         = 0|1                                                                                                # if ==1, reverse the direction of </P>
346 <P CLASS="Code">
347 <A NAME="pgfId-825837"></A>                                                                     # the x or y axis</P>
348 <P CLASS="Code">
349 <A NAME="pgfId-836902"></A>    continents       = 0,1,2,3,4,5,6,7,8,9,10,11   # if &gt;=1, plot continental</P>
350 <P CLASS="Code">
351 <A NAME="pgfId-836925"></A>                                                      # outlines (default: plot if x-axis is</P>
352 <P CLASS="Code">
353 <A NAME="pgfId-836905"></A>                                                      # longitude, y-axis is latitude -or-</P>
354 <P CLASS="Code">
355 <A NAME="pgfId-836906"></A>                                                      # xname is 'longitude' and yname is</P>
356 <P CLASS="Code">
357 <A NAME="pgfId-836907"></A>                                                      # 'latitude'</P>
358 <P CLASS="Code">
359 <A NAME="pgfId-836908"></A>                                                      # The continents-type values are integers</P>
360 <P CLASS="Code">
361 <A NAME="pgfId-836909"></A>                                                      # ranging from 0 to 11, where: </P>
362 <P CLASS="Code">
363 <A NAME="pgfId-836910"></A>                                                      #    0 signifies &quot;No Continents&quot; </P>
364 <P CLASS="Code">
365 <A NAME="pgfId-836911"></A>                                                      #    1 signifies &quot;Fine Continents&quot; </P>
366 <P CLASS="Code">
367 <A NAME="pgfId-836912"></A>                                                      #    2 signifies &quot;Coarse Continents&quot; </P>
368 <P CLASS="Code">
369 <A NAME="pgfId-836913"></A>                                                      #    3 signifies &quot;United States&quot;</P>
370 <P CLASS="Code">
371 <A NAME="pgfId-836914"></A>                                                      #    4 signifies &quot;Political Borders&quot;</P>
372 <P CLASS="Code">
373 <A NAME="pgfId-836915"></A>                                                      #    5 signifies &quot;Rivers&quot;</P>
374 <P CLASS="Code">
375 <A NAME="pgfId-836916"></A>&nbsp;</P>
376 <P CLASS="Code">
377 <A NAME="pgfId-836917"></A>                                                      # Values 6 through 11 signify the line</P>
378 <P CLASS="Code">
379 <A NAME="pgfId-836952"></A>                                                      # type defined by the files</P>
380 <P CLASS="Code">
381 <A NAME="pgfId-836953"></A>                                                      # data_continent_other7</P>
382 <P CLASS="Code">
383 <A NAME="pgfId-836919"></A>                                                      # through data_continent_other12. </P>
384 <P CLASS="Code">
385 <A NAME="pgfId-836920"></A>&nbsp;</P>
386 <P CLASS="Code">
387 <A NAME="pgfId-825849"></A>    Graphics Output in Background Mode:</P>
388 <P CLASS="Code">
389 <A NAME="pgfId-825851"></A>       bg               = 0|1                                                                                        # if==1, create images in the </P>
390 <P CLASS="Code">
391 <A NAME="pgfId-825853"></A>                                                        # background (Don't display the</P>
392 <P CLASS="Code">
393 <A NAME="pgfId-836959"></A>                                                        # VCS Canvas)</P>
394 <P CLASS="Body">
395 <A NAME="pgfId-825859"></A> Note: More specific attributes take precedence over general attributes. In particular, specific attributes override variable object attributes; dimension attributes and arrays override axis objects, which override grid objects, which override variable objects.</P>
396 <P CLASS="Body">
397 <A NAME="pgfId-825863"></A>For example, if both 'file_comment' and 'variable' keywords are specified, the value of 'file_comment' is used instead of the file comment in the parent of variable. Similarly, if both 'xaxis' and 'grid' keywords are specified, the value of 'xaxis' takes precedence over the x-axis of grid.</P>
398 </DIV>
399 <DIV>
400 <H6 CLASS="Heading3">
401 <A NAME="pgfId-825867"></A>Example Plotting Using Keyword Arguments:</H6>
402 <P CLASS="Body">
403 <A NAME="pgfId-825871"></A>When using the plot() function, keep in mind that all keyword arguments must be last. Note that the order of the objects is not restrictive, just as long as they are before any keyword argument. See the two plot() function examples below.</P>
404 <P CLASS="Code">
405 <A NAME="pgfId-825875"></A>import vcs                                                   # import the VCS module</P>
406 <P CLASS="Code">
407 <A NAME="pgfId-825877"></A>import cu                                                    # import CU for ingesting data</P>
408 <P CLASS="Code">
409 <A NAME="pgfId-825879"></A>f=cu.open(`example.nc')                                                      # open file via the cu module</P>
410 <P CLASS="Code">
411 <A NAME="pgfId-825881"></A>s=f.getslab(`psl') # get the &quot;psl&quot; variable slab</P>
412 <P CLASS="Code">
413 <A NAME="pgfId-825883"></A>v=vcs.init() # &quot;v&quot; is an instance of the VCS </P>
414 <P CLASS="Code">
415 <A NAME="pgfId-825885"></A>                                            # class object (constructor)</P>
416 <P CLASS="Code">
417 <A NAME="pgfId-825887"></A>t=x.createtemplate('new')                                                            # create a new template from the default </P>
418 <P CLASS="Code">
419 <A NAME="pgfId-836973"></A>                                            # template</P>
420 <P CLASS="Code">
421 <A NAME="pgfId-825889"></A>iso=x.createisofill(`new')                                                   # create a new isofill graphics method from </P>
422 <P CLASS="Code">
423 <A NAME="pgfId-836974"></A>                                            # the default isofill</P>
424 <P CLASS="Code">
425 <A NAME="pgfId-825893"></A>x.plot(s, t, iso, continents=0) # call &quot;plot&quot; function to display the CU </P>
426 <P CLASS="Code">
427 <A NAME="pgfId-836977"></A>                                            # slab &quot;s&quot; using</P>
428 <P CLASS="Code">
429 <A NAME="pgfId-825895"></A>                                                     # newly created template &quot;t&quot; and isofill</P>
430 <P CLASS="Code">
431 <A NAME="pgfId-836978"></A>                                            # graphics method &quot;iso&quot; and turn </P>
432 <P CLASS="Code">
433 <A NAME="pgfId-836981"></A>                                            # continents off</P>
434 <P CLASS="Code">
435 <A NAME="pgfId-825899"></A>x.clear()                                                                            # clear the VCS Canvas of all plots</P>
436 <P CLASS="Code">
437 <A NAME="pgfId-825901"></A>x.plot(t,iso,s,continents=0)                                                 # shows that the order of the objects are irrelevant, but</P>
438 <P CLASS="Code">
439 <A NAME="pgfId-825903"></A>                                                     # not that all keyword arguments must be last.</P>
440 </DIV>
441 </DIV>
442 <DIV>
443 <H6 CLASS="Heading2">
444 <A NAME="pgfId-825907"></A>Other Plotting functions in VCS</H6>
445 <P CLASS="Body">
446 <A NAME="pgfId-825909"></A>There are other ways to plot data in VCS. These additional plotting routines utilizes the same parameter format as the plot() function. What makes these plotting functions unique are their direct association with the graphics methods. That is, each graphics method has its own plot function. For example, if the user wishes to plot data using the isofill graphics method, then the function isofill() can be used instead of the plot() function. If the isofill object is not specified then the default isofill graphics method will be used. The user can also pass down the name of the graphics method to be used. In some ways, the graphics method plot functions can be thought of as short cuts to plotting data.</P>
447 <P CLASS="Body">
448 <A NAME="pgfId-831343"></A>Note, if a different graphics method object is specified and passed down to one of these alternate plot functions, then the alternate plot function will behave as the plot() function and plot the data in the specified graphics method format.</P>
449 <P CLASS="Body">
450 <A NAME="pgfId-831325"></A>See table below for additional plot functions.</P>
451 <TABLE>
452 <CAPTION>
453 <H6 CLASS="TableTitle">
454 <A NAME="pgfId-898659"></A>&nbsp;</H6>
455 </CAPTION>
456 <TR>
457 <TH ROWSPAN="1" COLSPAN="1">
458 <P CLASS="CellHeading">
459 <A NAME="pgfId-898663"></A>Plot Function</P>
460 </TH>
461 <TH ROWSPAN="1" COLSPAN="1">
462 <P CLASS="CellHeading">
463 <A NAME="pgfId-898665"></A>Description</P>
464 </TH>
465 </TR>
466 <TR>
467 <TD ROWSPAN="1" COLSPAN="1">
468 <P CLASS="CellBody">
469 <A NAME="pgfId-898752"></A>boxfill()</P>
470 </TD>
471 <TD ROWSPAN="1" COLSPAN="1">
472 <P CLASS="CellBody">
473 <A NAME="pgfId-898754"></A>plot data using the boxfill graphics method</P>
474 </TD>
475 </TR>
476 <TR>
477 <TD ROWSPAN="1" COLSPAN="1">
478 <P CLASS="CellBody">
479 <A NAME="pgfId-898667"></A>continents()</P>
480 </TD>
481 <TD ROWSPAN="1" COLSPAN="1">
482 <P CLASS="CellBody">
483 <A NAME="pgfId-898669"></A>plot to the screen continental graphics method</P>
484 </TD>
485 </TR>
486 <TR>
487 <TD ROWSPAN="1" COLSPAN="1">
488 <P CLASS="CellBody">
489 <A NAME="pgfId-898671"></A>isofill()</P>
490 </TD>
491 <TD ROWSPAN="1" COLSPAN="1">
492 <P CLASS="CellBody">
493 <A NAME="pgfId-898673"></A>plot data using the isofill graphics method</P>
494 </TD>
495 </TR>
496 <TR>
497 <TD ROWSPAN="1" COLSPAN="1">
498 <P CLASS="CellBody">
499 <A NAME="pgfId-898681"></A>isoline()</P>
500 </TD>
501 <TD ROWSPAN="1" COLSPAN="1">
502 <P CLASS="CellBody">
503 <A NAME="pgfId-898683"></A>plot data using the isoline graphics method</P>
504 </TD>
505 </TR>
506 <TR>
507 <TD ROWSPAN="1" COLSPAN="1">
508 <P CLASS="CellBody">
509 <A NAME="pgfId-898677"></A>outfill()</P>
510 </TD>
511 <TD ROWSPAN="1" COLSPAN="1">
512 <P CLASS="CellBody">
513 <A NAME="pgfId-898679"></A>plot data using the outfill graphics method</P>
514 </TD>
515 </TR>
516 <TR>
517 <TD ROWSPAN="1" COLSPAN="1">
518 <P CLASS="CellBody">
519 <A NAME="pgfId-898723"></A>outline()</P>
520 </TD>
521 <TD ROWSPAN="1" COLSPAN="1">
522 <P CLASS="CellBody">
523 <A NAME="pgfId-898725"></A>plot data using the outline graphics method</P>
524 </TD>
525 </TR>
526 <TR>
527 <TD ROWSPAN="1" COLSPAN="1">
528 <P CLASS="CellBody">
529 <A NAME="pgfId-898719"></A>scatter()</P>
530 </TD>
531 <TD ROWSPAN="1" COLSPAN="1">
532 <P CLASS="CellBody">
533 <A NAME="pgfId-898721"></A>plot data using the scatter graphics method</P>
534 </TD>
535 </TR>
536 <TR>
537 <TD ROWSPAN="1" COLSPAN="1">
538 <P CLASS="CellBody">
539 <A NAME="pgfId-898715"></A>vector()</P>
540 </TD>
541 <TD ROWSPAN="1" COLSPAN="1">
542 <P CLASS="CellBody">
543 <A NAME="pgfId-898717"></A>plot data using the vector graphics method</P>
544 </TD>
545 </TR>
546 <TR>
547 <TD ROWSPAN="1" COLSPAN="1">
548 <P CLASS="CellBody">
549 <A NAME="pgfId-898711"></A>xvsy()</P>
550 </TD>
551 <TD ROWSPAN="1" COLSPAN="1">
552 <P CLASS="CellBody">
553 <A NAME="pgfId-898713"></A>plot data using the xvsy graphics method</P>
554 </TD>
555 </TR>
556 <TR>
557 <TD ROWSPAN="1" COLSPAN="1">
558 <P CLASS="CellBody">
559 <A NAME="pgfId-898707"></A>xyvsy()</P>
560 </TD>
561 <TD ROWSPAN="1" COLSPAN="1">
562 <P CLASS="CellBody">
563 <A NAME="pgfId-898709"></A>plot data using the xyvsy graphics method</P>
564 </TD>
565 </TR>
566 <TR>
567 <TD ROWSPAN="1" COLSPAN="1">
568 <P CLASS="CellBody">
569 <A NAME="pgfId-898703"></A>yxvsy()</P>
570 </TD>
571 <TD ROWSPAN="1" COLSPAN="1">
572 <P CLASS="CellBody">
573 <A NAME="pgfId-898705"></A>plot data using the yxvsy graphics method</P>
574 </TD>
575 </TR>
576 </TABLE>
577 </DIV>
578 <DIV>
579 <H6 CLASS="Heading2">
580 <A NAME="pgfId-831361"></A>Checking VCS Objects</H6>
581 <P CLASS="Body">
582 <A NAME="pgfId-825913"></A>In some cases, there my be a need to check or verify an object in VCS. For these cases, you may want to use the query functions below.</P>
583 <P CLASS="Body">
584 <A NAME="pgfId-899301"></A>Check for VCS graphics method objects:</P>
585 <TABLE>
586 <CAPTION>
587 <H6 CLASS="TableTitle">
588 <A NAME="pgfId-898775"></A>&nbsp;</H6>
589 </CAPTION>
590 <TR>
591 <TH ROWSPAN="1" COLSPAN="1">
592 <P CLASS="CellHeading">
593 <A NAME="pgfId-898779"></A>Query Function</P>
594 </TH>
595 <TH ROWSPAN="1" COLSPAN="1">
596 <P CLASS="CellHeading">
597 <A NAME="pgfId-898781"></A>Description</P>
598 </TH>
599 </TR>
600 <TR>
601 <TD ROWSPAN="1" COLSPAN="1">
602 <P CLASS="CellBody">
603 <A NAME="pgfId-898807"></A>isboxfill()</P>
604 </TD>
605 <TD ROWSPAN="1" COLSPAN="1">
606 <P CLASS="CellBody">
607 <A NAME="pgfId-898809"></A>verifies a boxfill graphics method object</P>
608 </TD>
609 </TR>
610 <TR>
611 <TD ROWSPAN="1" COLSPAN="1">
612 <P CLASS="CellBody">
613 <A NAME="pgfId-898811"></A>iscontinents()</P>
614 </TD>
615 <TD ROWSPAN="1" COLSPAN="1">
616 <P CLASS="CellBody">
617 <A NAME="pgfId-898813"></A>verifies a continents graphics method object</P>
618 </TD>
619 </TR>
620 <TR>
621 <TD ROWSPAN="1" COLSPAN="1">
622 <P CLASS="CellBody">
623 <A NAME="pgfId-898815"></A>isisofill()</P>
624 </TD>
625 <TD ROWSPAN="1" COLSPAN="1">
626 <P CLASS="CellBody">
627 <A NAME="pgfId-898817"></A>verifies an isofill graphics method object</P>
628 </TD>
629 </TR>
630 <TR>
631 <TD ROWSPAN="1" COLSPAN="1">
632 <P CLASS="CellBody">
633 <A NAME="pgfId-898819"></A>isisoline()</P>
634 </TD>
635 <TD ROWSPAN="1" COLSPAN="1">
636 <P CLASS="CellBody">
637 <A NAME="pgfId-898821"></A>verifies an isoline graphics method object</P>
638 </TD>
639 </TR>
640 <TR>
641 <TD ROWSPAN="1" COLSPAN="1">
642 <P CLASS="CellBody">
643 <A NAME="pgfId-898823"></A>isoutfill()</P>
644 </TD>
645 <TD ROWSPAN="1" COLSPAN="1">
646 <P CLASS="CellBody">
647 <A NAME="pgfId-898825"></A>verifies an outfill graphics method object</P>
648 </TD>
649 </TR>
650 <TR>
651 <TD ROWSPAN="1" COLSPAN="1">
652 <P CLASS="CellBody">
653 <A NAME="pgfId-898827"></A>isoutline()</P>
654 </TD>
655 <TD ROWSPAN="1" COLSPAN="1">
656 <P CLASS="CellBody">
657 <A NAME="pgfId-898829"></A>verifies an outline graphics method object</P>
658 </TD>
659 </TR>
660 <TR>
661 <TD ROWSPAN="1" COLSPAN="1">
662 <P CLASS="CellBody">
663 <A NAME="pgfId-898831"></A>isscatter() </P>
664 </TD>
665 <TD ROWSPAN="1" COLSPAN="1">
666 <P CLASS="CellBody">
667 <A NAME="pgfId-898833"></A>verifies a scatter graphics method object</P>
668 </TD>
669 </TR>
670 <TR>
671 <TD ROWSPAN="1" COLSPAN="1">
672 <P CLASS="CellBody">
673 <A NAME="pgfId-898835"></A>isvector()</P>
674 </TD>
675 <TD ROWSPAN="1" COLSPAN="1">
676 <P CLASS="CellBody">
677 <A NAME="pgfId-898837"></A>verifies a vector graphics method object</P>
678 </TD>
679 </TR>
680 <TR>
681 <TD ROWSPAN="1" COLSPAN="1">
682 <P CLASS="CellBody">
683 <A NAME="pgfId-898839"></A>isxvsy()</P>
684 </TD>
685 <TD ROWSPAN="1" COLSPAN="1">
686 <P CLASS="CellBody">
687 <A NAME="pgfId-898841"></A>verifies a xvsy graphics method object</P>
688 </TD>
689 </TR>
690 <TR>
691 <TD ROWSPAN="1" COLSPAN="1">
692 <P CLASS="CellBody">
693 <A NAME="pgfId-898843"></A>isxyvsy()</P>
694 </TD>
695 <TD ROWSPAN="1" COLSPAN="1">
696 <P CLASS="CellBody">
697 <A NAME="pgfId-898845"></A>verifies a xyvsy graphics method object</P>
698 </TD>
699 </TR>
700 <TR>
701 <TD ROWSPAN="1" COLSPAN="1">
702 <P CLASS="CellBody">
703 <A NAME="pgfId-898847"></A>isyxvsx()</P>
704 </TD>
705 <TD ROWSPAN="1" COLSPAN="1">
706 <P CLASS="CellBody">
707 <A NAME="pgfId-898849"></A>verifies a yxvsx graphics method object</P>
708 </TD>
709 </TR>
710 <TR>
711 <TD ROWSPAN="1" COLSPAN="1">
712 <P CLASS="CellBody">
713 <A NAME="pgfId-898851"></A>isgraphicsmethod()</P>
714 </TD>
715 <TD ROWSPAN="1" COLSPAN="1">
716 <P CLASS="CellBody">
717 <A NAME="pgfId-898853"></A>verifies if an object is one of the graphics methods: boxfill, isofill, isoline, outfill, outline, continents, scatter, vector, xvsy, xyvsy, or yxvsx.</P>
718 </TD>
719 </TR>
720 <TR>
721 <TD ROWSPAN="1" COLSPAN="1">
722 <P CLASS="CellBody">
723 <A NAME="pgfId-910563"></A>graphicsmethodname()</P>
724 </TD>
725 <TD ROWSPAN="1" COLSPAN="1">
726 <P CLASS="CellBody">
727 <A NAME="pgfId-910565"></A>Returns the name of the graphics methods object. Returns either: `boxfill', `isofill', `isoline', `outfill', `outline', `continents', `scatter', `vector', `xvsy', `xyvsy', or `yxvsx'.</P>
728 </TD>
729 </TR>
730 </TABLE>
731 <P CLASS="Body">
732 <A NAME="pgfId-899304"></A>Check for VCS secondary objects:</P>
733 <TABLE>
734 <CAPTION>
735 <H6 CLASS="TableTitle">
736 <A NAME="pgfId-899211"></A>&nbsp;</H6>
737 </CAPTION>
738 <TR>
739 <TH ROWSPAN="1" COLSPAN="1">
740 <P CLASS="CellHeading">
741 <A NAME="pgfId-899215"></A>Query Function</P>
742 </TH>
743 <TH ROWSPAN="1" COLSPAN="1">
744 <P CLASS="CellHeading">
745 <A NAME="pgfId-899217"></A>Description</P>
746 </TH>
747 </TR>
748 <TR>
749 <TD ROWSPAN="1" COLSPAN="1">
750 <P CLASS="CellBody">
751 <A NAME="pgfId-899247"></A>isfillarea() </P>
752 </TD>
753 <TD ROWSPAN="1" COLSPAN="1">
754 <P CLASS="CellBody">
755 <A NAME="pgfId-899249"></A>verifies a fillarea secondary object</P>
756 </TD>
757 </TR>
758 <TR>
759 <TD ROWSPAN="1" COLSPAN="1">
760 <P CLASS="CellBody">
761 <A NAME="pgfId-899251"></A>isline() </P>
762 </TD>
763 <TD ROWSPAN="1" COLSPAN="1">
764 <P CLASS="CellBody">
765 <A NAME="pgfId-899253"></A>verifies a line secondary object</P>
766 </TD>
767 </TR>
768 <TR>
769 <TD ROWSPAN="1" COLSPAN="1">
770 <P CLASS="CellBody">
771 <A NAME="pgfId-899255"></A>ismarker()</P>
772 </TD>
773 <TD ROWSPAN="1" COLSPAN="1">
774 <P CLASS="CellBody">
775 <A NAME="pgfId-899257"></A>verifies a marker secondary object</P>
776 </TD>
777 </TR>
778 <TR>
779 <TD ROWSPAN="1" COLSPAN="1">
780 <P CLASS="CellBody">
781 <A NAME="pgfId-899259"></A>istextcombined()</P>
782 </TD>
783 <TD ROWSPAN="1" COLSPAN="1">
784 <P CLASS="CellBody">
785 <A NAME="pgfId-899261"></A>verifies a text-combined secondary object</P>
786 </TD>
787 </TR>
788 <TR>
789 <TD ROWSPAN="1" COLSPAN="1">
790 <P CLASS="CellBody">
791 <A NAME="pgfId-899263"></A>istextorientation()</P>
792 </TD>
793 <TD ROWSPAN="1" COLSPAN="1">
794 <P CLASS="CellBody">
795 <A NAME="pgfId-899265"></A>verifies a text-orientation secondary object</P>
796 </TD>
797 </TR>
798 <TR>
799 <TD ROWSPAN="1" COLSPAN="1">
800 <P CLASS="CellBody">
801 <A NAME="pgfId-899267"></A>istexttable()</P>
802 </TD>
803 <TD ROWSPAN="1" COLSPAN="1">
804 <P CLASS="CellBody">
805 <A NAME="pgfId-899269"></A>verifies a text-table secondary object</P>
806 </TD>
807 </TR>
808 <TR>
809 <TD ROWSPAN="1" COLSPAN="1">
810 <P CLASS="CellBody">
811 <A NAME="pgfId-899271"></A>issecondaryobject()</P>
812 </TD>
813 <TD ROWSPAN="1" COLSPAN="1">
814 <P CLASS="CellBody">
815 <A NAME="pgfId-899273"></A>verifies if an object is one of the secondary objects: fillarea, line, marker, textcombined, textorientation, or texttable</P>
816 </TD>
817 </TR>
818 </TABLE>
819 <P CLASS="Body">
820 <A NAME="pgfId-899307"></A>Check for VCS template objects:</P>
821 <TABLE>
822 <CAPTION>
823 <H6 CLASS="TableTitle">
824 <A NAME="pgfId-899280"></A>&nbsp;</H6>
825 </CAPTION>
826 <TR>
827 <TH ROWSPAN="1" COLSPAN="1">
828 <P CLASS="CellHeading">
829 <A NAME="pgfId-899292"></A>Query Function</P>
830 </TH>
831 <TH ROWSPAN="1" COLSPAN="1">
832 <P CLASS="CellHeading">
833 <A NAME="pgfId-899294"></A>Description</P>
834 </TH>
835 </TR>
836 <TR>
837 <TD ROWSPAN="1" COLSPAN="1">
838 <P CLASS="CellBody">
839 <A NAME="pgfId-899288"></A>istemplate()</P>
840 </TD>
841 <TD ROWSPAN="1" COLSPAN="1">
842 <P CLASS="CellBody">
843 <A NAME="pgfId-899290"></A>verifies a template object</P>
844 </TD>
845 </TR>
846 </TABLE>
847 </DIV>
848 <DIV>
849 <H6 CLASS="Heading2">
850 <A NAME="pgfId-899129"></A>Creating VCS Objects</H6>
851 <P CLASS="Body">
852 <A NAME="pgfId-831449"></A>The create functions allow the user to create VCS objects which can be modified directly to produce the desired results. Since the VCS &quot;default&quot; objects do allow modifications, it is best to either create a new VCS object or get an existing one. When a VCS object is created, it is stored in an internal table for later use and/or recall.</P>
853 <P CLASS="Body">
854 <A NAME="pgfId-831475"></A>Create the following VCS objects:</P>
855 <TABLE>
856 <CAPTION>
857 <H6 CLASS="TableTitle">
858 <A NAME="pgfId-899470"></A>&nbsp;</H6>
859 </CAPTION>
860 <TR>
861 <TH ROWSPAN="1" COLSPAN="1">
862 <P CLASS="CellHeading">
863 <A NAME="pgfId-899474"></A>Create</P>
864 </TH>
865 <TH ROWSPAN="1" COLSPAN="1">
866 <P CLASS="CellHeading">
867 <A NAME="pgfId-899476"></A>Description</P>
868 </TH>
869 </TR>
870 <TR>
871 <TD ROWSPAN="1" COLSPAN="1">
872 <P CLASS="CellBody">
873 <A NAME="pgfId-899478"></A>createboxfill() </P>
874 </TD>
875 <TD ROWSPAN="1" COLSPAN="1">
876 <P CLASS="CellBody">
877 <A NAME="pgfId-899480"></A>creates a new boxfill graphics method object</P>
878 </TD>
879 </TR>
880 <TR>
881 <TD ROWSPAN="1" COLSPAN="1">
882 <P CLASS="CellBody">
883 <A NAME="pgfId-899482"></A>createcontinents()</P>
884 </TD>
885 <TD ROWSPAN="1" COLSPAN="1">
886 <P CLASS="CellBody">
887 <A NAME="pgfId-899484"></A>creates a new continents graphics method object</P>
888 </TD>
889 </TR>
890 <TR>
891 <TD ROWSPAN="1" COLSPAN="1">
892 <P CLASS="CellBody">
893 <A NAME="pgfId-899486"></A>createfillarea()</P>
894 </TD>
895 <TD ROWSPAN="1" COLSPAN="1">
896 <P CLASS="CellBody">
897 <A NAME="pgfId-899488"></A>creates a new fillarea secondary object</P>
898 </TD>
899 </TR>
900 <TR>
901 <TD ROWSPAN="1" COLSPAN="1">
902 <P CLASS="CellBody">
903 <A NAME="pgfId-899490"></A>createisofill()</P>
904 </TD>
905 <TD ROWSPAN="1" COLSPAN="1">
906 <P CLASS="CellBody">
907 <A NAME="pgfId-899492"></A>creates a new isofill graphics method object</P>
908 </TD>
909 </TR>
910 <TR>
911 <TD ROWSPAN="1" COLSPAN="1">
912 <P CLASS="CellBody">
913 <A NAME="pgfId-899494"></A>createisoline()</P>
914 </TD>
915 <TD ROWSPAN="1" COLSPAN="1">
916 <P CLASS="CellBody">
917 <A NAME="pgfId-899496"></A>creates a new isoline graphics method object</P>
918 </TD>
919 </TR>
920 <TR>
921 <TD ROWSPAN="1" COLSPAN="1">
922 <P CLASS="CellBody">
923 <A NAME="pgfId-899498"></A>createline() </P>
924 </TD>
925 <TD ROWSPAN="1" COLSPAN="1">
926 <P CLASS="CellBody">
927 <A NAME="pgfId-899500"></A>creates a new line secondary object</P>
928 </TD>
929 </TR>
930 <TR>
931 <TD ROWSPAN="1" COLSPAN="1">
932 <P CLASS="CellBody">
933 <A NAME="pgfId-899502"></A>createmarker()</P>
934 </TD>
935 <TD ROWSPAN="1" COLSPAN="1">
936 <P CLASS="CellBody">
937 <A NAME="pgfId-899504"></A>creates a new marker secondary object</P>
938 </TD>
939 </TR>
940 <TR>
941 <TD ROWSPAN="1" COLSPAN="1">
942 <P CLASS="CellBody">
943 <A NAME="pgfId-899506"></A>createoutfill()</P>
944 </TD>
945 <TD ROWSPAN="1" COLSPAN="1">
946 <P CLASS="CellBody">
947 <A NAME="pgfId-899508"></A>creates a new outfill graphics method object</P>
948 </TD>
949 </TR>
950 <TR>
951 <TD ROWSPAN="1" COLSPAN="1">
952 <P CLASS="CellBody">
953 <A NAME="pgfId-899510"></A>createoutline()</P>
954 </TD>
955 <TD ROWSPAN="1" COLSPAN="1">
956 <P CLASS="CellBody">
957 <A NAME="pgfId-899512"></A>creates a new outline graphics method object</P>
958 </TD>
959 </TR>
960 <TR>
961 <TD ROWSPAN="1" COLSPAN="1">
962 <P CLASS="CellBody">
963 <A NAME="pgfId-899514"></A>createscatter()</P>
964 </TD>
965 <TD ROWSPAN="1" COLSPAN="1">
966 <P CLASS="CellBody">
967 <A NAME="pgfId-899516"></A>creates a new scatter graphics method object</P>
968 </TD>
969 </TR>
970 <TR>
971 <TD ROWSPAN="1" COLSPAN="1">
972 <P CLASS="CellBody">
973 <A NAME="pgfId-899518"></A>createtextcombined()</P>
974 </TD>
975 <TD ROWSPAN="1" COLSPAN="1">
976 <P CLASS="CellBody">
977 <A NAME="pgfId-899520"></A>creates a new text-combined secondary object</P>
978 </TD>
979 </TR>
980 <TR>
981 <TD ROWSPAN="1" COLSPAN="1">
982 <P CLASS="CellBody">
983 <A NAME="pgfId-899522"></A>createtextorientation()</P>
984 </TD>
985 <TD ROWSPAN="1" COLSPAN="1">
986 <P CLASS="CellBody">
987 <A NAME="pgfId-899524"></A>creates a new text-orientation secondary object</P>
988 </TD>
989 </TR>
990 <TR>
991 <TD ROWSPAN="1" COLSPAN="1">
992 <P CLASS="CellBody">
993 <A NAME="pgfId-899526"></A>createtexttable() </P>
994 </TD>
995 <TD ROWSPAN="1" COLSPAN="1">
996 <P CLASS="CellBody">
997 <A NAME="pgfId-899528"></A>creates a new text-table secondary object</P>
998 </TD>
999 </TR>
1000 <TR>
1001 <TD ROWSPAN="1" COLSPAN="1">
1002 <P CLASS="CellBody">
1003 <A NAME="pgfId-899530"></A>createvector()</P>
1004 </TD>
1005 <TD ROWSPAN="1" COLSPAN="1">
1006 <P CLASS="CellBody">
1007 <A NAME="pgfId-899532"></A>creates a new vector graphics method object</P>
1008 </TD>
1009 </TR>
1010 <TR>
1011 <TD ROWSPAN="1" COLSPAN="1">
1012 <P CLASS="CellBody">
1013 <A NAME="pgfId-899534"></A>createxvsy()</P>
1014 </TD>
1015 <TD ROWSPAN="1" COLSPAN="1">
1016 <P CLASS="CellBody">
1017 <A NAME="pgfId-899536"></A>creates a new xvsy graphics method object</P>
1018 </TD>
1019 </TR>
1020 <TR>
1021 <TD ROWSPAN="1" COLSPAN="1">
1022 <P CLASS="CellBody">
1023 <A NAME="pgfId-899542"></A>createxyvsy()</P>
1024 </TD>
1025 <TD ROWSPAN="1" COLSPAN="1">
1026 <P CLASS="CellBody">
1027 <A NAME="pgfId-899544"></A>creates a new xyvsy graphics method object</P>
1028 </TD>
1029 </TR>
1030 <TR>
1031 <TD ROWSPAN="1" COLSPAN="1">
1032 <P CLASS="CellBody">
1033 <A NAME="pgfId-899538"></A>createyxvsx()</P>
1034 </TD>
1035 <TD ROWSPAN="1" COLSPAN="1">
1036 <P CLASS="CellBody">
1037 <A NAME="pgfId-899540"></A>creates a new xyvsy graphics method object</P>
1038 </TD>
1039 </TR>
1040 </TABLE>
1041 </DIV>
1042 <DIV>
1043 <H6 CLASS="Heading2">
1044 <A NAME="pgfId-831513"></A>Get Existing VCS Objects</H6>
1045 <P CLASS="Body">
1046 <A NAME="pgfId-831478"></A>The get functions are used to obtain VCS objects that exist in the object memory tables. The get function directly manipulates the object's attributes in memory. If the object is used to display data on a plot and is manipulated by the user, then the plot will be automatically updated.</P>
1047 <P CLASS="Body">
1048 <A NAME="pgfId-831520"></A>Get the following VCS objects:</P>
1049 <TABLE>
1050 <CAPTION>
1051 <H6 CLASS="TableTitle">
1052 <A NAME="pgfId-899585"></A>&nbsp;</H6>
1053 </CAPTION>
1054 <TR>
1055 <TH ROWSPAN="1" COLSPAN="1">
1056 <P CLASS="CellHeading">
1057 <A NAME="pgfId-899589"></A>Get</P>
1058 </TH>
1059 <TH ROWSPAN="1" COLSPAN="1">
1060 <P CLASS="CellHeading">
1061 <A NAME="pgfId-899591"></A>Description</P>
1062 </TH>
1063 </TR>
1064 <TR>
1065 <TD ROWSPAN="1" COLSPAN="1">
1066 <P CLASS="CellBody">
1067 <A NAME="pgfId-899593"></A>getboxfill()</P>
1068 </TD>
1069 <TD ROWSPAN="1" COLSPAN="1">
1070 <P CLASS="CellBody">
1071 <A NAME="pgfId-899595"></A>get specified boxfill graphics method and create boxfill object</P>
1072 </TD>
1073 </TR>
1074 <TR>
1075 <TD ROWSPAN="1" COLSPAN="1">
1076 <P CLASS="CellBody">
1077 <A NAME="pgfId-899597"></A>getcontinents()</P>
1078 </TD>
1079 <TD ROWSPAN="1" COLSPAN="1">
1080 <P CLASS="CellBody">
1081 <A NAME="pgfId-899599"></A>get specified continents graphics method and create continents object</P>
1082 </TD>
1083 </TR>
1084 <TR>
1085 <TD ROWSPAN="1" COLSPAN="1">
1086 <P CLASS="CellBody">
1087 <A NAME="pgfId-899601"></A>getfillarea()</P>
1088 </TD>
1089 <TD ROWSPAN="1" COLSPAN="1">
1090 <P CLASS="CellBody">
1091 <A NAME="pgfId-899603"></A>get specified fillarea secondary object and create fillarea object</P>
1092 </TD>
1093 </TR>
1094 <TR>
1095 <TD ROWSPAN="1" COLSPAN="1">
1096 <P CLASS="CellBody">
1097 <A NAME="pgfId-899605"></A>getisofill()</P>
1098 </TD>
1099 <TD ROWSPAN="1" COLSPAN="1">
1100 <P CLASS="CellBody">
1101 <A NAME="pgfId-899607"></A>get specified isofill graphics method and create fillarea object</P>
1102 </TD>
1103 </TR>
1104 <TR>
1105 <TD ROWSPAN="1" COLSPAN="1">
1106 <P CLASS="CellBody">
1107 <A NAME="pgfId-899609"></A>getisoline()</P>
1108 </TD>
1109 <TD ROWSPAN="1" COLSPAN="1">
1110 <P CLASS="CellBody">
1111 <A NAME="pgfId-899611"></A>get specified isoline graphics method and create isoline object</P>
1112 </TD>
1113 </TR>
1114 <TR>
1115 <TD ROWSPAN="1" COLSPAN="1">
1116 <P CLASS="CellBody">
1117 <A NAME="pgfId-899613"></A>getline()</P>
1118 </TD>
1119 <TD ROWSPAN="1" COLSPAN="1">
1120 <P CLASS="CellBody">
1121 <A NAME="pgfId-899615"></A>get specified line secondary object and create line object</P>
1122 </TD>
1123 </TR>
1124 <TR>
1125 <TD ROWSPAN="1" COLSPAN="1">
1126 <P CLASS="CellBody">
1127 <A NAME="pgfId-899617"></A>getmarker()</P>
1128 </TD>
1129 <TD ROWSPAN="1" COLSPAN="1">
1130 <P CLASS="CellBody">
1131 <A NAME="pgfId-899619"></A>get specified marker secondary object and create marker object</P>
1132 </TD>
1133 </TR>
1134 <TR>
1135 <TD ROWSPAN="1" COLSPAN="1">
1136 <P CLASS="CellBody">
1137 <A NAME="pgfId-899621"></A>getoutfill()</P>
1138 </TD>
1139 <TD ROWSPAN="1" COLSPAN="1">
1140 <P CLASS="CellBody">
1141 <A NAME="pgfId-899623"></A>get specified outfill graphics method and create outfill object</P>
1142 </TD>
1143 </TR>
1144 <TR>
1145 <TD ROWSPAN="1" COLSPAN="1">
1146 <P CLASS="CellBody">
1147 <A NAME="pgfId-899625"></A>getoutline()</P>
1148 </TD>
1149 <TD ROWSPAN="1" COLSPAN="1">
1150 <P CLASS="CellBody">
1151 <A NAME="pgfId-899627"></A>get specifed outline graphics method and create outline object</P>
1152 </TD>
1153 </TR>
1154 <TR>
1155 <TD ROWSPAN="1" COLSPAN="1">
1156 <P CLASS="CellBody">
1157 <A NAME="pgfId-899629"></A>getscatter()</P>
1158 </TD>
1159 <TD ROWSPAN="1" COLSPAN="1">
1160 <P CLASS="CellBody">
1161 <A NAME="pgfId-899631"></A>get specified scatter graphics method and create scatter object</P>
1162 </TD>
1163 </TR>
1164 <TR>
1165 <TD ROWSPAN="1" COLSPAN="1">
1166 <P CLASS="CellBody">
1167 <A NAME="pgfId-899633"></A>gettextcombined()</P>
1168 </TD>
1169 <TD ROWSPAN="1" COLSPAN="1">
1170 <P CLASS="CellBody">
1171 <A NAME="pgfId-899635"></A>get specified text-combined secondary object and create text-combined object</P>
1172 </TD>
1173 </TR>
1174 <TR>
1175 <TD ROWSPAN="1" COLSPAN="1">
1176 <P CLASS="CellBody">
1177 <A NAME="pgfId-899637"></A>gettextorientation()</P>
1178 </TD>
1179 <TD ROWSPAN="1" COLSPAN="1">
1180 <P CLASS="CellBody">
1181 <A NAME="pgfId-899639"></A>get specified text-orientation secondary object and create text-orientation object</P>
1182 </TD>
1183 </TR>
1184 <TR>
1185 <TD ROWSPAN="1" COLSPAN="1">
1186 <P CLASS="CellBody">
1187 <A NAME="pgfId-899641"></A>gettexttable() </P>
1188 </TD>
1189 <TD ROWSPAN="1" COLSPAN="1">
1190 <P CLASS="CellBody">
1191 <A NAME="pgfId-899643"></A>get specified text-table secondary object and create text-table object</P>
1192 </TD>
1193 </TR>
1194 <TR>
1195 <TD ROWSPAN="1" COLSPAN="1">
1196 <P CLASS="CellBody">
1197 <A NAME="pgfId-899645"></A>getvector()</P>
1198 </TD>
1199 <TD ROWSPAN="1" COLSPAN="1">
1200 <P CLASS="CellBody">
1201 <A NAME="pgfId-899647"></A>get specified vector graphics method and create vector object</P>
1202 </TD>
1203 </TR>
1204 <TR>
1205 <TD ROWSPAN="1" COLSPAN="1">
1206 <P CLASS="CellBody">
1207 <A NAME="pgfId-899649"></A>getxvsy()</P>
1208 </TD>
1209 <TD ROWSPAN="1" COLSPAN="1">
1210 <P CLASS="CellBody">
1211 <A NAME="pgfId-899651"></A>get specified xvsy graphics method and create xvsy object</P>
1212 </TD>
1213 </TR>
1214 <TR>
1215 <TD ROWSPAN="1" COLSPAN="1">
1216 <P CLASS="CellBody">
1217 <A NAME="pgfId-899696"></A>getxyvsy()</P>
1218 </TD>
1219 <TD ROWSPAN="1" COLSPAN="1">
1220 <P CLASS="CellBody">
1221 <A NAME="pgfId-899698"></A>get specified xyvsy graphics method and create xyvsy object</P>
1222 </TD>
1223 </TR>
1224 <TR>
1225 <TD ROWSPAN="1" COLSPAN="1">
1226 <P CLASS="CellBody">
1227 <A NAME="pgfId-899692"></A>getyxvsx()</P>
1228 </TD>
1229 <TD ROWSPAN="1" COLSPAN="1">
1230 <P CLASS="CellBody">
1231 <A NAME="pgfId-899694"></A>get specified yxvsx graphics method and create yxvsx</P>
1232 </TD>
1233 </TR>
1234 </TABLE>
1235 </DIV>
1236 <DIV>
1237 <H6 CLASS="Heading2">
1238 <A NAME="pgfId-837019"></A>Removing VCS Objects</H6>
1239 <P CLASS="Body">
1240 <A NAME="pgfId-831461"></A>Unwanted VCS objects can be removed from internal memory with the use of the remove function. The remove function will identify the VCS object type and remove it from the appropriate object table.</P>
1241 <P CLASS="Body">
1242 <A NAME="pgfId-831566"></A>Remove VCS objects:</P>
1243 <TABLE>
1244 <CAPTION>
1245 <H6 CLASS="TableTitle">
1246 <A NAME="pgfId-899712"></A>&nbsp;</H6>
1247 </CAPTION>
1248 <TR>
1249 <TH ROWSPAN="1" COLSPAN="1">
1250 <P CLASS="CellHeading">
1251 <A NAME="pgfId-899716"></A>Remove</P>
1252 </TH>
1253 <TH ROWSPAN="1" COLSPAN="1">
1254 <P CLASS="CellHeading">
1255 <A NAME="pgfId-899718"></A>Description</P>
1256 </TH>
1257 </TR>
1258 <TR>
1259 <TD ROWSPAN="1" COLSPAN="1">
1260 <P CLASS="CellBody">
1261 <A NAME="pgfId-899720"></A>removeobject()</P>
1262 </TD>
1263 <TD ROWSPAN="1" COLSPAN="1">
1264 <P CLASS="CellBody">
1265 <A NAME="pgfId-899722"></A>allows the user to remove objects from the appropriate object list</P>
1266 </TD>
1267 </TR>
1268 </TABLE>
1269 </DIV>
1270 <DIV>
1271 <H6 CLASS="Heading2">
1272 <A NAME="pgfId-831584"></A>Show VCS Object List</H6>
1273 <P CLASS="Body">
1274 <A NAME="pgfId-831582"></A>The show function is handy to list VCS objects tables.</P>
1275 <P CLASS="Body">
1276 <A NAME="pgfId-831597"></A>The show function is used to list the VCS objects in memory:</P>
1277 <TABLE>
1278 <CAPTION>
1279 <H6 CLASS="TableTitle">
1280 <A NAME="pgfId-899735"></A>&nbsp;</H6>
1281 </CAPTION>
1282 <TR>
1283 <TH ROWSPAN="1" COLSPAN="1">
1284 <P CLASS="CellHeading">
1285 <A NAME="pgfId-899739"></A>Show</P>
1286 </TH>
1287 <TH ROWSPAN="1" COLSPAN="1">
1288 <P CLASS="CellHeading">
1289 <A NAME="pgfId-899741"></A>Description</P>
1290 </TH>
1291 </TR>
1292 <TR>
1293 <TD ROWSPAN="1" COLSPAN="1">
1294 <P CLASS="CellBody">
1295 <A NAME="pgfId-899743"></A>show()</P>
1296 </TD>
1297 <TD ROWSPAN="1" COLSPAN="1">
1298 <P CLASS="CellBody">
1299 <A NAME="pgfId-899745"></A>list VCS primary and secondary class objects in memory</P>
1300 </TD>
1301 </TR>
1302 </TABLE>
1303 </DIV>
1304 <DIV>
1305 <H6 CLASS="Heading2">
1306 <A NAME="pgfId-831604"></A><A NAME="marker-885201"></A>Saving VCS Object in a Script File</H6>
1307 <P CLASS="Body">
1308 <A NAME="pgfId-831652"></A>Script commands define the actions that are necessary to preserve an interactive session as a script and to mimic that session in a non-interactive replay of the script. Many attributes are needed to create a graphical representation of a variable, e.g. attributes to identify the variable and to label the plotting axes. By use of VCS and Python scripts, most of these attributes can be manipulated to create the desired visual effect, and the resulting attributes can be saved for later use. VCS and Python scripts also allow the user to save a sequence of interactive operations for replay, and to recover from a system failure. </P>
1309 <P CLASS="Body">
1310 <A NAME="pgfId-831618"></A>After creating and/or modifying a VCS object, the user can save the object in the initial.attributes file. The initial.attributes file contains many predefined attribute settings to aid the beginning user of VCS. The path to the file must be:</P>
1311 <P CLASS="Code">
1312 <A NAME="pgfId-831633"></A>    /$HOME/PCMDI_GRAPHICS/initial.attributes </P>
1313 <P CLASS="Body">
1314 <A NAME="pgfId-831635"></A>where /$HOME denotes the user's home directory. (Note, when VCS is executed for the first time, a /PCMDI_GRAPHICS subdirectory will be created automatically if one has not already been created.) The user also can customize the initial.attributes file directly.</P>
1315 <P CLASS="Body">
1316 <A NAME="pgfId-831601"></A>To re-save the initial.attributes file, use the function:</P>
1317 <TABLE>
1318 <CAPTION>
1319 <H6 CLASS="TableTitle">
1320 <A NAME="pgfId-899755"></A>&nbsp;</H6>
1321 </CAPTION>
1322 <TR>
1323 <TH ROWSPAN="1" COLSPAN="1">
1324 <P CLASS="CellHeading">
1325 <A NAME="pgfId-899759"></A>Save Initial Script</P>
1326 </TH>
1327 <TH ROWSPAN="1" COLSPAN="1">
1328 <P CLASS="CellHeading">
1329 <A NAME="pgfId-899761"></A>Description</P>
1330 </TH>
1331 </TR>
1332 <TR>
1333 <TD ROWSPAN="1" COLSPAN="1">
1334 <P CLASS="CellBody">
1335 <A NAME="pgfId-899763"></A>saveinitialfile()</P>
1336 </TD>
1337 <TD ROWSPAN="1" COLSPAN="1">
1338 <P CLASS="CellBody">
1339 <A NAME="pgfId-899765"></A>saves current VCS objects in the initial.attributes file, which is read initially at start-up</P>
1340 </TD>
1341 </TR>
1342 </TABLE>
1343 <P CLASS="Body">
1344 <A NAME="pgfId-831676"></A>To save VCS objects has Python scripts or VCS scripts, use the function:</P>
1345 <TABLE>
1346 <CAPTION>
1347 <H6 CLASS="TableTitle">
1348 <A NAME="pgfId-899772"></A>&nbsp;</H6>
1349 </CAPTION>
1350 <TR>
1351 <TH ROWSPAN="1" COLSPAN="1">
1352 <P CLASS="CellHeading">
1353 <A NAME="pgfId-899776"></A>Save VCS Objects</P>
1354 </TH>
1355 <TH ROWSPAN="1" COLSPAN="1">
1356 <P CLASS="CellHeading">
1357 <A NAME="pgfId-899778"></A>Description</P>
1358 </TH>
1359 </TR>
1360 <TR>
1361 <TD ROWSPAN="1" COLSPAN="1">
1362 <P CLASS="CellBody">
1363 <A NAME="pgfId-899780"></A>scriptobject() </P>
1364 </TD>
1365 <TD ROWSPAN="1" COLSPAN="1">
1366 <P CLASS="CellBody">
1367 <A NAME="pgfId-899782"></A>save individual VCS objects as Python or VCS script file</P>
1368 </TD>
1369 </TR>
1370 </TABLE>
1371 <P CLASS="Body">
1372 <A NAME="pgfId-831695"></A>To save the state of the system, use the function:</P>
1373 <TABLE>
1374 <CAPTION>
1375 <H6 CLASS="TableTitle">
1376 <A NAME="pgfId-899791"></A>&nbsp;</H6>
1377 </CAPTION>
1378 <TR>
1379 <TH ROWSPAN="1" COLSPAN="1">
1380 <P CLASS="CellHeading">
1381 <A NAME="pgfId-899795"></A>Save System State</P>
1382 </TH>
1383 <TH ROWSPAN="1" COLSPAN="1">
1384 <P CLASS="CellHeading">
1385 <A NAME="pgfId-899797"></A>Description</P>
1386 </TH>
1387 </TR>
1388 <TR>
1389 <TD ROWSPAN="1" COLSPAN="1">
1390 <P CLASS="CellBody">
1391 <A NAME="pgfId-899799"></A>scriptstate()</P>
1392 </TD>
1393 <TD ROWSPAN="1" COLSPAN="1">
1394 <P CLASS="CellBody">
1395 <A NAME="pgfId-899801"></A>saves a sequence of interactive operations for replay; or to recover from a system failure</P>
1396 </TD>
1397 </TR>
1398 </TABLE>
1399 <P CLASS="Body">
1400 <A NAME="pgfId-837249"></A>To run a VCS script file, use the function:</P>
1401 <TABLE>
1402 <CAPTION>
1403 <H6 CLASS="TableTitle">
1404 <A NAME="pgfId-899808"></A>&nbsp;</H6>
1405 </CAPTION>
1406 <TR>
1407 <TH ROWSPAN="1" COLSPAN="1">
1408 <P CLASS="CellHeading">
1409 <A NAME="pgfId-899812"></A>Run Script</P>
1410 </TH>
1411 <TH ROWSPAN="1" COLSPAN="1">
1412 <P CLASS="CellHeading">
1413 <A NAME="pgfId-899814"></A>Description</P>
1414 </TH>
1415 </TR>
1416 <TR>
1417 <TD ROWSPAN="1" COLSPAN="1">
1418 <P CLASS="CellBody">
1419 <A NAME="pgfId-899816"></A>scriptrun() </P>
1420 </TD>
1421 <TD ROWSPAN="1" COLSPAN="1">
1422 <P CLASS="CellBody">
1423 <A NAME="pgfId-899818"></A>run a previously saved VCS script file</P>
1424 </TD>
1425 </TR>
1426 </TABLE>
1427 </DIV>
1428 </DIV>
1429 <P><A HREF="vcs.html">Go to Main</A>      <A HREF="vcs-3.html">Go to Previous</A>       <A HREF="vcs-5.html">Go to Next</A></P>
1430 </BODY>
1431 </HTML>
Note: See TracBrowser for help on using the browser.