USML
reflect_loss_netcdf Class Reference
Collaboration diagram for reflect_loss_netcdf:

Detailed Description

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

Constructor & Destructor Documentation

reflect_loss_netcdf ( const char *  filename)

Loads bottom province data from a netCDF formatted file.

Parameters
filenameFilename 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.

< _lat : latitude in degrees

< _lon : longitude in degrees

< bot_num : bottom province map

< bot_speed : speed ratio of the province

< bot_density : density ratio of the province

< bot_atten : attenuation value for the province

< bot_shear_speed : shear speed of the province

< bot_shear_atten : shear attenuation of the province

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

Destuctor.

Interates 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

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

Parameters
locationLocation at which to compute attenuation.
frequenciesFrequencies over which to compute loss. (Hz)
angleReflection angle relative to the normal (radians).
amplitudeChange in ray strength in dB (output).
phaseChange 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>* province
private

province : data_grid2 object

std::vector<reflect_loss_rayleigh*> rayleigh
private

rayleigh : reflect_loss_rayleigh object