[gradsusr] DEFINE error: Invalid expression

Jeff Duda jeffduda319 at gmail.com
Mon Dec 16 23:11:15 EST 2013


You can't use underscores in defined array names in Grads.  Change si_avg
to something else without the _.

Jeff DUda


On Mon, Dec 16, 2013 at 8:00 PM, pankaj kumar <pankajqumar at yahoo.com> wrote:

> Hi,
>
> Dear Jennifer and Mahakur,
>
> Thank you for your reply. I am sorry that instead of abs(), I wrote mod. I
> have tried your suggestions. However, the error
>
> SET error: Invalid operand
>   Operand =
> SET error: Invalid operand
>   Operand =
> :
> :
> DEFINE error:  Invalid expression.
>
> persists. Let me send you my script.
>
> 'reinit'
> 'open SI-Decadal.ctl'
>
> 'set gxout fwrite'
> 'set fwrite data-sorted.dat'
>
> t=1
>  while(t<=120)
>   'set t 't
>
>    lv=1
>     while(lv<=15)
>      'set lv 'lv
>
>        lt=-90
>         while(lt<=90)
>          'set lt 'lt
>
>           ln=0
>             while(ln<=360)
>                'set ln 'ln
>
>
> 'define si_avg = aave(si,lon=0,lon=360,lat=-90,lat=90)'
> 'define dv = pow(si_avg-si,2)'
> 'define sd = sqrt(aave(dv,lon=0,lon=360,lat=-90,lat=89))'
> 'define x = 2*sd'
> 'define y = abs(si_avg-si)'
>
> *         if (y>=x);
> *            'set gxout fwrite'
> *            'set fwrite data-sorted.dat'
>             'display maskout(si,si-x)'
> *         endif
>
>           ln=ln+1
>          endwhile
>        lt=lt+1
>       endwhile
>     lv=lv+1
>    endwhile
>  t=t+1
> endwhile
>
> 'disable fwrite'
>
> Thank you again for looking into my problem. Now, I am planning to write a
> fortran program to read netcdf data and solve my problem.
>
> Regards
> Pankaj
> EES, Hokkaido University
>
>
>   On Monday, December 16, 2013 10:51 PM, Jennifer Adams <jma at cola.iges.org>
> wrote:
>
> On Dec 16, 2013, at 3:32 AM, pankaj kumar wrote:
>
> Hi,
>
> I am writing a grads script to sort out values which differnece from mean
> is more than 3 times standard deviation. The netcdf data is spread in
> x,y,z,t dimesions. Though while loops for x,y,z,t are running well, I get
> error as below:
>
>   Operand = lat1 -90
> SET error: Invalid operand
>   Operand = lon1 0
> SET error: Invalid operand
>   Operand = lon1 1
> SET error: Invalid operand
>   Operand = lon1 2
> :
> :
> :
>   Operand = lon1 360
> SET error: Invalid operand
> :
> :
> DEFINE error:  Invalid expression.
>
> My script for defining variables are as follows:
>
> 'define si_avg = aave(si,lon=0,lon=360,lat=0,lat=180)'
> 'define dv = pow(siavg-si,2)'
> 'define sd = sqrt(aave(dv,lon=0,lon=360,lat=0,lat=179))'
> 'define x = 3*sd'
> 'define y = mod(si_avg-si)'
>
>
> What is the mod() function?
>
>          if (y>=x);
>
>
> The 'if' statment in the scripting language doesn't evaluate defined
> variables like this. You need to use the maskout() function to create a
> grid with missing values where x < y. Something like this:
> ' d maskout(si,y-x)'
> --Jennifer
>
>
>
>             'set gxout fwrite'
>             'set fwrite data-sorted.dat'
>             'd 'si
>          endif
>
> Please see what kind of error I am facing here in defining variables
> though it seems okay as variables are defined properly. If someone has
> script or fortran program to sort data in x,y,z,t which has much higher
> standard deviation, please help me urgently.
>
> Thanks in advance!
> Regards
> Pankaj
> EES, Hokkaido University
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>
> --
> Jennifer M. Adams
> Center for Ocean-Land-Atmosphere Studies (COLA)
> 111 Research Hall, Mail Stop 2B3
> George Mason University
> 4400 University Drive
> Fairfax, VA 22030
>
>
>
>
>
>
>
>
>
> _______________________________________________
> gradsusr mailing list
> gradsusr at gradsusr.org
> http://gradsusr.org/mailman/listinfo/gradsusr
>
>


-- 
Jeff Duda
Graduate research assistant
University of Oklahoma School of Meteorology
Center for Analysis and Prediction of Storms
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://gradsusr.org/pipermail/gradsusr/attachments/20131216/4fdc399b/attachment-0001.html 


More information about the gradsusr mailing list