reflect_loss_netcdf Class Reference
[Ocean Boundaries]

Collaboration diagram for reflect_loss_netcdf:
Collaboration graph
[legend]

Detailed Description

The reflect_loss_netcdf object ingests a netCDF formatted file of bottom type data and creates a reflect_loss_rayleigh object to create a rayleigh reflection loss value for the bottom type number at a specific location and returns broadband reflection loss and phase change.


Constructor & Destructor Documentation

reflect_loss_netcdf ( const char *  filename  ) 

Constructor Loads bottom province data from a netCDF formatted file.

Parameters:
filename Filename of the NetCDF file to ingest

The information stored in "type" is set to a double with the value from 1 to the number of different bottom provinces for the profile.

Gets the size of the dimensions to be used to create the data grid

Extracts the data for all of the variables from the netcdf file and stores them

Creates a sequence vector of axises that are passed to the data grid constructor

Creates a data grid with the above assigned axises and populates the grid with the data from the netcdf file

Set the interpolation type to the nearest neighbor and restrict extrapolation

Builds a vector of reflect_loss_rayleigh values for all bottom province numbers

~reflect_loss_netcdf (  )  [virtual]

Destructor.

Iterates over the rayleigh reflection loss values and deletes them.


Member Function Documentation

void reflect_loss ( const wposition1 location,
const seq_vector frequencies,
double  angle,
vector< double > *  amplitude,
vector< double > *  phase = NULL 
) [virtual]

Gets a rayleigh reflection loss value for the bottom type number at a specific location then computes the broadband reflection loss and phase change.

Gets a rayleigh reflection loss value for the bottom province number at a specific location then computes the broadband reflection loss and phase change.

Parameters:
location Location at which to compute attenuation.
frequencies Frequencies over which to compute loss. (Hz)
angle Reflection angle relative to the normal (radians).
amplitude Change in ray strength in dB (output).
phase Change in ray phase in radians (output). Phase change not computed if this is NULL.

Implements reflect_loss_model.


Member Data Documentation

data_grid<double, 2>* _bottom_grid [private]

Data grid that stores all of the bottom province information.

std::vector<reflect_loss_rayleigh*> _rayleigh [private]

Stored rayleigh models for bottom reflections.


Generated on 4 May 2015 for USML by  doxygen 1.6.1