6 #ifndef USML_OCEAN_PROFILE_GRID_H
7 #define USML_OCEAN_PROFILE_GRID_H
9 #include <usml/ocean/profile_model.h>
58 matrix<double>* speed,
wvector* gradient=NULL )
67 matrix<double> rho( location.
size1(), location.
size2() ) ;
71 gradient->rho( rho ) ;
84 matrix<double> rho( location.
size1(), location.
size2() ) ;
85 matrix<double> theta( location.
size1(), location.
size2() ) ;
88 speed, &rho, &theta ) ;
90 gradient->theta(theta) ;
103 matrix<double> rho( location.
size1(), location.
size2() ) ;
104 matrix<double> theta( location.
size1(), location.
size2() ) ;
105 matrix<double> phi( location.
size1(), location.
size2() ) ;
108 speed, &rho, &theta, &phi ) ;
110 gradient->theta(theta) ;
123 throw std::invalid_argument(
124 "sound speed must be 1-D, 2-D, or 3-D") ;
unsigned size2() const
Number of columns in each coordinate.
Definition: wvector.h:264
const matrix< double > & rho() const
Retrieves the radial component of the spherical earth coordinate system.
Definition: wvector.h:76
World location in geodetic earth coordinates (latitude, longitude, and altitude). ...
Definition: wposition.h:39
unsigned size1() const
Number of rows in each coordinate.
Definition: wvector.h:256
profile_grid(data_grid< DATA_TYPE, NUM_DIMS > *speed, attenuation_model *attmodel=NULL)
Default behavior for new profile models.
Definition: profile_grid.h:143
data_grid< DATA_TYPE, NUM_DIMS > * _sound_speed
Sound speed for all locations.
Definition: profile_grid.h:45
const matrix< double > & phi() const
Retrieves the longitude component of the spherical earth coordinate system.
Definition: wvector.h:204
const matrix< double > & theta() const
Retrieves the colatitude component of the spherical earth coordinate system.
Definition: wvector.h:140
N-dimensional data set and its associated axes.
Definition: data_grid.h:64
A "profile model" computes the environmental parameters of ocean water.
Definition: profile_model.h:28
virtual ~profile_grid()
Delete sound speed grid.
Definition: profile_grid.h:150
Sound speed model constructed from a 1-D, 2-D, or 3-D data grid.
Definition: profile_grid.h:36
World vector in spherical earth coordinates.
Definition: wvector.h:42
An attenuation loss model computes the absorption of sound by the minerals in sea water...
Definition: attenuation_model.h:30
virtual void adjust_speed(const wposition &location, matrix< double > *speed, wvector *gradient=NULL)
When the flat earth option is enabled, this routine applies an anti-correction term to the profile...
Definition: profile_model.cc:14
virtual void sound_speed(const wposition &location, matrix< double > *speed, wvector *gradient=NULL)
Compute the speed of sound and it's first derivatives at a series of locations.
Definition: profile_grid.h:57