ucar.unidata.geoloc.vertical
Class VerticalTransformImpl

java.lang.Object
  extended by ucar.unidata.geoloc.vertical.VerticalTransformImpl
All Implemented Interfaces:
VerticalTransform
Direct Known Subclasses:
AtmosLnPressure, AtmosSigma, HybridHeight, HybridSigmaPressure, OceanS, OceanSG1, OceanSG2, OceanSigma, VerticalTransformSubset, VTfromExistingData, WRFEta

public abstract class VerticalTransformImpl
extends Object
implements VerticalTransform

A transformation to a vertical reference coordinate system, such as height or pressure.

Author:
Unidata Development Team

Field Summary
protected  String units
          unit string
 
Constructor Summary
VerticalTransformImpl(Dimension timeDim)
          Construct a VerticalCoordinate
 
Method Summary
abstract  ArrayDouble.D3 getCoordinateArray(int timeIndex)
          Get the 3D vertical coordinate array for this time step.
protected  boolean getParameterBooleanValue(List<Parameter> params, String name)
           
protected  String getParameterStringValue(List<Parameter> params, String name)
           
protected  Dimension getTimeDimension()
          Get the time Dimension
 String getUnitString()
          Get the unit string for the vertical coordinate.
 boolean isTimeDependent()
          Get whether this coordinate is time dependent.
protected  Array readArray(Variable v, int timeIndex)
          Read the data Array from the variable, at the specified time index if applicable.
 VerticalTransform subset(Range t_range, Range z_range, Range y_range, Range x_range)
          Create a subset of this VerticalTransform.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

units

protected String units
unit string

Constructor Detail

VerticalTransformImpl

public VerticalTransformImpl(Dimension timeDim)
Construct a VerticalCoordinate

Parameters:
timeDim - time dimension
Method Detail

getCoordinateArray

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

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

getUnitString

public String getUnitString()
Get the unit string for the vertical coordinate.

Specified by:
getUnitString in interface VerticalTransform
Returns:
unit string

isTimeDependent

public boolean isTimeDependent()
Get whether this coordinate is time dependent.

Specified by:
isTimeDependent in interface VerticalTransform
Returns:
true if time dependent

getTimeDimension

protected Dimension getTimeDimension()
Get the time Dimension

Returns:
time Dimension

readArray

protected Array readArray(Variable v,
                          int timeIndex)
                   throws IOException,
                          InvalidRangeException
Read the data Array from the variable, at the specified time index if applicable. If the variable does not have a time dimension, the data array will have the same rank as the Variable. If the variable has a time dimension, the data array will have rank-1.

Parameters:
v - variable to read
timeIndex - time index, ignored if !isTimeDependent()
Returns:
Array from the variable at that time index
Throws:
IOException - problem reading data
InvalidRangeException - _more_

subset

public VerticalTransform subset(Range t_range,
                                Range z_range,
                                Range y_range,
                                Range x_range)
                         throws InvalidRangeException
Create a subset of this VerticalTransform.

Specified by:
subset in interface VerticalTransform
Parameters:
t_range - subset the time dimension, or null if you want all of it
z_range - subset the vertical dimension, or null if you want all of it
y_range - subset the y dimension, or null if you want all of it
x_range - subset the x dimension, or null if you want all of it
Returns:
the subsetted VerticalTransform
Throws:
InvalidRangeException - if any of the range parameters are illegal

getParameterStringValue

protected String getParameterStringValue(List<Parameter> params,
                                         String name)

getParameterBooleanValue

protected boolean getParameterBooleanValue(List<Parameter> params,
                                           String name)


Copyright © 1999-2011 UCAR/Unidata. All Rights Reserved.