ucar.visad.quantities
Class SaturationVaporPressure

java.lang.Object
  extended by ucar.visad.quantities.Quantity
      extended by ucar.visad.quantities.ScalarQuantity
          extended by ucar.visad.quantities.Pressure
              extended by ucar.visad.quantities.SaturationVaporPressure

public class SaturationVaporPressure
extends Pressure

Provides support for the quantity saturation water vapor pressure. Instances are immutable.

Version:
$Id: SaturationVaporPressure.java,v 1.16 2005/05/13 18:35:43 jeffmc Exp $
Author:
Steven R. Emmerson

Field Summary
protected static Real two
          The dimensionless quantity two.
 
Constructor Summary
protected SaturationVaporPressure(String name)
          Constructs from a name.
 
Method Summary
static Data create(Data temperature)
          Creates a SaturationVaporPressure data object from a temperature data object.
static Data createTemperature(Data eSat)
          Creates a temperature data object from a saturation water vapor pressure data object.
static RealTupleType getRealTupleType()
          Obtains the RealTupleType associated with this class.
static RealType getRealType()
          Obtains the RealType associated with this class.
static RealType getTemperatureDerivativeRealType()
          Obtains the RealType of the derivative with respect to temperature.
static Data temperatureDerivative(Data temperature)
          Returns the derivative of saturation vapor pressure with respect to temperature.
 
Methods inherited from class ucar.visad.quantities.ScalarQuantity
getRealType, getRealType, realType
 
Methods inherited from class ucar.visad.quantities.Quantity
realTupleType, setRealTupleType
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

two

protected static Real two
The dimensionless quantity two.

Constructor Detail

SaturationVaporPressure

protected SaturationVaporPressure(String name)
                           throws VisADException
Constructs from a name.

Parameters:
name - The name for this quantity.
Throws:
VisADException - Couldn't create necessary VisAD object.
Method Detail

getRealType

public static RealType getRealType()
                            throws VisADException
Obtains the RealType associated with this class.

Returns:
The RealType associated with this class.
Throws:
VisADException - Couldn't perform necessary VisAD operation.

getRealTupleType

public static RealTupleType getRealTupleType()
                                      throws VisADException
Obtains the RealTupleType associated with this class.

Returns:
The RealTupleType associated with this class.
Throws:
VisADException - Couldn't perform necessary VisAD operation.

getTemperatureDerivativeRealType

public static RealType getTemperatureDerivativeRealType()
                                                 throws VisADException
Obtains the RealType of the derivative with respect to temperature.

Returns:
The RealType of the derivative w.r.t. temperature.
Throws:
VisADException - Couldn't perform necessary VisAD operation.

create

public static Data create(Data temperature)
                   throws TypeException,
                          UnitException,
                          UnimplementedException,
                          VisADException,
                          RemoteException
Creates a SaturationVaporPressure data object from a temperature data object. The algorithm is based on Bolton's 1980 variation of Teten's 1930 formula for saturation vapor pressure (see "An Introduction to Boundary Layer Meteorology" by Roland B. Stull (1988) equation 7.5.2d).

Parameters:
temperature - The temperature data object.
Returns:
Saturation water vapor pressure data object computed from the temperature. The type of the object will be that of the arguments after standard promotion.
Throws:
TypeException - Argument has wrong type.
UnitException - Inappropriate unit argument.
UnimplementedException - Necessary operation not yet implemented.
VisADException - Couldn't create necessary VisAD object.
RemoteException - Java RMI failure.
See Also:
VisADMath

temperatureDerivative

public static Data temperatureDerivative(Data temperature)
                                  throws TypeException,
                                         UnitException,
                                         UnimplementedException,
                                         VisADException,
                                         RemoteException
Returns the derivative of saturation vapor pressure with respect to temperature.

Parameters:
temperature - The temperatures at which to return the derivatives.
Returns:
The derivative w.r.t. temperature at the given temperatures.
Throws:
TypeException - if a necessary RealType can't be created.
UnitException - if unit-convertion failure occurs.
UnimplementedException - if a necessary method is unimplemented.
VisADException - if a core VisAD failure occurs.
RemoteException - if a Java RMI failure occurs.

createTemperature

public static Data createTemperature(Data eSat)
                              throws TypeException,
                                     UnitException,
                                     VisADException,
                                     RemoteException
Creates a temperature data object from a saturation water vapor pressure data object. The algorithm is based on Bolton's 1980 variation of Teten's 1930 formula for saturation vapor pressure (see "An Introduction to Boundary Layer Meteorology" by Roland B. Stull (1988) equation 7.5.2d).

Parameters:
eSat - Saturation water vapor pressure data object.
Returns:
Temperature data object computed from saturation water vapor pressures data object. The type of the object will be that of the arguments after standard promotion.
Throws:
TypeException - Argument has wrong type.
UnitException - Inappropriate unit argument.
VisADException - Couldn't create necessary VisAD object.
RemoteException - Java RMI failure.
See Also:
VisADMath