File: v602.html

package info (click to toggle)
ferret-vis 6.9-2
  • links: PTS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 236,276 kB
  • ctags: 21,705
  • sloc: fortran: 203,172; ansic: 52,976; csh: 2,913; java: 1,755; makefile: 1,461; sh: 1,435; pascal: 571; sed: 184; lisp: 122; awk: 26
file content (382 lines) | stat: -rw-r--r-- 13,765 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
<html>
<head>   <title>Ferret v6.02 release notes</title>
</head><Body><C><h1>
<B>Ferret Version 6.02 Release Notes</B></h1>
<font size=+1>27-April-2007</font>
<BR>
<P>Version 6.02 is primarily a bug-fix release.<BR>
<H2><A HREF="#new features">New Features and Enhancements in Version 6.02</A></H2>
<UL>
<LI><A HREF="#native_strides">Native strides for netCDF file access.</A>
<BR></LI>
<LI><A HREF="#batch">Enhanced BATCH mode, in which we can create multiple metafiles.</A>
<BR></LI>
<LI><A HREF="#new_return">New RETURN=xmod, RETURN=tmod</A> to get the modulo character of a grid.
<BR></LI>
<LI><A HREF="#orig_file_axname">Axis names preserved on netCDF output</A>
<BR></LI>
<LI><A HREF="#list_improvements">Improvements to ASCII list output</A>
<BR></LI>
</UL><BR>


<H2><A HREF="#bug fixes">Bug Fixes in Version 6.02</A></H2>
<UL>
<LI><A HREF="#set_var">Changes made by SET VAR/TITLE=/UNITS= were not saved in output file</A>
<BR></LI>
<LI><A HREF="#set_axis">Changes made by SET or DEFINE or CANCEL AXIS were not available to the 
attribute-access commands</A>
<BR></LI>
<LI><A HREF="#long_sym">Long strings in symbols are now allowed</A>
<BR></LI>
<LI><A HREF="#global_missing">The global missing-value flag was not set for some datasets </A> 
<BR></LI>
<LI><A HREF="#return_size">`var[d=fname.cdf],RETURN=size` failed </A> 
<BR></LI>
<LI><A HREF="#parsing_tab">Parsing error when there was a tab before a comment </A>
<BR></LI>
<LI><A HREF="#plot_label">Plot was mis-labelled when variable had no long_name attribute</A>
<BR></LI>
<LI><A HREF="#upcase_bounds">"** netCDF error: Variable not found" when writing data with irregular axes</A>
<BR></LI>
<LI><A HREF="#vector_aspect">Vectors on VECTOR/ASPECT plots pointed in the wrong direction.</A>
<BR></LI>
<LI><A HREF="#save_two">Error message when saving variables with the same time axis to a file.</A>
<BR></LI>
<LI><A HREF="#irreg_ax">Error checking irregular axis failed, some axes.</A>
<BR></LI>
<LI><A HREF="#missing_string">Error listing a string variable when the last element is missing</A>
<BR></LI>
<LI><A HREF="#memxize">(32-bit linux only) Error listing a string variable when the last element is missing</A>
<BR></LI>
</UL>
<BR><HR><BR>
<H2><A NAME="new features">New Features and Enhancements in Version 6.02</H2>


<UL>
<LI><A NAME="native_strides">Native strides for netCDF file access. This lets us keep the original names of variables, while defining striding for faster access of data on large grids. The syntax is  
   <PRE>
   yes? SET AXIS/STRIDE=[/OFFSET=] axisname
   yes? CANCEL AXIS/STRIDE  axisname
</PRE>
<P>For example, 
<PRE>
   yes? SET DATA "http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NGDC/.ETOPO5/dods"             
   yes? SHOW DATA
        currently SET data sets:
       1> http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NGDC/.ETOPO5/dods  (default)
    name     title                             I         J         K         L
    ELEV     elevation/bathymetry             1:4320    1:2160    ...       ...
 
   yes? SET AXIS/STRIDE=5 `elev,RETURN=xaxis`
   yes? sET AXIS/STRIDE=5 `elev,RETURN=yaxis`
   yes? SHOW GRID elev
       GRID GCR1
    name       axis              # pts   start                end
    (AX004)   LONGITUDE          864mr   0E                   0.41699W(359.58)
    (AX005)   LATITUDE           432 i   89.916S              89.666N
    normal    Z
    normal    T
</PRE>
This is equivalent to the older (but still valid) striding syntax, which required us to define a new variable
<PRE>
   yes? SET DATA "http://iridl.ldeo.columbia.edu/SOURCES/.NOAA/.NGDC/.ETOPO5/dods"   
   yes? LET strided_elev = elev[i=1:4320:5,j=1:2160:5]
</PRE>
Now the data can be used as if it is on the smaller grid. If we want to resume use of the original grid,
<PRE>
   yes? CANCEL AXIS/STRIDE `elev,RETURN=xaxis`
   yes? CANCEL AXIS/STRIDE `elev,RETURN=yaxis`
</PRE>
<P>The offset if specified must be smaller than the stride. If a stride is not specified this qualifier is ignored. The OFFSET value refers to the first point to keep, i.e. these two command would define the same striding in X:
<PRE>
   yes? SET AXIS/STRIDE=5/OFFSET=2 `elev,RETURN=xaxis`
   yes? LET strided_elev = elev[i=2:4320:5]
</PRE>
For example, 
<PRE>
   yes? USE coads_climatology
   yes? LIST sst[X=61:79,J=50,K=1,L=50]
                VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
                FILENAME : coads_climatology.cdf
                SUBSET   : 10 points (LONGITUDE)
                LATITUDE : 9N
                TIME     : 15-FEB-0012 14:19
                  9N    
                  50
    61E   / 21:  26.86
    63E   / 22:  27.00
    65E   / 23:  27.29
    67E   / 24:  27.69
    69E   / 25:  27.93
    71E   / 26:  28.08
    73E   / 27:  28.23
    75E   / 28:  28.32
    77E   / 29:  28.23
    79E   / 30:  27.82

   yes? SET AXIS/STRIDE=4/OFFSET=2 `sst, return=xaxis`
    !-> SET AXIS/STRIDE=4/OFFSET=2 COADSX

   yes? LIST sst[X=61:79,J=50,K=1,L=50]
                VARIABLE : SEA SURFACE TEMPERATURE (Deg C)
                FILENAME : coads_climatology.cdf
                SUBSET   : 3 points (LONGITUDE)
                LATITUDE : 9N
                TIME     : 15-FEB-0012 14:19
                 9N    
                 50
    63E   / 6:  27.00
    71E   / 7:  28.08
    79E   / 8:  27.82
</PRE>   
This acts on the axis, so variables that share an axis, whether they come from a single dataset or several datasets that use the same exact axis, will all be affected by the strides.
<BR><BR></LI>

<LI><A NAME="batch">Enhanced BATCH mode, in which we can create multiple metafiles.

<P>Start Ferret with
<PRE>
   > ferret -batch myfile.plt
</PRE>
<P>
When in this batch mode, xwindows are not used, and a new myfile.plt.~*~ file is started with each new plot "page" that we'd see when running interactively. 
<P>

The following commands are ignored
<UL>
<LI>SET MODE METAFILE </LI>
<LI>CANCEL MODE METAFILE </LI>
<LI>SET WINDOW  ! except for</LI>
<UL><LI>SET WINDOW/ASPECT applies the new aspect ratio</LI>
<LI>SET WINDOW/CLEAR starts a new metafile</LI>
</UL>
</UL>
<P>New plots may be started with these commands
<UL>
<LI>New plot command  (if we are not in a viewport and not overlaying)<BR>&nbsp;&nbsp;PLOT,CONTOUR,SHADE,FILL,VECTOR,CONTOUR</LI>
<LI>CANCEL VIEWPORT </LI>
<LI>SET WINDOW/CLEAR</LI>
<LI>PPLUS/RESET</LI>
</UL>
<P>Note that there is still a choice of output graphics type when starting Ferret with -batch. Only one type may be chosen.
<PRE>
> ferret -batch metafiles.plt  ! metafile

> ferret -batch psfiles.ps     ! postscript

> ferret -gif                  ! gif output
</PRE>
In -gif mode, recall that we must use use FRAME/FILE= commands to create each gif image files.

<BR><BR></LI>

