visad.data.vis5d
Class Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem

java.lang.Object
  extended by visad.CoordinateSystem
      extended by visad.data.vis5d.Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem
All Implemented Interfaces:
Serializable
Enclosing class:
Vis5DVerticalSystem

public static class Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem
extends CoordinateSystem

Vis5DVerticalCoordinateSystem is the VisAD class for coordinate systems for transforming pressure in millibars to Altitude in m. It uses the standard Vis5D climate formulas:

         P = 1012.5 * e^( H / -7.2 )        (^ denotes exponentiation)
 
         H = -7.2 * Ln( P / 1012.5 )        (Ln denotes natural log)
 
for the transformations (in this case H is in km).

See Also:
Serialized Form

Constructor Summary
Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem()
          Construct a new vertical transformation system
 
Method Summary
static double altitudeToPressure(double alt)
          Converts an altitude value in meters to a pressure value in millibars.
 boolean equals(Object o)
          Checks the equality of o against this coordinate system
 double[][] fromReference(double[][] alts)
          Converts altitudes in m to pressure in millibars.
 float[][] fromReference(float[][] alts)
          Converts altitudes in m to pressure in millibars.
static double pressureToAltitude(double pressure)
          Converts a pressure value in millibars to an altitude in meters.
 double[][] toReference(double[][] pressures)
          Converts pressures in millibars to altitude in meters.
 float[][] toReference(float[][] pressures)
          Converts pressures in millibars to altitude in meters.
 
Methods inherited from class visad.CoordinateSystem
canConvert, fromReference, fromReference, getCoordinateSystemUnits, getDimension, getReference, getReferenceUnits, toReference, toReference, transformCoordinates, transformCoordinates, transformCoordinates, transformCoordinates, transformCoordinatesFreeUnits, transformCoordinatesFreeUnits
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem

public Vis5DVerticalSystem.Vis5DVerticalCoordinateSystem()
                                                  throws VisADException
Construct a new vertical transformation system

Throws:
VisADException
Method Detail

toReference

public double[][] toReference(double[][] pressures)
                       throws VisADException
Converts pressures in millibars to altitude in meters.

Specified by:
toReference in class CoordinateSystem
Parameters:
pressures - array of pressures
Returns:
array of corresponding altitudes
Throws:
VisADException - illegal input

fromReference

public double[][] fromReference(double[][] alts)
                         throws VisADException
Converts altitudes in m to pressure in millibars.

Specified by:
fromReference in class CoordinateSystem
Parameters:
alts - array of altitudes
Returns:
array of corresponding pressures
Throws:
VisADException - illegal input

toReference

public float[][] toReference(float[][] pressures)
                      throws VisADException
Converts pressures in millibars to altitude in meters.

Overrides:
toReference in class CoordinateSystem
Parameters:
pressures - array of pressures
Returns:
array of corresponding altitudes
Throws:
VisADException - illegal input

fromReference

public float[][] fromReference(float[][] alts)
                        throws VisADException
Converts altitudes in m to pressure in millibars.

Overrides:
fromReference in class CoordinateSystem
Parameters:
alts - array of altitudes
Returns:
array of corresponding pressures
Throws:
VisADException - illegal input

equals

public boolean equals(Object o)
Checks the equality of o against this coordinate system

Specified by:
equals in class CoordinateSystem
Parameters:
o - object in question
Returns:
true if o is a Vis5DVerticalCoordinateSystem

altitudeToPressure

public static double altitudeToPressure(double alt)
Converts an altitude value in meters to a pressure value in millibars. It uses the standard Vis5D climate formula:
         P = 1012.5 * e^( H / -7.2 )     (^ denotes exponentiation)

 (H is in km in this formula, but input value is meters)
 

Parameters:
alt - value to convert
Returns:
corresponding pressure value

pressureToAltitude

public static double pressureToAltitude(double pressure)
Converts a pressure value in millibars to an altitude in meters. It uses the standard Vis5D climate formula:
         H = -7.2 * Ln( P / 1012.5 )        (Ln denotes natural log)

 (H is in km in this formula, but returned value is meters)
 

Parameters:
pressure - value to convert
Returns:
corresponding altitude value