Hello Charles<div>I want to make a jet stream plot. Can i make it with the help of hurricane center script by changing minloc and min to maxloc and max.</div><div>any suggestion?</div><div><br></div><div>thanks</div><div><br>
</div><div>Sushant <br><br><div class="gmail_quote">On Wed, Jan 5, 2011 at 1:01 AM, Charles Seman <span dir="ltr"><<a href="mailto:Charles.Seman@noaa.gov">Charles.Seman@noaa.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Jie,<br>
<br>
Attached is a file File_Error_1_Grads_1.9-Plot_tc_shi.gs.txt containing the text from an email exchange to the GrADS Listserv between Joe Covert and Diane Stokes on 9/13/2004 -- on 4/27/06, found via a Google search for "<a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>": <a href="http://caos.iisc.ernet.in/gslib/plot_tc_shi.gs" target="_blank">http://caos.iisc.ernet.in/gslib/plot_tc_shi.gs</a><br>
<br>
The attached GrADS script <a href="http://plot_hurricane_center3.gs" target="_blank">plot_hurricane_center3.gs</a> (along with pause.gsf, aGrADS script function used by the plot script) is a locally modified version derived from Joe Covert's script "<a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>" (<a href="mailto:Joe.Covert@noaa.gov" target="_blank">Joe.Covert@noaa.gov</a>) which was posted to the GrADS Listserv on 9/13/2004 (his script was named <a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>) and code from hurricane_tracking.txt (taken from an email exchange posted to the GrADS Listserv by Kun-Hsuan Chou and Arturo Caracas Uribe in Oct, 2004)...<br>
<br>
Please find below code from hurricane_tracking.txt (taken from an email exchange posted to the GrADS Listserv by Kun-Hsuan Chou and Arturo Caracas Uribe in Oct, 2004) illustrating a technique for finding max wind in a 2D field... and below that some code from attached script <a href="http://plot_hurricane_center3.gs" target="_blank">plot_hurricane_center3.gs</a> to find the min sea-level pressure in a 2D field...<br>
<br>
code from Kun-Hsuan Chou to find maximum wind speed from hurricane_tracking.txt:<br>
---<br>
'd maxloc(max(mag(u,v),lon=120,lon=130),lat=15,lat=25)'<br>
line=sublin(result,2)<br>
ygrd=subwrd(line,4)<br>
'd maxloc(max(mag(u,v),lat=15,lat=25),lon=120,lon=130)'<br>
line=sublin(result,2)<br>
xgrd=subwrd(line,4)<br>
'set x 'xgrd<br>
lonval = subwrd(result,4)<br>
'set y 'ygrd<br>
latval = subwrd(result,4)<br>
'q w2xy 'lonval' 'latval<br>
xpos = subwrd(result,3)<br>
ypos = subwrd(result,6)<br>
'draw mark 1 'xpos' 'ypos' .2'<br>
---<br>
<br>
sample code from <a href="http://plot_hurricane_center3.gs" target="_blank">plot_hurricane_center3.gs</a> to find hurricane center (see script for supporting code):<br>
---<br>
*<br>
* find minimum "pressure" within box area (x1,x2), (y1,y2)...<br>
*<br>
'set x 'x1<br>
'set y 'y1<br>
'set z 1'<br>
'set t 'tt<br>
'set gxout print'<br>
nxp = x2-x1+1<br>
* say ' nxp = 'nxp<br>
nyp = y2-y1+1<br>
* say ' nyp = 'nyp<br>
'd minloc(min(psl,y='y1',y='y2'),x='x1',x='x2')'<br>
rec=sublin(result,nxp+3)<br>
xc=subwrd(rec,1)<br>
'd minloc(min(psl,x='x1',x='x2'),y='y1',y='y2')'<br>
rec=sublin(result,nyp+3)<br>
yc=subwrd(rec,1)<br>
say<br>
say 'location of minimum "pressure"...'<br>
say<br>
say ' (xc,yc) = ('xc','yc')'<br>
*<br>
* find "world" coordinates of (xc,yc) and convert "world" coordinates<br>
* to "xy" coordinates for plotting track of hurricane center...<br>
*<br>
'set x 'xc<br>
lonval = subwrd(result,4)<br>
'set y 'yc<br>
latval = subwrd(result,4)<br>
say ' (lonval,latval) = ('lonval','latval')'<br>
'q w2xy 'lonval' 'latval<br>
xpos = subwrd(result,3)<br>
ypos = subwrd(result,6)<br>
say ' (xpos,ypos) = ('xpos','ypos')'<br>
*<br>
* write (xpos,ypos) to output file...<br>
*<br>
res = write (''<a href="http://hurricane.nf" target="_blank">hurricane.nf</a>'','t = 'tt' xpos = 'xpos' ypos = 'ypos'')<br>
<br>
pause()<br>
---<br>
<br>
Please let me know if you have any questions.<br>
<br>
Hope this helps,<br>
Chuck<br>
<br>
Jie TANG wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div></div><div class="h5">
<br>
hi,grads folks ,<br>
I am using grads v1.9, trying to find the center of typhoon via minloc function.<br>
the key script is shown as below:<br>
slplat=min(slp,lat=19,lat=26) tclon=minloc(slplat,lon=119,lon=126) slplon=min(slp,lon=119,lon=126) tclat=minloc(slplon,lat=19,lat=26)<br>
<br>
but grads tell me that "function not found min " and when i changed my script to be :<br>
tclat=min(minloc(slpt,lon=119,lon=126), lat=19,lat=26)<br>
tclon=min(minloc(slpt, lat=19,lat=26 )lon=119,lon=126)<br>
<br>
<br>
how can i finx my scrpit ? thank you .:)<br>
-- <br>
<br>
TANG Jie<br></div></div>
Email: <a href="mailto:totangjie@gmail.com" target="_blank">totangjie@gmail.com</a> <mailto:<a href="mailto:totangjie@gmail.com" target="_blank">totangjie@gmail.com</a>><div class="im"><br>
Tel: 0086-2154896104<br>
Shanghai Typhoon Institute,China<br></div>
------------------------------------------------------------------------<br>
<br>
_______________________________________________<br>
gradsusr mailing list<br>
<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
<br>
</blockquote>
<br>
-- <br>
<br>
Please note that <a href="mailto:Charles.Seman@noaa.gov" target="_blank">Charles.Seman@noaa.gov</a> should be considered my NOAA<br>
email address, not <a href="mailto:cjs@gfdl.noaa.gov" target="_blank">cjs@gfdl.noaa.gov</a>.<br>
<br>
********************************************************************<br>
Charles Seman <a href="mailto:Charles.Seman@noaa.gov" target="_blank">Charles.Seman@noaa.gov</a><br>
U.S. Department of Commerce / NOAA / OAR<br>
Geophysical Fluid Dynamics Laboratory voice: (609) 452-6547<br>
201 Forrestal Road fax: (609) 987-5063<br>
Princeton, NJ 08540-6649 <a href="http://www.gfdl.noaa.gov/~cjs/" target="_blank">http://www.gfdl.noaa.gov/~cjs/</a><br>
********************************************************************<br>
<br>
"The contents of this message are mine personally and do not reflect any<br>
official or unofficial position of the United States Federal Government,<br>
the United States Department of Commerce, or NOAA."<br>
<br>
<br><br>
worked great ... thanks. joe<br>
<br>
Diane Stokes wrote:<br>
<br>
> Joe,<br>
><br>
> Read works fine for me in 1.9.<br>
><br>
> I think this is the issue where 'pull' in 1.9 throws in a carriage<br>
> return. The read statement is not getting the exact filename.<br>
><br>
> Try adding:<br>
> file=sublin(file,1)<br>
> after each:<br>
> pull file<br>
><br>
> Diane<br>
><br>
> Joe Covert wrote:<br>
><br>
>> There appears to be a problem with version 1.9 of GrADS "read" function.<br>
>><br>
>> The <a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a> script (see below) uses the read function to open the<br>
>> track data file and the program gives the subject error message "File<br>
>> Error 1".<br>
>><br>
>> jc<br>
>><br>
>><br>
>> * Script to draw an hurricane-track plot.<br>
>> * Does little error checking on the input file.<br>
>> * Assumes the input file is set up as follows:<br>
>> *<br>
>> * Line 1: Title<br>
>> * Line 2: Drawing primitives for marks: marktype size<br>
>> * Line 3: Drawing primitives for lines: color style thickness<br>
>> * Line 4: Starting hour and the interval of plotting points<br>
>> * e.g., 0 6 means that track starts at 0 hour and mark<br>
>> * will be plotted every 6 hours.<br>
>> * Rest of lines: hour long. lat.<br>
>> * e.g., 0 -70.5 25.0<br>
>> * 6 -71.8 25.2<br>
>> * :<br>
>> * :<br>
>> *<br>
>> * Also assumes that a file has been opened (any file, doesn't<br>
>> * matter -- the set command doesn't work until a file has been<br>
>> * opened).<br>
>> *<br>
>><br>
>> function main()<br>
>><br>
>> * 'clear'<br>
>><br>
>> 'open dummy.ctl'<br>
>> 'set lat 20 50'<br>
>> 'set lon -90 -30'<br>
>> 'set mpdset hires'<br>
>> 'set poli on'<br>
>> 'draw map'<br>
>><br>
>><br>
>> say 'Enter File Name: (type q to stop)'<br>
>> pull fname<br>
>><br>
>> while (fname != 'q')<br>
>><br>
>> * Read the 1st record: Title<br>
>><br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> if (rc>0)<br>
>> say 'File Error 1'<br>
>> return<br>
>> endif<br>
>> title = sublin(ret,2)<br>
>> say title<br>
>><br>
>> * Read the drawing primitives<br>
>><br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> if (rc>0)<br>
>> say 'File Error 2'<br>
>> return<br>
>> endif<br>
>> dpline = sublin(ret,2)<br>
>> marktype = subwrd(dpline,1)<br>
>> marksize = subwrd(dpline,2)<br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> if (rc>0)<br>
>> say 'File Error 3'<br>
>> return<br>
>> endif<br>
>> dpline = sublin(ret,2)<br>
>> lcolor = subwrd(dpline,1)<br>
>> lstyle = subwrd(dpline,2)<br>
>> lthick = subwrd(dpline,3)<br>
>> say ' marktype, marksize, lcolor, lstyle and lthick:'<br>
>> say ' 'marktype ' ' marksize ' ' lcolor ' ' lstyle ' ' lthick<br>
>><br>
>> * Read starting hour and the interval hours of plotting points<br>
>><br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> if (rc>0)<br>
>> say 'File Error 4'<br>
>> return<br>
>> endif<br>
>> dhour = sublin(ret,2)<br>
>> start = subwrd(dhour,1)<br>
>> jump = subwrd(dhour,2)<br>
>> say ' starting hour and the interval hours of plotting points:'<br>
>> say ' 'start' 'jump<br>
>><br>
>> * Read all data points<br>
>><br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> while (rc = 0)<br>
>> loc = sublin(ret,2)<br>
>> hour = subwrd(loc,1)<br>
>> dlong.hour = subwrd(loc,2)<br>
>> dlat.hour = subwrd(loc,3)<br>
>> * prompt ' hour ' hour ' are read,'<br>
>> * say ' long=' dlong.hour ' lat=' dlat.hour<br>
>> ret = read(fname)<br>
>> rc = sublin(ret,1)<br>
>> endwhile<br>
>><br>
>> if (rc!=2 & rc!=0)<br>
>> say 'File Error 5, rc=' rc<br>
>> return<br>
>> endif<br>
>><br>
>> endhour = hour<br>
>> say ' endhour=' endhour<br>
>><br>
>> * Plotting<br>
>><br>
>> 'set line 'lcolor' 'lstyle' 'lthick<br>
>> 'query w2xy 'dlong.start' 'dlat.start<br>
>> xprev = subwrd(result,3)<br>
>> yprev = subwrd(result,6)<br>
>> 'draw mark 'marktype' 'xprev' 'yprev' 'marksize<br>
>> next = start+jump<br>
>> while (next <= endhour)<br>
>> * say ' 'dlong.start' 'dlat.start<br>
>> 'query w2xy 'dlong.next' 'dlat.next<br>
>> xnext = subwrd(result,3)<br>
>> ynext = subwrd(result,6)<br>
>> 'draw line 'xprev' 'yprev' 'xnext' 'ynext<br>
>> * say ' 'xprev' 'yprev' 'xnext' 'ynext<br>
>> 'draw mark 'marktype' 'xnext' 'ynext' 'marksize<br>
>> next = next+jump<br>
>> xprev = xnext<br>
>> yprev = ynext<br>
>> endwhile<br>
>><br>
>> say fname ' is working fine.'<br>
>><br>
>> * read in the filename to be plotted next<br>
>><br>
>> say 'Enter File Name: (type q to stop)'<br>
>> pull fname<br>
>><br>
>> endwhile<br>
>><br>
<br>
<br>*----------------------------------------------------------------------<br>
*<br>
* Adapted from <a href="http://plot_hurricane_center2c.gs" target="_blank">plot_hurricane_center2c.gs</a>, which was adapted from:<br>
*<br>
* (1) "plot_hurricane_center2[a][b].gs" (from "<a href="http://plot_hurricane_center.gs" target="_blank">plot_hurricane_center.gs</a>"),<br>
* locally modified versions derived from Joe Covert's script<br>
* "<a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>" (<a href="mailto:Joe.Covert@noaa.gov">Joe.Covert@noaa.gov</a>), which was posted to the<br>
* GrADS Listserv on 9/13/2004 (his script was named <a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>)<br>
* on 4/27/06, found via a Google search for "<a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>":<br>
* <a href="http://caos.iisc.ernet.in/gslib/plot_tc_shi.gs" target="_blank">http://caos.iisc.ernet.in/gslib/plot_tc_shi.gs</a><br>
*<br>
* (2) code in "hurricane_tracking.txt" (taken from an email exchange<br>
* posted to the GrADS Listserv by Kun-Hsuan Chou and<br>
* Arturo Caracas Uribe in Oct, 2004)<br>
*<br>
*<br>
* To use: grads -l<br>
*<br>
*----------------------------------------------------------------------<br>
<br>
function main()<br>
<br>
'reinit'<br>
<br>
************************************************************************<br>
* Allow external GrADS functions<br>
************************************************************************<br>
<br>
rc = gsfallow("on")<br>
<br>
************************************************************************<br>
* Define dataset file information and plotting limits for base map...<br>
************************************************************************<br>
<br>
** nc_file1 = ''<br>
** nc_file2 = ''<br>
** nc_file3 = ''<br>
** nc_file = ''nc_file1' 'nc_file2' 'nc_file3''<br>
nc_file = 'your_netCDF_file'<br>
<br>
lon1 = 298 ; lon2 = 308<br>
lat1 = 20 ; lat2 = 25<br>
<br>
************************************************************************<br>
* Legend captions, colors, and marks for the plots<br>
************************************************************************<br>
<br>
** nmodels = 1<br>
** model.1 = 'isabel_ras'<br>
** model.2 = 'isabel_isotke'<br>
** model.3 = 'isabel_my25'<br>
<br>
** titles.1 = model.1 ; colors.1 = 2 ; marks.1 = 2<br>
** titles.2 = model.2 ; colors.2 = 3 ; marks.2 = 2<br>
** titles.3 = model.3 ; colors.3 = 4 ; marks.3 = 2<br>
***<br>
*** Define the legend plotter input...<br>
***<br>
** titles = '-t' ; colors = '-c' ; marks = '-m' ; lines = '-l'<br>
** n=1<br>
** while ( n <= nmodels )<br>
** titles = ''titles' "'titles.n'"'<br>
** colors = ''colors' 'colors.n<br>
** marks = ''marks' "'marks.n'"'<br>
** lines = ''lines' 1'<br>
** n=n+1<br>
** endwhile<br>
<br>
** legend_info = ''colors' 'lines' 'marks' 'titles' -p'<br>
<br>
nmodels = 1<br>
model.1 = 'title_name_for_your_netCDF_dataset'<br>
<br>
titles.1 = model.1 ; colors.1 = 2 ; marks.1 = 2<br>
*<br>
* Define the legend plotter input...<br>
*<br>
titles = '-t' ; colors = '-c' ; marks = '-m' ; lines = '-l'<br>
n=1<br>
while ( n <= nmodels )<br>
titles = ''titles' "'titles.n'"'<br>
colors = ''colors' 'colors.n<br>
marks = ''marks' "'marks.n'"'<br>
lines = ''lines' 1'<br>
n=n+1<br>
endwhile<br>
<br>
legend_info = ''colors' 'lines' 'marks' 'titles' -p'<br>
<br>
* ...other drawing primitives<br>
<br>
marksize = 0.1<br>
<br>
lstyle = 1 ; lthick = 5<br>
<br>
************************************************************************<br>
* Use "cbar_line" or "cbar_line_box"?<br>
************************************************************************<br>
<br>
legend_plotter = 'cbar_line'<br>
* legend_plotter = 'cbar_line_box'<br>
<br>
************************************************************************<br>
* Plot page limits<br>
************************************************************************<br>
<br>
plot_vpage = '0 11 0 8.5'<br>
plot_area = '1 10 1 7.5'<br>
<br>
xl = subwrd(plot_area,1) ; xr = subwrd(plot_area,2)<br>
yb = subwrd(plot_area,3) ; yt = subwrd(plot_area,4)<br>
<br>
xc = xl + (xr-xl)/2<br>
<br>
************************************************************************<br>
* GrADS metafile output...<br>
************************************************************************<br>
<br>
'enable print hurricane_track.gx'<br>
<br>
*-----------------------------------------------------------------------<br>
* Define and plot track of minimum surface pressure for each dataset...<br>
*-----------------------------------------------------------------------<br>
<br>
nf=1<br>
while ( nf <= nmodels )<br>
<br>
* Open dataset file and define parameters...<br>
<br>
fname = subwrd(nc_file,nf)<br>
'sdfopen 'fname<br>
'set dfile 'nf<br>
'q file'<br>
rec3 = sublin(result,3) ; binary_file = subwrd(rec3,2)<br>
say<br>
say<br>
say '*** 'binary_file' ***'<br>
say<br>
rec5 = sublin(result,5)<br>
nx = subwrd(rec5,3) ; ny = subwrd(rec5,6) ; nz = subwrd(rec5,9) ; nt = subwrd(rec5,12)<br>
<br>
if( nf = 1 )<br>
<br>
* Plot base map...<br>
<br>
plot_base_map(plot_vpage,plot_area,lon1,lon2,lat1,lat2)<br>
<br>
endif<br>
<br>
* Define locations of "hurricane center" for plotting points, and write<br>
* locations out to ASCII text file for read-in for plotting track later...<br>
<br>
<a href="http://hurricane.nf" target="_blank">hurricane.nf</a> = 'hurricane_'nf'.txt'<br>
<br>
ts=2<br>
tt=ts<br>
while ( tt <= nt )<br>
'set t 'tt<br>
say<br>
say '---------'<br>
say ' tt = 'tt<br>
say '---------'<br>
say<br>
'set lon 'lon1' 'lon2<br>
'set lat 'lat1' 'lat2<br>
'set z 1'<br>
*<br>
* here is where you put in the name of your sea-level pressure variable:<br>
*<br>
'define psl = name_of_your_sea_level_pressure_variable'<br>
'set gxout shaded'<br>
'd psl'<br>
*<br>
* following interactive "box location" code adapted from "<a href="http://cbar_line_box.gs" target="_blank">cbar_line_box.gs</a>"...<br>
*<br>
say 'Click where you want the left upper corner of the box'<br>
'query bpos'<br>
xb1o = subwrd(result,3)<br>
yb2o = subwrd(result,4)<br>
say 'Click where you want the right lower corner of the box'<br>
'query bpos'<br>
xb2o = subwrd(result,3)<br>
yb1o = subwrd(result,4)<br>
<br>
say<br>
say '...left upper corner of the box at X Y: 'xb1o' 'yb2o<br>
say '...right lower corner of the box at X Y: 'xb2o' 'yb1o<br>
*<br>
* draw box to show specified area for defining hurricane center...<br>
*<br>
'set line 1 1'<br>
'draw rec 'xb1o' 'yb1o' 'xb2o' 'yb2o<br>
*<br>
* convert box "xy" coordinates to "grid" coordinates<br>
* for finding minimum "pressure" (hurricane center)...<br>
*<br>
'q xy2gr 'xb1o' 'yb2o<br>
x1o = subwrd(result,3) ; x1 = math_int(x1o+0.5)<br>
y2o = subwrd(result,6) ; y2 = math_int(y2o+0.5)<br>
'q xy2gr 'xb2o' 'yb1o<br>
x2o = subwrd(result,3) ; x2 = math_int(x2o+0.5)<br>
y1o = subwrd(result,6) ; y1 = math_int(y1o+0.5)<br>
say<br>
say 'Specified grid coordinates (x1o,x2o), (y1o,y2o) from box,'<br>
say 'rounded to (x1,x2), (y1,y2) for finding minimum "pressure"...'<br>
say<br>
say ' (x1o,x2o) = ('x1o','x2o') --> (x1,x2) = ('x1','x2')'<br>
say ' (y1o,y2o) = ('y1o','y2o') --> (y1,y2) = ('y1','y2')'<br>
*<br>
* find minimum "pressure" within box area (x1,x2), (y1,y2)...<br>
*<br>
'set x 'x1<br>
'set y 'y1<br>
'set z 1'<br>
'set t 'tt<br>
'set gxout print'<br>
nxp = x2-x1+1<br>
* say ' nxp = 'nxp<br>
nyp = y2-y1+1<br>
* say ' nyp = 'nyp<br>
'd minloc(min(psl,y='y1',y='y2'),x='x1',x='x2')'<br>
rec=sublin(result,nxp+3)<br>
xc=subwrd(rec,1)<br>
'd minloc(min(psl,x='x1',x='x2'),y='y1',y='y2')'<br>
rec=sublin(result,nyp+3)<br>
yc=subwrd(rec,1)<br>
say<br>
say 'location of minimum "pressure"...'<br>
say<br>
say ' (xc,yc) = ('xc','yc')'<br>
*<br>
* find "world" coordinates of (xc,yc) and convert "world" coordinates<br>
* to "xy" coordinates for plotting track of hurricane center...<br>
*<br>
'set x 'xc<br>
lonval = subwrd(result,4)<br>
'set y 'yc<br>
latval = subwrd(result,4)<br>
say ' (lonval,latval) = ('lonval','latval')'<br>
'q w2xy 'lonval' 'latval<br>
xpos = subwrd(result,3)<br>
ypos = subwrd(result,6)<br>
say ' (xpos,ypos) = ('xpos','ypos')'<br>
*<br>
* write (xpos,ypos) to output file...<br>
*<br>
res = write (''<a href="http://hurricane.nf" target="_blank">hurricane.nf</a>'','t = 'tt' xpos = 'xpos' ypos = 'ypos'')<br>
<br>
pause()<br>
*<br>
* erase box showing area for defining hurricane center...<br>
*<br>
* 'set line 0 1'<br>
* 'draw rec 'xb1o' 'yb1o' 'xb2o' 'yb2o<br>
tt=tt+1<br>
endwhile<br>
<br>
res = close (''<a href="http://hurricane.nf" target="_blank">hurricane.nf</a>'')<br>
<br>
nf=nf+1<br>
endwhile<br>
<br>
* Clear frame and re-plot base map...<br>
<br>
plot_base_map(plot_vpage,plot_area,lon1,lon2,lat1,lat2)<br>
<br>
* Plot track(s)...<br>
<br>
nf=1<br>
while ( nf <= nmodels )<br>
<br>
* Specify drawing primitives<br>
<br>
marktype = <a href="http://marks.nf" target="_blank">marks.nf</a><br>
lcolor = <a href="http://colors.nf" target="_blank">colors.nf</a><br>
<br>
say ' marktype, marksize, lcolor, lstyle and lthick:'<br>
say ' 'marktype ' ' marksize ' ' lcolor ' ' lstyle ' ' lthick<br>
<br>
tt=ts<br>
*<br>
* read (xpos,ypos) from ASCII text input file...<br>
*<br>
res = read(''<a href="http://hurricane.nf" target="_blank">hurricane.nf</a>'') ; rc = sublin(res,1)<br>
if( rc != 0 )<br>
say '"read" status = 'rc<br>
exit<br>
endif<br>
rec = sublin(res,2) ; say '"hurricane.'nf'" record: 'rec<br>
xc = subwrd(rec,6) ; yc = subwrd(rec,9)<br>
<br>
'set line 'lcolor' 'lstyle' 'lthick<br>
'draw mark 'marktype' 'xc' 'yc' 'marksize<br>
tt = tt+1<br>
while ( tt <= nt )<br>
res = read(''<a href="http://hurricane.nf" target="_blank">hurricane.nf</a>'') ; rc = sublin(res,1)<br>
if( rc != 0 )<br>
say '"read" status = 'rc<br>
exit<br>
endif<br>
rec = sublin(res,2) ; say '"hurricane.'nf'" record: 'rec<br>
xn = subwrd(rec,6) ; yn = subwrd(rec,9)<br>
say ' 'xc' 'yc' 'xn' 'yn<br>
'draw line 'xc' 'yc' 'xn' 'yn<br>
'draw mark 'marktype' 'xn' 'yn' 'marksize<br>
tt=tt+1<br>
xc = xn<br>
yc = yn<br>
endwhile<br>
<br>
nf=nf+1<br>
endwhile<br>
<br>
say<br>
say '...plot legend'<br>
''legend_plotter' -x 3 -y 6 'legend_info<br>
say<br>
<br>
'print'<br>
'disable print'<br>
<br>
say<br>
say '************************************************'<br>
say ' Finished with this script.'<br>
say '************************************************'<br>
say<br>
<br>
return<br>
<br>
function plot_base_map(plot_vpage,plot_area,lon1,lon2,lat1,lat2)<br>
<br>
* Plots base map...<br>
<br>
'c'<br>
'set vpage 'plot_vpage<br>
'set parea 'plot_area<br>
'set lon 'lon1' 'lon2<br>
'set lat 'lat1' 'lat2<br>
'set mproj latlon'<br>
'set mpt * 1 1 5'<br>
'set mpdset hires'<br>
'set poli on'<br>
* 'set grid on'<br>
'set grads off'<br>
'set gxout contour'<br>
'draw map'<br>
<br>
* add lon/lat lines...<br>
<br>
'set ccolor 1'<br>
'set cstyle 5' ; 'd lon'<br>
'set cstyle 5' ; 'd lat'<br>
<br>
* add title, x- and y-labels...<br>
<br>
'draw title \\ Track of Minimum Surface Pressure'<br>
'draw xlab Longitude \\'<br>
'draw ylab \\ Latitude'<br>
<br>
return<br>
<br>_______________________________________________<br>
gradsusr mailing list<br>
<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a><br>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
<br></blockquote></div><br><br clear="all"><br><br>
</div>