Utilizing MATLAB For the Aid In Preliminary Design of Seawalls  
Program Limitations:

Biased Data

A major problem is that the program calculates the 100 year wave from one set of data the the user puts in.  In many cases, this might be over a couple of days at max, since detailed water level data is harder to get and requires a lot of data space.  Regardless of how long the user measures the water heights, the data will most likely not represent variation due to weather.  In general, the main waves will come from rare significant storms, but unless the data has been constantly taken over a year or two, it will not include these events in the probability distribution.

For the probability analysis to be representative of the body of water, it would have to include seasonal variations as well; this once again shows that the length of time for data acquisition must be significantly long for any sort of approximations of yearly probability.  If the data is taken over a long period of time, natural fluctuation in mean sea level will take place.  The program was written to account for a linear trend of water level fluctuation, but over any significant time length the water level fluctuation could never be modeled by a simple trend regression like this. As a result, this would greatly affect the calculation of wave heights.  If the water level drops during a sudden short dry season, and the wave peaks don't reach the mean level of the data, then the down crossing analysis will measure the wave height as the peak of the whole range (all the waves occurring in between times that it intersects the mean value) minus the minimum of the next range. Ideally, the program would subtract something like the twelve hour mean from each point, to account for variations in water level.

Though this problem is mostly external to the program itself, it somewhat nullifies one of the goals of the program:  to get simple quick approximations of the pressure distribution on a sea wall at a given site.  Rather than gather such lengthy data, one might as well conduct different types of in-depth analysis.

Breaking Waves

Another limitation of the program is that it assumes the waves are simple linear non-breaking waves.  When the waves begin to break, the functions of pressure contributions acting on the wall become much more complex.  This is one area of potential improvement of the program.  The equations and general models of breaking waves are shown in the Coastal Engineering Manual, but the math is slightly beyond the scope of this class or this analysis.  The program determines if the wave would be breaking, but it only tells the user that the data validity is compromised; it doesn't actually calculate new resulting pressures.

When a wave is breaking it tends to impact the wall more.  There are also many small bubbles that develop and shear against the wall.  This isn't really a pressure acting on the wall, but it is important for assessing wall lifetime.

Also, breaking waves tend to have a downward scouring motion that can result in significant erosion at the toe of the wall.  This marks another potential improvement of the program: to calculated and plot the stresses acting on the toe of the sea wall from the waves.

Lastly, breaking waves tend to have more of an impact against the wall that even, varied pressure distributions.  This again would be a significant factor to consider when designing a wall.

Ice Forces

If the program is used for considering smaller lakes (in the north), where wave heights are small, the main forces that will cause the wall to fail are not actually from ice expansion, not waves.  The pressure data from the program would likely still be useful, but some analysis on the ice expansion would be more significant.  One reason why ice expansion can be so detrimental to a sea wall, is that it produces not just a large force on the wall, but the force is all located at the surface of the water, where not many other forces act.  This results in a moment acting on the wall much higher than the moment resulting from the water.  This isn't an error in the program, it's just a potentially significant piece of information that the program says nothing about.