National Oceanic and
Atmospheric Administration
United States Department of Commerce

Palettes for out-of-bounds data

Palettes for out-of-bounds data

Question:

How can I create a palette to show out-of-bounds data?

We often want to use a "standard" color palette -- specific colors associated withspecific data values -- but the data may occasionally go outside the range of thispreset palette. If so, we might like to use a distinct color (say gray) to colorthe out-of-range values.

Example:

 yes? USE coads_climatology
yes? ! Define a variable with range outside the ocean temperature range
yes? LET svar = (1.6*sst) - 5
yes? FILL/L=1/PALETTE=ocean_temp.spk/LEV=20 svar
yes? GO fland 60 black

Explanation:

(See the general FAQ on color palettes and the Users Guidefor more on By_value color palettes.) Here is the color palette ocean_temp.spk, associating data values (in the first column) with colors:

 RGB_Mapping By_value

! SetPt Red Green Blue
-2.0 80.0 0.0 100.0 ! violet
0.0 30.0 20.0 100.0 ! blue
10.0 0.0 60.0 30.0 ! green
20.0 100.0 100.0 0.0 ! yellow
30.0 100.0 0.0 0.0 ! red
35.0 60.0 0.0 0.0 ! dark red

When values of our variable are outside the range specified in the palette,they take on the first or last color of the palette. Instead, we would like to show those in an obviously different color, such as grey.

Solution:

Define a new palette, with one color of grey before the first value and a second greyafter the last value (or one could use the same color). Here is ocean_temp_bounds.spk:

 RGB_Mapping By_value

! SetPt Red Green Blue
-2.001 40.0 40.0 40.0 ! dark gray
-2.0 80.0 0.0 100.0 ! violet
0.0 30.0 20.0 100.0 ! blue
10.0 0.0 60.0 30.0 ! green
20.0 100.0 100.0 0.0 ! yellow
30.0 100.0 0.0 0.0 ! red
35.0 60.0 0.0 0.0 ! dark red
35.001 80.0 80.0 80.0 ! light gray
 yes? FILL/L=1/PALETTE=ocean_temp_bounds.spk/LEV=20 svar
yes? GO fland 60 black

Or, use the /LEVELS qualifier with upper and lower indefinite levels for a nicer color bar

 yes? FILL/L=1/PALETTE=ocean_temp_bounds.spk/LEV=(-inf),(-2,36,2)(inf) svar
yes? GO fland 60 black