[gradsusr] Need Help with GrADS

James T. Potemra jimp at hawaii.edu
Wed Mar 6 21:40:44 EST 2019


Hi Yazeed,

You have two problems.  First, you have a single while loop (while (p <= 
ptot)), presumably for the different panels.  You will need another 
while loop over "i" (forecast time?).

Second, the file names have 4-character strings (0000, 0600, 1200, and 
1800).  Your variable "i" is an integer, so it will be 0, 6, 12 and 18. 
In other words, the script will be looking for files of the form 
ggap200806080.nc ggap200806086.nc ggap2008060812.nc and 
ggap200806081800.nc.  You can either pad this out, or just explicitly 
give the file name:

i = 1
while ( i <=4 )
   if ( i = 1 ); 'sdfopen C:\Users\yalsubhi\Desktop 
\EraInterim\cases\Case1\ggap200806080000.nc'; endif
   if ( i = 2 ); 'sdfopen C:\Users\yalsubhi\Desktop 
\EraInterim\cases\Case1\ggap200806080600.nc'; endif
   if ( i = 3 ); 'sdfopen C:\Users\yalsubhi\Desktop 
\EraInterim\cases\Case1\ggap200806081200.nc'; endif
   if ( i = 4 ); 'sdfopen C:\Users\yalsubhi\Desktop 
\EraInterim\cases\Case1\ggap200806081800.nc'; endif
   i = i + 1
endwhile

or,

i = 1
while ( i <= 18 )
   infile = 'ggap200806080'i'00.nc'
   if ( i > 9 ); infile = 'ggap20080608'i'00.nc'; endif
   'sdfopen C:\Users\yalsubhi\Desktop \EraInterim\cases\Case1\'infile
   i = i + 6
endwhile


Jim

On 3/6/19 11:14 AM, Yazeed Alsubhi wrote:
>
> Hello James,
>
> I am struggling with my GrADS scripts and I really need your help. I 
> have tried to draw multi-panel plots using GrADS and I got the correct 
> script, as following:
>
> 'reinit'
>
> rc = gsfallow("on")
>
> nrows=2
>
> ncols=2
>
> args=nrows%' '%ncols
>
> 'sdfopen air.2008.nc <http://air.2008.nc/>'
>
> 'set mproj scaled'
>
> panels(args)
>
> *p is the panels number, p=1 means the first panel
>
> p = 1
>
> *ptot indicates the total number of panels (or virtual pages)
>
> ptot = nrows * ncols
>
> *here is the loop, draw panel one by one
>
> while (p <= ptot)
>
> *_vpg.p
>
>  _vpg.p
>
>  'set parea 1 9.8 1 7.5'
>
>  'set t 'p
>
>  'set grads off'
>
>  'set mpdset hires'
>
>  'set lat 10 45'
>
>  'set lon -60 65'
>
>  'set lev 850'
>
>  'set gxout shaded'
>
>  'set cint 2'
>
>      'd air'
>
>      'q time'
>
>  res=subwrd(result,3)
>
>  hh=substr(res,1,3)
>
>  dd=substr(res,4,2)
>
>  mm=substr(res,6,3)
>
>  yy=substr(res,9,4)
>
>  'run cbar'
>
>  'set font 0'
>
>  'set strsiz 0.15 0.15'
>
>  'draw title ('hh' 'dd'/'mm'/'yy')'
>
> p = p + 1
>
> endwhile
>
>  'set vpage off'
>
> 'set strsiz 0.15'
>
> 'draw string 5.3 8.3 Air Temperature'
>
> 'printim AirTemperature.png x800 y600 white'
>
> And the problem is that I am trying to do this for more than on files 
> in the same folder. And I am trying to implement a while loop that 
> will automatically insert each file (0000, 0600, 1200, and 1800) and 
> the names of these files are: ggap200806080000.nc 
> <http://ggap200806080000.nc/> ggap200806080600.nc 
> <http://ggap200806080600.nc/> ggap200806081200.nc 
> <http://ggap200806081200.nc/> and ggap200806081800.nc 
> <http://ggap200806081800.nc/>
>
> So I tried the same code but I added some lines:
>
> 'reinit'
> rc = gsfallow("on")
> nrows=2
> ncols=2
> args=nrows%' '%ncols
>
> *This is the direction of these netcdf files:
> *'sdfopen C:\Users\yalsubhi\Desktop 
> \EraInterim\cases\Case1\ggap200806080000.nc <http://ggap200806080000.nc/>'
> *'sdfopen C:\Users\yalsubhi\Desktop 
> \EraInterim\cases\Case1\ggap200806080600.nc <http://ggap200806080600.nc/>'
> *'sdfopen C:\Users\yalsubhi\Desktop 
> \EraInterim\cases\Case1\ggap200806081200.nc <http://ggap200806081200.nc/>'
> *'sdfopen C:\Users\yalsubhi\Desktop 
> \EraInterim\cases\Case1\ggap200806081800.nc <http://ggap200806081800.nc/>'
>
> 'set mproj scaled'
> panels(args)
> *p is the panels number, p=1 means the first panel
> p = 1
> i = 0000
> *ptot indicates the total number of panels (or virtual pages)
> ptot = nrows * ncols
> *here is the loop, draw panel one by one
> while (p <= ptot)
> *_vpg.p
>      _vpg.p
>      'set parea 1 9.8 1 7.5'
>      'set t 'p
>      'set grads off'
>      'set mpdset hires'
>      'set lat 10 45'
>      'set lon -60 65'
>      'set lev 850'
>      'set gxout shaded'
>      'set cint 2'
>      'sdfopen C:\Users\yalsubhi\Desktop 
> \EraInterim\cases\Case1\ggap20080608'i'.nc'
>      'd t'
>      'q time'
>      res=subwrd(result,3)
>      hh=substr(res,1,3)
>      dd=substr(res,4,2)
>      mm=substr(res,6,3)
>      yy=substr(res,9,4)
>      'run cbar'
>      'set font 0'
>      'set strsiz 0.15 0.15'
>      'draw title ('hh' 'dd'/'mm'/'yy')'
>      'reinit'
> i = i + 0600
> p = p + 1
> endwhile
>      'set vpage off'
> 'set strsiz 0.15'
> 'draw string 5.3 8.3 Air Temperature'
> 'printim AirTemperature.png x800 y600 white'
>
> Thanks in advance for your time and cooperation on this matter
>
> Thanks,
>
> Yazeed
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://gradsusr.org/pipermail/gradsusr/attachments/20190306/87d1abd0/attachment-0001.html>


More information about the gradsusr mailing list