-
Notifications
You must be signed in to change notification settings - Fork 24
fDependent
The fDependent
structure contains output from cBathy phase 1 in which all results are expressed still as a function of frequency. Each field will include maps of results that have the same number of rows as are in ym, the same number of columns that are in xm, and the number of planes (maps) is equal to nKeep, the number of frequencies that the user has asked to save in the settings file. In the case below, the user asked to save the four strongest frequencies so the third array dimension is 4 and results are ordered from strongest to weakest signals. Note that the selection of the strongest frequencies is made on a point by point basis during analysis so that any plane of each variable (i.e. k(:,:,1)) will likely not refer to a single frequency but will instead refer to the frequency of the dominant signal at each analysis point. The field fB contains the actual frequencies selected for each location and plane5. Fields for which no satisfactory solution was obtained are left as nan’s. This can be relatively common.
The fDependent structure has the following fields:
bathy.fDependent =
fB: [41x43x4 double]
k: [41x43x4 double]
a: [41x43x4 double]
hTemp: [41x43x4 double]
kErr: [41x43x4 double]
aErr: [41x43x4 double]
hTempErr: [41x43x4 double]
skill: [41x43x4 double]
dof: [41x43x4 double]
lam1: [41x43x4 double]
NPixels: [41x43x4 double]
NCalls: [41x43x4 double]
kSeed: [41x43x4 double]
aSeed: [41x43x4 double]
camUsed: [41x43x4 double]
fB
contains the actual frequencies selected at each location for each plane of analysis (final dimension of the 3D arrays).
k
contains the magnitude of the wavenumber (2π divided by the wavelength)
a
contains the angle of wave propagation in a “from” sense, in radians (for example, a = -0.5
means that those waves are arriving from 0.5 radians CW from normal (28° from the right of normal, looking offshore, since negative angles correspond to CW from the beach normal).
hTemp
is the depth computed for this frequency-‐wavenumber pair using equation
(1). These depths are not used in subsequent cBathy depth analysis but are included for diagnostic purposes.
For each variable, an associated error is also computed and saved as maps of kErr
,aErr
and hTempErr
. In addition, the skill and number of degrees of freedom of the fit are saved as skill
and dof
. The skill indicates the percentage of the variance explained by fitting the local phase data to a planar surface (equation (3) in HPH13). Skill is used as a threshold quality control condition (threshold level included in the settings file). Finally, lam1 (the normalized eigenvector described in section 2.1 of HPH13) is recorded and also serves as a quality control variable to distinguish useful signals from noise.
Five new sub-fields have been added in version 2.0.
NPixels
shows the number of pixels used in each tile, i.e. for each computation of k-alpha at any xm-ym. In contrast to version 1.0, version 2.0 uses variable size tiles depending on the expected wavelength of the waves being analyzed.
NCalls
simply counts the number of iterations for the nonlinear fitting at each analysis location and was used to guide efficiency.
Version 2.0 includes a much-improved algorithm for finding seed values of k and alpha for the nonlinear search. These values are records in the fields kSeed
and aSeed
to help understand the performance of this seed algorithm.
camUsed
shows which camera was used for each tile. This is mostly relevant at camera seams where more than one camera spans the tile and only the dominant camera is used.
Any variable can be plotted using (for example)
imagesc(bathy.ym, bathy.xm, bathy.fDependent.hTemp(:,:,1).
Remember that this will not plot results from a single frequency (important for wave properties like wave angle). See debugging for support routines.