<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.2800.1458" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=Arial size=2>Hi Matt,</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>First, to remove "Unknown&nbsp;command: 0" error 
(which is harmless), use rs=write(filename,variable [,append]). Write has a 
return value! I have a script below that write text outputs in columns. If you 
are using Window XP, You need to use Wordpad to see the columns and line breaks. 
Otherwise use unix2dos to convert the file to DOS format.</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;</FONT></DIV>
<DIV><FONT face=Arial size=2>Cheers,</FONT></DIV>
<DIV><FONT face=Arial size=2>Eric Tiong</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face="Courier New" size=2>*&nbsp; extract GFS vertical wind profile 
for way points<BR>*<BR>*&nbsp; tau=1(+00), 2(+03) 3(+06),...<BR>*&nbsp; lat/lon 
in nearest degree<BR>*&nbsp; fileName is output file name<BR>function 
upper(site)<BR>&nbsp; if (site= '')<BR>&nbsp;&nbsp;&nbsp;&nbsp; say 'correct use 
is: mg [tau lat lon fileName]'<BR>&nbsp;&nbsp;&nbsp;&nbsp; return<BR>&nbsp; 
endif<BR>&nbsp; rcd = subwrd(site,1)<BR>&nbsp; lat = subwrd(site,2) <BR>&nbsp; 
lon = subwrd(site,3)<BR>&nbsp;&nbsp; fl = subwrd(site,4)<BR>&nbsp; xi=lon - 
94<BR>&nbsp; yj=lat + 11<BR>&nbsp; i=math_nint(xi)<BR>&nbsp; 
j=math_nint(yj)<BR>&nbsp; lcn = 'Site: ' % math_format('%5.1f',lat) % ' ' % 
math_format('%6.1f',lon)<BR>&nbsp;'set lat 'lat<BR>&nbsp;'set lon 
'lon<BR>&nbsp;'set t 'rcd<BR>&nbsp;'q time'<BR>&nbsp; tds = 
subwrd(result,3)<BR>&nbsp; hdr = 'Level&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
wind'<BR>&nbsp; rs=write(fl,lcn)<BR>&nbsp; rs=write(fl,tds,append)<BR>&nbsp; 
rs=write(fl,hdr,append)<BR>&nbsp; fmt4 = '%3.0f'; fmt5 = '%02.0f'<BR>* 925hPa 
<BR>&nbsp;'set lev 925'<BR>&nbsp; lvl = "925mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>* 850hPa 
<BR>&nbsp;'set lev 850'<BR>&nbsp; lvl = "850mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>* 700hPa 
<BR>&nbsp;'set lev 700'<BR>&nbsp; lvl = "700mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>* 500hPa 
<BR>&nbsp;'set lev 500'<BR>&nbsp; lvl = "500mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>* 400hPa 
<BR>&nbsp;'set lev 400'<BR>&nbsp; lvl = "400mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>* 300hPa 
<BR>&nbsp;'set lev 300'<BR>&nbsp; lvl = "300mb"<BR>&nbsp;'d u'<BR>&nbsp; v1 = 
subwrd(result,4)<BR>&nbsp;'d v'<BR>&nbsp; v2 = subwrd(result,4)<BR>&nbsp; sp = 
math_sqrt(v1*v1+v2*v2) * 1.95<BR>&nbsp; dw = math_atan2(-v1,-v2) * 
180.0/3.1416&nbsp; +360.0<BR>&nbsp; if 
(dw&gt;360.0)<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dw=dw-360.0<BR>&nbsp; 
endif<BR>&nbsp; rr=lvl % '&nbsp;&nbsp;&nbsp; ' % math_format(fmt4,dw) % '/' % 
math_format(fmt5,sp)<BR>&nbsp; rs=write(fl, rr, append)<BR>&nbsp; 
rs=close(fl)<BR>return</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>----- Original Message ----- </FONT>
<DIV><FONT face=Arial size=2>From: "M P Borkow" &lt;</FONT><A 
href="mailto:mpborkow@NCSU.EDU"><FONT face=Arial 
size=2>mpborkow@NCSU.EDU</FONT></A><FONT face=Arial size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>To: &lt;</FONT><A 
href="mailto:GRADSUSR@LIST.CINECA.IT"><FONT face=Arial 
size=2>GRADSUSR@LIST.CINECA.IT</FONT></A><FONT face=Arial 
size=2>&gt;</FONT></DIV>
<DIV><FONT face=Arial size=2>Sent: Friday, September 02, 2005 5:38 
AM</FONT></DIV>
<DIV><FONT face=Arial size=2>Subject: Re: help needed with ascii 
output</FONT></DIV></DIV>
<DIV><FONT face=Arial><BR><FONT size=2></FONT></FONT></DIV><FONT face=Arial 
size=2>&gt; Thanks for the response,<BR>&gt; <BR>&gt; Your script as written 
didn't work for me.&nbsp; I had this same problem<BR>&gt; yesterday when I tried 
to use the write command, I just get "Unknown<BR>&gt; command: 0".&nbsp; Even if 
I don't get that working, I still am unsure of how<BR>&gt; to rewrite it to 
include a 'd lat' and 'd lon' command.<BR>&gt; <BR>&gt; -Matt<BR>&gt; <BR>&gt; 
<BR>&gt; &gt; Hi Matt<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; I work extensively 
with grads writing text and have found that the<BR>&gt; &gt; following method, 
while not elegant is for me most effective, have a<BR>&gt; &gt; look at my old 
positing below and apply to your problem. essentially<BR>&gt; &gt; what I posted 
is an idiots' version of Jennifer's' script but is<BR>&gt; &gt; probably easier 
to understand.<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; You will need to assign 
values to each variable then create the line<BR>&gt; &gt; before writing the 
file.<BR>&gt; &gt;&nbsp;&nbsp;&nbsp;&nbsp; Have a look at the script then give 
me some specifics and I'll give<BR>&gt; &gt; you a hand.<BR>&gt; 
&gt;&nbsp;&nbsp;&nbsp;&nbsp; Cheers<BR>&gt; 
&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JP<BR>&gt; &gt;<BR>&gt; 
&gt;<BR>&gt; &gt;<BR>&gt; &gt; Hi<BR>&gt; &gt;&nbsp;&nbsp;&nbsp; fwrite will 
produce a binary file, you need to write a script,<BR>&gt; &gt; somthing like 
the following for ascii, using the write command:<BR>&gt; &gt;<BR>&gt; &gt; 
function main(args)<BR>&gt; &gt; i = 1<BR>&gt; &gt; while i &lt;= 249<BR>&gt; 
&gt; 'set t ' i<BR>&gt; &gt; 'd htsgwsfc'<BR>&gt; &gt; 
Val=subwrd(result,4)<BR>&gt; &gt; write (Valuedir.txt,Val, append)<BR>&gt; &gt; 
i = i + 1<BR>&gt; &gt; endwhile<BR>&gt; &gt;<BR>&gt; &gt;<BR>&gt; &gt; Good 
Luck<BR>&gt; &gt;&nbsp;&nbsp;&nbsp; Jean Pierre<BR>&gt; &gt;<BR>&gt; 
</FONT></BODY></HTML>