|
MI - Fimex
|
#include <fimex/coordSys/verticalTransform/VerticalTransformation.h>
Public Member Functions | |
| virtual | ~VerticalTransformation () |
| virtual std::string | getName () const =0 |
| the indentifier of the vertical transformation More... | |
| virtual std::string | getParameterString () const =0 |
| list the parameters More... | |
| virtual int | getPreferredVerticalType () const =0 |
| the most natural vertical type, one of the MIFI_VINT_* in fimex/mifi_constants.h More... | |
| virtual bool | isComplete () const =0 |
| virtual boost::shared_ptr< ToVLevelConverter > | getConverter (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< ToVLevelConverter > | getConverter (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... | |
Protected Member Functions | |
| virtual boost::shared_ptr< ToVLevelConverter > | 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 =0 |
| virtual boost::shared_ptr< ToVLevelConverter > | 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 |
| virtual boost::shared_ptr< ToVLevelConverter > | getHeightConverter (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 |
Base class for vertical transformations like AtmosphereSigma coordinate or OceanSG1 coordinate, and for completeness also Pressure and Height. Vertical-transformation are usually accessed by CoordinateSystem::getVerticalTransformation:
The qualified names of the VerticalTransformation classes can be found in the respectiv classes inheriting from VerticalTransformation, found in fimex/coordSys/verticalTransform/ *.h . The member-names of the sub-classes describe the parametrization of the VerticalTransformation, and their values reflect the variable-names.
|
inlinevirtual |
|
protectedvirtual |
Default implementation: Convert to altitude (height above MSL) with pressure(-converter) and standard atmosphere.
| reader | |
| unLimDimPos | |
| cs | |
| nx | |
| ny | |
| nz | |
| nt |
Reimplemented in MetNoFimex::OceanSG1, and MetNoFimex::Height.
Referenced by ~VerticalTransformation().
|
virtual |
get a converter. Pressure will be in unit hPa, height/depth in unit m.
| reader | a reader to fetch the data from |
| verticalType | one of the MIFI_VINT_* in fimex/mifi_constants.h |
| unLimDimPos | the unlimited position to start at |
| cs | the coordinate system one is interested in |
| nx | x-size of the resulting data |
| ny | y-size of the resulting data |
| nz | z-size of the resulting data |
| nt | The final t-size will be nt-unLimDimPos. |
Referenced by ~VerticalTransformation().
| boost::shared_ptr<ToVLevelConverter> MetNoFimex::VerticalTransformation::getConverter | ( | 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
|
protectedvirtual |
Default implementation: Convert to height above ground with pressure(-converter) and standard atmosphere.
| reader | |
| unLimDimPos | |
| cs | |
| nx | |
| ny | |
| nz | |
| nt |
Reimplemented in MetNoFimex::Height.
Referenced by ~VerticalTransformation().
|
pure virtual |
the indentifier of the vertical transformation
Implemented in MetNoFimex::OceanSG1, MetNoFimex::OceanSG2, MetNoFimex::HybridSigmaPressure1, MetNoFimex::HybridSigmaPressure2, MetNoFimex::AtmosphereSigma, MetNoFimex::LnPressure, MetNoFimex::Pressure, and MetNoFimex::Height.
Referenced by ~VerticalTransformation().
|
pure virtual |
list the parameters
Implemented in MetNoFimex::OceanSG1, MetNoFimex::HybridSigmaPressure1, MetNoFimex::HybridSigmaPressure2, MetNoFimex::AtmosphereSigma, MetNoFimex::LnPressure, MetNoFimex::Pressure, and MetNoFimex::Height.
Referenced by ~VerticalTransformation().
|
pure virtual |
the most natural vertical type, one of the MIFI_VINT_* in fimex/mifi_constants.h
Implemented in MetNoFimex::OceanSG1, MetNoFimex::HybridSigmaPressure1, MetNoFimex::HybridSigmaPressure2, MetNoFimex::AtmosphereSigma, MetNoFimex::LnPressure, MetNoFimex::Pressure, and MetNoFimex::Height.
Referenced by ~VerticalTransformation().
|
protectedpure virtual |
|
pure virtual |
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.
Implemented in MetNoFimex::OceanSG1, MetNoFimex::HybridSigmaPressure1, MetNoFimex::HybridSigmaPressure2, MetNoFimex::AtmosphereSigma, MetNoFimex::LnPressure, MetNoFimex::Pressure, and MetNoFimex::Height.
Referenced by ~VerticalTransformation().
1.8.11