Written entirely in C++ using FLTK/FLUID for GUI. No threads, all the GUI
events and display
updates are handled manually for each control.
Source files and binaries: weather.zip (includes source code, FLTK/FLUID files and a WIN32 executable)
How to run:
The executable can be run on any Windows machine that has VTK installed and
appropriate paths
setup (environment variables) for the libraries and dlls.
Also, when running the executable make sure that the data file and all the images
are in the same
directory as the executable.
Features:
Features not behaving correctly:
Screenshots:
Figure 1. Just a regular average air temperature visualization. No smooth interpolation.
That seems to
show the boundries of temperature changes much better. It also looks more like
the weather forecast
maps.
Figure 2. Temperature data with smooth interpolation. it looks prettier but
less functional in my opinion.
Note, the underlying map has changed. and the wind direction has been added
as well.
Figure 3. Same as above. Same date except there is not wind and the smoothing
of the data is not on.
It shows the variations in temperature a lot better.
Figure 4. Soil temperature visualization with smoothing on. Darker means lower
temperature. The
color lookup table is different than the air temperature one on purpose (to
better distinguish the two,
also green sort of represents grass or ground).
Figure 5. Precipitation data with yet another base map. Also, the lookup table
has been made especially
for this visualization so that it represents water better. White means no precipitation
and darker means
more and more precipitation. Smoothing is off.
Figure 6. Again, different map with wind visuzalization. Wind speed has been
visualized as a colormap
and wind direction as vectors. Darker means greater wind speed.
Figure 7. Humidity visualization with wind direction over it. The same day
as Figure 5. Notice that
in the figure 5. it is raining in most of the state, hence, more humidity.
Figure 8. This image shows a (non working) picking example. In the lower left
corner you can see
the output as different points have been picked. The point Ids have been extracted
correctly but the
scalars have not.