!------------------------------------------------------------------------ ! @LEVEL.NIC ! Procedure to define contour levels for multichannel image ! Variables defined in DEFINE.NIC !------------------------------------------------------------------------ define real range expo mant define integer n1 n2 ! if spacing.lt.0 then return endif if (&1%extrema.eq.0) then ! means no extrema section del /var &1 define image &1 'name'.'type' write /global compute &1%min min &1 compute &1%max max &1 let &1%extrema 40 del /var aaa define image &1 'name'.'type' read /global endif if (levels.eq."ABS") then if (spacing.eq.0) then let range log10(&1%max-&1%min) let expo int(range+20.)-21 let mant range-expo-1 if (mant.lt.0.25) then let true_spacing 10**expo else if (mant.lt.0.60) then let true_spacing 2.*10**expo else if (mant.lt.0.90) then let true_spacing 5.*10**expo else let true_spacing 10**(expo+1) endif else let true_spacing spacing endif let n1 max(-20,nint(&1%min|true_spacing)) let n2 min(+20,nint(&1%max|true_spacing)) levels true_spacing*n1 to -0.95*true_spacing by true_spacing - true_spacing to true_spacing*(n2+0.05) by true_spacing else if (spacing.eq.0) then let true_spacing max(&1%max,abs(&1%min))|10 endif levels true_spacing to &1%max by true_spacing - -true_spacing to &1%min by -true_spacing endif