Reference
Explore program methods, definitions, data conventions, and publications
There are a variety of data types that can be loaded. The specific data types are described below. See the tutorial on Direction Conventions for information of how wind and wave directions are stored and displayed.
1. Raw Wind and Wave Data
Raw data are the original wind and wave data files that are loaded. Raw wave spectrum data come in many forms and are typically produced by instrument- or model-specific applications. These data can be in ASCII or binary format and include various pieces of header information for identifying observation parameters such as time, location, water depth, etc. Raw wind data are stored in a MATLAB™ *.mat file.
Specific data types supported are listed below. Click on individual data types for specific data format detail.
• Coastal Data Information Program (CDIP) data
• Oceanweather Inc. hindcast data
• Rowe Technologies time series files
• WAVEWATCH III model spectra files
• NDBC real-time data (Disk file and WWW download)
• NODC Historical data (Disk file and WWW download)
When available, wind data can also be loaded to improve the analysis of the wave data. There are two types of MATLAB (*.mat) wind files that can be loaded.
For wind speed and direction data, a matrix named ‘wind’ has the following data columns:
1. Year (YYYY)
2. Month (MM)
3. Day (DD)
4. Hour (hhhh)
5. Minute (mm)
6. Second (ss)
7. Wind direction (deg from North)
8. Wind speed (m/s)
In the above wind file, the column containing Second (ss) data is optional. Thus this file can have 7 or 8 columns of data.
The second type of wind data than can be loaded is Friction Velocity (u*). This is also a MATLAB file with the name ‘wind’. However in this case the data are in a structure:
wind.time – row vector of datenum times for the observations
wind.ustar – row vector of friction velocity (m/s) values
It is anticipated that the above 2 wind file types will be merged in the future.
Custom data formatters are available by request from WaveForce Technologies
2. Processed Data
Processed data are stored in special output structure called wavedat. Each processing module adds specific fields into this structure. A summary of the wavedat fields associated with each processing step is given below.
Loaded Wave Data
Loading wave data in Start Up creates a new wavedat structure with the following fields:
file: (string) |
Processing History |
name: (string) |
Data Set Name |
size: (double) |
Number of Records |
time: [1x size double] |
Observation Date and Time as MATLAB Serial Date Number |
espt: {1x size cell} |
Directional Wave Spectra (m^{2}/(hz x deg) |
dwAvv: {1x size cell} |
1D Energy-Frequency Spectra |
df: [1x nfreq double] |
Array of Frequency Bin Differentials (dwfhz(n+1) – dwfhz(n)) |
da: (double) |
Angle Bin Width (deg) |
dwfhz: [1x nfreq double] |
Array of Frequency Bins (Hz) |
dwdeg: [1x nang double] |
Array of Angle Bins (deg) |
hs: [1x size double] |
Significant Wave Height (m) |
fp: [1x size double] |
Peak Frequency (Hz) |
tz: [1x size double] |
Zero Crossing Period (s) |
dm: [1x size double] |
Mean Wave Direction (Deg From North) |
thetap: [1x size double] |
Peak Wave Direction (Deg From North) |
sp: [1x size double] |
Directional Spread (deg) |
winddir: [1x size double] |
Wind Direction (Deg From North) |
windspeed: [1x size double] |
Wind Speed (m/s) |
ustar: [1x size double] |
Friction Velocity (m/s) – this field is optional |
type: '2D' or ‘1D’, |
Specifies Directional or Non-Directional Data |
lat: (double) |
Latitude (decimal degrees +N/-S) |
lon: (double) |
Longitude (decimal degrees +E/-W) |
depth: (double) |
Water Depth (m) |
param_rfmt: [1x1 struct] |
Reformat Parameters used to Load Data Set |
RecordsList {size x 1 cell} |
Date and Time String for each Record |
Processed Wave Data
Running the Wave Systems Module adds the following new wavedat fields:
out: [1x1 struct] |
Wave Partitioning Results (See Below) |
parsum: [1x240 struct] |
Wave Partition Templates |
windtype: (string) |
Specifies Observed or Estimated Winds |
param_trk: [1x1 struct] |
Wave System Parameters used to Process Data Set |
The fields in wavedat.out contain information on the individual wave components (spectral partitions):
time: [1xM double] |
Date and Time of Partition Record as MATLAB Serial Date Number |
azimuth: [1xM double] |
Mean Direction (Deg from True North) |
thetap [1xM double] |
Peak Direction (Deg from True North) |
freq: [1xM double] |
Peak Frequency (Hz) |
tz: [1xM double] |
Zero-Crossing Period (s) |
grp: [1xM double] |
Wave System Number |
sys: [1xM double] |
Swell Event Number |
totnrg: [1xM double] |
Total Energy (m^{2}) |
sighight: [1xM double] |
Significant Wave Height (m) |
dirspread: [1xM double] |
Directional Spread (deg) |
par: [1xM
double] |
Partition
Number |
wforce: [1xM
double] |
Wave Force
Ratio |
*m is the total number of partitions found in all records
Spectral Fit Data
Running the Spectral Fit Module adds the following new wavedat fields:
param_fit: [1x1 struct] |
Spectral Fit Parameters used to process this data set |
indexoffset (double) |
Internal variable for parsing/plotting NetCDF data |
fit: [1x1 struct] |
Raw Fit Results (see below) |
sfit: [1x1 struct] |
Composite Fit Results (see below) |
The all the raw fit results are stored in wavedat.fit. The structure of this is
fit1D: {[1x1 struct] [1x1 struct] [1x1 struct]}
fit2D: {[1x1 struct] [1x1 struct] [1x1 struct]}
where the three fit1D fields refer to the fitted JONSWAP, Gaussian, and Log Normal parameters for each partition, and the fit2D fields refer to the computed Ewans Wind Sea, Ewans Swell, and Cos^2n directional distribution parameters for each partition.
The composite fit results are stored in wavedat.sfit. The fields are listed below.
Note: N is the number of wave spectral records and M is the number of spectral partitions.
wavedat.sfit fields:
time: [1xM double] |
Date and Time of each Partition Record as MATLAB Serial Date Number |
par: [1xM double] |
Partition Number |
grp: [1xM double] |
Wave Group Number (for wave system tracking) |
gammaJON: [1xM double] |
JONSWAP Gamma parameter of fitted partition |
alpha: [1xM double] |
JONSWAP Alpha parameter of fitted partition |
sigmaA: [1xM double] |
JONSWAP sigma-A parameter of fitted partition |
sigmaB: [1xM double] |
JONSWAP sigma-B parameter of fitted partition |
sigma: [1xM double] |
Sigma parameter of fitted partition |
lambda: [1xM double] |
Ochi-Hubble Spectral Shape Parameter of fitted partition |
Lzif: [1xM double] |
Zero-Crossing Wavelength (m) of fitted partition |
tzif: [1xMdouble] |
Zero Crossing Period (s) of fitted partition |
hsif: [1xM double] |
Significant wave height (m) of fitted partition |
tpif: [1xM double] |
Peak period (s) of fitted system |
tzf: [1xN double] |
Mean period (s) of total fitted spectrum |
hsf: [1xN double] |
Significant wave height (m) of total fitted spectrum |
tpf: [1xN double] |
Peak period (s) of total fitted spectrum |
Lzf [1xN double] |
Mean wavelength (m) of total fitted spectrum |
ncos: [1xM double] |
Cosine spread parameter of fitted partition |
dmif: [1xM double] |
Mean direction ("from"/true north) of fitted partition |
spif: [1xM double] |
Spectral spread (deg) of fitted partition |
dpif: [1xM double] |
Peak direction ("from"/true north) of fitted partition |
dmf: [1xN double] |
Mean direction ("from"/true north) of total fitted spectrum |
spf: [1xN double] |
Spectral spread (deg) of total fitted spectrum |
dpf: [1xN double] |
Peak direction ("from"/true north) of total fitted spectrum |
fittype: {1xM cell} |
String of Fit Type (JONSWAP, Gaussian, etc.) |
fittype2D: {1xM cell} |
String of 2D Fit Type (EWANS Windsea, EWANS Swell, Cos2n) |
Sea State Data
Running the Sea State Module adds the following new wavedat fields:
param_seastate: [1x1 struct] |
Sea State Parameters used to process this data set |
sstate: [1x1 struct] |
Sea State Results (see below) |
extremes: [1x1 struct] |
Extremal Analysis Results (see below) |
The fields in wavedat.sstate are:
calms: (double) |
Number of Calm Periods for Occurrence Calculations |
jtable: [3x4 double] |
The Sea State Joint Occurrence Table |
stable: [1x3 struct] |
The Sea State Scatter Tables and supporting information |
bstable: [1x1 struct] |
The Sea State Bulk Scatter Tables and supporting information |
The fields in wavedat.extremes are:
waves: [1x1 struct] |
Extremal Analysis Results for Wave Height |
winds: [1x1 struct] |
Extremal Analysis Results for Wind Speed |
The fields in wavedat.extremes.waves are:
tr: [1x6 double] |
Return Period (yrs) array |
hsthresh: (double) |
Wave Height PoT Threshold (m) |
hspotind: [1xN double] |
Indices of Wave Height Peaks |
hspot: [1xN double] |
Wave Height PoT Values (m) |
gpd: [1x1 struct] |
Generalized Pareto Distribution Fit Values and Parameters |
hsamind: [1xM double] |
Indices of Annual Maxima Wave Heights |
hsannualmax: [1xM double] |
Wave Height Annual Maxima (m) |
gev: [1x1 struct] |
Generalized Extreme Value Distribution Fit Values and Parameters |
gumb: [1x1 struct] |
Gumbel Distribution Fit Values and Parameters |
weib: [1x1 struct] |
Weibull Distribution Fit Values and Parameters |
dirdata: [1x1 struct] |
Contains all of the above fields in a cell array for each direction bin |
The fields in wavedat.extremes.winds are:
tr: [1x6 double] |
Return Period (yrs) array |
wsthresh: (double) |
Wind Speed PoT Threshold (m) |
wspotind: [1xN double] |
Indices of Wind Speed Peaks |
wspot: [1xN double] |
Wind Speed PoT Values (m) |
gpd: [1x1 struct] |
Generalized Pareto Distribution Fit Values and Parameters |
wsamind: [1xM double] |
Indices of Annual Maxima Wind Speeds |
wsannualmax: [1xM double] |
Wind Speed Annual Maxima (m) |
gev: [1x1 struct] |
Generalized Extreme Value Distribution Fit Values and Parameters |
gumb: [1x1 struct] |
Gumbel Distribution Fit Values and Parameters |
weib: [1x1 struct] |
Weibull Distribution Fit Values and Parameters |
dirdata: [1x1 struct] |
Contains all of the above fields in a cell array for each direction bin |
Note: N is the number of peaks found and M is the number of block maxima found (number of years in data set).
For each of the distributions (GPD, GEV, Gumbel, and Weibull), the data structures have the following form:
xr: [1x6 double] |
Return Values (5, 10, 25, 50, 100, and 500 yrs) |
xrlo: [1x6 double] |
Lower Limit of the 95% Confidence Interval |
xrup: [1x6 double] |
Upper Limit of the 95% Confidence Interval |
k: (double) |
Estimated Shape Parameter |
sigma: (double) |
Estimated Scale Parameter |
mu: (double) |
Estimated Location Parameter |
Swell Map Data
Running the Swell Map Module adds the following new wavedat fields:
stat: [1x1 struct] |
Sea State Parameters used to process this data set |
The fields in wavedat.stat are:
startime: [1xN double] |
Start date and time of observed wave system as a MATLAB Serial Date Number |
stoptime: [1xN double] |
End date and time of observed wave system as a MATLAB Serial Date Number |
slope: [1xN double] |
Wave system linear rate of frequency increase per time (Hz/day) |
intercept: [1xN double |
Frequency intercept at time = 0 for linear fit through data (Hz) |
azimuth: [1xN double] |
Average direction of the wave system propagation (Deg From North) |
origtime: [1xN double] |
Wave system origination date and time as a MATLAB Serial Date Number |
distance: [1xN double] |
Distance to the wave system point of origin (m) |
latitude: [1xN double] |
Latitude of wave system point of origin (decimal degrees +N/-S) |
longitude: [1xN double] |
Longitude of wave system point of origin (decimal degrees +E/-W) |
Note: N is the number of storm events found
Evaluate Module Data
Running the Evaluate Module adds the following new wavedat fields:
eval: [1x1 struct] |
Contains the Evaluate Module Computed Statistics |
The wavedat.eval struct contains another structure that holds the temporal correlation statistics.
TC: [1x1 struct] |
Contains the Evaluate Module Temporal Correlation Statistics |
The following are the fields in wavedat.eval.TC. Depending on processing options, not all of these fields may be available.
wind: [1x1 struct] |
Wind Statistics and Error Metrics |
bulk: [1x1 struct] |
Bulk Wave Statistics and Error Metrics |
ws: [1x1 struct] |
Wind Sea Wave Component Statistics and Error Metrics |
sw1: [1x1 struct] |
Primary Swell Wave Component Statistics and Error Metrics |
sw2: [1x1 struct] |
Secondary Swell Wave Component Statistics and Error Metrics |
The following are the fields in wavedat.eval.TC.bulk.
time: [1xN double] |
Date and Time of each Record as MATLAB Serial Date Number |
thetap1: [1xN double] |
Baseline Data Peak Wave Direction (Deg From North) |
thetap2: [1xN double] |
Evaluate Data Peak Wave Direction (Deg From North) |
dm1: [1xN double] |
Baseline Data Mean Wave Direction (Deg From North) |
dm2: [1xN double] |
Evaluate Data Mean Wave Direction (Deg From North) |
res: [1x1 struct] |
Time Series Residuals for thetap, dm, hs, tp, and tz |
ccor: [1x1 struct] |
Circular Correlation (structure containing thetap and dm) |
cbias: [1x1 struct] |
Circular (angular) Bias (structure containing thetap and dm) |
hs1: [1xN double] |
Baseline Data Significant Wave Height (m) |
hs2: [1xN double] |
Evaluate Data Significant Wave Height (m) |
tp1: [1xN double] |
Baseline Data Peak Period (s) |
tp2: [1xN double] |
Evaluate Data Peak Period (s) |
tz1: [1xN double] |
Baseline Data Zero Crossing Period (s) |
tz2: [1xN double] |
Evaluate Data Zero Crossing Period (s) |
rms: [1x1 struct] |
Root-Mean-Square Error (structure containing hs, tp, and tz values) |
bias: [1x1 struct] |
Bias (structure containing hs, tp, and tz values) |
SI: [1x1 struct] |
Scatter Index (structure containing hs, tp, and tz values) |
r2: [1x1 struct] |
Regression Coefficent (structure containing hs, tp, and tz values) |
fitted: [1x1 struct] |
Slope and Intercept for Linear Regression (structure containing hs, tp, and tz values) |
limits95: [1x1 struct] |
95% Confidence Interval of Fit (structure containing hs, tp, and tz values) |
limits90: [1x1 struct] |
90% Confidence Interval of Fit (structure containing hs, tp, and tz values) |
limits85: [1x1 struct] |
85% Confidence Interval of Fit (structure containing hs, tp, and tz values) |
Note: N is the number of matching records between baseline and evaluate data sets.
3. Export Data
A variety of data export options are offered, including image files, animations, and summary tables. See the Data Export Wizard for details on custom export tables in a variety of formats.
reformat
name |
Parameter set name |
obsyr |
Observation year |
lat |
Latitude (decimal degrees) |
lon |
Longitude (decimal degrees) |
magcorr |
Magnetic compass correction (deg) |
timecorr |
N/A |
method |
Processing method [1=On-Board, 2=Off-Board] |
paramset |
N/A |
allfiles |
Process all files [1=True, 0=False] |
onlyfiles |
Index within directory of files to process |
useset |
Parameter setting to use [1=True, 0=False] |
ewind |
Estimate winds [1=True, 0=False] |
depth |
Water depth (m) |
smooth |
Data smoothing interval (h) |
subset |
Data sub sample interval (h) |
abins |
Number of output angle bins |
dirpath |
Path to raw data |
fileext |
File name extension for raw data |
winddirpath |
Full path to input wind data |
datatype |
Input data type string |
datatypeuseset |
Specifies which parameter set to use for multiple saved parameter sets of the same datatype |
records |
Identify specific records of OceanWeather NetCDF files |
CustomFileFormat |
Identify index of meaningful characters within a file name (buoyname, year, month, day, hour, minute) |
NDBCIdNum |
Index of NDBC station from internal XWaves list (NDBC_Wave_Station_Info.mat) |
NODCDate |
Date string for NODC data |
egap |
Minimum data gap for estimating winds (h) |
windz |
Wind measurement height (m) |
wind_data_num |
Wind data set number |
NetCDFPath |
Full path to NetCDF input file |
NetCDFMode |
NetCDF mode [0=Disabled, 1=New file, 2=Append file] |
wwwnumdays |
Number of days to process from NDBC buoy |
tracking
name |
Parameter set name |
wsmult |
Wind sea multiplier |
swellmin |
Minimum swell wave weight (m) |
fa |
Spread factor |
maxpar |
Maximum number of swells per record |
gap |
Variance threshold |
smallest |
Minimum number of records |
sa |
Swell separation angle |
useset |
Parameter setting to use [1=True, 0=False] |
fac |
Spectral smoothing threshold |
trend |
Trend analysis window (h) |
windsea |
Wind sea identifier |
conserve |
N/A |
forcemin |
Wind force threshold |
ustar |
Friction velocity |
partition_resolution |
Number of spectrum division levels for partitioning |
specfit
name |
Parameter set name |
wsfit |
1D Wind sea fit type |
sfit |
1D Swell fit type |
useset |
Parameter setting to use [1=True, 0=False] |
wsfit2D |
2D Wind sea fit type |
sfit2D |
2D Swell fit type |
econserve |
Conserve wave energy flag [1=True, 0=False] |
tconserve |
Conserve wave period flag [1=True, 0=False] |
tolerance |
Wave period tolerance (s) |
jfit |
JONSWAP fit type |
seastate
name |
Parameter set name |
interval |
N/A |
ws |
N/A |
smax |
N/A |
sdat |
N/A |
snorm |
Scatter table data normalization |
hs_inc |
Significant wave height (m) increment between wave height bins |
tp_inc |
Wave period (s) increment between wave period bins |
nsect |
Number of wave direction bins |
sectors |
Array of computed bin centers |
width |
Array of computed width between bins |
useset |
Parameter setting to use [1=True, 0=False] |
vesselpath |
N/A |
waveper |
Select peak period or zero-crossing period |
wavedirs |
N/A |
wsthreshtype |
Wind speed PoT threshold type |
wsthresh |
Wind speed PoT threshold value |
hsthreshtype |
Wave height PoT threshold type |
hsthresh |
Wave height PoT threshold value |
plag |
PoT minimum time lag (h) between successive events |
compute_error |
Compute 95% confidence intervals [1=True, 0=False] |
NetCDFDefaults
nrec |
Number of records to keep in memory |
Fields |
Structure of NetCDF data fields |
eval
name |
Parameter set name |
useset |
Parameter setting to use [1=True, 0=False] |
smoothing |
Baseline data smoothing interval (h) |
subsample |
Baseline data subsample interval (h) |
maxtimediff |
Maximum allowable time gap for matching records (h) |
wsthreshtype |
Wind speed PoT threshold type |
wsthresh |
Wind speed PoT threshold value |
hsthreshtype |
Wave height PoT threshold type |
hsthresh |
Wave height PoT threshold value |
processws |
Process and compare wave systems flag |
swellgroups |
Number of swell groups to compare |
delineate |
Method to delineate swells, wave height or period |
delineatevalue |
Wave period (s) used to delineate swells |
bldatapath |
Full path to baseline data |
evdatapath |
Full path to evaluate data |
netcdfpath |
Full path to NetCDF data |
plag |
PoT minimum time lag (h) between successive events |
mlag |
PoT search window duration (h) to match peaks in baseline/evaluate data |
export
name |
Parameter set name |
useset |
Parameter setting to use [1=True, 0=False] |
smax |
Maximum number of output partitions |
format |
Format of export data file (ASCII, EXCEL or mat file) |
header |
Structure containing output header options |
datafields |
Structure containing all output data fields |
auto
name |
Parameter set name |
datatype |
Import data type |
SaveDataTo |
Full path for *.mat data file |
useset |
Parameter setting to use [1=True, 0=False] |
rfmt_num |
Reformat parameters (parameters.reformat) set number to be used [Disable=-1] |
trk_num |
Wave Systems parameters (parameters.tracking) set number to be used [Disable=-1] |
sfit_num |
Spectral Fit parameters (parameters.specfit) set number to be used [Disable=-1] |
ewiz_num |
Export Wizard parameters (parameters.export) set number to be used [Disable=-1] |
sstate_num |
Sea State (parameters.seastate) parameters set number to be used [Disable=-1] |
display_waitbars |
AutoWaves flag to display processing waitbars [Enable=1, Disable=0] |
XWavesDataFile |
Full path of XWaves format .mat file to process data from [Disable=[]] |
param_netCDF |
Structure containing NetCDF parameters [FieldName, nrec, NCFile, records] |
SaveDataToEnable |
Save Data to .mat Flag [Enable=1, Disable=0] |
PlotEnable |
Export plots? [Enable=1, Disable=0] |
PlotSelection |
Array of flags to output each available plot [Enable=1, Disable=0] |
PlotFormat |
Format of export plots [.bmp, .jpg, .pdf, .png, .tif, .emf, or .fig] |
PlotFolder |
Path to save plots |
AutoUpdateEnable |
Automatic processing option [Enable=1, Disable=0] |
AutoUpdateInterval |
Automatic processing interval (h) |
AutoUpdateAppend |
Append automatic processing to existing output file? [Enable=1, Disable=0] |
SaveExportWizardTo |
Full path to export wizard output file |
SaveSpecCoeffTo |
Full path to spectral coefficient text file |
SaveSpecCoeffToEnable |
Spectral coefficient text file output flag [Enable=1, Disable=0] |
SingleRecordSpecCoeffEnable |
Single record per spectral coefficient text file [Enable=1, Disable=0] |
ExportBlueFat |
BlueFat Table File Output Flag [Enable=1, Disable=0] |
SaveBlueFatFile |
Full path for BlueFat table output file |
VesselHeadingPath |
Full path to vessel heading file for BlueFat table |
StationsEnable |
Enable downloading from NDBC stations? [Enable=1, Disable=0] |
StationSelection |
Array of flags to download each available NDBC Station [Enable=1, Disable=0] |
StationFolder |
Path to save NDBC station data |
ErrorLogOption |
Log file options. [0=log all actions, 1=log error messages only] |
AutoUpdateService |
Windows Service Update Option |
ExportHsRecurrence |
Wave height recurrence table output flag [Enable=1, Disable=0] |
SaveHsRecurrenceFile |
Full path to wave height recurrence table |
ExportWsRecurrence |
Wind speed recurrence table output flag [Enable=1, Disable=0] |
SaveWsRecurrenceFile |
Full path to wind speed recurrence table |
SaveDataOption |
Save output data option [‘single’, ‘individual’, or ‘monthly’] |
Scaling |
Frequency axis scaling [‘Log’ or ‘Linear’] |
A variety of statistical parameters are calculated by the software and can be exported for additional use. Here we provide the definitions of these parameters.
Metadata Fields
Date and Time
A Matlab serial date number is stored for each wave record and corresponding statistical parameter. The serial date number represents the whole and fractional number of days from a fixed, preset date (January 0, 0000). Upon exporting, date and time is converted to a standard string format: yyyy-mm-dd HH:MM:SS.
Typically the data are assumed to be referenced to Greenwich Mean Time (GMT). However the wavedat data structure allows inclusion of a time zone field which specifies the offset from GMT in hours. See Data Formats for additional information.
Location
Each data set is referenced to a specific geographic location.
Latitude is saved in decimal degrees (+N/-S)
Longitude is saved in decimal degrees (+E/-W)
Water Depth
Each data set is referenced to a specific water depth.
Water Depth (m) is saved as a positive number with mean sea level as 0.
Wind Parameters
Wind information can either be imported or estimated by the software. Saved wind information includes speed (m/s) and direction (deg from N).
Wind data can be stored with reference to a measurement height above the ocean surface, windz (m). Otherwise the reference height is assumed to be 10 m.
Wave Parameters
Wave statistics can be computed from the full wave spectrum, wave spectrum partitions, or from model fits to the spectrum (JONSWAP, Lognormal, etc.). In all cases the equations are the same.
Wave Spectrum
The Directional Wave Spectrum S(f,θ) provides the distribution of wave ‘energy’ or variance (m ^{2}/(Hz*deg)) as a function of wave frequency f (Hz) and wave direction θ (deg from N).
Integration of S(f,θ) over direction yields the Frequency Spectrum
Likewise, integration of S(f,θ) over frequency yields the Direction Spectrum
With the total energy (variance) in the spectral domain given by the zeroth moment
Wave Statistics
A variety of statistical parameters are computed from the wave spectra, including the Significant Wave Height, approximated by H_{mo}
the Peak Wave Period
with Peak Wave Frequency fp computed from a 3-point parabolic fit to the Frequency Spectrum peak;
the Mean Wave Period (zero-crossing)
with the second moment given by
The deep-water Wavelength is calculated from the Mean Wave Period
And the deep water Phase Speed is given by
with gravitational acceleration g=9.81 m/s^{2}.
The Peak Direction (deg from N) is the directional bin with the highest total energy (summed over frequency).
Also computed is the Mean Wave Direction
with bulk Fourier coefficients
where
and the Directional Spread
where
References
O'Reilly, W. C., T. H. C. Herbers, R. J. Seymour, and R. T. Guza, 1996. A comparison of directional buoy and fixed platform measurements of pacific swell. J. Atmos. Ocean. Tech. 13(1), 231-238.
Kuik, A. J., G. P. van Vledder, and L. H. Holthuijsen, 1988. A method for the routine analysis of pitch-and-roll buoy wave data, J. Phys. Oceanogr., 18, 1020–1034.
Additional Information
In general all wind and wave directions are stored in the standard meteorological “Degrees from North” convention, where angles rotate clockwise from north (0 Deg).
All plots display directions with this convention with the exception of vector plots, such as the Wave Systems Vector Plot in the Wave Systems Module. The vector plots rotate wind and wave directions 180 degrees to display them in vector form as “Degrees towards”, again with rotation clockwise from north.
The only exception to this direction convention rule is with the BlueFat table export function, which provides the option to rotate all directions relative to ship azimuth (180 = head on seas). For this feature a ship heading file must be provided by the user.
Magnetic Compass Corrections
As many conventional wave sensors collect wave direction data using a magnetic compass, correction is necessary in order to rotate the wave directions relative to True North. Most of the data formatters allow the user to input a Magnetic Compass Correction factor to facilitate this correction. This parameter is the magnetic declination, sometimes called magnetic variation, which is the angle between magnetic north and true north. The Magnetic Compass Correction should be entered as positive east of true north and negative when west. The input wave directions will be rotated by this angle to generate directions relative to True North.
The magnetic compass correction is a function of latitude and longitude and can be computed on a web page hosted by the National Geophysical Data Center: http://www.ngdc.noaa.gov/geomag-web/#declination.
The following data manipulations are facilitated by the Data Utilities Module.
Smooth Records
The Smooth Records option performs a weighted running average over the specified records. The utility uses a user-specified duration (h) to select directional wave spectra records to smooth. A weighted smooth function is generated that provides 100% weighting at the center record and 50% weighting at the tails. All statistical parameters are then recalculated based on the smoothed spectra.
If wind and/or friction velocity data are present, the wind directions are vector-averaged and the wind speeds are scalar averaged over the smoothing window. No taper is applied for winds.
For example, assume a 5-h smooth is applied to half-hourly records. The sliding window will smooth all wind and wave data occurring up to 2.5-h prior and 2.5-h after each observation time. For wave data, the +/- 2.5-h records will only contribute 50% to the averaging process.
This feature is helpful for noisy spectra, usually obtained from short time series records, and will help reduce Wave Systems processing time by eliminating spurious peaks.
SubSample File
The SubSample option reduces user data file sizes by saving only those records that occur at a user-specified time interval (h). Records that fall in-between this interval are removed.
For example, if a 3-h data subsample interval is selected for data that is provided hourly, the first record will be saved and the second and third records will be discarded. This pattern will repeat through the entire data set.
This feature is helpful for decreasing the size of large files, and will reduce Wave Systems processing time by providing fewer records to process.
Spectral Resolution
The Spectral Resolution utility is used to change the frequency range, frequency resolution, and directional resolution of the wave spectra in a file. The user specifies the desired frequency range, number of frequency bins, and number of angle bins. A two-dimensional linear interpolation is then performed on the Input spectra S(f,θ) to result in the requested frequency and direction resolution. All statistical parameters are then recalculated based on the interpolated spectra.
This utility can greatly reduce output file sizes and save on Wave Systems processing times for large data sets. It can also be used to smooth noisy spectra.
Append File
The Append File utility is used to append another data set to the beginning or end of the current user data set. Files selected to append must have observation times that either precede or follow the observation times of the user data in memory.
Subset File
The Subset File utility allows the user to create a new data file from a subset of a loaded data file. The subsetting is performed based on user-provided start and stop times.
Remove Records
The Remove Records utility allows the user to discard records from a loaded data file. The records are removed based on user-provided start and stop times.
Rename
The Rename utility allows the user to change the name of a loaded data set. Selecting Rename will not cause any other data to be reprocessed or lost.
Additional Information:
Wave spectral partitioning provides an efficient approach to characterize energy levels of individual wind-sea and swell wave components in directional wave spectra. Here a ‘wave component’ is defined as a specific wind-sea or swell that can be attributed to a region of enhanced energy in the directional wave spectrum. The time evolution of a series of related wave components forms a ‘wave system’ that can be traced to a specific generation region on the ocean surface. Wave spectral partitioning methods have been applied in a variety of investigations, including the comparison of wave fields from the Labrador Sea Extreme Waves Experiment (Beal 1989), the validation of WAve Model WAM performance against ERS-1 SAR spectra (Hasselmann et al. 1994), the assimilation of wave observations into the WAM model (Voorrips et al. 1997), the analysis of wind sea growth and dissipation in the open ocean (Hanson and Phillips 1999), a study of swell evolution across the Pacific (Hanson and Phillips 2001), and an analysis of nearshore wave climatology (Scott et al. 2002).
Originally proposed by Gerling (1992), wave partitioning allows the identification and grouping of component wave systems from spatially and temporally distributed observations of directional wave spectra. A primary limitation to the Gerling approach is that only those portions of the spectrum that rise above a constant threshold are used to determine the features of particular wave component. Hasselmann et al. (1994) improved on this method by dividing the spectrum into subset domains based on an inverted catchment area approach, thus using the entire spectral region of each peak to compute wave component parameters. Hanson (1996) and Hanson and Phillips (2001) made further improvements to the technique by adding clustering routines to track the evolution of individual wave components and dispersion calculations to estimate the source time and location of resulting wave systems. Work has continued on the development of these techniques since the publication of Hanson and Phillips (2001), hereinafter referred to as HP01, to the point that we now have a fully automated, GUI-driven system employing modern image processing technology for performing a wide range of wave system analyses on time-evolving series of directional wave spectra.
For completeness, we summarize the methods here and provide detail on the improvements that have been made since HP01.
Wave Component Identification
The first step of spectral partitioning is to isolate spectral regions S(f,θ) associated with individual energy peaks. This was accomplished by HP01 with a time-consuming recursive algorithm that assigned each spectrum value to a path of steepest ascent associated with a local peak. All paths leading to the same peak were assigned to a distinct spectral partition. This step has been improved with efficient image processing routines that were designed for making watershed delineations in topographic imagery (Soille 1999, Vincent and Soille 1991). Treating the spectrum as an inverse topographic domain, an 8-point connected smoothing transform removes fine-scale noise in the spectrum. A watershed delineation transform then identifies the boundaries forming the minima between remaining spectral peaks. Spectral regions surrounded by such boundaries become individual partitions. This change in basic methodology has reduced by an order of magnitude the time required to process each record, with essentially no change in output results.
Wave Component Identification
Once the initial partitions are identified, a variety of component statistics are computed to aid with further processing. These include the 1D energy spectrum
the total energy in the 2D spectral domain
the significant wave height, approximated by H_{mo}
and the peak wave period
with the peak wave frequency f _{p} computed from a 3-point parabolic fit to the 1D spectral peak. Also computed is the vector mean wave direction
;
where
and the directional spread (O’Rielly et al. 1996)
where
with bulk Fourier coefficients
Both full spectrum and spectral component statistics are computed using the above relationships. Integration domains are implied to be over all frequency bins and from 0 to 2π in direction. For computing statistics of a spectral component, all spectral values not falling within the partition domain are set to zero.
Wind-sea and swell combinations
The resulting wave components are sorted into wind-sea or swell. To be classified as wind-sea, a spectral peak must be forced by a component of the existing wind. A wave-age criterion is used to identify and combine the 2D wind-sea partitions. All remaining peaks are labeled as swell. Adjacent 2D swell peaks that are contiguous in frequency can be part of the same swell system and are combined under certain conditions. Two tests are made to determine if adjacent swell peaks belong to the same wave system. A swell angle threshold test requires the mean directions of adjacent peaks be separated by less than a threshold angle. A threshold value of 30 deg yielded optimum results with the Pacific Ocean data and provided a comfortable margin outside the stated +/-10-deg accuracy of the buoy directions. A second test compares the f, θ spectral distance between peaks in relation to their individual spectral spreads. Peaks are combined if the spread of either peak is large compared to the distance between the two peaks. Wave component statistics are updated after each combination is made.
Minimum Wave Height Threshold and Storage of Results
As a final step in producing consistent results with minimal noise, any wind-sea or swell component that falls below a significant wave height threshold of 0.1 m is removed from analysis and labeled as miscellaneous energy.
The partitioning results are stored in a wave component template T(f,θ) that has the same degrees of freedom and cut-off frequency as the input spectrum. Matrix values contained in the template can be one of the following:
Matrix Value |
Represents |
0 |
Wind Sea |
1..n |
Swell System ID |
-1 |
Miscellaneous Energy |
An example of a partitioned buoy spectrum containing a wind-sea and three swell components appears in Fig 1.
Swell Tracking
Once a time series of directional wave spectra has been partitioned, a clustering algorithm is used to link common wave components together through time. This results in the generation of wave systems, which are statistically represented by time-evolving series of Hs (approximated by H _{mo}), T _{p}, and attributes associated with each wave component. A convenient display of these features is in the form of the wave vector history plot shown in Fig 2a. At any given time, the wave field is composed of multiple wave components that are members of a distinct evolving wave system. For example, the wave vectors at the dashed vertical line in Fig 2a correspond to the wave components identified in Fig. 1. The wave vector history shows how these particular components evolve through time. Wind-seas (black arrows) are driven by local winds. The swell events are more persistent, with systems from the North and South Pacific both typically lasting about 6 days. It is interesting to note that the two most energetic wave height events during this two-week period (Fig. 2b) are a result of the superposition of locally increased wind-seas with energetic swells from three different origins.
Note: Energy levels logarithmically scaled to the peak value
Fig. 1. Example partition results for buoy station 51028 2D spectrum on 9 November 2000 (0700 GMT). White lines denote the boundaries of each wave component as represented in the partition template T(f,θ). Note that this record contains a wind sea (0), North Pacific swell (1), South Pacific Swell (2), and a more locally generated easterly swell (3).
Fig. 2. Example results from Spectral Partitioning Module showing persistent wave system evolution during November 2000 at NDBC Station 51028. a. Wave vector history. Wave vectors represent the height (length), peak frequency (origin), and direction of travel (azimuth) of evolving wave systems (color-coded). For clarity, only wave systems persisting 10-h or longer are displayed. b. Full-spectrum significant wave height.
References
Beal, R. C., Ed, 1989: Directional Ocean Wave Spectra. The Johns Hopkins University Press, Baltimore, MD, 218 pp.
Gerling, T. W., 1992: Partitioning sequences and arrays of directional ocean wave spectra into component wave systems. J. Atmos. Oceanic Technol., 9, 444-458.
Hanson, J. L., 1996: Wind sea growth and swell evolution in the Gulf of Alaska. Ph.D. Dissertation, the Johns Hopkins University, 151 pp.
Hanson, J. L., and O. M. Phillips, 2001: Automated analysis of ocean surface directional wave spectra. J. Atmos. Oceanic. Technol., 18, 277-293.
Hanson, J. L., and O. M. Phillips, 1999: Wind sea growth and dissipation in the open ocean. J. Phys. Oceanogr, 29, 1633-1648.
Hasselmann, S., K. Hasselmann, and C. Bruning, 1994: Extraction of wave spectra from SAR image spectra. Dynamics and Modelling of Ocean Waves, G.J. Komen et al., Eds., Cambridge University Press, 391-401.
O’Reilly, W.C., T.H.C. Herbers, R.J. Seymour and R. T. Guza, 1996: A comparison of directional buoy and fixed platform measurements of Pacific Swell. J. Atmos. Oceanic. Technol., 13 (1), 231-238.
Scott, D., D. Resio and C. Pantoja, 2002: Swell propagation and nearshore wave climate. 7th International Workshop on Wave Hindcasting and Forecasting, Meteorological Service of Canada, 13-24.
Soille, P., 1999: Morphological Image Analysis: Principles and Applications. Springer-Verlag, 170-171.
Vincent, L., and P. Soille, 1991: Watersheds in digital spaces: An efficient algorithm based on immersion simulations. IEEE Transactions of Pattern Analysis and Machine Intelligence, 13(6), 583-598.
Voorrips, A. C., V. K. Makin and S. Hasselmann, 1997: Assimilation of wave spectra from pitch-and-roll buoys in a North Sea wave model. J. Geophys. Res. 102, 5829-5849.
1. Introduction
The goal of the Spectral Fit Module is to compute a variety of 1D fit and 2D fit parameters suitable for engineering design applications. Specific features include:
This document describes the various system features of the Spectral Fit Module.
2. System Overview
The Spectral Fit Module has many features and capabilities. Integration of the Spectral Fit Module into the software package is depicted in Figure 1. Spectral Fit is designed to operate on the wave spectral partitions computed by the Wave Systems Module. Spectral Fit includes routines for computing 1D energy-frequency fits, 2D directional distributions and composite full-spectrum fit parameters. To optimize selection of the best-fits for each wave system, an interactive Fit Selection Tool allows the user to identify the best fit type to apply to each windsea or swell wave system.
As with all of the modules, Spectral Fit operates on information stored in the wavedat data structure. Furthermore all fit parameters and statistics are saved back into the wavedat data structure.
The Data View Module includes features to support the display and export of Spectral Fit results. A Spectral Fit Plot Library allows the comparison of fit results to original data. A set of composite plots present the full-spectrum sum of the selected partition fits for each record. Finally, a Data Export Utility allows the user to design a custom table of fit results to export.
A typical Spectral Fit Module processing session might go as follows:
Additional optional processing steps might include:
3. System Features
3.1 Spectral Fit Module
The Spectral Fit Module has four primary components: (1) Spectral Fit Parameters Table, (2) 1D fitting, (3) directional and composite fits, and (4) interactive Fit Selection Tool. The results are stored in the wavedat data structure. Each of these functions is described below.
Spectral Fit Parameters Table
Upon selecting Spectral Fit from the Module pull-down menu, the first window to open is the Spectral Fit Parameters Table. As depicted in Figure 2, this window allows the user to select which fits to use for windsea and swell in the composite fit computation. Furthermore the user has the option of turning on two Fit Conservation options:
Wave Height Conservation – The fitted wave heights are replaced with the input data wave heights
Wave Period Conservation – If the fitted peak wave periods fall outside a user-specified tolerance, they are replaced with the input data wave periods
For JONSWAP 1D fits, the user selects either Default or Advanced fitting methods (see below).
Several plots are available to view the fit-type results on selected records. As with other parameters tables, named parameter settings can be saved for future use. Furthermore the selections made in the Spectral Fit Parameters Table can later be refined using the Fit Selection Tool (see below).
1D Spectrum Fitting
Once the user selects Run in the Spectral Fit Parameters Table, a sequence of fitting operations is performed. The first step is the computation of variance density (1D) spectrum fits. The following 1D fits are computed for each wave partition:
JONSWAP- Least squares fit of a JONSWAP variance density spectrum. The following 2 options are available:
Gaussian – Least squares fit to a Gaussian variance density spectrum. The significant wave height (Hs), peak period (Tp), and standard deviation of the Gaussian (σ) are computed.
Lognormal – Least squares fit to a variation of the Gaussian spectral form, allowing for some asymmetry in shape. The significant wave height (Hs), peak period (Tp), and standard deviation of the Gaussian (σ) are computed.
Ochi-Hubble - Least squares fit to the Ochi-Hubble spectral form for a single peak. The significant wave height (Hs), peak period (Tp), and spectral shape parameter (λ) are computed.
Directional Distributions
Once all of the 1D fits are completed, the user-selected directional distributions for wind sea and swell are computed. Directional distributions provide mean direction and spread values that are based on standard model forms.
The following directional distributions are available:
Ewans Swell – Based on supplied Tp and peak direction (θp) computes a wrapped normal directional distribution Q (f,θ) for swell (Ewans, 2001).
Ewans Windsea - Based on supplied Tp and peak direction (θp) computes a symmetric double Gaussian directional distribution Q(f,θ) for wind sea (Ewans, 1998)
Cos^2n – a least squares fit of a cos^2n(θ) distribution to the wave directions. Here the resulting value of n is saved as a directional fit parameter.
Composite Fits
Once all of the individual partition 1D and 2D fits are generated, a set of composite fit results are computed based on the user-selected fit options in the Spectral Fit Parameters Table. Composite fits are generated from a linear summation of the individual 1D and 2D partition fits for each record.
After the composite fits are computed the spectral fit plot page opens up in Data View. Specific spectral fit features in Data View are described in a later section.
Fit Selection Tool
Once Spectral Fit data processing is complete, the interactive Fit Selection Tool can be used to fine tune the composite fit results. A variety of fit performance data and plots are included, as well as tools to modify the fit types applied to individual wave systems. A screen shot of the Fit Selection Tool window appears in Figure 3.
The Fit Selection Tool has four main features:
1. Wave System Fits – Search through the various wave systems in the data set. A system selection menu allows the user
to select between all Systems, Windsea, Windsea Segments, All Swells, or a specific system number (System 1, System
2, System 3, etc). The system numbers correspond to the temporally-tracked systems generated by the Wave Systems
Module. Specific wind sea segments can be selected by either (1) typing in the desired start and stop times, or (2) use
the mouse to left-click and drag across a segment of the System Height Series plot and then right-click and choose the
Set Windsea Segment command. The plots automatically update to show the selected data. The user can change the
type of fits applied to each wave system and view the results. As described above, 1D Fit selections include JONSWAP,
Gaussian and Lognormal. Directional distribution selections include Ewans Windsea, Ewans Swell, and Cos^2n.
2. Advanced JONSWAP Options – The Advanced JONSWAP options are available for data that have been processed
using the Advanced JONSWAP fit option in the Spectral Fit Parameters Table. Right-clicking on the Advanced JONSWAP
Options tab will provide access to the advanced fit commands shown in Figure 4.
This window allows the user to select from the following sigma processing options (pull-down menu):
Direction from which wind blows |
Estimated Fetch (km) |
0 |
60 |
45 |
180 |
90 |
200 |
135 |
800 |
180 |
1000 |
225 |
1200 |
270 |
80 |
315 |
60 |
360 |
60 |
The actual fetch used for each record is interpolated from the input values based on the corresponding wind direction. The Sigma A and Sigma B computations are based on Lewes and Allos (1990). The non-dimensional fetch ζ=gx/u^{2} is computed, where u is the 10-m elevation wind speed. Equations 11, 13 and 14 from Lewes and Allos (1990) are then applied for the computation of Sigma A and Sigma B. The JONSWAP fits are then recomputed using these estimated values.
Selecting Compute will re-compute all JONSWAP fits using the selected options. Selecting Exit will return control back to the Wave System Fits window.
3. Fit Plots –The plot window in the upper right section of the Fit Selection Tool includes scatter plots to compare wave
height and period fit results for the selected wave system (or all wave systems). The scatter plots include a quantification
of the RMS error and bias of the fit parameters. Also included is a JONSWAP Parameters table the lists the computed fit
parameters for each wave system for which a JONSWAP Fit has been selected.
4. Wide format plots – The lower plot window is used to view the following additional fit performance displays:
Data Structure
All processed data are saved to a MATLAB data structure named wavedat. Results from the Spectral Fit Module are saved in two different wavedat data fields. Raw fit data from the various 1D and 2D fits are saved to a wavedat.fit data structure, which has the following data fields:
fit1D{n} |
fit2D{n} |
||
n |
1D Fit Type |
n |
2D Fit Type |
1 |
JONSWAP or JONSWAP-ADV |
1 |
Ewans Swell |
2 |
Gaussian |
2 |
Ewans Windsea |
3 |
Lognormal |
3 |
Cos^2n |
4 |
Ochi-Hubble |
The JONSWAP-ADV fit type specifies that the standard JONSWAP equation was used to perform the fit and that all 5 fit parameters (alpha, peak period, gamma, Sigma A and Sigma B can be fit). The data fields in fit1D and fit2D include all of the parameters necessary to reproduce the actual fits, such as alpha, hs, tp, gamma, Sigma A, Sigma B, and sigma (standard deviation of the Gaussian) for the 1D fits and directional distribution parameters for the 2D fits.
Composite fit results, based on the user-selected fit types from the Spectral Fit Parameters Table and/or the Spectral Fit Selection Tool, are saved to the wavedat.sfit data structure. The contents of wavedat.sfit are listed below.
Non-directional wavedat.sfit data fields:
.time |
Date number of
partition |
.fittype |
1D type; jonswap,
gaussian, or lognormal |
.par |
Wave partition
number |
.grp |
Wave system
(group) number |
.alpha |
JONSWAP alpha
parameter |
.gammaJON |
JONSWAP gamma
parameter |
.sigmaA |
JONSWAP sigma-A
parameter |
.sigmaB |
JONSWAP sigma-B
parameter |
.sigma |
Std Deviation of Gaussian
(Gaussian and Lognormal fits) |
.hsif |
Partition fitted
significant wave height (m) |
.lambda |
Ochi-Hubble
Spectral Shape Parameter |
.tzif |
Partition fitted
zero-crossing period (s) |
.tpif |
Partition fitted
peak period (s) |
.Lzif |
Partition fitted
wavelength (m) (deep water calculation) |
.tzf |
Full spectrum
fitted zero-crossing period (s) |
.hsf |
Full spectrum
fitted significant wave height (m) |
.tpf |
Full spectrum
fitted peak period (s) |
.Lzf |
Full spectrum fitted
wavelength (m) (deep water calculation) |
Additional wavedat.sfit fields for directional fits include
.fittype2d |
Ewans_ws,
Ewans_sw, or cos2n |
.dmif |
Partition mean
direction (deg) |
.dpif |
Partition peak
direction (deg) |
.spif |
Partition
directional spread |
.ncos |
Cos^2n spread
parameter (n) |
.dmf |
Full spectrum mean
direction (deg) |
.dpf |
Full spectrum peak
direction (deg) |
.spf |
Full spectrum
directional spread |
The directional fields are omitted for non-directional data. The format for these fields is identical to the partition data in wavedat.out.
3.2 Data View Module
Spectral Fit Plot Library
The Spectral Fit Plot Library includes several display options to compare input and fitted data. These include scatter plots of wave height and period for wind seas, swells and composite (full) spectra. The fit RMS Error and Bias is displayed on each scatter plot. An example appears in the upper right sector of Figure 2. In addition, RMS error bar chart plots will allow a quick glance of the errors computed for each wave system. Furthermore wave height and period fit error tables provide RMS error statistics from a least squares analysis of each partition fit.
Data Export Utility
A Data Export Utility facilitates enhanced user control of saving data fields to external ASCII, EXCEL and MATLAB formatted data files. The table export GUI allows the user to select specific data fields to write to this file. As with other parameter tables, the user can save named templates for future use.
The available fields are described in Tables 1-3.
Field |
Description |
Date |
Format: YYYYMMDDHH |
WS^{#} |
Wind speed (m/s) |
WD^{#} |
Wind Direction (deg from true north) |
Hs |
Significant wave height (m) of total spectrum |
Tp |
Peak period (s) of total spectrum |
T01 |
Mean (zero-crossing) period (s) of total spectrum |
L01 |
Wave length (m) of total spectrum calculated from T01 |
Cp |
Phase speed (m/s) of total spectrum calculated from Tp |
Dp |
Peak direction (deg from true north) of total spectrum |
Dm |
Mean direction (deg from true north) of total spectrum |
Sp |
Spectral spread (deg) of total spectrum |
Field |
Description |
par |
Partition identifier (0= windsea, 1-n = swells) |
sys |
System group identifier (0= windsea, 1-n = swells groups) |
Hsi |
Significant wave height (m) of system |
Tpi |
Peak period (s) of system |
T01i |
Mean (zero-crossing) period (s) of system |
L01i |
Wave length (m) of system calculated from T01i |
Cpi |
Phase speed (m/s) of system calculated from Tpi |
Dpi |
Peak direction (deg from true north) of system |
Dmi |
Mean direction (deg from true north) of system |
Spi |
Spectral spread (deg) of system |
Field |
Description |
Hsf |
Significant wave height (m) of total fitted spectrum |
Tpf |
Peak period (s) of total fitted spectrum |
T01f |
Mean (zero-crossing) period (s) of total fitted spectrum |
L01f |
Wave length (m) of total fitted spectrum calculated from T01f |
Cpf |
Phase speed (m/s) of total fitted spectrum calculated from Tpf |
Dpf |
Peak direction (deg from true north) of total fitted spectrum |
Dmf |
Mean direction (deg from/true north) of total fitted spectrum |
Spf |
Spectral spread (deg) of total fitted spectrum |
Type1D |
1D Spectrum Fit Type (string) |
Type2D |
2D Spectrum Fit Type (string) |
Hsif |
Significant wave height (m) of fitted system |
Tpif |
Peak period (s) of fitted system |
T01if |
Mean (zero-crossing) period (s) of fitted system |
L01if |
Wave length (m) of fitted system calculated from T01if |
Cpif |
Phase speed (m/s) of fitted system calculated from Tpif |
Dpif |
Peak direction (deg from true north) of fitted system |
Dmif |
Mean direction (deg from true north) of fitted system |
Spif |
Spectral spread (deg) of fitted system |
Alpha |
JONSWAP alpha parameter |
Gam |
JONSWAP Gamma parameter |
SigA |
JOSNWAP Sigma-A parameter |
SigB |
JOSNWAP Sigma-B parameter |
Sig |
Sigma of the fitted system |
Lambda |
Ochi-Hubble shape parameter |
ncos |
n of fitted system (from cos^2n fit) |
#Note: Wind data are only included if available in wavedat
4. References
Ewans, K. C., 1998. Observations of the Directional Spectrum of Fetch-Limited Waves, J. Phys. Oceanog., v.28, pp.495-512.
Ewans, K. C., Directional Spreading in Ocean Swell, WAVES 2001.
5. Contact Information
Please direct all inquiries regarding this document to:
WaveForce Technologies LLC
Email: waveforcesupport@rpsgroup.com
NetCDF Tools
An optional feature of XWaves is to read and write from NetCDF files. XWaves uses the native MATLAB NetCDF functions along with the MEXNC and SNCTOOLS function sets to interface with NetCDF files. Information on these can be found at:
http://mexcdf.sourceforge.net/.
Everything required to interface with NetCDF is included in the XWaves toolkit. Both 32- and 64-bit machines are supported.
See the XWaves NetCDF Interface tutorial for a detailed description of all the NetCDF features in XWaves.
NetCDF Interface
Overview
A NetCDF (Network Common Data Form) interface is included with the XWaves ocean wave field analysis toolbox. The NetCDF libraries are a freely-distributed set of read and write utilities for array-oriented data that include utilities for C, FORTRAN, C++, Java, MATLAB and other languages. XWaves uses the native MATLAB NetCDF functions along with the MEXNC and SNCTOOLS function sets to interface with NetCDF files. Information on these can be found at:
http://mexcdf.sourceforge.net/. The use of a NetCDF interface in XWaves essentially removes the file size limitations on both data processing and the creation of graphical displays. Furthermore this capability has been developed to work in the 64-bit architecture. This interface significantly increases the utility of XWaves for applications involving very large data sets
XWaves Data Interfaces
XWaves operates on the data structure wavedat that is stored as a MATLAB *.mat binary file. This data structure includes the following elements:
As the left side of the Figure below depicts, all of the XWaves modules are designed to operate on the wavedat data structure. As data are processed, results are automatically added to wavedat. The user has the option of saving these updates in the original *.mat-file or creating a new *.mat-file on disk.
The integration of NetCDF file formats within XWaves introduces a new functional component called the Data Parser. As depicted in the Figure, the Parser maintains a 2-way flow of data between the XWaves modules and the NetCDF data file. Essentially the Parser extracts NetCDF data as needed and writes NetCDF data as produced by XWaves.
The primary functions of the Parser are to:
Hence XWaves has two slightly distinct modes of operation; (1) the original wavedat mode where all the information needed for processing and all of the processing results are stored in memory, and (2) the NetCDF mode where information is loaded as needed into memory from a NetCDF file and moved back out of memory (and into the NetCDF file) as new information is produced.
All of the internal XWaves functions continue to obtain all required data and information from the resident wavedat data structure. The Parser moves data in and out of this structure as it is needed and produced.
Required NetCDF Tools
The latest versions of MEXNC and SNCTOOLS are used for the XWaves NetCDF interface. MEXNC is a mex-file interface to NetCDF files for MATLAB. It is compiled with NetCDF library versions 3.6.0 or higher, which includes the benefit of Large File Support. Both 32-bit and 64-bit versions of MEXNC are employed. SNCTOOLS is a set of m-files that sit on top of MEXNC. XWaves will use SNCTOOLS to operate the MEXNC interface. Information on these can be found at:
http://mexcdf.sourceforge.net/
XWaves Enhancements
When working with NetCDF data files in XWaves, the user is presented with the following features and options:
XWaves Features Not Supported
The following XWaves features and Modules are not yet supported by NetCDF:
Note that the user has the option of exporting NetCDF data to an XWaves file (see File Menu commands above) and then having access to all XWaves capabilities for processing their data.