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