|
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 class | 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 ©)=default | |
| SSP (SSP &&tmp)=default | |
| virtual | ~SSP ()=default |
| virtual std::unique_ptr< SSP > | create (long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
| virtual std::unique_ptr< SSP > | create (DepthMap &ssp_map, DepthMap &temp_map, DepthMap &sal_map, DepthMap &press_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
| virtual std::unique_ptr< SSP > | create (DepthMap &ssp_map, long double depth_precision=SSP_CUSTOM_DEPTH_PRECISION) const |
| virtual std::unique_ptr< 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 std::unique_ptr< 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 std::unique_ptr< SSP > | truncate (double max_depth) const |
| virtual std::unique_ptr< SSP > | fullRandomize (double ratio_incr_value) const |
| virtual std::unique_ptr< 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)=default |
| SSP & | operator= (SSP &&tmp)=default |
Static Public Member Functions | |
| static void | setDebug (bool flag) |
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 | |
| constexpr double | calculateSSP (double temperature, double salinity, double pressure) const |
| constexpr bool | isCanonOcean (const Coord &coordinates) const |
| constexpr bool | isNEAtlanticOcean (const Coord &coordinates) const |
| constexpr bool | isAntarcticOcean (const Coord &coordinates) const |
| constexpr bool | isMediterraneanSea (const Coord &coordinates) const |
| constexpr bool | isRedSea (const Coord &coordinates) const |
| constexpr bool | isArcticOcean (const Coord &coordinates) const |
| constexpr bool | isJapanSea (const Coord &coordinates) const |
| constexpr bool | isSuluSea (const Coord &coordinates) const |
| constexpr bool | isHalmaheraSea (const Coord &coordinates) const |
| constexpr bool | isCelebesSea (const Coord &coordinates) const |
| constexpr bool | isBlackSea (const Coord &coordinates) const |
| constexpr bool | isBalticSea (const Coord &coordinates) const |
| constexpr double | thyh (double z) const |
| constexpr double | g (double lat) const |
| constexpr double | k (double z, double lat) const |
| constexpr double | hq (double z) const |
| constexpr double | h (double z, double lat) const |
| constexpr double | getPressureCorreptions (const Coord &coordinates, double depth) const |
| constexpr double | getPressureFromDepth (const Coord &coordinates, double depth) const |
| constexpr double | g_z (double lat) const |
| constexpr double | getDepthCorreptions (const Coord &coordinates, double pressure) const |
| constexpr double | getDepthfromPressure (const Coord &coordinates, double pressure) const |
| constexpr double | d (double t, double p) const |
| constexpr double | b (double t, double p) const |
| constexpr double | a (double t, double p) const |
| constexpr double | cw (double t, double p) const |
| constexpr 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) |
| std::ostream & | operator<< (std::ostream &os, const SSP &instance) |
| std::ostream & | operator>> (std::istream &is, const SSP &instance) |
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.
|
strong |
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 |
||
| ) |
|
default |
|
default |
|
virtualdefault |
|
inlineconstexprprivate |
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 |
|
inlineconstexprprivate |
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 woss::BellhopWoss::writeNormalizedSSP().
|
inlineconstexprprivate |
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(), 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.
|
inlinevirtual |
SSP virtual factory method
Referenced by woss::WossDbManager::setCustomSSP(), 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 fullRandomize(), randomize(), transform(), and truncate().
|
inlineconstexprprivate |
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().
|
inlineconstexprprivate |
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 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(), create(), depth_precision, woss::Singleton< T >::instance(), isRandomizable(), pressure_map, salinity_map, ssp_map, and temperature_map.

|
inlineconstexprprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
| lat | latitude [decimal degree] |
Referenced by k().
|
inlineconstexprprivate |
Equation for depth from pressure conversion ( Leroy and Parthiot )
| lat | latitude [decimal degree] |
Referenced by getDepthfromPressure().
|
constexprprivate |
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().

|
inlineconstexprprivate |
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().
Referenced by insertValue().

|
inline |
Returns the sound speed profile depth precision
References depth_precision.
|
inline |
|
inline |
|
inline |
|
inline |
|
constexprprivate |
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().

|
inlineconstexprprivate |
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 |
|
inlineconstexprprivate |
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().
|
inlineconstexprprivate |
Equation for pressure from depth conversion ( Leroy and Parthiot )
| z | depth [m] |
| lat | latitude [decimal degree] |
Referenced by getPressureFromDepth().

