[gradsusr] Setting color bar for animation
Clay Blankenship
clay.b.blankenship at nasa.gov
Wed Mar 23 14:28:51 EDT 2011
Ron, I would like to have that script that lets you step forward and
backward.
Thanks,
Clay
On Mar 23, 2011, at 12:19 PM, Goodson,Ron [Edm] wrote:
> Hi Clay
>
> (I was typing when I saw Jeffrey's note .. so modified my answer
> but ...)
>
> Its like he said - you don't need the "set rbrange" for what you want.
>
> The only reason I use my make_clevs.gs script is because I often
> want to programatically determine the clevs based upon "whatever" ..
> rather than hard-code it. And .. even if I was hardcoding - I don't
> like having to type in a huge
> number of entries.
>
> I almost never use ccols because I define my own colours and do a
> 'set rbcols' at the beginning so I have my own rainbow colours.
>
> I do what Jeffrey has when I have clevs that are not equally spaced
> (such as for precipitation amounts) and when the colours don't vary
> smoothly (so I have to pick-and-choose discrete numbers from my
> defined colours rather than letting GrADS default to the rainbow
> colours).
>
> I've attached my "setup.gs" script which does the 'set rbcols' and
> a slightly fiddled version of the grads-script-library
> "colors.gs" (fiddled only to give the colours I want). I execute
> this script just once .. before any other scripts that use my
> "standard" colour table. If I want to change colour tables .. I
> have other files that assign the rgb values and do the rbcols in a
> similar fashion (like when I need grey-scale imagery).
>
> For animation -- I have a couple of scripts that are similar to the
> standard xanim.gs - but use widgets instead of the keyboard to
> control the animation (eg .. step forward or back). I can send you
> those if you want .. but it might only confuse you more.
>
>
> ron
>
> From: gradsusr-bounces at gradsusr.org [mailto:gradsusr-bounces at gradsusr.org
> ] On Behalf Of Clay Blankenship
> Sent: March 23, 2011 9:43 AM
> To: GrADS Users Forum
> Subject: Re: [gradsusr] Setting color bar for animation
>
> 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
>
>
>
>
>
>
> <setup.gs><colors.gs><ATT00001.txt>
--
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/056b2f63/attachment-0003.html
More information about the gradsusr
mailing list