[gradsusr] Script errors
Murphy, Darren W
dwmurphy at nps.edu
Mon Jan 10 22:14:36 EST 2011
Austin,
Thank you again for the help. It has become a little more clear.
My building of the script was a trial and error effort. It seemed that the
method I used in each case was the only one the the script would accept.
As originally defined, minval and maxval are "grads defined variables", so
to stick with that, how would I construct the 2 lines you mentioned?
'cval1 = 'minval'/5*4'
if (minval <= 0)
Shouldn't this work?
'cval1 = minval/5*4' - edit - it does
if ('minval' > 0)
'set clevs minval cval1 cval2 cval3 cval4 cval5 cval6 cval7 cval8 maxval'
edit - I am still entering the if statement with a minval<0 and getting the
clevs error
Thanks,
Darren
On 1/10/11 11:26 AM, "Austin Conaty" <Austin.L.Conaty at nasa.gov> wrote:
> After reading the script a little closer it looks like
> you are treating minval (and maxval) in 2 difference ways.
> when you surround it by ' minval ' single quotes it means one thing,
> when you don't surround it by quotes it means something different.
>
> in other words
> 'minval = 0'
> is equivalent to
> 'define minval = 0'
> However, minval = 0
> creates a grads script variable which you must later refer to as 'minval'
>
> here you address minval as a grads script variable
> in two different lines of code
>
> 'cval1 = 'minval'/5*4'
> if (minval <= 0)
>
> here you address minval as a grads defined variable
>
> 'minval = 0'
>
> 'minval = min(min(eof,lon='lon1',lon='lon2'),lat='lat1',lat='lat2')'
>
>
> It's perfectly legal to use minval as a defined
> variable and also as a grads script variable
> but it's not advisable as it gets hard to keep
> track of which is which.
>
>
> Murphy, Darren W wrote:
>> Austin,
>>
>> Thanks for checking out the script. I had been doing some testing of the
>> script and changing the logic to check to see if it was by default entering
>> the statement. I forgot to change it back. Those lines should read...
>>
>>
>>
>>>> if (minval > 0)
>>>> prompt 'minval greater than 0'
>>>>
>>
>> The problem persists though. With minval of -0.52 it still enters the
>> minval>0 statement.
>>
>> Thanks,
>> Darren
>>
>> On 1/10/11 7:57 AM, "Austin Conaty" <Austin.L.Conaty at nasa.gov> wrote:
>>
>>
>>> Darren,
>>>
>>> if (minval <= 0)
>>> prompt 'minval greater than 0'
>>>
>>> I think this is where you have a logic problem
>>>
>>> If minval less than or equal to zero
>>> prompt minval greater than zero
>>>
>>> Is this really what you mean to do?
>>>
>>> Murphy, Darren W wrote:
>>>
>>>> All,
>>>>
>>>> I¹m using Grads 2.0.a9.
>>>>
>>>> The script below throws a couple of errors. Earlier I thought it was an
>>>> string
>>>> not compatible with numeric calculations. Following Jeff Duda¹s (Thank you
>>>> Jeff) advice I found some errors in the script syntax. I can verify that
>>>> the
>>>> script is accepting the user input, and that that the ³maxval² and ³minval²
>>>> values are correct.
>>>>
>>>> The first issue is the if statements. I have a value of minval being -.52
>>>> and
>>>> still entering the if statement for minval greater than 0.
>>>>
>>>> Second I am getting an error ³SET error: Missing or invalid arguments for
>>>> CLEVS
>>>> option². I can also verify that the cvals1 through cval8 are being
>>>> calculated,
>>>> but perhaps I have a syntax error on that line?
>>>>
>>>> Thank you,
>>>> Darren
>>>>
>>>>
>>>>
>>>> prompt 'Enter EOF #: '
>>>> pull EF
>>>>
>>>> eofnum = EF
>>>>
>>>> 'clear'
>>>> 'set poli on'
>>>> 'set ccolor 0'
>>>>
>>>> 'open
>>>> /Users/Darren/Desktop/output/MaxT_2x2x1dy_NormByMeanSTD_Afg_1979to2009_1to3
>>>> 65
>>>> _EOF_eof.ctl'
>>>>
>>>> 'q dims'
>>>> res2 = sublin(result,2)
>>>> res3 = sublin(result,3)
>>>> lon1 = subwrd(res2,6)
>>>> lon2 = subwrd(res2,8)
>>>> lat1 = subwrd(res3,6)
>>>> lat2 = subwrd(res3,8)
>>>>
>>>> 'set z 'eofnum
>>>>
>>>> 'maxval = max(max(eof,lon='lon1',lon='lon2'),lat='lat1',lat='lat2')'
>>>> 'minval = min(min(eof,lon='lon1',lon='lon2'),lat='lat1',lat='lat2')'
>>>>
>>>> * BLUE shades
>>>> 'set rgb 16 0 0 255'
>>>> 'set rgb 17 55 55 255'
>>>> 'set rgb 18 110 110 255'
>>>> 'set rgb 19 165 165 255'
>>>> 'set rgb 20 220 220 255'
>>>>
>>>> * RED shades
>>>> 'set rgb 21 255 220 220'
>>>> 'set rgb 22 255 165 165'
>>>> 'set rgb 23 255 110 110'
>>>> 'set rgb 24 255 55 55'
>>>> 'set rgb 25 255 0 0'
>>>>
>>>> 'cval1 = 'minval'/5*4'
>>>> 'cval2 = 'minval'/5*3'
>>>> 'cval3 = 'minval'/5*2'
>>>> 'cval4 = 'minval'/5*1'
>>>>
>>>> 'cval5 = 'maxval'/5*1'
>>>> 'cval6 = 'maxval'/5*2'
>>>> 'cval7 = 'maxval'/5*3'
>>>> 'cval8 = 'maxval'/5*4'
>>>>
>>>> if (minval <= 0)
>>>> prompt 'minval greater than 0'
>>>> 'minval = 0'
>>>> 'cval1 = 'maxval'/10*1'
>>>> 'cval2 = 'maxval'/10*2'
>>>> 'cval3 = 'maxval'/10*3'
>>>> 'cval4 = 'maxval'/10*4'
>>>> 'cval5 = 'maxval'/10*5'
>>>> 'cval6 = 'maxval'/10*6'
>>>> 'cval7 = 'maxval'/10*7'
>>>> 'cval8 = 'maxval'/10*8'
>>>>
>>>> endif
>>>>
>>>> if (maxval < 0)
>>>> prompt 'maxval less than 0 '
>>>> 'maxval = 0'
>>>> 'cval1 = 'minval'/10*8'
>>>> 'cval2 = 'minval'/10*7'
>>>> 'cval3 = 'minval'/10*6'
>>>> 'cval4 = 'minval'/10*5'
>>>> 'cval5 = 'minval'/10*4'
>>>> 'cval6 = 'minval'/10*3'
>>>> 'cval7 = 'minval'/10*2'
>>>> 'cval8 = 'minval'/10*1'
>>>>
>>>> endif
>>>>
>>>> 'set gxout shaded'
>>>> 'set clevs minval cval1 cval2 cval3 cval4 cval5 cval6 cval7 cval8 maxval'
>>>> 'set ccols 16 17 18 19 20 1 21 22 23 24 25'
>>>>
>>>> 'set mpt * off'
>>>> 'set mpdset hires'
>>>> 'set mpt 0 0 1 7'
>>>> 'set mpt 1 0 1 7'
>>>> 'draw map'
>>>>
>>>> 'set background 1'
>>>> 'set annot 0 5'
>>>> 'd eof(z='eofnum')'
>>>>
>>>> 'run /Users/Darren/Desktop/cbarm.gs'
>>>>
>>>>
>>>> 'close 1'
>>>>
>>>>
>>
>>
>
More information about the gradsusr
mailing list