ucar.unidata.geoloc.vertical
Class HybridSigmaPressure

java.lang.Object
  extended by ucar.unidata.geoloc.vertical.VerticalTransformImpl
      extended by ucar.unidata.geoloc.vertical.HybridSigmaPressure
All Implemented Interfaces:
VerticalTransform

public class HybridSigmaPressure
extends VerticalTransformImpl

Create a 3D height(z,y,x) array using the netCDF CF convention formula for "Hybrid Sigma Pressure".

pressure(x,y,z) = a(z)*p0 + b(z)*surfacePressure(x,y) or

pressure(x,y,z) = ap(z) + b(z)*surfacePressure(x,y)

Author:
caron
See Also:
http://cf-pcmdi.llnl.gov/

Field Summary
static java.lang.String A
          The "a" variable name identifier
static java.lang.String AP
          The "a" variable name identifier
static java.lang.String B
          The "b" variable name identifier
static java.lang.String P0
          P-naught identifier
static java.lang.String PS
          Surface pressure name identifier
 
Constructor Summary
HybridSigmaPressure(NetcdfFile ds, Dimension timeDim, java.util.List<Parameter> params)
          Construct a coordinate transform for sigma pressure
 
Method Summary
 ArrayDouble.D3 getCoordinateArray(int timeIndex)
          Get the 3D vertical coordinate array for this time step.
 
Methods inherited from class ucar.unidata.geoloc.vertical.VerticalTransformImpl
getUnitString, isTimeDependent, subset
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

P0

public static final java.lang.String P0
P-naught identifier

See Also:
Constant Field Values

PS

public static final java.lang.String PS
Surface pressure name identifier

See Also:
Constant Field Values

A

public static final java.lang.String A
The "a" variable name identifier

See Also:
Constant Field Values

AP

public static final java.lang.String AP
The "a" variable name identifier

See Also:
Constant Field Values

B

public static final java.lang.String B
The "b" variable name identifier

See Also:
Constant Field Values
Constructor Detail

HybridSigmaPressure

public HybridSigmaPressure(NetcdfFile ds,
                           Dimension timeDim,
                           java.util.List<Parameter> params)
Construct a coordinate transform for sigma pressure

Parameters:
ds - netCDF dataset
timeDim - time dimension
params - list of transformation Parameters
Method Detail

getCoordinateArray

public ArrayDouble.D3 getCoordinateArray(int timeIndex)
                                  throws java.io.IOException,
                                         InvalidRangeException
Get the 3D vertical coordinate array for this time step.

Specified by:
getCoordinateArray in interface VerticalTransform
Specified by:
getCoordinateArray in class VerticalTransformImpl
Parameters:
timeIndex - the time index. Ignored if !isTimeDependent().
Returns:
vertical coordinate array
Throws:
java.io.IOException - problem reading data
InvalidRangeException - _more_