Physical Oceanography Late homework will cost 15 points per week or part of a week it is late. - Describe a method for predicting tides at a site 100 km offshore
of Australia on the continental shelf of the Timor Sea, in an area
where
a tide gauge was operated for a three-month period in the summer of
1975.
- You work for a engineering company that is designing a platform
that will operate for a ten-year period in the Timor Sea. You are asked:
What is the significant wave height and maximum wave height to be expected
while the platform is in operation? What information will you need to
answer the question, and where will you find the information?
- A 8.1 m/s trade wind generates a fully developed sea. Assume
the Pierson-Moskowitz spectrum describes the spectrum of these waves.
- What is the period of waves at the peak of the spectrum?
- What is the significant wave height of this trade-wind sea?
- What is the variance of surface displacement?
- A small coastal town in Scotland wishes to install a wave-powered
electrical generating station to provide power to the town. They know
the significant wave height offshore in deep water averages 2 meters,
and the typical wave period is 6 seconds. If 10% of the wave energy coming
ashore along 10 meters of the shore is converted to electricity, how
much
power is available to the town? Assume no wave energy is lost in the
coastal
zone and all power coming toward the shore from deep water reaches the
power station. Assume further that the wave energy is not refracted as
it propagates toward the shore.
- The site for the wave-powered electric generating station in Scotland needs to be carefully considered. List two of the most important environmental conditions that might influence the selection of a site, and state why they are important.
Laboratory Assignment 10 Oceanography 608 The goal of this laboratory session is to learn more about ocean-wave spectra. You will use as an example the spectrum of sea-surface elevation: a wave-height spectrum. You can calculate the spectrum using the data in the file OCNG-608 Lab 10 using the application Matlab on the Mac computer. Matlab is a higher-level programming language from The MathWorks, Inc. for fast, efficient manipulation of matrices and plotting of data. It includes a special Signal-Processing Toolbox for calculating, among many other functions, the spectrum of a time series. The use of higher-level languages such as Matlab is far more efficient than trying to calculate results using Fortran, C, or other lower-level programming languages. The lab was checked using Matlab version 4.2c.1 with the Signal Processing Toolbox. Your results may be slightly different if you are using an different version of Matlab. To calculate the spectrum: - Download wavefile.mat.
It is in binhex format. Unstuff the file, open the unstuffed file using
Matlab. The file is a MAT binary file that is machine independent. "MAT-files
can be transported between machines because they contain a machine signature
in the file header. Matlab checks the signature when it loads a file and,
if a signature indicates that a file is foreign, performs the necessary
conversion."-Matlab User's Guide. I also put a binary file wave.mat
on the server for PC users, or those who cannot unstuff a binhex file;
download the file directly to your hard drive, not to a browser page.
Change the name of the dataset by typing "sealevel=wavefile;" Be sure to put the semicolon at the end of the command. - Type "whos". This should return
`"sealevel 2047 by 2"`, indicating the workspace contains the matrix sealevel, which has two columns. The first column is the time in seconds when sea-surface height was measured by a wave recorder, the second is the height in centimeters at that time.
- Typing "sealevel(1:10,1)" prints
out the first ten values of
time.
Q1: What is the time interval between samples? Q2: What is the Nyquist frequency of the time series? - Typing "plot(sealevel(1:400,2))" plots the first 400 values of wave height.
- Typing "spec512=psd(sealevel(1:2048,2),512);" breaks the time
series into 512-point blocks, calculates the periodogram of each block,
averages the periodogram over 2048/512 = 4 blocks, and stores the result
in spec512. The spectral values are normalized by the frequency resolution
of the spectrum to produce a spectrum with units of cm
^{2}/Hz. This normalization produces a spectrum that is independent of the spectral resolution, allowing comparison of spectra made with different resolutions. Don't forget the semicolon, leaving it out prints the results to the screen. If you left it out, and Matlab starts filling the screen with numbers, typing "command and period" at the same time interrupts the calculation. - Now let's calculate the significant wave height using both the
time
series and the spectrum.
Typing "std(sealevel(1:2028,2))" produces the standard deviation of sea-surface elevation. Q4: What is the standard deviation of sea-surface elevation? What is the variance of sea-surface elevation? What is the significant wave height? Type "delf=nyquist/256" but substitute the value of the Nyquist frequency that you calculated in Question 2 for nyquist. (Don't type the word nyquist.). This defines the frequency interval between points in the spectrum. Typing "delf*sum(spec512)/sqrt(2)" returns two numbers, the first is the variance of wave height. (The second is the sum of the confidence intervals, and it does not concern us here.) The variance calculated from the spectrum should equal the variance of sea-surface elevation. It does not exactly equal the variance of sea surface elevation because Matlab applies a Hanning window to the data, giving some data more weight than other data. This produces a better spectrum, but slightly changes the normalization. Q5: What is the variance of sea surface elevation calculated from the spectrum? Is it the same as the variance calculated from the array sealevel? - We can produce more useful plots with a little more work: First
let's
produce a nice log-log plot:
Calculate a frequency scale: Type "freq=0:delf:nyquist;" (but use your value of the Nyquist frequency for nyquist) to calculate an array of 256 frequencies in Hertz from 0 to the Nyquist frequency. Now produce the plot: Typing "loglog(freq(2:257),spec512(1:256,1));" produces a log-log plot. The frequency starts at 2 to avoid plotting zero frequency on a log-log plot. If the log scale has several decades per tick, try typing "axis([0.01 1 0.001 100000])" to make a more useful plot. We can also produce a linear plot: Typing "plot(freq(2:128),spec512(1:127,1));" produces a linear plot that ignores the very small values at the higher frequencies. Q6: What is the frequency at the peak of the spectrum? Q7: What is the period of waves with this frequency? - The waves you have worked with were produced by a very uniform
trade
wind of 8.1 m/s blowing over a distance of thousands of kilometers.
Q8: How does the variance of wave height calculated above compare with that calculated using the Pierson-Moskowitz form of the spectrum for the same wind speed? Q9: How does the frequency at the peak in the spectrum you calculated compare with the frequency of the peak in the Pierson-Moskowitz spectrum?
These exercises have introduced you to some simplified concepts of spectra, hiding most of the mathematics. You may wish to read all of Chapter 11 of Oppenheim & Schafer plus the Matlab handbooks to learn more about the details of the calculations. Feel free to copy the data file so you can practice working with spectra. Try modifying the commands above to produce spectra with more and with less resolution and compare the spectra. I have put some information about the Matlab Signal Processing and copies of some pages from Chapter 11 of Oppenheim and Schafer in the red binder next to the power Mac. References Oppenheim, A.V. & Schafer, R.W. 1975 Digital Signal Processing. Prentice Hall: 585 pp. Revised on: 5 September, 2004 |