<LI>
<A NAME="new_return">New RETURN=xmod, RETURN=tmod to get the modulo character of a grid. It returns the modulo length of the axis in the units of the axis.
<PRE> 
   yes? USE coads_climatology
   yes? SAY `sst,RETURN=xmod`
    !-> MESSAGE/CONTINUE 360
   360

   yes? SAY `sst,RETURN=tmod`
    !-> MESSAGE/CONTINUE 8765.8
   8765.8

   yes? SAY `sst,RETURN=tunits`
    !-> MESSAGE/CONTINUE hour
   hour
</PRE>
<BR><BR></LI>


<LI><A NAME="orig_file_axname">New attribute available, orig_file_axname
<P>When initializing a dataset, if Ferret encounters an axis name that's already in use,
it creates a new name by adding a digit, e.g. if TEMP is already in the list of axis names,
then it uses TEMP1 for the new data for uniqueness. When this happens, we continue to new name 
with the dataset attribute information, and add an attribute orig_file_axname containing the 
original name. That original name is used on output to a netCDF file.
<PRE>
yes? DEFINE AXIS/T=1:5:1 time  ! create an axis called TIME
yes? USE coads_climatology     ! there is also a TIME axis in this dataset

yes? show grid sst  ! The time axis is called TIME1
    GRID GSQ1
 name       axis              # pts   start                end
 COADSX    LONGITUDE          180mr   21E                  19E(379)
 COADSY    LATITUDE            90 r   89S                  89N
 normal    Z
<B> TIME1</B>     TIME                 3mr   16-JAN 06:00         17-MAR 02:58

yes? ! Ferret automatically defines an attribute <B>orig_file_axname</B>
yes? SHOW ATTRIBUTE (TIME1).orig_file_axname
     attributes for dataset: ./coads_climatology.cdf
 (TIME1).orig_file_axname = TIME 

yes? SAVE/FILE=a.nc/X=181/Y=1 sst  ! This file has the time axis named <B>TIME</B>
</PRE>
<BR><BR></LI>

<LI><A NAME="list_improvements">Improvements to ASCII list output</A>
<P>When data contains missing values, LIST/FORMAT=comma or LIST/FORMAT=tab
now writes a comma or tab as placeholder for the missing value. Previously these
listings were ambiguous.
<PRE>
yes? LET a = {1,1,,1,1,,1,1}
yes? LET b = {4,4,4,4,4,4,4,4}
yes? LIST/FORM=comma a,b
             X: 0.5 to 8.5
 Column  1: A is {1,1,,1,1,,1,1}
 Column  2: B is {4,4,4,4,4,4,4,4}
       A,B
1   / 1:1,4  
2   / 2:1,4  
3   / 3:,4  
4   / 4:1,4  
5   / 5:1,4  
6   / 6:,4  
7   / 7:1,4  
8   / 8:1,4  
</PRE>
<BR><BR></LI>

</UL><BR>


<BR>
<H2><A NAME="bug fixes">Bug fixes in Version 6.02</H2>
<UL>
<LI><A NAME="set_var">Changes made by SET VAR/TITLE=/UNITS= were not saved in output file
<PRE>
   yes? USE mydat.nc
   yes? LIST/Y=1/K=1/L=1 temp  !See the title and units
                VARIABLE :<B> TEMPERATURE (deg. C)</B>
                FILENAME : mydat.cdf
                SUBSET   : 3 points (LONGITUDE)
                LATITUDE : 0.8N
                DEPTH (m): 5
                TIME     : 15-MAR-1983 10:00
                   0.83N 
                   48
    160.5W / 70:  31.20
    159.5W / 71:  31.34
    158.5W / 72:  31.45
   
   yes? ! Make changes to variable with SET VARIABLE
   yes? SET VAR/TITLE="Temp"/units="DegC" temp
   
   yes? SAVE/FILE=a.nc/CLOBBER temp
   
   yes? CANCEL DATA/ALL
   yes? USE a.nc
   
   yes? ! The file has the NEW var title and units 
   yes?  lIST/Y=1/K=1/L=1 temp
                VARIABLE : <B>Temp (DegC)</B>
                FILENAME : a.nc
                SUBSET   : 3 points (LONGITUDE)
