Hi Serena (also responding to your earlier message about contour levels).
First, contouring, while conceptually straightforward, is a hard thing to program. Figuring out where to put contour labels without obscuring other contours or overwriting other labels is again something that a human would do easily, but hard to specify in an algorithm. How many labels is "enough"? In my experience, Ferret does a better job of this than some others.
The two commands you need to control this are PPL CONSET and PPL SHAKEY; that is, you need to give your CONTOUR/SHADE/FILL command with /SET, then specify the two PPL commands, then draw the plot with PPL CONTOUR/SHADE/FILL.
PPL CONSET,hgt,nsig,narc,dashln,spacln,cay,nrng,dslab ! controls the contouring and labeling
PPL SHAKEY [0=nokey,1=key] [0=hor,1=vert] lab-size lab-inc lab-dig lab-len xlo xhi ylo yhi ! controls the color key
These are described in the "Enhanced commands" section, Appendix C 2.2 and C 2.4
(Some of CONSET can also be controlled by qualifiers to CONTOUR, or by its /LEVELS options; see CONTOUR)
With respect to occasional missing end values in the colorbar, I think this may be the result of rounding somewhere in the calculation (???). You can often work around this by tweaking the upper or lower bound by a tiny amount. E.g.,
If the original command fails:
shade/x=50w:20e/y=30s:30n/levels=(0.014,0.029,0.001) SST[l=@ave]/1000
Try:
shade/x=50w:20e/y=30s:30n/levels=(0.013999,0.029,0.001) SST[l=@ave]/1000
or:
shade/x=50w:20e/y=30s:30n/levels=(0.014,0.029001,0.001) SST[l=@ave]/1000
I don't know why these sometimes succeed when the apparently correct specification fails!
Billy