[gradsusr] Colorbars

Clay Blankenship clay.b.blankenship at nasa.gov
Mon Apr 4 10:59:28 EDT 2011


I  had this same issue recently and finally figured out how it works  
with some help from this list.  What was non-intuitive to me is that  
every time you do a 'display' command you have to reset the clevs and  
ccols.  What I do is specify the cmin, cmax, and cint with script  
arguments and then set clevs using those variables each time I do a  
display.  You can set ccols if you want or just let it get set  
automatically.  Here is an animation script I am using.

* 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
*
*            Modified by Clay Blankenship 2011
*
function ani (args)

variable=subwrd(args,1)

slow=''
cint=''
cmin=''
cmax=''
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');cint=opt;endif
if(idx='-cmin');cmin=opt;endif
if(idx='-cmax');cmax=opt;endif
if(idx='-ci');cint=opt;endif
if(idx='-mn');cmin=opt;endif
if(idx='-mx');cmax=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)

*CBB 3/22/11 setting max min clevs
if((ccint!='')&(ccmin!='')&(ccmax!=''))
   'make_clevs 'cmin' 'cmax' 'cint
endif
*'set ccols 1 2 3 4 5 6 7 8 9 10 11'

  '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 OF SCRIPT

*Here is make_clevs.gs

*CBB I got this from Ron Goodson on the GRADS User Forum, 3/22/11
*Set a min and max value for the color bar
function main(UserInput)
value = subwrd(UserInput,1)
maxvalue = subwrd(UserInput,2)
incvalue = subwrd(UserInput,3)
space = " "
say value space maxvalue space incvalue
mystring = " "
while (value <= maxvalue)
mystring = mystring%value
mystring = mystring%" "
value = value + incvalue
endwhile
'set clevs ' mystring
say 'clevs are 'mystring
return



















On Apr 4, 2011, at 2:29 AM, Simon Kiertscher wrote:

> Yes you can control it by set clevs, but i hoped there would be a  
> script
> doing all that for me. I can't use the scripts I found the way they  
> are
> at the moment. And doing it by my self would be very expensive. Any
> other ideas?
>
> Best Regards,
> Simon
>> I believe you need to set the clevs so that the range in the color  
>> bar is
>> fixed for each timestep at which the variable is plotted
>>
>> set clevs ...
>>
>> --
>> Muhammad Rahiz
>> Researcher & DPhil Candidate (Climate Systems & Policy)
>> School of Geography & the Environment
>> University of Oxford
>>
>> On Fri, 1 Apr 2011, Simon Kiertscher wrote:
>>
>>
>>> Hi All,
>>> I have a question about colorbars. I have already found several  
>>> scripts
>>> for drawing a colorbar under a picture (e.g. cbar.gs, xcbar.gs ...).
>>> That works fine. My Problem is, I would like to make a video out  
>>> of a
>>> couple of pictures from one time line. The problem is that the  
>>> colorbar
>>> always shows the max and min of the current picture. Therefor my  
>>> video
>>> has a changing colorbar what is really not what I want. I want to  
>>> have
>>> fixed colorbar about the whole video length. I hope i could  
>>> explain my
>>> problem good enough. Any ideas how to do that? Are there  
>>> eventually a
>>> script which has a parameter to enter the maximum and minimum  
>>> values?
>>> Thank & Best Regards,
>>> Simon
>>>
>>> _______________________________________________
>>> gradsusr mailing list
>>> gradsusr at gradsusr.org
>>> http://gradsusr.org/mailman/listinfo/gradsusr
>>>
>>>
>> _______________________________________________
>> gradsusr mailing list
>> gradsusr at gradsusr.org
>> http://gradsusr.org/mailman/listinfo/gradsusr
>>
>>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr

-- 
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/20110404/246c552d/attachment-0003.html 


More information about the gradsusr mailing list