1 |
VIZICQ4_1.2 Visualization |
---|
2 |
|
---|
3 |
Introduction |
---|
4 |
This webpage describes the operation of VIZICQ4, Version 1.2. |
---|
5 |
VIZICQ4 is a GUI-based MATLAB tool that accompanies the |
---|
6 |
OPNML/MATLAB toolbox for the visualization of .icq4 files as |
---|
7 |
output from the Quoddy4 series of FEM shallow water models. |
---|
8 |
Currently, VIZICQ4 supports the horizontal slicing and vertical |
---|
9 |
slicing (transects) of .icq4 files. Future versions will support |
---|
10 |
2-D plotting, .pth file analysis, and surface rendering (MATLAB5.3). |
---|
11 |
The terms "transect" and "vertical slice" are synonomous. |
---|
12 |
|
---|
13 |
Purpose |
---|
14 |
The purpose of VIZICQ4 is to provide an easy method for examining the |
---|
15 |
field contents of Quoddy4 .icq4 files. It is meant as a basic |
---|
16 |
analysis tool and not as a final plotting package for |
---|
17 |
publication-quality figures. The core of VIZICQ4 is the |
---|
18 |
OPNML and FCAST toolbox routines. |
---|
19 |
|
---|
20 |
Requirements: |
---|
21 |
MATLAB version 5.2.0+ |
---|
22 |
OPNML toolbox (retrieved any time after 1 November, 1998) |
---|
23 |
FCAST toolbox (version 1.2) |
---|
24 |
|
---|
25 |
MEX file compilation: One of the computational routines of VIZICQ4_1.2 |
---|
26 |
is external to MATLAB, It is called map_scalar_mex5.c, and must |
---|
27 |
be compiled before VIZICQ4_1.2 will run. Once the VIZICQ4 tarfile |
---|
28 |
is untarred (tar xvf VIZIVQ4_1.2.tar), start MATLAB and cd (within |
---|
29 |
MATLAB) to the VIZICQ4_1.2 directory. Than, at the MATLAB prompt (>>), |
---|
30 |
type: |
---|
31 |
>> mex map_scalar_mex5.c |
---|
32 |
This compiles the architecture-dependent executable, which will |
---|
33 |
be called map_scalar_mex5.mex<arch>. This file MUST reside in the |
---|
34 |
VIZICQ4_1.2 directory; do not move it out. |
---|
35 |
|
---|
36 |
Operation: |
---|
37 |
* GUI-Layout - VIZICQ4 consists of a main, large figure and several |
---|
38 |
smaller figures, many buttons and menus. Most of them are self- |
---|
39 |
explanatory. The main window contains two axes, only one of |
---|
40 |
which is visible at a time. The first, titled "Grid Axes", |
---|
41 |
is the axes that contains the FEM element plot used for |
---|
42 |
specifying the transect end-points. The second axes becomes |
---|
43 |
visible after a transect is computed, and is a 3-D, rotatable |
---|
44 |
rendering of the FEM mesh and the contents of the slices. |
---|
45 |
The visible axes can always be toggled with the "Toggle Axes" |
---|
46 |
button in the top right of the main figure. |
---|
47 |
|
---|
48 |
The top of the main window contains some menus |
---|
49 |
(File, Options, Clear, colormap). "Options" contains axis |
---|
50 |
adjustments, etc. "Clear" allows for the deletion of objects |
---|
51 |
drawn on the "Slice Axes", like all vectors, all slices, etc... |
---|
52 |
|
---|
53 |
The bottom of the figure contains an Info: line, and Error: line |
---|
54 |
and an EXIT button. VIZICQ4 tries to be as informative as possible |
---|
55 |
when an error occurs, and displays messages to recoverable problems |
---|
56 |
(for example, "Domain Name not set" if the grid name entered could not |
---|
57 |
be located) in these lines. |
---|
58 |
|
---|
59 |
* Loading grid and .icq4 files - The computation of slices and |
---|
60 |
volumes requires a FEM mesh in standard file formats. Enter |
---|
61 |
a FEM domain name in the top left of the figure, with either |
---|
62 |
a relative or absolute path (or none at all if MATLAB was started |
---|
63 |
in a directory containing a mesh. More likely, MATLAB was started |
---|
64 |
in another directory, like a data directory contains several .icq4 |
---|
65 |
files.) Directory navigation isn't possible yet. |
---|
66 |
|
---|
67 |
The name of a directory containing an .icq4 file(s) can be entered |
---|
68 |
at "Forecast Dir:". Press return. If there are .icq4 files |
---|
69 |
available, a browsable menu will pop up to the right. Double-click |
---|
70 |
on the .icq4 filename to load. If VIZICQ4 was started in the |
---|
71 |
directory containing .icq4 files, just enter the name of the .icq4 |
---|
72 |
file, including the .icq4 file extension, in the "Icq4 Name:" space |
---|
73 |
on the top right. |
---|
74 |
|
---|
75 |
* Selecting .icq4 fields - Once an .icq4 file is loaded, select a |
---|
76 |
field to slice from the list of pushbuttons along the right side. |
---|
77 |
Selecting a 2-D field (HMID,UMID,VMID,HOLD,UOLD,VOLD) will result |
---|
78 |
in a warning when slice computation occurs. These will be useable |
---|
79 |
in later versions. Also, ZMID and ZOLD cannot be visualized, |
---|
80 |
although they are used in computations. |
---|
81 |
|
---|
82 |
* Contouring the bathymetry - Enter the values of the bathymetry |
---|
83 |
to contour in the "Z-Contours:" space. The default is to |
---|
84 |
compute contours over the range of the bathymetry, at 5 |
---|
85 |
values equally spaced between the min and max depths. |
---|
86 |
"linspace(zmin,zmax,7)", the default, gives the following |
---|
87 |
for the bank150 mesh; |
---|
88 |
-150. -128.3 -106.7 -85. -63.3 -41.7 -20. |
---|
89 |
Note that the first and last values are not used. |
---|
90 |
Any string can be entered that evaluates in MATLAB to a |
---|
91 |
vector. For example, to set contour values of -120 -90 |
---|
92 |
-60 -30, enter [-120 -90 -60 -30] or [-120:30:-30]. |
---|
93 |
Contours can be labled (press the LabC button) or deleted |
---|
94 |
(press the DelC button). |
---|
95 |
|
---|
96 |
* Slices and Volumes - The "Slice" and "Volume" buttons in the |
---|
97 |
top right of the main figure provide slicing and volume |
---|
98 |
rendering facilities (see below). Each has the following |
---|
99 |
in common. At the bottom of each popup, the buttons are |
---|
100 |
the same and provide a way to change the surface shading, |
---|
101 |
delete objects, turn on 3D rotation, and add a colorbar. |
---|
102 |
|
---|
103 |
* Computing Slices - The "Slice" button in the upper right pops a |
---|
104 |
"Slice parameter figure" that allows the entering of vertical and |
---|
105 |
horizontal parameters. In both cases, the slice is computed |
---|
106 |
by pressing the "Make Slice" button once the appropriate parametrs |
---|
107 |
are specified. |
---|
108 |
|
---|
109 |
Horizontal - At this time, only the depth level can be specified. |
---|
110 |
Make sure that a "NEGATIVE" depth is entered; recall that the |
---|
111 |
vertical mesh is computed as POSITIVE upward, with the flat free |
---|
112 |
surface at z==0. The "vectors" button can be pushed to overlay |
---|
113 |
the velocity at the specified level. The vectors plotted include |
---|
114 |
the vertical component, exagerated by the horizontal/vertical |
---|
115 |
aspect ratio. At this time, scaling of the vectors is not |
---|
116 |
available. The maximum vector length is displayed in the Info |
---|
117 |
line. |
---|
118 |
|
---|
119 |
Vertical - Transects are specified in 2 ways. 1) Enter the |
---|
120 |
end-points explicitly in the (X1,Y1,X2,Y2) fields. 2) |
---|
121 |
click on the "X-Slice", "Y-Slice", or "Arbitrary Slice" buttons. |
---|
122 |
In this case, VIZICQ4 prompts for the user to use the mouse |
---|
123 |
to click on the location of one end-point (in the case of |
---|
124 |
"X-Slice"or "Y-Slice") or both end-points in the case of |
---|
125 |
"Arbitrary Slice". |
---|
126 |
|
---|
127 |
* Computing Volumes - The Volumes facility in VIZICQ4 is based |
---|
128 |
on interpolating the FEM 3D grid onto a finite-difference, |
---|
129 |
rectangularly spaced grid. This is not yet fully functional; |
---|
130 |
we are awaiting the wide-spread availability of MATLAB5.3, which |
---|
131 |
supports volume visualization facilities. |
---|
132 |
|
---|
133 |
Current Status: |
---|
134 |
The "Volume" button in the upper right of the figure pops up a |
---|
135 |
figure that allows the specification for drawing surfaces of the |
---|
136 |
.icq4 fields. Specify the (x,y,z) discretization levels on the |
---|
137 |
left. Press the "COMP BASIS" button to compute the 3D |
---|
138 |
interpolation functions. Then, press the "Map Scalar" button |
---|
139 |
to interpolate the selected scalar .icq4 field to the FD grid. |
---|
140 |
The "Integer Slice Locations" correspond to the integer locations |
---|
141 |
in the FD grid to make a slice. For example, the default |
---|
142 |
x-dicrestization level is 50; the default integer slice |
---|
143 |
location in the x-coordinate is 25. This means that the "25th" |
---|
144 |
in the y-z plane (at FD grid x0location 25) will be sliced. |
---|
145 |
If the "Ix:" locations are changed to 1:5:50, then |
---|
146 |
the y-z slices will be made at the first, 6th, ... x-grid |
---|
147 |
locations. The "GO!!" buttons apply only to the coordinate |
---|
148 |
plane to the left of the button. The "GO ALL!!" button |
---|
149 |
computes and displays all 3 coordinate slices. |
---|
150 |
|
---|
151 |
The "Select Region" (right) side of the Volume Popup allows a |
---|
152 |
smaller region to be discretized or refined. The default region |
---|
153 |
is the horizontal extent of the FEM domain. The Rotation |
---|
154 |
facility (Rot CCW/CW buttons) is flawed and currently |
---|
155 |
unavailable. |
---|
156 |
|
---|
157 |
If the Discretization level is changed after the basis is computed, |
---|
158 |
the "COMP BASIS" button MUST BE PUSHED AGAIN. VIZICQ4 does |
---|
159 |
not properly detect the discretizaion change to alert the user |
---|
160 |
that the basis needs to be recomputed. This is a deficiency that |
---|
161 |
will be corrected in future versions. |
---|
162 |
|
---|
163 |
* Printing - Use the File->Printing... menu option to prepare the |
---|
164 |
"Slice Axes" for printing, either to file or printer. Make sure |
---|
165 |
the "Slice" axes is the current axes by clicking on it, or by |
---|
166 |
toggling the axes if is it not visible. |
---|
167 |
|
---|
168 |
* Error Messages - Most non-terminal errors are reported to the Error |
---|
169 |
Line:. Messages to the MATLAB command window (where the >> prompt |
---|
170 |
exists) like "Command hole in switch in vizicq4_guts" are normal. |
---|
171 |
Error messages reported to the command window that look similar to: |
---|
172 |
"Error in ==> /home/fcast/OPNML_MATLAB/VIZICQ4_1.2/vizicq4_guts.m" |
---|
173 |
signify that (at the very least) VIZICQ4 has become lost, |
---|
174 |
terminally. It is best to EXIT and restart. |
---|
175 |
|
---|
176 |
* NOTES: |
---|
177 |
+) The colorbar drawn by pushing the colorbar button in the |
---|
178 |
Volume and Slice windows is NOT automatically redrawn |
---|
179 |
when a new slice is added to the Slice Axes. The user |
---|
180 |
MUST push the button to refresh the colorbar. |
---|
181 |
+) VIZICQ4 does not knoiw if the discretization level has |
---|
182 |
changed once the 3D basis is computed. The user MUST |
---|
183 |
push the COMP BASIS button if the discretization level |
---|
184 |
OR region changes. |
---|
185 |
+) The HELP buttons don't work. This text will become the |
---|
186 |
help text in the next version. |
---|
187 |
|
---|
188 |
* Deficiencies - Plenty. For starters,... |
---|
189 |
+) Vector scaling not yet available. |
---|
190 |
+) 2-D fields not supported. |
---|
191 |
|
---|
192 |
* BUGS - None. |
---|