MI - Fimex
Public Member Functions | List of all members
MetNoFimex::OceanSCoordinateGToDepthConverter Class Reference

#include <ToVLevelConverter.h>

Inheritance diagram for MetNoFimex::OceanSCoordinateGToDepthConverter:
MetNoFimex::ToVLevelConverter

Public Member Functions

 OceanSCoordinateGToDepthConverter (const vector< double > &s, const vector< double > &C, double depth_c, IndexedData eta, IndexedData depth, size_t nx, size_t ny, size_t nk, size_t nt, int(*func)(size_t, double, double, double, const double *, const double *, double *))
 
virtual vector< double > operator() (size_t x, size_t y, size_t t)
 
virtual bool isValid (double val, size_t x, size_t y, size_t t)
 
- Public Member Functions inherited from MetNoFimex::ToVLevelConverter
virtual ~ToVLevelConverter ()
 
vector< double > values (size_t x, size_t y, size_t t)
 same as operator() More...
 

Detailed Description

Use ocean_s_coordinate_g1 or g2 to calculate depth

Constructor & Destructor Documentation

MetNoFimex::OceanSCoordinateGToDepthConverter::OceanSCoordinateGToDepthConverter ( const vector< double > &  s,
const vector< double > &  C,
double  depth_c,
IndexedData  eta,
IndexedData  depth,
size_t  nx,
size_t  ny,
size_t  nk,
size_t  nt,
int(*)(size_t, double, double, double, const double *, const double *, double *)  func 
)
inline
Parameters
sk-dependent sigma coordinate
Ck-dependent stretching function
depth_ccritical depth (~ min(h(x,y)))
etatime-varying free surface, might be 0
depthocean-depth, might be time-varying for sediment applications
nx,ny,nk,ntarray sizes
funceither mifi_ocean_s_g1_z() or mifi_ocean_s_g2_z()

References MetNoFimex::DataIndex::getDims(), MetNoFimex::IndexedData::idx(), and std::vector< _Tp, _Alloc >::size().

Member Function Documentation

virtual bool MetNoFimex::OceanSCoordinateGToDepthConverter::isValid ( double  val,
size_t  x,
size_t  y,
size_t  t 
)
virtual

The VLevelConverter usually knows about validity of vertical values at a certain position.

Parameters
valvalue to interpolate to, e.g. height, depth, pressure
x
y
t
Returns
physically correct value

Reimplemented from MetNoFimex::ToVLevelConverter.

virtual vector<double> MetNoFimex::OceanSCoordinateGToDepthConverter::operator() ( size_t  x,
size_t  y,
size_t  t 
)
virtual

functor-interface to get all pressure-levels at (x,y,t)

Parameters
x
y
t
Returns
pressure-levels in hPa at position (x,y,t)

Implements MetNoFimex::ToVLevelConverter.


The documentation for this class was generated from the following file: