ucar.unidata.view.sounding
Class ProfileCleanerCell

java.lang.Object
  extended by ucar.unidata.view.sounding.ComputeCell
      extended by ucar.unidata.view.sounding.ProfileCleanerCell

public final class ProfileCleanerCell
extends ComputeCell

Cleans a profile by eliminating non-finite pressures and ensuring that the profile is ascending.

Version:
$Revision: 1.5 $ $Date: 2005/05/13 18:33:35 $
Author:
Steven R. Emmerson

Constructor Summary
ProfileCleanerCell(DataReference proRef, RealType rangeType)
          Constructs from data references.
 
Method Summary
protected  Data compute(Data[] datums)
          Computes the output profile from an (AirPressure -> X) input profile.
 
Methods inherited from class ucar.unidata.view.sounding.ComputeCell
clean, disableRef, enableAllInputRefs, getInputRefs, getOutputRef, noDataField, toString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ProfileCleanerCell

public ProfileCleanerCell(DataReference proRef,
                          RealType rangeType)
                   throws VisADException,
                          RemoteException
Constructs from data references.

Parameters:
proRef - The input profile reference.
rangeType - The type of the range of the output profile.
Throws:
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.
Method Detail

compute

protected Data compute(Data[] datums)
                throws TypeException,
                       VisADException,
                       RemoteException
Computes the output profile from an (AirPressure -> X) input profile.

Specified by:
compute in class ComputeCell
Parameters:
datums - The input data in the same order as during construction: datums[0] is the input profile.
Returns:
The corresponding output profile with no missing data in its range.
Throws:
ClassCastException - if an input data reference has the wrong type of data object.
TypeException - if a VisAD data object has the wrong type.
VisADException - if a VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.