Lake Mendota Wave Height and Period Calculator

Heather Clifford & Brady Rades

Motivations

Process

Results

Future Work

References

Note:
This program is still in its developmental stages and the information obtained from it is not guaranteed.

Motivation

Lake Mendota in Madison, Wisconsin draws many citizens to its waters for recreational activities, such as: fishing, sailing, swimming,
and kayaking. Speaking from personal experience - when one gets out to the lake, they often find the conditions to be quite different
from what they had initially anticipated. This can not only put a damper on a recreational trip, but it can also pose serious safety
concerns. Our intent with this project is to provide recreational users of Lake Mendota with a simple, easy-to-use program that will
give them an idea of the lake conditions without ever leaving their home. The goal is that the user will simply click on the map of Lake
Mendota in the area that they are interested in visiting. Our Java Applet then reads the user's point and uses weather data collected atop
the Atmospheric and Oceanic Sciences (AOS) Building on the University of Wisconsin campus to calculate the significant wave height and
period. In the blink of an eye, the Java Applet displays these values for the user.

back to top

Process

It was decided that for this project, we would calculate our significant wave height and significant wave periods using the JONSWAP method.
Although this method is not the most accurate, it provides relativly close approximations for the significant wave height and period. In
order to calculate the desired values, the fetch and 10 meter wind speed over water are needed. The equations used in the calculation
process are shown in the step-by-step explanation of how the program works. Using these short equations, we can see that the actual
calculations are not overly intensive once the needed variables are gathered. However, our intent for this project, as stated above, is
to create a program that allows a user to simply select a point of interest and automatically obtain the desired information at the click
of the mouse. This simplicity in use is where we faced much of the difficulty in creating this project. Currently, we have not yet solved
all of the problems we ran into with completely automating the program. As of December 14, 2007, the program is not yet set up to receive
data from the AOS server, but the wind speed and direction can be entered by the user. Plans to finish the project are dicussed in the future
work section of this webpage.

While we do not intend to give a full in-depth discussion of the intricacies of our program, we feel that it is important to give the user
a brief explanation of the process our program goes through to determine the significant wave height and period at each point that is clicked.

Step 1: Make sure the user clicked inside the Lake Mendota boundary

The x and y coordinates of the user's mouse click are put into the program to check and make sure that the user
selected a point inside the boundary of Lake Mendota. If the website user does not click inside the lake boundary
the program will return zero values for both the significant wave height and wave period.

In order for us to create this capability we first had to determine the (x,y) coordinate points of the pixels making
up our lake boundary. By knowing the (x,y) coordinates of our boundary points, we were able to take the user's point
and "search" for the boundary in the foru principle directions (N,S,E,W). If we find the boundary in all of these
directions, we essentially proove that we are within the lake boundary. While there are some special cases we needed
to account for given the irregular shape of Lake Mendota, the above concept is the basis for checking whether or not
the user selected point is within the lake.

Step 2: Find Distance

Determining the fetch is the most intensive part of our program. If you think about it, given a point in the
middle of Lake Mendota, there is a multitude of possibilities for the distance from the point of interest to the
points along the shoreline. So how do we know which shore point is the right one to use, and also how do we get
the computer program to find it and then calculate the distance?

To begin answering these questions, we again need information concerning the boundary of Lake Mendota. To
determine the correct boundary point to use, we have to consider the direction from which the wind is coming.
Providing the program with the wind direction in degrees tells the program the direction in which it needs to
"search" for the lake boundary. For example, consider a wind coming from the North which corresponds to an angle
of zero degrees. Given the zero degree direction, the program starts at the user's mouse click and begins looking
for the boundary in the direction of North. When it finds the correct boundary point, it calculates the distance
between the user's point and the boundary point, which is the fetch that is needed for the following calculations.

Step 3: Convert windspeed to 10 meter over water wind speed

The wind monitor on the north side of the data collection tower atop the AOS Building is located a total of 345.04
meters above sea level. The tower wind speed is first converted to a 10 meter land wind speed, and then converted
to the 10 meter water wind speed that is used in the wave calculator.

AOS Data Collector Schematic


Step 4: Calculate F*

F* is calculated using the converted wind speed and the fetch distance from the user's click on the map of Lake Mendota.

Step 5: Calculate F*eff

To calculate F*eff, the duration is needed. Our program assumes a duration of one hour - this assumption is based
on the intended data input from the AOS server. Data is retrieved from the AOS server once an hour with five minute
intervals between data points. Using the 10 meter water wind speed and the one hour duration, t* is calculated.
F*eff is the calculated from t*.

Step 6: Compare F* & F*eff

The next step is to determine whether we are considering a situation that is fetch limited or duration limited. If F*
is less than F*eff, the situation is fetch limited. This means the final answer calculation will use F*. If F* is
greater than F*eff, the situation is duration limited. For this case, the final answer calculation will use F*eff.

Step 7: Calculate Wave Height & Wave Period

This calculation uses the variable determined in Step 6 and the 10 meter water wind speed to find the significant wave
height and wave period. These values are then displayed on the java applet under the image of Lake Mendota.

JONSWAP Equations

back to top

Results

Upon completion of our program, we ran through several arbitrary test runs to double check that the values the program was providing were
consistent with hand calculated values. When we were satisfied that our program was functioning properly, we validated its accuracy by testing
it against a known significant wave height and period. In early October, our CEE 514 class collected wave data near the UW Limnology center
on the shore of Lake Mendota. On this day the wind was predominantly out of the North, and wind speed was measured around 12 m/s. From wave data
gathered during the class period we calculated the significant wave height and period using a statistical approach. From this data we calculated
that the significant wave height during that time was 0.346 meters and the significant wave period was 2.65 seconds. When the wind speed and
and direction from that day were put into our program and a point in the lake near the UW Limnology Center was selected, our program calculated
the significant wave heigh to be 0.326 meters and the significant wave period to be 2.12 seconds. Based on these results, we see that our wave
calculator is in line with values obtained through more rigorous analyses.

back to top

Future Work

While the results of this initial program are promising, there is still much work that can be done to make the model more accurate. Several
assumptions were made when developing this Java Applet. In using the JONSWAP Method to calculate our needed values we are neglecting to consider
effects on waves such as reflection, refraction and even wave shoaling. In order to account for these effects, a better numerical model of Lake
Mendota needs to be made. For example, to include changes in wave height due to shoaling we would have to include depth data into our model.
Additionally, due to Lake Mendota's irregular shape, inaccuracies arise due to the neglect of diffraction. Using an example involving a North
wind, Eagle Point acts in a sense like a break water. From our calculations, the wave heights in the leeward bay are quite small,but due to
diffraction we know that the wave heights are actually higher in this location.

In addition to creating a more robust model that accounts for additional parameters affecting the wave height and period, efforts also need to
be directed towards creating another program that will gather the needed wind data once an hour from AOS and store it on a server. The Java
Applet would then read this file with the weather data and use it as the input for wind speed and wind direction. It is crucial that the program
that requests data from the AOS server is on the server that houses our Java Applet. If the data and the program are not located on the same
server, the program will not be able to read the data. One of our hopes is that this project can eventaully grow into a significant wave height
forecaster. For this idea to come to fruition, we will need to obtain forcasted wind data and place it into our program.

back to top


References

Google Maps

A special thank you to the following people who offered their help and guidance throughout this project.

Thomas E. Clifford, Jr., Systems Analyst
Tom Whittaker, Meteorologist & AOS software designer: UW Madison
Grant Petty, Atmospheric and Oceanic Sciences: UW Madison
Professor Chin Wu, Associate Professor - Civil and Environmental Engineering: UW Madison

back to top