[gradsusr] Setting color bar for animation
Clay Blankenship
clay.b.blankenship at nasa.gov
Wed Mar 23 11:42:58 EDT 2011
OK, from the command line I can use make_clevs to specify any range of
levels and plot and get the color bar. But both of my scripts dd.gs
(a script to plot, specify a range, and make a color bar) and ani.gs
(animation) do not plot the full color bar when I specify the range
with script arguments. I can't figure out what's going on...
Also, I am still looking for a way to display the current ccols and
clevs. Do you have to use 'q shades'?
One more thing, this animation script regulates its speed by redrawing
the plot a certain number of times; is there a better way to do that?
Thanks,
Clay
****dd.gs***********
function dd (args)
*Plot a variable and its color scale.
* dd variable [ -cmin minimum value ]
* [ -cmax maximum value ]
* [ -cint color scale ]
variable=subwrd(args,1)
ccint=''
ccmin=''
ccmax=''
string=''
space=' '
n=2
while(n<9)
idx=subwrd(args,n)
opt=subwrd(args,n+1)
if(idx='');break;endif
if(idx='-cint');ccint=opt;endif
if(idx='-cmin');ccmin=opt;endif
if(idx='-cmax');ccmax=opt;endif
if(idx='-string');string=opt;endif
n=n+2
endwhile
'c'
'set gxout shaded'
if(ccint!=''); 'set cint 'ccint;endif
if(ccmin!=''); 'set cmin 'ccmin;endif
if(ccmax!=''); 'set cmax 'ccmax;endif
if(ccmin!=''); if(ccmax!=''); 'set rbrange 'ccmin ' 'ccmax; endif;endif
*CBB 3/22/11 set the levels
'make_clevs ' cmin cmax cint
'd 'variable
*Add date and user-input string
'q time'
say result
cctime=subwrd(result,3)
coln=substr(cctime,3,1)
if coln = ':'
dmy =substr(cctime,7,9)
else
dmy =substr(cctime,1,12)
day =substr(cctime,1,3)
my =substr(cctime,4,9)
*dmy =substr(cctime,4,9) *cbb changed
endif
* 'draw title 'dmy space string
'draw title 'day space my space string
'q shades'
'cbar2'
****END***********
***ani.gs************
* Display animation
* ga> run ani variable [ -I slowness (default=10) ]
* [ -cint, -ci contour interval ]
* [ -cmin, -mn minimum contour level ]
* [ -cmax, -mx maximum contour level ]
* ex. ga> run ani t-t.2 -ci 0.1 -mn -0.5 -I 5 -cmax 0.3
* >>>> plot (t-t.2) with slowness=5, contour_interval=0.1
* minimum contour level=-0.5, maximum contour level=0.3
*
* Nov. 9, 1999 Masami
Nonaka
*
function ani (args)
variable=subwrd(args,1)
slow=''
ccint=''
ccmin=''
ccmax=''
cbar=''
n=2
while(n<10000)
idx=subwrd(args,n)
opt=subwrd(args,n+1)
if(idx='');break;endif
if(idx='-I');slow=opt;endif
if(idx='-Int');slow=opt;endif
if(idx='-cint');ccint=opt;endif
if(idx='-cmin');ccmin=opt;endif
if(idx='-cmax');ccmax=opt;endif
if(idx='-ci');ccint=opt;endif
if(idx='-mn');ccmin=opt;endif
if(idx='-mx');ccmax=opt;endif
n=n+2
endwhile
defaultslow=10
if(slow=''); slow=defaultslow;endif
'q dims'
say result
aline=sublin(result,5)
cctime1=subwrd(aline,11)
cctime2=subwrd(aline,13)
tmin=substr(cctime1,1,9)
tmax=substr(cctime2,1,9)
it=tmin
'set dbuff on'
while (it <=tmax)
'set t 'it
i=0
while (i <slow)
if(ccint!=''); 'set cint 'ccint;endif
if(ccmin!=''); 'set cmin 'ccmin;endif
if(ccmax!=''); 'set cmax 'ccmax;endif
if(ccmin!=''); if(ccmax!=''); 'set rbrange 'ccmin ' 'ccmax; endif;endif
*CBB 3/22/11 setting max min clevs
'make_clevs ' cmin cmax cint
'display 'variable
'run date.gs'
'query shades'
shdinfo = result
if(subwrd(shdinfo,1)!='None');'run fcbar.gs';endif
'swap'
i=i+1
endwhile
it=it+1
endwhile
'set t ' tmin ' ' tmax
****END***********
On Mar 22, 2011, at 5:23 PM, Goodson,Ron [Edm] wrote:
> I see in my original note I mislead you .. when I said I do my
> make_clevs.gs before cbar. As was noted by Jeffrey . the settings
> of clevs, ccols (all that stuff) must happen before the display of
> the variable. So swap those two lines of "display" and "make_clevs".
>
>
>
> The other thing I usually do right at the start of my programs (and
> only has to be done once .. unlike settings clevs, ccols which must
> be done before each display) is to setup some custom colours
> through "set rgb" (one entrie per colour) and rbcols (to set the
> order of the colours). You don't need to do this if you are using
> the GrADS standard scheme of 16 colours.
>
>
> ron
>
> From: gradsusr-bounces at gradsusr.org [mailto:gradsusr-bounces at gradsusr.org
> ] On Behalf Of Clay Blankenship
> Sent: March 22, 2011 4:05 PM
> To: GrADS Users Forum
> Subject: Re: [gradsusr] Setting color bar for animation
>
> OK, that make_clevs works for me when I do a simple 'd' on my
> variable, but when I try to use a little fancier script (not even an
> animation, just trying to pass the range on the command line), I
> lose the min and max values.
>
> If I do:
>
> c
> make_clevs 0 2 0.2
> d soilwat5
> cbar
>
> I get a colorbar from 0 to 2 in steps of .2, even though the
> variable range is 0 to 1 (so far, so good).
>
> If I do:
>
> dd soilwat5 -cmin 0 -cmax 2 -cint 0.2
>
> I get a colorbar from 0 to 1 in steps of 0.2. The colors are the
> same for the different ranges, it just doesn't show the ones above
> 1. Is this because clevs are set and ccols are not? I was hoping
> ccols would get set automatically like it does when you don't
> specify levels.
>
> This happens whether or not I use the make_clevs line in the
> following script.
>
> BTW, this seems really basic, but I can't figure out how to see the
> current values of ccols and clevs.
> cbar is getting its ccols and clevs from 'q shades', but it doesn't
> react to ccols and clevs until a plot has been made.
>
> Script follows.
>
> Thanks for the help,
> Clay
>
>
--
Clay Blankenship * USRA Research Scientist
clay.b.blankenship at nasa.gov * 256-961-7638
320 Sparkman Drive * Huntsville, AL 35805 USA
National Space Science and Technology Center at NASA-MSFC/UAH
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20110323/6f2cc42a/attachment-0001.html
More information about the gradsusr
mailing list