NAME:
  safesalb
 PURPOSE:   (one line only)
  Filter to enforce a valid range of single scattering albedo [0,1]
 DESCRIPTION:
  This routine recasts an input value (or set of values) and upon return
    the values are certain to be in the inclusive range of [0,1].  This
    is done in following order and maps the infinite number range down
    onto the finite range:
    safesalb = |salb|
    safesalb = safesalb mod 2.0
    safesalb = 2.0 - safesalb where safesalb > 1.0

  In the range "near" the original range this function basically implements
    a mirror at 0 and 1.  This is most useful for ameoba-like fitting routines
    that don't know what to do with a finite range fitting variable.

 CATEGORY:
  Function fitting
 CALLING SEQUENCE:
  return = safesalb(salb)
 INPUTS:
  salb - input values to process (any rank allowed)
 OPTIONAL INPUT PARAMETERS:
 KEYWORD INPUT PARAMETERS:
 OUTPUTS:
  returns the single scattering albedo reduced to its principle range, it
    is allowed to return to the same variable, ie., salb=safesalb(salb).
 KEYWORD OUTPUT PARAMETERS:
 COMMON BLOCKS:
 SIDE EFFECTS:
 RESTRICTIONS:
 PROCEDURE:
 MODIFICATION HISTORY:
   2009/02/01, Written by Marc W. Buie, Southwest Research Institute