NOAA-PMEL / Ferret

The Ferret program from NOAA/PMEL
https://ferret.pmel.noaa.gov/Ferret/
The Unlicense
55 stars 20 forks source link

SHADE plots in GIF mode show incorrect colors with multiple viewports #1311

Open karlmsmith opened 7 years ago

karlmsmith commented 7 years ago

Reported by @AnsleyManke on 14 Feb 2013 19:41 UTC Can't find a ticket on this old issue, reported here,

http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2009/msg00212.html

and again here, http://www.pmel.noaa.gov/maillists/tmap/ferret_users/fu_2013/msg00134.html

Running Ferret in -gif mode, so that SHADE plots are drawn with the cellarray call,


use levitus_climatology

set view left
shade/line/key/nolab/pal=blue_darkred temp[k=1]

set view right
shade/line/key/nolab/pal=blue_darkred temp[k=1]
frame/file=sst.gif

should be the same plot, but the second one has a blob of the lowest color replacing what should be the highest color.

Migrated-From: http://dunkel.pmel.noaa.gov/trac/ferret/ticket/2039

karlmsmith commented 7 years ago

Comment by @AnsleyManke on 15 Feb 2013 22:44 UTC I don't see anything wrong with the calls we make to set up color indices and the array that is filled in with the colors and sent into the call for cell array plots in -gif mode. I've checked the index values that are set, and the RGB values that are assigned, and there is no difference between what's done in the cell-array and non-cell-array cases. The cell array is correct.

There must be some interaction between the calls to run pplus in viewports and the calls to set up the cellarray.

This will all go away with PyFerret. Rather than take more time with this, we could:

1) Do away with cellarray calls entirely. This is not the best option: For LAS and other applications like it, most images are one image that can be done correctly as a cellarray call.

Testing with etopo5, a single, big cellarray plot in -gif mode takes 1.5 clock seconds versus the same plot also in -gif mode, rendered without the cellarray call, which takes 7 seconds. That's a bigger plot than we do in LAS, but

2) Make a cellarray call only if it's using the "first" color map to be defined, that is if the first color index in the color map is index value num_line_colors+1.

karlmsmith commented 7 years ago

Comment by steven.c.hankin on 19 Feb 2013 00:39 UTC If the problem is not readily apparent I'd be inclined just to view this as incentive to move towards pyFerret

karlmsmith commented 7 years ago

Comment by @AnsleyManke on 19 Feb 2013 20:12 UTC My thought is to make a simple hack to avoid the issue, since it goes away in PyFerret. It doesn't harm anything except a bit of a performance loss, to just not make the cellarray call.

karlmsmith commented 7 years ago

Attachment from @AnsleyManke on 14 Feb 2013 19:42 UTC

bug2039