NAME
        ScaleLat

   DESCRIPTION
        This module applies scaling and offsetting to the coordinates and/or
        data (they can be modified independently) of up to five 1..4-D lattices.
        These two operations can be done in either order. An offsetting
        capability is included to minimize the need for a separate TransformGen
        module to alter the data's position.  There is also a problem with
        TransformGen in that widget settings are not saved with maps; it always
        starts up with its defaults.
        
        It should be noted that ScaleLat's default behavior is to first apply the
        scaling then the offsetting to the data.  This is consistent with how the
        ReadNC module "unpacks" (uncompresses) the data of packed netCDF
        variables.  ScaleLat handles the coordinates in the opposite way by
        default; first the offsetting is applied then the scaling.  This scheme
        maintains the same relative offset so that it doesn't have to be changed
        when the scaling is changed.
        
        If there is more than one input lattice then ScaleLat will not automatically
        output all the lattices whenever one has changed; only the input ones
        which change will be output.  However, all the input lattices will be
        output if any of the control panel widgets change.

   INPUTS

      Input -- Lattice
         (1..4-D).
         This is the primary input lattice.  Any other input lattices must have the
         same number of data and coordinate variables as this lattice so that the
         control panel widgets can apply to them all.

      Input 2 -- Lattice (Opt.)
         (1..4-D).
         This is an additional input lattice.

      Input 3 -- Lattice (Opt.)
         (1..4-D).
         This is an additional input lattice.

      Input 4 -- Lattice (Opt.)
         (1..4-D).
         This is an additional input lattice.

      Input 5 -- Lattice (Opt.)
         (1..4-D).
         This is an additional input lattice.

   WIDGETS

      X Scale -- Dial
         This is the scaling factor to be multiplied to the X coordinates.

      Y Scale -- Dial
         This is the scaling factor to be multiplied to the Y coordinates.

      Z Scale -- Dial
         This is the scaling factor to be multiplied to the Z coordinates.

      T Scale -- Dial
         This is the scaling factor to be multiplied to the T coordinates.

      X Offset -- Dial
         This is the offset to be added to the X coordinates.

      Y Offset -- Dial
         This is the offset to be added to the Y coordinates.

      Z Offset -- Dial
         This is the offset to be added to the Z coordinates.

      T Offset -- Dial
         This is the offset to be added to the T coordinates.

      Coords Op. Order -- Option Menu
         This determines the order of the scaling and offsetting operations on
         the coordinates.  The default is to first offset then scale them.

      Which -- Radio Box
         This determines how the scaling and offsetting are applied to the data.
         Here are the possible choices:
         
            Scale All Data Variables - The "Data Scale" and "Data Offset"
               settings are applied to all data variables.  This is the default.
            Scale 1 Data Variable - The "Data Scale" and "Data Offset" settings
               are applied to one variable specified by "Data Variable".

      Data Variable -- Slider
         This is the data variable that the data scaling and offsetting should
         be applied to.  It is only meaningful if "Scale 1 Data Variable" is
         selected.

      Data Scale -- Dial
         This is the scaling factor to be multiplied to the data values.

      Data Offset -- Dial
         This is the offset to be added to the data values.

      Data Op. Order -- Option Menu
         This determines the order of the scaling and offsetting operations on
         the data.  The default is to first scale then offset them.

   OUTPUTS

      Output -- Lattice
         (1..4-D).
         This is the primary output lattice with scaling and/or offseting applied.

      Output 2 -- Lattice
         (1..4-D).
         This is an additional output lattice corresponding to input lattice 2 with
         scaling and/or offseting applied.

      Output 3 -- Lattice
         (1..4-D).
         This is an additional output lattice corresponding to input lattice 3 with
         scaling and/or offseting applied.

      Output 4 -- Lattice
         (1..4-D).
         This is an additional output lattice corresponding to input lattice 4 with
         scaling and/or offseting applied.

      Output 5 -- Lattice
         (1..4-D).
         This is an additional output lattice corresponding to input lattice 5 with
         scaling and/or offseting applied.

   KNOWN PROBLEMS
      There are no known bugs.

   SEE ALSO
      ReadNC, ScaleDelays, ScaleLatNode, ScalePyr, ScaleXYZ, TransformGen
      
      -
      
      Hans Vahlenkamp (Hans.Vahlenkamp@noaa.gov)
      Geophysical Fluid Dynamics Laboratory / NOAA
      Princeton University Forrestal Campus
      http://www.gfdl.noaa.gov