MI - Fimex
Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | Protected Attributes | List of all members
MetNoFimex::OceanSG1 Class Reference

#include <fimex/coordSys/verticalTransform/OceanSG1.h>

Inheritance diagram for MetNoFimex::OceanSG1:
MetNoFimex::VerticalTransformation MetNoFimex::OceanSG2

Public Member Functions

 OceanSG1 (const std::string &s, const std::string &C, const std::string &depth, const std::string &depth_c, const std::string &eta="")
 
virtual ~OceanSG1 ()
 
virtual std::string getName () const
 
virtual int getPreferredVerticalType () const
 the most natural vertical type, one of the MIFI_VINT_* in fimex/mifi_constants.h More...
 
virtual std::string getParameterString () const
 list the parameters More...
 
virtual bool isComplete () const
 
- Public Member Functions inherited from MetNoFimex::VerticalTransformation
virtual ~VerticalTransformation ()
 
virtual boost::shared_ptr< ToVLevelConvertergetConverter (const boost::shared_ptr< CDMReader > &reader, int verticalType, size_t unLimDimPos, boost::shared_ptr< const CoordinateSystem > cs, size_t nx, size_t ny, size_t nz, size_t nt) const
 
boost::shared_ptr< ToVLevelConvertergetConverter (const boost::shared_ptr< CDMReader > &reader, int verticalType, size_t unLimDimPos, boost::shared_ptr< const CoordinateSystem > cs) const
 same as getConverter, but determines nx, nz, nt using MetNoFimex::getSimpleAxes from CDMUtils More...
 

Static Public Member Functions

static const std::string NAME ()
 

Public Attributes

const std::string s
 
const std::string C
 
const std::string depth
 
const std::string depth_c
 
const std::string eta
 

Protected Member Functions

virtual boost::shared_ptr< ToVLevelConvertergetPressureConverter (const boost::shared_ptr< CDMReader > &reader, size_t unLimDimPos, boost::shared_ptr< const CoordinateSystem > cs, size_t nx, size_t ny, size_t nt) const
 
virtual boost::shared_ptr< ToVLevelConvertergetAltitudeConverter (const boost::shared_ptr< CDMReader > &reader, size_t unLimDimPos, boost::shared_ptr< const CoordinateSystem > cs, size_t nx, size_t ny, size_t nz, size_t nt) const
 
- Protected Member Functions inherited from MetNoFimex::VerticalTransformation
virtual boost::shared_ptr< ToVLevelConvertergetHeightConverter (const boost::shared_ptr< CDMReader > &reader, size_t unLimDimPos, boost::shared_ptr< const CoordinateSystem > cs, size_t nx, size_t ny, size_t nz, size_t nt) const
 

Protected Attributes

int(* heightConversionFunction )(size_t n, double h, double h_c, double zeta, const double *sigma, const double *C, double *z)
 

Detailed Description

ocean_s_coordinate_g2 is defined by the same set of parameters, just the conversion function is different.

Constructor & Destructor Documentation

MetNoFimex::OceanSG1::OceanSG1 ( const std::string s,
const std::string C,
const std::string depth,
const std::string depth_c,
const std::string eta = "" 
)

Initialize OceanSG1 with formula as defined by https://www.myroms.org/wiki/index.php/Vertical_S-coordinate

Parameters
sfractional vertical stretching coordinate sigma(k)
Cfree surface C(x,y,t)
depthunperturbed ocean-depth depth(x,y)
depth_ccritical depth, usually min(depth(x,y))
etatime-varying free surface eta(x,y,z) (often also called zeta)
virtual MetNoFimex::OceanSG1::~OceanSG1 ( )
inlinevirtual

Member Function Documentation

virtual boost::shared_ptr<ToVLevelConverter> MetNoFimex::OceanSG1::getAltitudeConverter ( const boost::shared_ptr< CDMReader > &  reader,
size_t  unLimDimPos,
boost::shared_ptr< const CoordinateSystem cs,
size_t  nx,
size_t  ny,
size_t  nz,
size_t  nt 
) const
protectedvirtual

Default implementation: Convert to altitude (height above MSL) with pressure(-converter) and standard atmosphere.

Parameters
reader
unLimDimPos
cs
nx
ny
nz
nt
Returns

Reimplemented from MetNoFimex::VerticalTransformation.

Referenced by isComplete().

virtual std::string MetNoFimex::OceanSG1::getName ( ) const
inlinevirtual
Returns
same as static NAME()

Implements MetNoFimex::VerticalTransformation.

Reimplemented in MetNoFimex::OceanSG2.

References NAME().

virtual std::string MetNoFimex::OceanSG1::getParameterString ( ) const
inlinevirtual

list the parameters

Implements MetNoFimex::VerticalTransformation.

References eta.

virtual int MetNoFimex::OceanSG1::getPreferredVerticalType ( ) const
inlinevirtual

the most natural vertical type, one of the MIFI_VINT_* in fimex/mifi_constants.h

Implements MetNoFimex::VerticalTransformation.

References MIFI_VINT_DEPTH.

virtual boost::shared_ptr<ToVLevelConverter> MetNoFimex::OceanSG1::getPressureConverter ( const boost::shared_ptr< CDMReader > &  reader,
size_t  unLimDimPos,
boost::shared_ptr< const CoordinateSystem cs,
size_t  nx,
size_t  ny,
size_t  nt 
) const
protectedvirtual
virtual bool MetNoFimex::OceanSG1::isComplete ( ) const
inlinevirtual

Indicate if all parameters are given to fully describe the transformation.

Even a fully described transformation does not guarantee that a converter exists (e.g. height -> altitude requires in addition topography).

And converters might exist, even if a transformation is not complete.

Implements MetNoFimex::VerticalTransformation.

References getAltitudeConverter(), and getPressureConverter().

static const std::string MetNoFimex::OceanSG1::NAME ( )
inlinestatic

static NAME constant

Returns
ocean_s_coordinate_g1

Referenced by getName().

Member Data Documentation

const std::string MetNoFimex::OceanSG1::C
const std::string MetNoFimex::OceanSG1::depth
const std::string MetNoFimex::OceanSG1::depth_c
const std::string MetNoFimex::OceanSG1::eta

Referenced by getParameterString().

int(* MetNoFimex::OceanSG1::heightConversionFunction) (size_t n, double h, double h_c, double zeta, const double *sigma, const double *C, double *z)
protected
const std::string MetNoFimex::OceanSG1::s

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