Class SkewTCoordinateSystem

All Implemented Interfaces:
Serializable

public final class SkewTCoordinateSystem extends AerologicalCoordinateSystem

Provides support for converting between the (x,y) coordinates on a skew T - log P diagram and (pressure,temperature) coordinates.

Instances of this class are immutable.

Version:
$Revision: 1.14 $ $Date: 2005/05/13 18:33:37 $
Author:
Steven R. Emmerson
See Also:
  • Field Details

    • DEFAULT_MINIMUM_PRESSURE

      public static final Real DEFAULT_MINIMUM_PRESSURE
      The default minimum pressure.
    • DEFAULT_MAXIMUM_PRESSURE

      public static final Real DEFAULT_MAXIMUM_PRESSURE
      The default maximum pressure.
    • DEFAULT_MINIMUM_TEMPERATURE

      public static final Real DEFAULT_MINIMUM_TEMPERATURE
      The default minimum temperature.
    • DEFAULT_MAXIMUM_TEMPERATURE

      public static final Real DEFAULT_MAXIMUM_TEMPERATURE
      The default maximum temperature.
    • DEFAULT_ISOTHERM_TANGENT

      public static final Real DEFAULT_ISOTHERM_TANGENT
      The default isotherm tangent.
    • DEFAULT_TEMPERATURE_PER_LOG_PRESSURE

      public static final Real DEFAULT_TEMPERATURE_PER_LOG_PRESSURE
      The default change in temperature per natural logarithm of pressure in the vertical.
  • Method Details

    • instance

      public static SkewTCoordinateSystem instance() throws VisADException
      Factory method for obtaining an instance. The RealTupleType of the reference coordinate system will be (RealType.XAxis,RealType.YAxis) and the default coordinate transformation will be used.
      Returns:
      The default SkewTCoordinateSystem.
      Throws:
      VisADException - Couldn't create necessary VisAD object.
    • instance

      public static SkewTCoordinateSystem instance(RealTupleType referenceTupleType) throws VisADException
      Factory method for obtaining an instance. The default coordinate transformation will be used.
      Parameters:
      referenceTupleType - The type of the reference coordinate system. It shall have 2-3 components. The first component shall be the X component; the second component shall be the Y component; any third component is ignored.
      Returns:
      The SkewTCoordinateSystem with referenceTupleType as its reference RealTupleType.
      Throws:
      VisADException - Couldn't create necessary VisAD object.
    • instance

      public static SkewTCoordinateSystem instance(RealTupleType referenceTupleType, Real minimumPressure, Real maximumPressure, Real minimumTemperature, Real maximumTemperature, Real isothermTangent, Real temperaturePerLogPressure, Unit pressureUnit, Unit temperatureUnit, Real minimumX, Real maximumX, Real minimumY, Real maximumY) throws UnitException, VisADException
      Factory method for obtaining an instance. The resulting coordinate system will be centered in the given (X,Y) region and the given, extreme pressure and temperature values will not extend beyond it.
      Parameters:
      referenceTupleType - The type of the reference coordinate system.
      minimumPressure - The minimum, displayed pressure.
      maximumPressure - The maximum, displayed pressure.
      minimumTemperature - The minimum, displayed temperature.
      maximumTemperature - The maximum, displayed temperature.
      isothermTangent - The tangent of the isotherms in the background plot.
      temperaturePerLogPressure - The rate of change in temperature per natural logarithm of pressure in the vertical. Increasing this value squeezes the isotherms together on the plot.
      pressureUnit - The unit of pressure for numeric values.
      temperatureUnit - The unit of temperature for numeric values.
      minimumX - The minimum X coordinate.
      maximumX - The maximum X coordinate.
      minimumY - The minimum Y coordinate.
      maximumY - The maximum Y coordinate.
      Returns:
      The SkewTCoordinateSystem corresponding to the input parameters.
      Throws:
      UnitException - Improper unit.
      VisADException - Couldn't create necessary VisAD object.
    • getMinimumPressure

      public Real getMinimumPressure()
      Gets the minimum display pressure.
      Specified by:
      getMinimumPressure in class AerologicalCoordinateSystem
      Returns:
      The minimum display pressure.
    • getMaximumPressure

      public Real getMaximumPressure()
      Gets the maximum display pressure.
      Specified by:
      getMaximumPressure in class AerologicalCoordinateSystem
      Returns:
      The maximum display pressure.
    • getMinimumTemperature

      public Real getMinimumTemperature()
      Gets the minimum display temperature.
      Specified by:
      getMinimumTemperature in class AerologicalCoordinateSystem
      Returns:
      The minimum display temperature.
    • getMaximumTemperature

      public Real getMaximumTemperature()
      Gets the maximum display temperature.
      Specified by:
      getMaximumTemperature in class AerologicalCoordinateSystem
      Returns:
      The maximum display temperature.
    • getIsothermTangent

      public Real getIsothermTangent()
      Gets the tangent of the isotherms.
      Returns:
      The tangent of the isotherms.
    • getTemperaturePerLogPressure

      public Real getTemperaturePerLogPressure()
      Gets the change in temperature per natural logarithm of pressure in the vertical. The greater this value, the closer together the isotherms are on the plot.
      Returns:
      The change in temperature per natural logarithm of pressure in the vertical.
    • getMinimumX

      public Real getMinimumX()
      Gets the minimum X coordinate.
      Specified by:
      getMinimumX in class AerologicalCoordinateSystem
      Returns:
      The minimum X coordinate.
    • getMaximumX

      public Real getMaximumX()
      Gets the maximum X coordinate.
      Specified by:
      getMaximumX in class AerologicalCoordinateSystem
      Returns:
      The maximum X coordinate.
    • getMinimumY

      public Real getMinimumY()
      Gets the minimum Y coordinate.
      Specified by:
      getMinimumY in class AerologicalCoordinateSystem
      Returns:
      The minimum Y coordinate.
    • getMaximumY

      public Real getMaximumY()
      Gets the maximum Y coordinate.
      Specified by:
      getMaximumY in class AerologicalCoordinateSystem
      Returns:
      The maximum Y coordinate.
    • toReference

      public double[][] toReference(double[][] coords)
      Transforms (pressure,temperature) coordinates to (X,Y) coordinates.
      Specified by:
      toReference in class CoordinateSystem
      Parameters:
      coords - Real coordinates: coords[0][i] and coords[1][i] are the pressure and temperature coordinates, respectively, of the ith point. On output, coords[0][i] and coords[1][i] are the corresponding X and Y display coordinates, respectively.
      Returns:
      Corresponding display coordinates (i.e. coords).
    • fromReference

      public double[][] fromReference(double[][] coords)
      Transforms (X,Y) coordinates to (pressure,temperature) coordinates.
      Specified by:
      fromReference in class CoordinateSystem
      Parameters:
      coords - Display coordinates: coords[0][i] and coords[1][i] are the X and Y display coordinates, respectively, of the ith point. On output, coords[0][i] and coords[1][i] are the corresponding pressure and temperature coordinates, respectively.
      Returns:
      Corresponding real coordinates (i.e. coords).
    • equals

      public boolean equals(Object obj)
      Indicate whether or not this coordinate system is the same as another.
      Specified by:
      equals in class CoordinateSystem
      Parameters:
      obj - The object to be compared with this one.
      Returns:
      true if and only if obj is semantically identical to this object.
    • hashCode

      public int hashCode()
      Returns the hash code of this instance.
      Overrides:
      hashCode in class Object
      Returns:
      The hash code of this instance.
    • main

      public static void main(String[] args) throws Exception
      Tests this class.
      Parameters:
      args - Execution arguments. Ignored.
      Throws:
      Exception - if something went wrong.
    • createDisplayCoordinateSystem

      public AerologicalCoordinateSystem createDisplayCoordinateSystem(AerologicalCoordinateSystem acs) throws VisADException
      Create a 3D display coordinate system from the (possibly) 2D input.
      Specified by:
      createDisplayCoordinateSystem in class AerologicalCoordinateSystem
      Parameters:
      acs - SkewTCoordinateSystem to get values from.
      Returns:
      3D version of (possibly) 2D system.
      Throws:
      VisADException - problem creating new CoordinateSystem