[gradsusr] A Faulty IF Loop
Noska, Ryne
rgn14c at my.fsu.edu
Tue Jun 16 17:18:30 EDT 2015
That was enough, it's working now. Thank you very much for such a straightforward explanation.
Grateful,
Ryne
________________________________
From: gradsusr-bounces at gradsusr.org <gradsusr-bounces at gradsusr.org> on behalf of Jeff Duda <jeffduda319 at gmail.com>
Sent: Tuesday, June 16, 2015 5:14 PM
To: GrADS Users Forum
Subject: Re: [gradsusr] A Faulty IF Loop
You need to be very explicit with your translation of human statements into code. You might say, "if the lag is 1, 5, 9, or 13 I want to do one thing, and do something different if otherwise." But to convert that to code you need to explicitly spell out EACH logical expression:
if lag is 1
if lag is 5
if lag is 9
if lag is 13
Thus, your if statement should read:
if (lag = 1 | lag = 5 | lag = 9 | lag = 13)
Jeff
On Tue, Jun 16, 2015 at 4:06 PM, Noska, Ryne <rgn14c at my.fsu.edu<mailto:rgn14c at my.fsu.edu>> wrote:
I have written a very simple code for the purpose of creating one image with sixteen figures (four rows and four columns). Unfortunately, the loop I have designed to change the location of the next figure is broken. Instead of only executing the "if" statement if lag = 1 or 5 or 9 or 13, this portion of the loop is ALWAYS executed. The "else" statement is NEVER executed, causing the figures to run off the page after figure 4 since only ymin and ymax change. Below is a portion of my code; again, the problematic portion is the IF loop:
---------------------------------------
xmin = 0.25
xmax = 2.50
ymin = 6.25 + 2.00
ymax = 8.00 + 2.00
lag = 1
while (lag <= 16)
numlag = lag - 1
if (lag = 1 | 5 | 9 | 13)
xmin = 0.25
xmax = 2.50
ymin = ymin - 2.00
ymax = ymax - 2.00
else
xmin = xmin + 2.50
xmax = xmax + 2.50
endif
xlab = ((xmax - xmin)/2) + 0.25
ylab = ymax + 0.125
'set parea 'xmin' 'xmax' 'ymin' 'ymax
'set xlopts 1 1 0.10'
'set ylopts 1 1 0.10'
'set xlint 10'
'set ylint 10'
'set xlab off'
'set ylab off'
'set grid on'
'set grads off'
'set map 1 1 5'
'set clevs -0.8 -0.7 -0.6 -0.5 -0.4 -0.3 -0.2 -0.1 0.1 0.2 0.3'
'set ccols 9 14 4 11 5 13 3 10 0 7 12 8'
'set t 'lag
'd corr_grdons'
'set strsiz 0.15'
'set string 1 c 8'
'draw string 'xlab' 'ylab' lag='numlag'days'
lag = lag + 1
endwhile
-------------------------------
Any suggestions?
Thank you,
Ryne
?
_______________________________________________
gradsusr mailing list
gradsusr at gradsusr.org<mailto: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/20150616/16509ad3/attachment.html
More information about the gradsusr
mailing list