World Ocean Simulation System (WOSS) library
|
SSP class offers multiple creation and manipulation capabilities for sound speed profile. More...
#include <ssp-definitions.h>
Public Types | |
enum | SSPEqType { SSP_EQ_CHEN_MILLERO = 0 , SSP_EQ_TEOS_10 = 1 , SSP_EQ_TEOS_10_EXACT = 2 , SSP_EQ_INVALID } |
Public Member Functions | |
SSP (long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) | |
SSP (DepthMap &ssp_map, DepthMap &temp_map, DepthMap &sal_map, DepthMap &press_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) | |
SSP (DepthMap &ssp_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) | |
SSP (const SSP ©) | |
virtual SSP * | create (long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
virtual SSP * | create (DepthMap &ssp_map, DepthMap &temp_map, DepthMap &sal_map, DepthMap &press_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
virtual SSP * | create (DepthMap &ssp_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
virtual SSP * | create (const SSP ©) const |
virtual SSP * | clone () const |
int | size () const |
bool | empty () const |
void | clear () |
DConstIter | begin () const |
DConstIter | end () const |
DConstRIter | rbegin () const |
DConstRIter | rend () const |
DConstIter | lower_bound (const PDouble &depth) const |
DConstIter | upper_bound (const PDouble &depth) const |
DConstIter | at (const int i) const |
DConstIter | pressure_begin () const |
DConstIter | pressure_end () const |
DConstRIter | pressure_rbegin () const |
DConstRIter | pressure_rend () const |
DConstIter | pressure_lower_bound (const PDouble &depth) const |
DConstIter | pressure_upper_bound (const PDouble &depth) const |
DConstIter | pressure_find (const PDouble &depth) const |
DConstIter | temperature_begin () const |
DConstIter | temperature_end () const |
DConstRIter | temperature_rbegin () const |
DConstRIter | temperature_rend () const |
DConstIter | temperature_lower_bound (const PDouble &depth) const |
DConstIter | temperature_upper_bound (const PDouble &depth) const |
DConstIter | temperature_find (const PDouble &depth) const |
DConstIter | salinity_begin () const |
DConstIter | salinity_end () const |
DConstRIter | salinity_rbegin () const |
DConstRIter | salinity_rend () const |
DConstIter | salinity_lower_bound (const PDouble &depth) const |
DConstIter | salinity_upper_bound (const PDouble &depth) const |
DConstIter | salinity_find (const PDouble &depth) const |
virtual bool | isValid () const |
virtual bool | isTransformable () const |
virtual bool | isRandomizable () const |
virtual SSP * | transform (const Coord &coordinates, double new_min_depth=-HUGE_VAL, double new_max_depth=HUGE_VAL, int total_depth_steps=SSP_CUSTOM_DEPTH_STEPS) const |
virtual SSP * | truncate (double max_depth) const |
virtual SSP * | fullRandomize (double ratio_incr_value) const |
virtual SSP * | randomize (double ratio_incr_value) const |
virtual bool | import (::std::istream &stream_in) |
virtual bool | write (::std::ostream &stream_out) const |
SSP & | insertValue (double depth, double ssp_value) |
SSP & | insertValue (double depth, double temperature, double salinity, const ::std::complex< double > &pressure, double ssp_value) |
SSP & | insertValue (double temperature, double salinity, const ::std::complex< double > &pressure, const Coord &coordinates=Coord(0.0, 0.0)) |
SSP & | insertValue (double depth, double temperature, double salinity, const Coord &coordinates=Coord(0.0, 0.0)) |
DConstIter | findValue (const double &depth) const |
SSP & | eraseValue (const double &depth) |
double | getMaxDepthValue () const |
double | getMinDepthValue () const |
double | getMaxSSPValue () const |
double | getMinSSPValue () const |
virtual void | setDepthPrecision (long double prec) |
long double | getDepthPrecision () const |
SSP & | setSSPEqType (SSPEqType eq_type) |
SSPEqType | getSSPEqType () const |
SSP & | operator= (const SSP &x) |
friend::std::ostream & | operator<< (::std::ostream &os, const SSP &instance) |
friend::std::ostream & | operator>> (::std::istream &is, const SSP &instance) |
Static Public Member Functions | |
static void | setDebug (bool flag) |
Protected Member Functions | |
virtual double | calculateSSP (double temperature, double salinity, double pressure) const |
Protected Attributes | |
SSPEqType | ssp_eq_type |
double | min_ssp_value |
double | max_ssp_value |
long double | depth_precision |
DepthMap | ssp_map |
DepthMap | pressure_map |
DepthMap | salinity_map |
DepthMap | temperature_map |
Static Protected Attributes | |
static bool | debug = false |
Private Member Functions | |
bool | isCanonOcean (const Coord &coordinates) const |
bool | isNEAtlanticOcean (const Coord &coordinates) const |
bool | isAntarcticOcean (const Coord &coordinates) const |
bool | isMediterraneanSea (const Coord &coordinates) const |
bool | isRedSea (const Coord &coordinates) const |
bool | isArcticOcean (const Coord &coordinates) const |
bool | isJapanSea (const Coord &coordinates) const |
bool | isSuluSea (const Coord &coordinates) const |
bool | isHalmaheraSea (const Coord &coordinates) const |
bool | isCelebesSea (const Coord &coordinates) const |
bool | isBlackSea (const Coord &coordinates) const |
bool | isBalticSea (const Coord &coordinates) const |
double | thyh (double z) const |
double | g (double lat) const |
double | k (double z, double lat) const |
double | hq (double z) const |
double | h (double z, double lat) const |
double | getPressureCorreptions (const Coord &coordinates, double depth) const |
double | getPressureFromDepth (const Coord &coordinates, double depth) const |
double | g_z (double lat) const |
double | getDepthCorreptions (const Coord &coordinates, double pressure) const |
double | getDepthfromPressure (const Coord &coordinates, double pressure) const |
double | d (double t, double p) const |
double | b (double t, double p) const |
double | a (double t, double p) const |
double | cw (double t, double p) const |
double | gibbs (int ns, int nt, int np, double sa, double t, double p) const |
Friends | |
bool | operator== (const SSP &left, const SSP &right) |
bool | operator!= (const SSP &left, const SSP &right) |
const SSP | operator+ (const SSP &left, const SSP &right) |
const SSP | operator- (const SSP &left, const SSP &right) |
const SSP | operator* (const SSP &left, const SSP &right) |
const SSP | operator/ (const SSP &left, const SSP &right) |
const SSP | operator+ (const SSP &left, const double right) |
const SSP | operator- (const SSP &left, const double right) |
const SSP | operator/ (const SSP &left, const double right) |
const SSP | operator* (const SSP &left, const double right) |
const SSP | operator+ (const double left, const SSP &right) |
const SSP | operator- (const double left, const SSP &right) |
const SSP | operator/ (const double left, const SSP &right) |
const SSP | operator* (const double left, const SSP &right) |
SSP & | operator+= (SSP &left, const SSP &right) |
SSP & | operator-= (SSP &left, const SSP &right) |
SSP & | operator*= (SSP &left, const SSP &right) |
SSP & | operator/= (SSP &left, const SSP &right) |
SSP & | operator+= (SSP &left, const double right) |
SSP & | operator-= (SSP &left, const double right) |
SSP & | operator/= (SSP &left, const double right) |
SSP & | operator*= (SSP &left, const double right) |
SSP class offers multiple creation and manipulation capabilities for sound speed profile.
SSP can store all information related to a sound speed profile: temperature [C°], pressure [bar], salinity [psu] and sound speed [m/s]. It offers capabilities for arithmetic computations, sound speed calculations (Chen and Millero equations), depth to pressure conversions (and viceversa) with coordinates corrections, sound speed profile transformations and random perturbation.
enum woss::SSP::SSPEqType |
SSP EQ
SSP::SSP | ( | long double | depth_precision = SSP_CUSTOM_DEPTH_PRECISION | ) |
SSP::SSP | ( | DepthMap & | ssp_map, |
DepthMap & | temp_map, | ||
DepthMap & | sal_map, | ||
DepthMap & | press_map, | ||
long double | depth_precision = SSP_CUSTOM_DEPTH_PRECISION |
||
) |
SSP constructor.
ssp_map | map linking a PDouble depth [m] (with precision depth_precision) to a sound speed [m/s] |
temp_map | map linking a PDouble depth [m] (with precision depth_precision) to a temperature [C°] |
sal_map | map linking a PDouble depth [m] (with precision depth_precision) to a salinity [ppu] |
press_map | map linking a PDouble depth [m] (with precision depth_precision) to a pressure [bar] |
depth_precision | depth precision of given maps [m] |
References pressure_map, salinity_map, ssp_map, and temperature_map.
SSP::SSP | ( | DepthMap & | ssp_map, |
long double | depth_precision = SSP_CUSTOM_DEPTH_PRECISION |
||
) |
SSP::SSP | ( | const SSP & | copy | ) |
SSP copy constructor
copy | SSP to be copied |
References depth_precision, max_ssp_value, min_ssp_value, pressure_map, salinity_map, ssp_eq_type, ssp_map, and temperature_map.
|
inlineprivate |
UNESCO Chen and Millero Equation with Wong and Zu corrections for sound speed calculations
t | temperature provided [C°] |
p | pressure provided [bar] |
Referenced by calculateSSP().
DConstIter SSP::at | ( | const int | i | ) | const |
|
inlineprivate |
UNESCO Chen and Millero Equation with Wong and Zu corrections for sound speed calculations
t | temperature provided [C°] |
p | pressure provided [bar] |
Referenced by calculateSSP().
|
inline |
Returns a const iterator to the beginning of the sound speed map
References ssp_map.
Referenced by transform(), truncate(), and woss::BellhopWoss::writeNormalizedSSP().
|
inlineprotectedvirtual |
Calculates sound speed from temperature, salinity, pressure with UNESCO Chen and Millero equations and with Wong and Zu corrections
temperature | temperature value [C°] |
salinity | salinity value [ppu] |
pressure | pressure value [bar] |
References a(), b(), cw(), d(), gibbs(), SSP_EQ_CHEN_MILLERO, SSP_EQ_TEOS_10, SSP_EQ_TEOS_10_EXACT, and ssp_eq_type.
Referenced by fullRandomize(), insertValue(), and transform().
|
inline |
Erase all values of sound speed, temperature, pressure and salinity. The object therefore is not valid
References pressure_map, salinity_map, ssp_map, and temperature_map.
Referenced by woss::BellhopWoss::writeNormalizedSSP().
|
inlinevirtual |
SSP virtual factory method
Referenced by woss::DefHandler::operator=(), and truncate().
|
inlinevirtual |
SSP virtual factory method
ssp_map | map linking a PDouble depth [m] (with precision depth_precision) to a sound speed [m/s] |
temp_map | map linking a PDouble depth [m] (with precision depth_precision) to a temperature [C°] |
sal_map | map linking a PDouble depth [m] (with precision depth_precision) to a salinity [ppu] |
press_map | map linking a PDouble depth [m] (with precision depth_precision) to a pressure [bar] |
depth_precision | depth precision of given maps [m] |
References depth_precision, and ssp_map.
|
inlinevirtual |
SSP virtual factory method
ssp_map | map linking a PDouble depth [m] (with precision depth_precision) to a sound speed [m/s] |
depth_precision | depth precision of given maps [m] |
References depth_precision, and ssp_map.
|
inlinevirtual |
SSP virtual factory method
depth_precision | precision of PDouble objects representing depth. |
References depth_precision.
Referenced by woss::WossDbManager::getAverageSSP(), and woss::WossDbManager::importCustomSSP().
|
inlineprivate |
UNESCO Chen and Millero Equation with Wong and Zu corrections for sound speed calculations
t | temperature provided [C°] |
p | pressure provided [bar] |
Referenced by calculateSSP().
|
inlineprivate |
UNESCO Chen and Millero Equation with Wong and Zu corrections for sound speed calculations
t | temperature provided [C°] |
p | pressure provided [bar] |
Referenced by calculateSSP().
|
inline |
Checks if the instance has stored values
References ssp_map.
|
inline |
Returns a const iterator to the end of the sound speed map
References ssp_map.
Referenced by truncate(), and woss::BellhopWoss::writeNormalizedSSP().
|
inline |
|
inline |
|
virtual |
Performs a random perturbation of temperature, salinity, pressure with given ratio Sound speed values are then calculated from this new data
ratio_incr_value | perturbation ratio |
References calculateSSP(), depth_precision, woss::Singleton< T >::instance(), isRandomizable(), pressure_map, salinity_map, ssp_map, and temperature_map.
|
inlineprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
lat | latitude [decimal degree] |
Referenced by k().
|
inlineprivate |
Equation for depth from pressure conversion ( Leroy and Parthiot )
lat | latitude [decimal degree] |
Referenced by getDepthfromPressure().
|
private |
Returns depth correction for given coordinates and pressure ( Leroy and Parthiot )
coordinates | coordinates provided |
pressure | pressure provided [bar] |
References isAntarcticOcean(), isBalticSea(), isBlackSea(), isCanonOcean(), isCelebesSea(), isHalmaheraSea(), isJapanSea(), isMediterraneanSea(), isNEAtlanticOcean(), isRedSea(), and isSuluSea().
Referenced by getDepthfromPressure().
|
inlineprivate |
Returns depth for given coordinates and pressure ( Leroy and Parthiot )
coordinates | coordinates provided |
pressure | pressure provided [bar] |
References g_z(), getDepthCorreptions(), and woss::Coord::getLatitude().
|
inline |
Returns the sound speed profile depth precision
References depth_precision.
|
inline |
Returns the maximum depth value
References ssp_map.
Referenced by woss::ACToolboxWoss::initSSPVector().
|
inline |
|
inline |
Returns the minimum depth value
References ssp_map.
Referenced by woss::ACToolboxWoss::initSSPVector().
|
inline |
|
private |
Returns pressure correction for given coordinates and depth ( Leroy and Parthiot )
coordinates | coordinates provided |
depth | depth provided [m] |
References isAntarcticOcean(), isBalticSea(), isBlackSea(), isCanonOcean(), isCelebesSea(), isHalmaheraSea(), isJapanSea(), isMediterraneanSea(), isNEAtlanticOcean(), isRedSea(), and isSuluSea().
Referenced by getPressureFromDepth().
|
inlineprivate |
Returns pressure for given coordinates and depth ( Leroy and Parthiot )
coordinates | coordinates provided |
depth | depth provided [m] |
References woss::Coord::getLatitude(), getPressureCorreptions(), h(), and thyh().
Referenced by insertValue(), and transform().
|
inline |
|
inlineprivate |
Seawater specific Gibbs free energy and derivatives up to order 2
ns | order of salinity derivative |
nt | order of temperature derivative |
np | order of pressure derivative |
sa | salinity [ppu] |
t | temperature [C°] |
p | pressure [dbar] |
Referenced by calculateSSP().
|
inlineprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
z | depth [m] |
lat | latitude [decimal degree] |
Referenced by getPressureFromDepth().
|
inlineprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
z | depth [m] |
Referenced by h().
|
virtual |
Imports values in from the given stream
stream_in | const reference to an istream instance |
References insertValue().
SSP & SSP::insertValue | ( | double | depth, |
double | ssp_value | ||
) |
Inserts and doesn't replace a sound speed value at given depth
depth | depth value [m]. The corresponding PDouble will take SSP::depth_precision as precision |
ssp_value | sound speed value [m/s] |
References depth_precision, max_ssp_value, min_ssp_value, and ssp_map.
Referenced by import(), woss::WossDbManager::importCustomSSP(), and truncate().
SSP & woss::SSP::insertValue | ( | double | depth, |
double | temperature, | ||
double | salinity, | ||
const ::std::complex< double > & | pressure, | ||
double | ssp_value | ||
) |
Inserts and doesn't replace a sound speed value at given depth
depth | depth value [m]. The corresponding PDouble will take SSP::depth_precision as precision |
temperature | temperature value [C°] |
salinity | salinity value [ppu] |
pressure | pressure value [bar] |
ssp_value | sound speed value [m/s] |
SSP & SSP::insertValue | ( | double | depth, |
double | temperature, | ||
double | salinity, | ||
const Coord & | coordinates = Coord(0.0, 0.0) |
||
) |
Calculates and doesn't replace sound speed from given temperature, pressure and salinity value at given depth, with pressure converted from depth.
coordinates | coordinates for depth-to-pressure conversion corrections (defaults to CanonOcean) |
depth | depth value [m] |
temperature | temperature value [C°] |
salinity | salinity value [ppu] |
References calculateSSP(), depth_precision, getPressureFromDepth(), woss::Coord::isValid(), max_ssp_value, min_ssp_value, pressure_map, salinity_map, ssp_map, and temperature_map.
SSP & woss::SSP::insertValue | ( | double | temperature, |
double | salinity, | ||
const ::std::complex< double > & | pressure, | ||
const Coord & | coordinates = Coord(0.0, 0.0) |
||
) |
Calculates and doesn't replace sound speed from given temperature, pressure and salinity value at depth converted from pressure.
coordinates | coordinates for pressure-to-depth conversion corrections (defaults to CanonOcean) |
temperature | temperature value [C°] |
salinity | salinity value [ppu] |
pressure | pressure value [bar] |
|
inlineprivate |
Checks if coordinates provided are in Antarctic Ocean
coordinates | coordinates value |
References woss::Coord::getLatitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Arctic Ocean
coordinates | coordinates value |
References woss::Coord::getLatitude().
|
inlineprivate |
Checks if coordinates provided are in Baltic Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Black Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in canon ocean
coordinates | coordinates value |
References woss::Coord::getLatitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Celebes Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Halmahera Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Japan Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Mediterranean Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in north eastern Atlantic Ocean
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlinevirtual |
Checks if the sound speed profile provided can be randomly perturbated
References isValid(), pressure_map, salinity_map, and temperature_map.
Referenced by fullRandomize(), and transform().
|
inlineprivate |
Checks if coordinates provided are in Red Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlineprivate |
Checks if coordinates provided are in Sulu Sea
coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().
|
inlinevirtual |
Checks if the sound speed profile provided can be transformed
References isValid().
Referenced by woss::ACToolboxWoss::initSSPVector(), and transform().
|
inlinevirtual |
Checks the validity of sound speed profile provided
References ssp_map.
Referenced by woss::ACToolboxWoss::initSSPVector(), isRandomizable(), isTransformable(), and randomize().
|
inlineprivate |
|
inline |
friend::std::ostream & woss::SSP::operator<< | ( | ::std::ostream & | os, |
const SSP & | instance | ||
) |
<< operator
os | left operand ostream reference |
instance | right operand const SSP reference |
Assignment operator
copy | const reference to a SSP object to be copied |
References depth_precision, max_ssp_value, min_ssp_value, pressure_map, salinity_map, ssp_map, and temperature_map.
friend::std::ostream & woss::SSP::operator>> | ( | ::std::istream & | is, |
const SSP & | instance | ||
) |
operator
os | left operand ostream reference |
instance | right operand const SSP reference |
|
inline |
Returns a const iterator to the begin of the pressure map
References pressure_map.
|
inline |
Returns a const iterator to the end of the pressure map
References pressure_map.
|
inline |
Returns a const iterator to the pressure value with key == depth parameter
depth | const reference to a PDouble depth value |
References pressure_map.
|
inline |
Returns a const iterator to the pressure value with key >= of depth parameter
depth | const reference to a PDouble depth value |
References pressure_map.
|
inline |
Returns a const reverse iterator to the reverse begin of the pressure map
References pressure_map.
|
inline |
Returns a const reverse iterator to the reverse end of the pressure map
References pressure_map.
|
inline |
Returns a const iterator to the pressure value with key > of depth parameter
depth | const reference to a PDouble depth value |
References pressure_map.
|
virtual |
Performs a random perturbation of sound speed values with given ratio
ratio_incr_value | perturbation ratio |
References depth_precision, woss::Singleton< T >::instance(), isValid(), and ssp_map.
Referenced by woss::BellhopWoss::writeNormalizedSSP().
|
inline |
Returns a const reverse iterator to the reverse beginning of the sound speed map
References ssp_map.
|
inline |
Returns a const reverse iterator to the reverse end of the sound speed map
References ssp_map.
|
inline |
Returns a const iterator to the beginning of the salinity map
References salinity_map.
|
inline |
Returns a const iterator to the end of the salinity map
References salinity_map.
|
inline |
Returns a const iterator to the salinity value with key > of depth parameter
depth | const reference to a PDouble depth value |
References salinity_map.
|
inline |
Returns a const iterator to the salinity value with key >= of depth parameter
depth | const reference to a PDouble depth value |
References salinity_map.
|
inline |
Returns a const reverse iterator to the reverse beginning of the salinity map
References salinity_map.
|
inline |
Returns a const reverse iterator to the reverse end of the salinity map
References salinity_map.
|
inline |
Returns a const iterator to the salinity value with key > of depth parameter
depth | const reference to a PDouble depth value |
References salinity_map.
|
inlinestatic |
|
virtual |
Sets the sound speed profile depth precision for all PDouble depth values. If the given precision is different from current value, the profile will be modified accordingly
prec | depth precision [m] |
References depth_precision, pressure_map, salinity_map, ssp_map, and temperature_map.
Sets the SSP EQ that should be used by when inserting data
eq_type | valid SSPEqType |
References ssp_eq_type.
|
inline |
Returns the number of sound speed values stored
References ssp_map.
Referenced by woss::ACToolboxWoss::initSSPVector().
|
inline |
Returns a const iterator to the beginning of the temperature map
References temperature_map.
|
inline |
Returns a const iterator to the end of the temperature map
References temperature_map.
|
inline |
Returns a const iterator to the temperature value with key == of depth parameter
depth | const reference to a PDouble depth value |
References temperature_map.
|
inline |
Returns a const iterator to the temperature value with key >= of depth parameter
depth | const reference to a PDouble depth value |
References temperature_map.
|
inline |
Returns a const reverse iterator to the reverse beginning of the temperature map
References temperature_map.
|
inline |
Returns a const reverse iterator to the reverse end of the temperature map
References temperature_map.
|
inline |
Returns a const iterator to the temperature value with key > of depth parameter
depth | const reference to a PDouble depth value |
References temperature_map.
|
inlineprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
z | depth [m] |
Referenced by getPressureFromDepth().
|
virtual |
Transform the sound speed profile. If the current ssp can't be transformed it returns a not valid SSP. If both depth are not changed while depth steps is increased, all data will be linearly interpolated. If the SSP is extended in depth, sound speed will be calculated from last known temperature and salinity, while pressure will be calculated from depth conversion.
coordinates | coordinates for pressure, depth conversion corrections |
new_min_depth | miminum depth [m] of the new SSP |
new_max_depth | maximum depth [m] of the new SSP |
total_depth_steps | number of depths of the new SSP |
References begin(), calculateSSP(), depth_precision, getPressureFromDepth(), isRandomizable(), isTransformable(), woss::Coord::isValid(), pressure_map, salinity_map, ssp_map, and temperature_map.
|
virtual |
It returns a new SSP object, truncated at the input depth. If the current ssp can't be truncated it returns a not valid SSP.
max_depth | truncation depth [m] |
References begin(), clone(), debug, end(), insertValue(), and ssp_map.
|
inline |
|
virtual |
Write values out to the given stream
stream_out | const reference to an ostream instance |
References pressure_map, salinity_map, ssp_map, and temperature_map.
Inequality operator
left | left operand const reference |
right | right operand const reference |
Multiplication operator
left | left operand const reference |
right | right operand const reference |
Multiplication operator
left | left operand const reference |
right | right operand const reference |
Multiplication operator
left | left operand const reference |
right | right operand const reference |
Compound assignment multiplication operator
left | left operand reference |
right | right operand const reference |
Compound assignment multiplication operator
left | left operand reference |
right | right operand const reference |
Sum operator
left | left operand const reference |
right | right operand const reference |
Sum operator
left | left operand const reference |
right | right operand const reference |
Sum operator
left | left operand const reference |
right | right operand const reference |
Compound assignment sum operator
left | left operand reference |
right | right operand const reference |
Compound assignment sum operator
left | left operand reference |
right | right operand const reference |
Subtraction operator
left | left operand const reference |
right | right operand const reference |
Subtraction operator
left | left operand const reference |
right | right operand const reference |
Subtraction operator
left | left operand const reference |
right | right operand const reference |
Compound assignment subtraction operator
left | left operand reference |
right | right operand const reference |
Compound assignment subtraction operator
left | left operand reference |
right | right operand const reference |
Division operator
left | left operand const reference |
right | right operand const reference |
Division operator
left | left operand const reference |
right | right operand const reference |
Division operator
left | left operand const reference |
right | right operand const reference |
Compound assignment division operator
left | left operand reference |
right | right operand const reference |
Compound assignment division operator
left | left operand reference |
right | right operand const reference |
Equality operator
left | left operand const reference |
right | right operand const reference |
|
staticprotected |
Stores the common debug flag
Referenced by setDebug(), and truncate().
|
protected |
Stores the precision of all PDouble depth instances [m]
Referenced by create(), create(), create(), fullRandomize(), getDepthPrecision(), insertValue(), insertValue(), operator=(), randomize(), setDepthPrecision(), SSP(), and transform().
|
protected |
Stores the maximum sound speed value [m/s]
Referenced by getMaxSSPValue(), insertValue(), insertValue(), operator=(), and SSP().
|
protected |
Stores the miminum sound speed value [m/s]
Referenced by getMinSSPValue(), insertValue(), insertValue(), operator=(), and SSP().
|
protected |
Pressure values map
Referenced by clear(), fullRandomize(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), operator=(), pressure_begin(), pressure_end(), pressure_find(), pressure_lower_bound(), pressure_rbegin(), pressure_rend(), pressure_upper_bound(), setDepthPrecision(), SSP(), SSP(), transform(), and write().
|
protected |
Salinity values map
Referenced by clear(), fullRandomize(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), operator=(), salinity_begin(), salinity_end(), salinity_find(), salinity_lower_bound(), salinity_rbegin(), salinity_rend(), salinity_upper_bound(), setDepthPrecision(), SSP(), SSP(), transform(), and write().
|
protected |
Stores the SSP eq type that should be used
Referenced by calculateSSP(), getSSPEqType(), setSSPEqType(), and SSP().
|
protected |
Sound speed values map
Referenced by at(), begin(), clear(), create(), create(), empty(), end(), eraseValue(), findValue(), fullRandomize(), getMaxDepthValue(), getMinDepthValue(), insertValue(), insertValue(), isValid(), lower_bound(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), operator=(), randomize(), rbegin(), rend(), setDepthPrecision(), size(), SSP(), SSP(), SSP(), transform(), truncate(), upper_bound(), and write().
|
protected |
Temperature values map
Referenced by clear(), fullRandomize(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), operator=(), setDepthPrecision(), SSP(), SSP(), temperature_begin(), temperature_end(), temperature_find(), temperature_lower_bound(), temperature_rbegin(), temperature_rend(), temperature_upper_bound(), transform(), and write().