|
inlineconstexprprivate |
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 debug, and insertValue().
Referenced by woss::operator>>().

| 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().
| 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 & 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] |
References depth_precision, max_ssp_value, min_ssp_value, pressure_map, salinity_map, ssp_map, and temperature_map.
| SSP & 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] |
References calculateSSP(), depth_precision, getDepthfromPressure(), woss::Coord::isValid(), max_ssp_value, min_ssp_value, pressure_map, salinity_map, ssp_map, and temperature_map.

|
inlineconstexprprivate |
Checks if coordinates provided are in Antarctic Ocean
| coordinates | coordinates value |
References woss::Coord::getLatitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Arctic Ocean
| coordinates | coordinates value |
References woss::Coord::getLatitude().

|
inlineconstexprprivate |
Checks if coordinates provided are in Baltic Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Black Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in canon ocean
| coordinates | coordinates value |
References woss::Coord::getLatitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Celebes Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Halmahera Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Japan Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
Checks if coordinates provided are in Mediterranean Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
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().

|
inlineconstexprprivate |
Checks if coordinates provided are in Red Sea
| coordinates | coordinates value |
References woss::Coord::getLatitude(), and woss::Coord::getLongitude().
Referenced by getDepthCorreptions(), and getPressureCorreptions().

|
inlineconstexprprivate |
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 transform().

|
inlinevirtual |
Checks the validity of sound speed profile provided
References ssp_map.
Referenced by isRandomizable(), isTransformable(), and randomize().
|
inlineconstexprprivate |
|
inline |
|
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 create(), 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.
|
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.
|
inlineconstexprprivate |
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 calculateSSP(), create(), debug, 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 clone(), create(), and debug.

|
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 |
|
friend |
<< operator
| os | left operand ostream reference |
| instance | right operand const SSP reference |
Equality operator
| left | left operand const reference |
| right | right operand const reference |
|
friend |
operator
| os | left operand ostream reference |
| instance | right operand const SSP reference |
|
staticprotected |
Stores the common debug flag
Referenced by import(), setDebug(), transform(), and truncate().
|
protected |
Stores the precision of all PDouble depth instances [m]
Referenced by create(), create(), create(), fullRandomize(), getDepthPrecision(), insertValue(), insertValue(), insertValue(), insertValue(), randomize(), setDepthPrecision(), and transform().
|
protected |
Stores the maximum sound speed value [m/s]
Referenced by getMaxSSPValue(), insertValue(), insertValue(), insertValue(), and insertValue().
|
protected |
Stores the miminum sound speed value [m/s]
Referenced by getMinSSPValue(), insertValue(), insertValue(), insertValue(), and insertValue().
|
protected |
Pressure values map
Referenced by clear(), fullRandomize(), insertValue(), insertValue(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), pressure_begin(), pressure_end(), pressure_find(), pressure_lower_bound(), pressure_rbegin(), pressure_rend(), pressure_upper_bound(), setDepthPrecision(), SSP(), transform(), and write().
|
protected |
Salinity values map
Referenced by clear(), fullRandomize(), insertValue(), insertValue(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), salinity_begin(), salinity_end(), salinity_find(), salinity_lower_bound(), salinity_rbegin(), salinity_rend(), salinity_upper_bound(), setDepthPrecision(), SSP(), transform(), and write().
|
protected |
Stores the SSP eq type that should be used
Referenced by calculateSSP(), getSSPEqType(), and setSSPEqType().
|
protected |
Sound speed values map
Referenced by at(), begin(), clear(), create(), create(), empty(), end(), eraseValue(), findValue(), fullRandomize(), getMaxDepthValue(), getMinDepthValue(), insertValue(), insertValue(), insertValue(), insertValue(), isValid(), lower_bound(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), randomize(), rbegin(), rend(), setDepthPrecision(), size(), SSP(), SSP(), transform(), upper_bound(), and write().
|
protected |
Temperature values map
Referenced by clear(), fullRandomize(), insertValue(), insertValue(), insertValue(), isRandomizable(), woss::operator*=(), woss::operator*=(), woss::operator+=(), woss::operator+=(), woss::operator-=(), woss::operator-=(), woss::operator/=(), woss::operator/=(), setDepthPrecision(), SSP(), temperature_begin(), temperature_end(), temperature_find(), temperature_lower_bound(), temperature_rbegin(), temperature_rend(), temperature_upper_bound(), transform(), and write().