USML
boundary_slope Class Reference
Collaboration diagram for boundary_slope:

Detailed Description

Models a sloping flat bottom.

The surface normal makes a constant angle to the theta and phi components of the current position. Given this definition of surface normal, the change in height from the reference point is given by:

\[ \rho_1 = \rho_0 + \rho_0 sin(\theta) tan(slope_\phi) \Delta \phi \]

\[ \rho_{calc} = \rho_1 + \rho_1 tan(slope_\theta) \Delta \theta \]

where:

  • $ (\rho,\theta,\phi) $ = reference point at which slope is defined.
  • $ \rho_0 $ = surface height (meters) at reference point.
  • $ slope_\theta $ = surface slope in "theta" direction (radians).
  • $ slope_\phi $ = surface slope in "phi" direction (radians).
  • $ (\Delta \theta,\Delta \phi) $ = offset from reference point.
  • $ \rho_{calc} $ = calculated height (meters) at new location.

Constructor & Destructor Documentation

boundary_slope ( const wposition1 location,
double  depth,
double  lat_slope,
double  lng_slope = 0.0,
reflect_loss_model reflect_loss = NULL 
)

Initialize depth and reflection loss components for a boundary.

Parameters
locationLocation at which initial depth and slope are specified.
depthWater depth (meters) at this location.
lat_slopeSlope angle in latitude direction (radians).
lng_slopeSlope angle in longitude direction (radians).
reflect_lossReflection loss model. Assumes depth=0 is used to define the water surface and any other depths define the ocean bottom. Use perfect surface or bottom reflection if no model specified. The boundary_model takes over ownship of this reference and deletes it as part of its destructor.

Member Function Documentation

void height ( const wposition location,
matrix< double > *  rho,
wvector normal = NULL,
bool  quick_interp = false 
)
virtual

Compute the height of the boundary and it's surface normal at a series of locations.

Parameters
locationLocation at which to compute boundary.
rhoSurface height in spherical earth coords (output).
normalUnit normal relative to location (output).
quick_interpDetermines if you want a fast nearest or pchip interp

Implements boundary_model.

void height ( const wposition1 location,
double *  rho,
wvector1 normal = NULL,
bool  quick_interp = false 
)
virtual

Compute the height of the boundary and it's surface normal at a single location.

Often used during reflection processing.

Parameters
locationLocation at which to compute boundary.
rhoSurface height in spherical earth coords (output).
normalUnit normal relative to location (output).
quick_interpDetermines if you want a fast nearest or pchip interp

Often used during reflection processing.

Implements boundary_model.

Member Data Documentation

const double _height
private

Surface height in spherical earth coords.

const wposition1& _location
private

Location at which initial depth and slope are specified.

wvector1 _normal
private

Surface normal.