if/endif use with defined variables
Davide Sacchetti
davide.sacchetti at ARPAL.ORG
Fri Apr 2 08:29:17 EDT 2010
operators like '>' work for just numbers, not for fields ...
I mean: 5>4 is correct, while vmerId >= 5.0 (pay attention to the
missing 'I' in your script) is not correct: if you want to compare
fields to numbers use maskout function.
Also if vmerid is a single value field, grads thinks it is a "field": to
retrive the value you may use "query defval vmerid" or simply "display
vmerid" and then parse 'result' using subwrd function.
hoping I could help
Bye bye
Davide
On Fri, 2010-04-02 at 09:10 -0300, Eduardo Agosta Scarel wrote:
> Hello Matt and Grads' Users,
>
>
> you are righ and I am sorry for the mistake. I wrote a quick script as
> an example.
>
>
> The corrected way is:
>
>
> j=1
> i=0
> while (j < 31)
> 'set t 27'
> 'set lat 0'
> 'set lon 0 360'
> 'define vmerid=ave(vwnd(t='j'), lat=0, lat=10)'
> v='vmerid'
> if (vmerd >= 5.0 & vmerid <= 5.0)
> i=i+1
> endif
> j=j+1
> endwhile
>
>
> Anyway that is not the problem.
> What I want to do is to evaluate every value obtained for the defined
> vmerid variable against the thresholds in order to count those cases.
>
>
> Thank you for your help.
>
>
> Eduardo.
>
>
>
>
> 2010/4/2 Matt Alonso <matt.alonso at gmail.com>
> I might be missing something but it doesn't look like j will
> ever be anything other than 1. Is that what you are intending
> to do?
>
> Sent from my Verizon Wireless BlackBerry
>
>
> ______________________________________________________________
> From: Eduardo Agosta Scarel <eduardo.agosta at GMAIL.COM>
> Date: Fri, 2 Apr 2010 08:50:23 -0300
> To: <GRADSUSR at LIST.CINECA.IT>
> Subject: if/endif use with defined variables
>
>
>
> Hi you all!
>
>
> I am trying to use the values obtained for a defined variable
> within an if/endif construction, but it appears that the
> script does not read in fact every value (which must be
> compared with a certain threshold).
>
>
> Any suggestion for that?
>
>
> I will much appreciate.
>
>
> Eduardo.
>
>
>
>
> PS: E.g. of what I want to do: to count the numbers of days
> when the defined variable is below or over a threshold:
>
>
> j=1
> i=0
> while (j < 31)
> 'set t 27'
> 'set lat 0'
> 'set lon 0 360'
> 'define vmerid=ave(vwnd(t='j'), lat=0, lat=10)'
> v='vmerid'
> if (vmerd >= 5.0 & vmerid <= 5.0)
> i=i+1
> endif
> enwhile
>
>
>
>
> --
>
> eduardo.agosta at conicet.gov.ar
> eduardo_agosta at uca.edu.ar
>
>
>
>
> --
> Eduardo Agosta Scarel
>
> eduardo.agosta at conicet.gov.ar
> eduardo_agosta at uca.edu.ar
>
--
Sacchetti Davide
Centro Funzionale Meteo Idrologico di Protezione Civile della Regione Liguria
ARPAL Unità Tecnica Complessa di livello Regionale
V.le Brigare Partigiane 2 16121 Genova (I)
tel: +39 010 6437535 fax: +39 010 6437520
mail: davide.sacchetti at arpal.org web: www.meteoliguria.it
More information about the gradsusr
mailing list