1 |
marissa |
1.1 |
The darwinView User's Guide |
2 |
|
|
|
3 |
|
|
Marissa Weichman |
4 |
|
|
Chris Hill |
5 |
|
|
|
6 |
|
|
Background |
7 |
|
|
|
8 |
|
|
Darwin project is exploring marine biogeochemistry by populating oceanic |
9 |
|
|
configurations of the M.I.T General Circulation Model (MITgcm) with "virtual" |
10 |
|
|
biologeochemical species that can interact and evolve. Different species |
11 |
|
|
are characterized by their combinations of different physiology ranges, |
12 |
|
|
over which a species can flourish. For example, some species may be very |
13 |
|
|
sensitive to ocean temperature or nutrient concentrations while other species |
14 |
|
|
may thrive over a wide temperature range but require high levels of |
15 |
|
|
solar radiation to flourish. By seeding an ocean circulation model with |
16 |
|
|
ensembles of different species, with probability distributions guided by |
17 |
|
|
biological measurement, we can use this approach to develop an understanding |
18 |
|
|
of the actual and potential biodiversity in the marine ecosystem. |
19 |
|
|
|
20 |
|
|
The darwinView project |
21 |
|
|
|
22 |
|
|
At a practical level the modeling in Darwin yields three-dimensional, time |
23 |
|
|
evolving maps of species distributions that are studied to help us understand |
24 |
|
|
the marine ecosystem. The distributions are embedded in three-dimensional, |
25 |
|
|
time evolving maps of nutrient, and physical field distributions. The result is |
26 |
|
|
a high-dimensional "space" of output which we wish to explore and from |
27 |
|
|
which we want to extract understanding. |
28 |
|
|
|
29 |
|
|
The goal of darwinView is to develop some quick-look, interactive, |
30 |
|
|
visualization tools that can allow researchers to rapidly explore Darwin |
31 |
|
|
project outputs from MITgcm. Detailed studies of simulation outputs employ |
32 |
|
|
analytical packages like Matlab and Ferret. The idea of a quick look tool |
33 |
|
|
is not to try and replicate the functionality of these systems, but to |
34 |
|
|
make a tool for visually quickly scanning outputs to identify interesting |
35 |
|
|
behaviors. |
36 |
|
|
|
37 |
|
|
What is darwinView |
38 |
|
|
|
39 |
|
|
1 - a program to display multiple panels of Darwin project outputs |
40 |
|
|
from MITgcm at once. |
41 |
|
|
|
42 |
|
|
2 - allows moving through data in space (up-down, east-west, north-south depending |
43 |
|
|
on view) and time over a many fields at once. |
44 |
|
|
|
45 |
|
|
3 - movement through data can be manual or automatic (scripted or autoplay). |
46 |
|
|
|
47 |
|
|
4 - can display to a single screen or to a walled display. |
48 |
|
|
|
49 |
|
|
5 - displayed fields are annotated with scale, coordinates, key etc. |
50 |
|
|
|
51 |
|
|
6 - some limited controls on display are available. |
52 |
|
|
o user-set color scale |
53 |
|
|
o log scale |
54 |
|
|
o global scale over all fields |
55 |
|
|
o local scale for each species, depth and time |
56 |
|
|
|
57 |
|
|
7 - can read data from both binary (big or little endian) and NetCDF files |
58 |
|
|
|
59 |
|
|
|
60 |
|
|
How to Use darwinView |
61 |
|
|
|
62 |
|
|
* Before You Compile the Program: |
63 |
|
|
|
64 |
|
|
- Make sure you have all the components necessary to run the program: |
65 |
|
|
|
66 |
|
|
o darwin.bash - bash script that handles data files |
67 |
|
|
o darwin.c - the main OpenGL program |
68 |
|
|
o netcdf.c - the program that handles NetCDF files |
69 |
|
|
o jet.h - a table of color values |
70 |
|
|
|
71 |
|
|
- Make sure the following are installed on your computer: |
72 |
|
|
|
73 |
|
|
o Bash Unix shell |
74 |
|
|
o gcc C compiler |
75 |
|
|
o C programming libraries |
76 |
|
|
o OpenGL libraries |
77 |
|
|
o NetCDF libraries, if you intend to read from NetCDF files |
78 |
|
|
|
79 |
|
|
- Make sure your data is organized correctly: |
80 |
|
|
|
81 |
|
|
o Binary data should be organized in a directory whose only contents are subdirectories |
82 |
|
|
representing different time steps. Each subdirectory should contain one binary file for |
83 |
|
|
each variable (species concentration, compound concentration or otherwise). Each binary |
84 |
|
|
file should contain data for all three dimensions (x, y and z) for its timestep. In |
85 |
|
|
addition, the user must prepare a file containing a list of the variables that will be |
86 |
|
|
displayed. The variable names should be on one line, separated by spaces. The user will |
87 |
|
|
be prompted for the name of this file. |
88 |
|
|
|
89 |
|
|
o NetCDF files should all be placed in one directory. Make sure all the tiles for the |
90 |
|
|
desired timesteps are present. In addition, the user must prepare three files: one |
91 |
|
|
containing a list of variables that will be displayed, one containing a list of |
92 |
|
|
tiles that make up each plot, and one containing a list of the desired time steps. In |
93 |
|
|
each file, the variable names should be on one line, separated by spaces. The user will |
94 |
|
|
be prompted for the names of these three files. Finally, the program handles NetCDF files |
95 |
|
|
by converting them to binary. Therefore, a directory must be created for the program to |
96 |
|
|
write to. The user will be prompted for the name of this directory. |
97 |
|
|
|
98 |
|
|
o The darwinView program has the option of scaling the z-axis, so depth levels aren't |
99 |
|
|
equally spaced. If you plan to use this feature, a file must be prepared containing a list |
100 |
|
|
of the depths of each layer. The list should begin with the layer closest to the surface |
101 |
|
|
and progress down the water column, one depth per line. The number of lines should be |
102 |
|
|
equal to the z-dimension (number of depth layers). The user will be prompted for the name |
103 |
|
|
of this file when the scaled z-axis feature is enabled. |
104 |
|
|
|
105 |
|
|
* Compiling the Program: |
106 |
|
|
|
107 |
|
|
- The darwinView program is called through a bash script which prompts for information the program |
108 |
|
|
needs to run. Type "bash darwin.bash" to run the script. |
109 |
|
|
|
110 |
|
|
o First, the script prompts for the format of the data. If you are using binary files, |
111 |
|
|
type "binary" then type enter. If you are using NetCDF files, type "netcdf", then enter. |
112 |
|
|
|
113 |
|
|
o The script then asks if the user would like to use the default settings. If you have run |
114 |
|
|
the program before and none of your settings have changed, type "y" for yes, then hit |
115 |
|
|
enter. If you have not run the program before, or would like to change your settings, |
116 |
|
|
type "n" for no, then hit enter. |
117 |
|
|
|
118 |
|
|
o If you typed "n", the program should begin running, and you can skip to the section |
119 |
|
|
"running the program". If you typed "y", it will prompt for more information. |
120 |
|
|
|
121 |
|
|
o Next, the program asks for the dimensions of the data, meaning the x, y and z values |
122 |
|
|
of the data. These are entered in the format "x y z". For example, a set of data might |
123 |
|
|
cover 360 longitude steps, 160 latitude steps and 20 depth steps. The user would |
124 |
|
|
therefore enter "360 160 20". |
125 |
|
|
|
126 |
|
|
o Next, the user is prompted for the dimensions of the data sets. darwinView is designed |
127 |
|
|
to graph several different sets of data simultaneously. For example, if a user were |
128 |
|
|
graphing concentrations of four species of phytoplankton, and wanted them arranged in a |
129 |
|
|
square, he would enter "2x2". For a horizontal line, he would enter "4x1", and for a |
130 |
|
|
vertical line he would enter "1x4". |
131 |
|
|
|
132 |
|
|
o If you are using the program to read from binary files, you are then prompted for the |
133 |
|
|
directory containing the data to be read from. This directory should contain a |
134 |
|
|
subdirectory for each timestep, as described in the section "Before You Compile the |
135 |
|
|
Program." Finally, you are prompted for the name of the file containing the list of |
136 |
|
|
variable names as described in the section "Before You Compile the Program." The |
137 |
|
|
program should now begin running, and you can skip to the section "Running the Program." |
138 |
|
|
(Note: all of the input asked for up until this point is saved in the file |
139 |
|
|
.darwinview/binconfig. If your settings have not changed by the next time you run the |
140 |
|
|
program, you can simply select "use default settings" to skip retyping the information.) |
141 |
|
|
|
142 |
|
|
o If you are using the program to read from NetCDF files, you are then prompted for the |
143 |
|
|
directory containing the data to be read from. This directory should contain all the |
144 |
|
|
tiles for the necessary timesteps, as described in the section "Before You Compile the |
145 |
|
|
Program." |
146 |
|
|
|
147 |
|
|
o Next, you are prompted for the directory to write to. This directory should be empty. |
148 |
|
|
|
149 |
|
|
o Finally, you are prompted for the names of the three files: one containing a list of |
150 |
|
|
desired variable names, one containing a list of tile names, and one containing a list of |
151 |
|
|
time steps (as described in the section "Before You Compile the Program). The program |
152 |
|
|
should now begin running. (Note: all of the input asked for up until this point is saved |
153 |
|
|
in the files .darwinview/netcdf and .darwinview/ncconfig. If your settings have not changed |
154 |
|
|
by the next time you run the program, you can simply select "use default settings" to skip |
155 |
|
|
retyping the information.) |
156 |
|
|
|
157 |
|
|
* Running the Program |
158 |
|
|
|
159 |
|
|
- When the program window first comes up, you should see the x-y plane of each data set. The |
160 |
|
|
default color scale is set to local. At the top of each graph, the name of the file being read |
161 |
|
|
from, the depth level being viewed and the time step being viewed are labeled. |
162 |
|
|
|
163 |
|
|
-The right mouse button brings up a menu with the following options: |
164 |
|
|
- Local color scale - switch to the local color scale, where the maximum and minimum |
165 |
|
|
values are specific for each variable, time and level. Default |
166 |
|
|
when the program begins running. |
167 |
|
|
- Global color scale - switch to the global color scale, where the maximum and minimum |
168 |
|
|
are calculated based on the entire data set (all variables, times |
169 |
|
|
and levels). |
170 |
|
|
- User-set color scale - switch to the user-set color scale, where the user is prompted |
171 |
|
|
for the maximum and minimum. All variables are then scaled |
172 |
|
|
according to these values. |
173 |
|
|
- Log scale - toggles the log scale on/off. The log scale can be used in |
174 |
|
|
conjunction with any of the color scale options listed above. |
175 |
|
|
- Allow negatives - toggles the allowance of negatives on/off. When the program |
176 |
|
|
begins running, off is the default. In off mode, all negative |
177 |
|
|
values are set to the lowest positive value. |
178 |
|
|
- Switch endian - toggles between big and little endian. Default is big endian. |
179 |
|
|
|
180 |
|
|
-There are also a number of key commands: |
181 |
|
|
- left arrow key - move all plots forward one time step. If the animate feature is |
182 |
|
|
set, pushing this key cycles forwards through the time steps. |
183 |
|
|
- right arrow key - move all plots back one time step. If the animate feature is set, |
184 |
|
|
pushing this key cycles backwards through the time steps. |
185 |
|
|
- down arrow key - in the xy view, move down one depth level. In the xz view, move |
186 |
|
|
down one North-South slice. In the yz slice, move right one |
187 |
|
|
East-West slice. If the animate feature is set, pushing this key |
188 |
|
|
cycles downwards through the depth levels in the xy view, down |
189 |
|
|
the North-South slices in the xz view, and right across the |
190 |
|
|
East-West slices in the yz view. |
191 |
|
|
- up arrow key - in the xy view, move up one depth level. In the xz view, move up |
192 |
|
|
one North-South slice. In the yz view, move left one East-West |
193 |
|
|
slice. If the animate feature is set, pushing this key cycles |
194 |
|
|
upwards through the depth levels in the xy view, up the North- |
195 |
|
|
South slices in the xz view, and left across the East-West slices |
196 |
|
|
in the yz view. |
197 |
|
|
- r - reset the view (return to the xy plane at the first time and level) |
198 |
|
|
- a - toggle the animate feature on/off |
199 |
|
|
- x - toggle between xy and xz view, which plots how a certain North-South |
200 |
|
|
slice changes over depth. |
201 |
|
|
- y - toggle between xy and yz view, which plots how a certain East-West |
202 |
|
|
slice changes over depth. |
203 |
|
|
- z - toggles scaling of the z-axis when the program is in the xz or yz |
204 |
|
|
view. The user will be prompted for the name of the file containing |
205 |
|
|
containing the depth information the first time "z" is pressed (as |
206 |
|
|
described in the section "Before you Compile the Program"). |
207 |
|
|
- q - quit the program |
208 |
|
|
|