NAME
        WorkBench2

   DESCRIPTION
        This module allows precise control over a numeric parameter because
        Explorer's slider widget, by itself, is insufficient for the task.  This
        "Current Value", within a user-specified range, can be adjusted with
        VCR-like buttons.  The buttons allow stepping forward ("F"), backward
        ("R"), fast forward to the end ("FF"), and fast reverse to the start ("RR")
        through the range.  The step amount can be adjusted as well.  The range
        for the numbers can also come from an input lattice in which case it
        would be from 1 to the number of grid points along a particular axis.  The
        axis is selected with the "Axis Info" widget which allows the use of up to
        four axes or none at all if a lattice is connected.  One possible use for
        WorkBench2 would be with modules such as OrthoSlice to control the
        slice number.
        
        In addition to this manual control, WorkBench2 also provides automatic
        control which can be used as a basic animation system.  It is enabled by
        pressing the "Fire" button.  This steps through the entire range a
        number of times specified by the "Repeat" setting.  The direction of the
        stepping can be controlled by choosing "Forward", "Backward", or
        "FlipFlop".  When the firing sequence is started, the numbers are just
        sent out on the "Current Value" port one after the other.  There is no
        timer control or anything like that.  Although, a module such as
        SwitchTimer could be used to create a delay.
        
        This module is meant to replace the WorkBench module which lacks two
        necessary features.  First, when "Current Value" reaches the end of the
        range it loops back to the start on the next step.  This essentially
        creates an infinite loop if some sync parameter is wired into one of the
        VCR-like buttons.  It should stop updating "Current Value" when the
        end of the range is reached.  The second problem is that pressing the
        "Fire" button updates the "Current Value" slider, but doesn't actually
        send out all the values.  For some reason, only the last one goes out on
        the port.  WorkBench2 remedies these two situations.  It also does away
        with WorkBench's "Mode" control since the setting of the "Repeat"
        slider is all that is really needed to repeat the firing sequence.

   INPUTS

      Input -- Lattice (Opt.)
         (1..4-D).
         This is an optional input lattice which can determine the looping range.

   WIDGETS

      Axis Info -- Option Menu
         This is the axis from which to get the bounds of the looping range (from
         1 to the number of grid points).  This widget is initially hidden if there is
         no input lattice.

      Start -- Slider
         This is the starting value of the looping range.  It is also mapped into
         the lower bound of "Current Value".

      End -- Slider
         This is the ending value of the looping range.  It is also mapped into
         the upper bound of "Current Value".

      Step -- Slider
         This is the step that will be applied to "Current Value" when it is
         affected by incrementing or decrementing button presses.

      Repeat -- Slider
         This is how many times to repeat the firing sequence.

      Current Value -- Slider
         This is the current value in the "Start" to "End" range.  It is typically
         wired to single-value ports on other modules.

      Direction -- Radio Box
         This determines which way to step "Current Value" through the firing
         sequence.  "Forward" is from "Start" to "End", "Backward" is from
         "End" to "Start", and "FlipFlop" is is a combination of "Forward" then
         "Backward".

      Fire -- Button
         This steps through the loop range specified by the "Start", "End",
         "Step", and "Repeat" settings.

      FF -- Button
         This sets "Current Value" to "End".

      RR -- Button
         This sets "Current Value" to "Start".

      F -- Button
         This sets "Current Value" one "Step" unit higher.

      R -- Button
         This sets "Current Value" one "Step" unit lower.

   KNOWN PROBLEMS
      If the module is set to fire automatically over a large range of numbers
      and/or through many repetitions, it may not be possible to stop it very
      quickly.  There are no known bugs.

   SEE ALSO
      Switch, SwitchTimer, WorkBench
      
      -
            
      Hans Vahlenkamp (Hans.Vahlenkamp@noaa.gov)
      Geophysical Fluid Dynamics Laboratory / NOAA
      Princeton University Forrestal Campus
      http://www.gfdl.noaa.gov