...
</PRE>   
<BR><BR></LI>

<LI><A NAME="set_axis">Changes made by SET AXIS or DEFINE AXIS were not available to the 
attribute-access commands
<PRE>
   yes? USE mydat.nc  ! a dataset whose time axis needs changes

   yes? ! Use DEFINE AXIS to redefine it.
   yes? SET AXIS/T0="1-jan-2004"/UNITS=days `temp,RETURN=taxis`
   
   yes? ! We can make further chages with SET AXIS

   yes? SET AXIS/MODULO/CALENDAR=noleap `temp,RETURN=taxis`
   yes? SHOW ATT/ALL  `temp,RETURN=taxis`

    !-> SHOW ATT/ALL  TIME
     attributes for dataset: ./mydat.nc
 (TIME).units = DAYS 
 (TIME).time_origin = 1-JAN-2004 
 (TIME).orig_file_axname = TIME 
 (TIME).calendar = NOLEAP 
 (TIME).modulo =   
   
   yes? ! CANCEL AXIS may also be used to change axis features

   yes? CANCEL AXIS/MODULO `temp,RETURN=taxis`
   yes? SHOW DATA/ATT  ! see dataset with all the attributes
     currently SET data sets:
    1> ./mydat.nc  (default)
 VARIABLE               ATTRIBUTE NAME      TYPE    SIZE OUTFLAG VALUE
--------------------------------------------------------------------------------
...
   (TIME)               units               CHAR    4    T      DAYS
                        time_origin         CHAR    10   T      1-JAN-2004
                        orig_file_axname    CHAR    4    F      TIME
                        calendar            CHAR    6    T      NOLEAP

</PRE>
<BR><BR></LI>

<LI><A NAME="long_sym">Long strings in symbols: Previously the value of a symbol was 
cut off at 255 characters. Now they may be up to 2048 characters.
<BR><BR></LI>

<LI><A NAME="global_missing">The global missing-value flag was not set for some datasets; 
if a netCDF file has no global attributes, and the variables do not have missing-value 
attributes, the missing data flag was set to 0. This is fixed; Ferret's default missing 
value of -1eE+34 is used.
<BR><BR></LI>

<LI><A NAME="return_size"> `var[d=fname.cdf],RETURN=size` failed, when the filename included 
the dot and extension. This is fixed.
<BR><BR></LI>

<LI><A NAME="parsing_tab">Parsing error when there was a tab before a comment, the command-line
parsing was thrown off and we got an error about an invalid ENDIF. This is fixed.
<BR><BR></LI>

<LI><A NAME="plot_label">Plot was mis-labelled when the variable had no long_name attribute, 
the plot had only the units label; now it is named with the variable name as well.
<BR><BR></LI>

<LI><A NAME="upcase_bounds">Error message "** netCDF error: Variable not found" when writing data with 
irregular axes. These data are now written correctly with no messages.
<BR><BR></LI>

<LI><A NAME="vector_aspect">Vectors on VECTOR/ASPECT plots pointed in the wrong direction; this is fixed.
<BR><BR></LI>

<LI><A NAME="save_two">Error message when saving variables with the same time axis to a file.
<P>The error message was
<PRE>

   " **TMAP ERR: attempt to redefine line
     axis TIME doesnt match CDF file
</PRE>
This was a bug in matching the axis names, in the code that allows for CANCEL MODE UPCASE_OUTPUT. This is now fixed.
<BR><BR></LI>

<LI><A NAME="irreg_ax">Error checking irregular axis failed, some axes. Version 6.0 had a 
new method for checking whether axes are irregular, when initializing a netCDF data set. For axes
whose coordinate spacing varies widely, this method failed, and the axis was designated regular. 
This is now fixed.
<BR><BR></LI>

<LI><A NAME="missing_string">Error listing a string variable when the last element is missing
<PRE>yes? LET a = {"a", "b",  }
yes? LIST a
             VARIABLE : {"a", "b",  }
             SUBSET   : 3 points (X)
 1   / 1:"a"
 2   / 2:"b"
 3   / 3:"" 
</PRE>
<BR><BR></LI>
</UL>

<BR>

</BODY>
</HTML>
<!--#include virtual="/footer.txt" -->