[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