Allen Grimes, Texas A&M University, College Station, TX
Principle Investigator: Patrick Lynett, Texas A&M University, College Station, TX
REU site: Oregon State University, Corvallis, OR
REU advisor: Alicia Lyman-Holt
The java-based numerical modeling program is a software program intended to be used
by researchers studying nearshore wave dynamics and planning to perform physical
modeling of their experiments. This report expounds on the important features of the
program and how it simplifies the process of using numerical wave models. It also
explains the need for simplified numerical models and the implementation of those
simplifications in the program. When experimenting in wave flume facilities, unforeseen
complications can slow down an experiment schedule and cost researchers time and
funding. Numerical wave models provide a way for researchers to anticipate some of
these problems during the experimental design phase and adjust accordingly. However,
not all numerical models are created equal, nor are they easy to learn and use. The
Java-based program acts a middle-man between powerful, yet complex numerical
models and a researcher who is unfamiliar with numerical modeling. The goal of the
program is to shorten the experimental design phase and reduce unknowns in the
physical testing phase. Key features of the program presented in this report include
real-time updating of graphical results and the simplification of inputs, outputs, and the
user interface.
Performing research experiments at wave research laboratories is expensive and
unforeseen results can sometimes slow down or even halt an experiment. Any delays
in physical modeling at a rented facility could cost the researcher significant time and
funding. Knowing in advance about the wave characteristics of potential experimental
setups before stepping foot in the wave lab facility would allow the researcher to
optimize his experiment during the design phase. Applying this knowledge during the
design phase would minimize frustrations such as finding the best instrumentation
location while on site, un-planned modifying of bathymetry or structure setup, or
experiencing forces or pressures outside of an instrument’s range or a structure’s
strength. Numerical modeling of an experimental setup provides such useful
information to researchers prior to physical testing.
Although numerical models are powerful and highly accurate in certain conditions they
are not always simple to use by those who have not been trained on them. In some
instances numerical models can offer so much flexibility and functionality that they
become too complex for the average researcher. Also, each numerical model has its
own quirks, interfaces and data input and output formats forcing a researcher to relearn
each new modeling software he uses. A possible solution to this problem would be to
create a program that provides a simplified interface with standardized input and output
of data and uses multiple numerical models.
The goal of this project was to produce an interface to an accurate numerical model that
would highlight and simplify the most critical features and parameters of the numerical
model. This was to be accomplished by creating a program that has minimal
parameters to be edited and opens simplified input files. The program must also
intuitively graph the results and make output data easily understandable.
The selected approach to this project was to design a Java based program. Java was
chosen because at the beginning of this project it was planned that the program would
run in a browser window. However, it was later decided that the program would run
independent of a web browser because Java’s security features restricted much of the
usability intended for the program.
In order for the program to be an efficient numerical model for researchers it had to
have certain features that made it easy to use. Although simplifying the features and
operations of a numerical model causes some loss of flexibility and functionality, it
provides a less confusing and quicker experience to unfamiliar users. The
simplifications that took place include a bare minimum experimental parameter list, input
and output files that can be easily created, read and graphed by users and an intuitive
interface. A graph of the waves is continuously updated while the numerical model is
running which provides the user with nearly instant feedback. Quick feedback in turn
allows the user to refine the parameters of an experiment and rerun the model before
the original model would have been done. One goal of this program was to give the
user access to multiple models. The current version of the program only uses the
COULWAVE model, but the code was designed in such a way that integration with
other models would require little time to implement. Lastly, a final simplifying feature of
the program is how easy it is to distribute and be executed by most users. The Results
section details how these features were created and how they are used.
The input of a numerical model is the most important controlling factor of a model. It is
the means for a researcher to recreate real world situations within a numerical model.
Of the many parameters that full featured numerical models have control over only a
few were chosen as important enough to be included in the simplified inputs list. Those
deemed most important include wave type, wave height, wave period, water depth,
bathymetry shape, simulation resolution, simulation duration and friction coefficient.
The wave types offered in the program include a solitary wave, a regular wave series
and a TMA spectrum. A solitary wave is a single wave that propagates without
deformation in deep enough water. Regular waves are a series of waves all having the
same wave period and wave height. Regular waves are used to simulate the
continuous action of waves in the ocean or on the shore. A TMA spectrum of waves is
a series of waves of varying wave periods and wave heights that are statistically similar
to real world nearshore waves. A TMA spectrum is weighted by factors such as peak
wave period and significant wave height.
To further reduce confusion, the input interface of wave period and wave height is
changed depending on the wave type chosen. For example, when selecting solitary
waves, the only input field available is deep water wave height, (H0). However, regular
waves and TMA spectrum waves both use wave period and wave height, but regular
waves use a deep water wave height (H0) and a uniform wave period (T), while TMA
spectrum waves use a significant wave height (HS) and a peak period (TP). After
selecting a wave type the following input section changes based on the appropriate
input for that wave type. This reduces the use of generic terms or inputs that do not
affect the model and makes it clear to the user what the input values represent.
Water depth is a very important factor and a commonly varied parameter in wave flume
modeling. In this program it represents the depth from the still water level (SWL) to the
base of the flume at the point when x equals zero, the left most point on the graph. In
this program the value is inputted as a positive number and in meters.
Arguably the most important controllable variable to researchers is the shape of the
bathymetry. Bathymetry is by definition the measurement of the depth of land bodies
underwater. In the context of this program it is more than just a single depth, but an
array of depths. This means that the bathymetry in the model can be much more than
just a depth and more than a single slope. Bathymetries can resemble more complex
shapes such as real beach profiles or any wave flume. The program currently reads
text files in the x, z column format. These can be easily created and read in a text editor
or spreadsheet.
As is the case with nearly all simulations and computer models, accuracy costs time.
With this in mind, the ability to change the resolution of the model is another parameter
that is important to researchers. For a quick and rough estimate of wave dynamics a
user can run the model with a low resolution and then run the model with a higher
resolution to get more detail and accuracy.
Although duration does not have a direct effect on the dynamics of the model, it is still
an important parameter. Because of the nature of the variability of the experimental
setup of a model the dynamic effects that a researcher is looking at may be within a few
seconds after starting or it may be several minutes later. The duration is simply the time
at which the model stops calculating the wave dynamics.
The affect of bottom friction on the waves is a very important factor in wave dynamics,
especially when the waves begin to shoal, or “feel” the effects of the bottom surface. In
this simulation friction is represented as a numerical coefficient. This coefficient
represents the roughness of the bottom material.
Because this program is being used to make experimental modeling more efficient the
parameters in the program must reflect changeable parameters available in most wave
research laboratories. Wave types such as solitary, regular and TMA spectrum waves
are physically reproducible with most large wave flume facilities. Most wave
laboratories’ wave makers have the ability to generate these types of waves and control
the wave height and wave period within its range. Water depth is a relatively easy
variable to change in a real world wave flume; it usually involves draining or filling the
wave tank. The bathymetry is essentially the profile shape of the wave flume in addition
to rigid elements or structures. However, there are some limitations to what
bathymetries can be modeled in the program. Due to limitations with the current
numerical model, every horizontal point can only have one depth. This means that
there cannot be any overhanging structures or perfectly vertical walls. Details of how to
create a bathymetry file can be found in the help document included with the program.
The resolution of the program is purely a numerical model parameter and has no real
world comparison. Although, with a higher resolution the numerical model will more
accurately reflect the real physical results. Duration is not a controllable parameter in
physical modeling, but it can be compared to the duration of the data collection of a
laboratory’s data acquisition system. Lastly, the friction coefficient represents the water
to bottom surface friction interaction and is based on the bottom surface material.
The java numerical model interface allows for users to use virtual instrumentation as
though they were using actual sensors in a real wave flume. The current version allows
users to collect data from virtual wave gauges and Acoustic Doppler Velocimeters
(ADV). The user can load text files that represent the x, z positions of several
instruments. While the program is updating the model it constantly updates the time
series data of each sensor and saves it to a file that is easily read or graphed by a
spreadsheet application. Because the data collection is done post-processing, or within
the java program and not the numerical model, instrument arrangements can be
changed multiple times without re-calculating the numerical model, however the
program must update once after changing sensor positions. The virtual sensor data is
then outputted in tabular format that can be plotted similar to actual sensor data (Fig. 1).
This feature allows researchers to easily test various instrument setups for the most
useful setup long before starting physical modeling. The help document included with
the program details the formatting of the instrument setup file as well as the method for
plotting instrument data in a spreadsheet program.
free surface elevation, z (m)
Free Surface Elevation
w g1
w g2
w g3
w g4
w g5
w g6
w g7
tim e (s)
Figure 1. Sample wave gauge data from program plotted with time
For a model to be simplified it is not enough to have simple inputs it must be presented
to the user in an understandable way. This means that the interface that the user sees
and uses to change inputs and view the model output must be somewhat intuitive to use.
The input fields of the program are listed in a logical order that leads the user through
the setup of an experiment. All input values remain on the screen so as to be
immediately accessible to the user. The parameters can be changed and the model rerun at any time.
The graphical output is also relatively intuitive. In the graph the water is blue and the
bottom surface is black. To zoom in on a certain area of the graph, the user can click
and drag a box around the area of interest. The viewing window of the graph can be
moved up, down, left and right using the corresponding arrow buttons. The user can
zoom out to view the entire modeled area by pressing the Zoom All button that
resembles a magnifying glass with a minus sign inside. Figure 2 depicts the navigation
control buttons. The program also has the capability of viewing the wave at any point in
time that has been calculated by the numerical model by either playing the time series
as an animation or moving the time slider bar to the desired point in time or entering the
preferred time, in seconds, in the time text box. The jump-to-beginning, play-animation,
and jump-to-end buttons are shown in Fig. 3. All buttons in the program attempt to be
as self descriptive as possible. The intuitive interface helps accomplish the goal of
making this program a simplified and efficient numerical modeling program by allowing
the user to easily view and change input data as well as visually inspect and interact
with locations and times of interest.
Figure 2. Navigation buttons
Figure 3. Animation controls
An additional visual feature included in the program was the ability to view particle
velocities at any given point. Figure 4 shows a sample of the gradient color scale of
horizontal velocities for a particular area of the model. In the figure red represents the
highest horizontal velocity in the positive direction and blue represents the highest
velocity in the negative direction, where x increases to the right. This feature allows
researchers to immediately identify maximum velocity regions and adjust instrument
setup accordingly.
Figure 4. Visual horizontal velocity gradient
Another useful feature is the ability for the program to constantly update itself from the
numerical model’s output while the numerical model is still running. As stated before,
this gives the user immediate feedback because they do not have to wait for the
numerical model to completely finish its calculations before being able to view the
results. The benefit to the researcher is the ability to change the parameters of a model
and re-calculate the model without having to finish calculating the first model. The way
this is accomplished is made simple by the fact that the numerical model and the java
program are separate programs that have access to the same files. The numerical
model outputs the resulting wave heights and wave velocities to a file in a minimal
memory format at the end of each iteration. While the program is in update mode it
constantly re-reads the same file and displays that new data in the graph.
One of the intended strengths of this program is to provide the user with multiple
numerical models to calculate the resulting wave dynamics. Because different models
have different strengths and weaknesses, a multi-model approach allows the researcher
to compare the differences between the models and therefore reduce the overall
inaccuracies of the modeling process. Each numerical model has its own format for
inputting and outputting data. Since the java program is in control of reading the data
outputted by model it can be programmed to read data of different formats and then
display the graph and output sensor data in a uniform format. This uniform output
allows the researcher to then use the information without having to convert it to a usable
format for any model chosen. Although the program currently only uses the
COULWAVE model, it has the ability to be quickly re-programmed to allow for multiple
Lastly, an efficient numerical modeling program would not be easy for researchers to
use unless it is easy to install and run. The java-based numerical wave tank can be
downloaded from the internet in a relatively small compressed folder format (*.zip).
Once the file is on the computer it can be de-compressed (“un-zipped”), opened and
then the user can open the program by clicking on the “RUN” file. The downloaded
folder contains all the files necessary for running the current numerical model, which
uses programs that are not commonly found on most users’ computers. The java
program runs in the Java Runtime Environment 1.6 (JRE1.6) which most users already
have installed on their computers and is not included in the folder.
Although the program is intended to be used by researchers planning to perform
physical modeling of wave experiments, time did not permit the testing and analyzing of
the program by researchers before the writing of this report. Therefore the discussion of
the effectiveness of the program is minimal as the project currently stands.
In order for this program to fulfill its goal of making the design phase of two dimensional
wave modeling more efficient it will need a few more improvements including the orderly
adjustment of the input fields and improvements to the speed of the updating process.
A method for testing the efficiency of the program would be to distribute it among new
and experienced physical wave modelers and take a survey of their experiences with
the program.
Without discussion of the effectiveness of this program from researchers, conclusions
about the achievements of this program are left to speculation and analysis of the
methods chosen in the implementation of the program. It is recommended that further
work be done on this project to finalize the program and properly asses its success.
Special thanks goes to my advisor and mentor Dr. Patrick Lynett for providing me with
the opportunity to work on this summer project and for guiding me through the process
of designing and refining the program. I would also like to thank my NEES reu site
coordinator, Alicia Lyman-Holt for keeping me on task during the summer.
Figure 5. Sample of program running a wave simulation
Was this manual useful for you? yes no
Thank you for your participation!

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF