Simba,<br>To add to Wesley's, if you have a grib file or a binary file (eg written by fortran) you can just edit an existing ctl file (without using grib2ctl) and put in the relevant info, xdef, ydef, zdef, tdef vars, levels etc.<br>
<br>Fir installing grads on a linux box just do "yum install grads" then you do not have to worry about libraries and so on.<br>Zilore<br><br><div class="gmail_quote">On Fri, Apr 29, 2011 at 10:21 AM, <span dir="ltr"><<a href="mailto:gradsusr-request@gradsusr.org">gradsusr-request@gradsusr.org</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Send gradsusr mailing list submissions to<br>
<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br>
<a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
or, via email, send a message with subject or body 'help' to<br>
<a href="mailto:gradsusr-request@gradsusr.org">gradsusr-request@gradsusr.org</a><br>
<br>
You can reach the person managing the list at<br>
<a href="mailto:gradsusr-owner@gradsusr.org">gradsusr-owner@gradsusr.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than "Re: Contents of gradsusr digest..."<br>
<br>
<br>
Today's Topics:<br>
<br>
1. Re: How to use grib2ctl option for one chosen variable<br>
(Wesley Ebisuzaki)<br>
2. Installing opengrads in x86_64 GNU/Linux (Roberto Mera)<br>
3. Re: Installing opengrads in x86_64 GNU/Linux (James T. Potemra)<br>
4. Re: Installing opengrads in x86_64 GNU/Linux (saeed bayat)<br>
5. Re: how to find typhoon center via minloc function<br>
(sushant puranik)<br>
<br>
<br>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Thu, 28 Apr 2011 09:55:20 -0400<br>
From: Wesley Ebisuzaki <<a href="mailto:Wesley.Ebisuzaki@noaa.gov">Wesley.Ebisuzaki@noaa.gov</a>><br>
Subject: Re: [gradsusr] How to use grib2ctl option for one chosen<br>
variable<br>
To: GrADS Users Forum <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br>
Message-ID: <<a href="mailto:4DB971C8.9080904@noaa.gov">4DB971C8.9080904@noaa.gov</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Simba,<br>
<br>
No option for grib2ctl/g2ctl. The solution depends on why you want<br>
to make<br>
the ctl file for a subset.<br>
<br>
(1) grib2ctl is choosing the wrong vertical coordinate<br>
<br>
You have to make a new grib file with only the variables that you want.<br>
Simple task for wgrib.<br>
<br>
(2) Vertical coordinate is ok.<br>
<br>
Edit the ctl file by removing all the unwanted fields. Then change<br>
the "vars N" line<br>
so that N is the new number of fields in the control file.<br>
<br>
Wesley Ebisuzaki<br>
<br>
Chidzambwa Simba wrote:<br>
> Dear All,<br>
> Is there an option that you can use with 'grib2ctl' to create a data<br>
> descriptor file for just one or two variables from a group of<br>
> variables? For example for just the u and v wind components?<br>
><br>
> Regards<br>
> Simba<br>
><br>
><br>
><br>
> +----------------------------------------------------------------+<br>
><br>
> Think B4U Print<br>
><br>
> 1 ream of paper = 6% of a tree and 5.4kg CO2 in the atmosphere<br>
><br>
> 3 sheets of A4 paper = 1 litre of water<br>
><br>
> +----------------------------------------------------------------+<br>
><br>
><br>
><br>
> ------------------------------------------------------------------------<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>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 2<br>
Date: Thu, 28 Apr 2011 16:09:30 -0700<br>
From: Roberto Mera <<a href="mailto:rjmera@coas.oregonstate.edu">rjmera@coas.oregonstate.edu</a>><br>
Subject: [gradsusr] Installing opengrads in x86_64 GNU/Linux<br>
To: GrADS Users Forum <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br>
Message-ID: <<a href="mailto:4DB9F3AA.1060809@coas.oregonstate.edu">4DB9F3AA.1060809@coas.oregonstate.edu</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
All,<br>
<br>
I was trying to install opengrads in a x86_64 GNU/Linux machine and I<br>
got the message below. Where should I put/get this libraries? How do I<br>
compile grads so that it works?<br>
<br>
Thanks,<br>
<br>
Robert<br>
<br>
opengrads<br>
<br>
Welcome to the OpenGrADS Bundle Distribution<br>
--------------------------------------------<br>
<br>
For additional information enter "opengrads -h".<br>
<br>
Starting<br>
"/home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads<br>
-HC 1 " ...<br>
<br>
/home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads:<br>
error while loading shared libraries: libXaw.so.8: cannot open shared<br>
object file: No such file or directory<br>
<a href="http://maui.OCE.ORST.EDU" target="_blank">maui.OCE.ORST.EDU</a> 69:<br>
<br>
<br>
<br>
------------------------------<br>
<br>
Message: 3<br>
Date: Thu, 28 Apr 2011 13:38:38 -1000<br>
From: "James T. Potemra" <<a href="mailto:jimp@hawaii.edu">jimp@hawaii.edu</a>><br>
Subject: Re: [gradsusr] Installing opengrads in x86_64 GNU/Linux<br>
To: GrADS Users Forum <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br>
Message-ID: <<a href="mailto:4DB9FA7E.9060209@hawaii.edu">4DB9FA7E.9060209@hawaii.edu</a>><br>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed<br>
<br>
Roberto:<br>
<br>
Try this, from the INSTALL notes:<br>
<br>
> grads: error while loading shared libraries: libXaw.so.7: cannot open<br>
> shared obj<br>
> ect file: No such file or directory<br>
><br>
> for libXaw (or any other library) is because your system lacks this<br>
> standard shared library. We have include many of these shared<br>
> libraries used by GrADS under<br>
><br>
> Contents/Linux/Versions/2.0.a5.oga.3/x86_64/libs<br>
><br>
> If it complains about some missing shared, copy each missing shared<br>
> library (and only these) from this directory to<br>
><br>
> Contents/Linux/Versions/2.0.a5.oga.3/x86_64/gex<br>
><br>
> and try again from Contents/.<br>
<br>
Jim<br>
<br>
<br>
On 4/28/11 1:09 PM, Roberto Mera wrote:<br>
> All,<br>
><br>
> I was trying to install opengrads in a x86_64 GNU/Linux machine and I<br>
> got the message below. Where should I put/get this libraries? How do I<br>
> compile grads so that it works?<br>
><br>
> Thanks,<br>
><br>
> Robert<br>
><br>
> opengrads<br>
><br>
> Welcome to the OpenGrADS Bundle Distribution<br>
> --------------------------------------------<br>
><br>
> For additional information enter "opengrads -h".<br>
><br>
> Starting<br>
> "/home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads<br>
> -HC 1 " ...<br>
><br>
> /home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads:<br>
> error while loading shared libraries: libXaw.so.8: cannot open shared<br>
> object file: No such file or directory<br>
> <a href="http://maui.OCE.ORST.EDU" target="_blank">maui.OCE.ORST.EDU</a> 69:<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>
<br>
------------------------------<br>
<br>
Message: 4<br>
Date: Fri, 29 Apr 2011 09:08:34 +0430<br>
From: saeed bayat <<a href="mailto:saeedbayat7276@gmail.com">saeedbayat7276@gmail.com</a>><br>
Subject: Re: [gradsusr] Installing opengrads in x86_64 GNU/Linux<br>
To: GrADS Users Forum <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br>
Message-ID: <<a href="mailto:BANLkTik42mdM_zzcR6cCsXT5GAaAzdmtmw@mail.gmail.com">BANLkTik42mdM_zzcR6cCsXT5GAaAzdmtmw@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hi Robert<br>
<br>
just try this command for open "opengrads"<br>
<br>
first: copy the "Content" folder to outside of "opengrads" folder, then<br>
<br>
/home/ which path it is/Content/opengrads-------------------> Enter<br>
<br>
I hope this will hwlp you<br>
<br>
Abdolhalim bayat<br>
M.Sc student of Climatology<br>
Ferdowsi University of mashhad(Iran)<br>
<br>
On Fri, Apr 29, 2011 at 3:39 AM, Roberto Mera<br>
<<a href="mailto:rjmera@coas.oregonstate.edu">rjmera@coas.oregonstate.edu</a>>wrote:<br>
<br>
> All,<br>
><br>
> I was trying to install opengrads in a x86_64 GNU/Linux machine and I<br>
> got the message below. Where should I put/get this libraries? How do I<br>
> compile grads so that it works?<br>
><br>
> Thanks,<br>
><br>
> Robert<br>
><br>
> opengrads<br>
><br>
> Welcome to the OpenGrADS Bundle Distribution<br>
> --------------------------------------------<br>
><br>
> For additional information enter "opengrads -h".<br>
><br>
> Starting<br>
><br>
> "/home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads<br>
> -HC 1 " ...<br>
><br>
><br>
> /home/server/pi/homes/rjmera/grads-2.0.a9.oga.1/Contents/Linux/Versions/2.0.a9.oga.1/x86_64/grads:<br>
> error while loading shared libraries: libXaw.so.8: cannot open shared<br>
> object file: No such file or directory<br>
> <a href="http://maui.OCE.ORST.EDU" target="_blank">maui.OCE.ORST.EDU</a> 69:<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>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://gradsusr.org/pipermail/gradsusr/attachments/20110429/65cefb32/attachment-0001.html" target="_blank">http://gradsusr.org/pipermail/gradsusr/attachments/20110429/65cefb32/attachment-0001.html</a><br>
<br>
------------------------------<br>
<br>
Message: 5<br>
Date: Fri, 29 Apr 2011 18:02:14 +0530<br>
From: sushant puranik <<a href="mailto:sushantpuranik@gmail.com">sushantpuranik@gmail.com</a>><br>
Subject: Re: [gradsusr] how to find typhoon center via minloc function<br>
To: GrADS Users Forum <<a href="mailto:gradsusr@gradsusr.org">gradsusr@gradsusr.org</a>><br>
Message-ID: <BANLkTinDFzmd=<a href="mailto:ck1Zc_O7KdK0O1JJPikEQ@mail.gmail.com">ck1Zc_O7KdK0O1JJPikEQ@mail.gmail.com</a>><br>
Content-Type: text/plain; charset="iso-8859-1"<br>
<br>
Hello Charles<br>
I want to make a jet stream plot. Can i make it with the help of hurricane<br>
center script by changing minloc and min to maxloc and max.<br>
any suggestion?<br>
<br>
thanks<br>
<br>
Sushant<br>
<br>
On Wed, Jan 5, 2011 at 1:01 AM, Charles Seman <<a href="mailto:Charles.Seman@noaa.gov">Charles.Seman@noaa.gov</a>>wrote:<br>
<br>
> Jie,<br>
><br>
> Attached is a file File_Error_1_Grads_1.9-Plot_tc_shi.gs.txt containing the<br>
> text from an email exchange to the GrADS Listserv between Joe Covert and<br>
> Diane Stokes on 9/13/2004 -- on 4/27/06, found via a Google search for "<br>
> <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,<br>
> aGrADS script function used by the plot script) is a locally modified<br>
> version derived from Joe Covert's script "<a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>" (<br>
> <a href="mailto:Joe.Covert@noaa.gov">Joe.Covert@noaa.gov</a>) which was posted to the GrADS Listserv on 9/13/2004<br>
> (his script was named <a href="http://plot_tc_shi.gs" target="_blank">plot_tc_shi.gs</a>) and code from hurricane_tracking.txt<br>
> (taken from an email exchange posted to the GrADS Listserv by Kun-Hsuan Chou<br>
> and Arturo Caracas Uribe in Oct, 2004)...<br>
><br>
> Please find below code from hurricane_tracking.txt (taken from an email<br>
> exchange posted to the GrADS Listserv by Kun-Hsuan Chou and Arturo Caracas<br>
> Uribe in Oct, 2004) illustrating a technique for finding max wind in a 2D<br>
> field... and below that some code from attached script<br>
> <a href="http://plot_hurricane_center3.gs" target="_blank">plot_hurricane_center3.gs</a> to find the min sea-level pressure in a 2D<br>
> field...<br>
><br>
> code from Kun-Hsuan Chou to find maximum wind speed from<br>
> 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<br>
> 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>
><br>
>><br>
>> hi,grads folks ,<br>
>> I am using grads v1.9, trying to find the center of typhoon via minloc<br>
>> function.<br>
>> the key script is shown as below:<br>
>> slplat=min(slp,lat=19,lat=26)<br>
>> tclon=minloc(slplat,lon=119,lon=126)<br>
>> slplon=min(slp,lon=119,lon=126)<br>
>> tclat=minloc(slplon,lat=19,lat=26)<br>
>><br>
>> but grads tell me that "function not found min " and when i changed my<br>
>> 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>
>> Email: <a href="mailto:totangjie@gmail.com">totangjie@gmail.com</a> <mailto:<a href="mailto:totangjie@gmail.com">totangjie@gmail.com</a>><br>
>><br>
>> Tel: 0086-2154896104<br>
>> Shanghai Typhoon Institute,China<br>
>> ------------------------------------------------------------------------<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>
>><br>
><br>
> --<br>
><br>
> Please note that <a href="mailto:Charles.Seman@noaa.gov">Charles.Seman@noaa.gov</a> should be considered my NOAA<br>
> email address, not <a href="mailto:cjs@gfdl.noaa.gov">cjs@gfdl.noaa.gov</a>.<br>
><br>
> ********************************************************************<br>
> Charles Seman <a href="mailto:Charles.Seman@noaa.gov">Charles.Seman@noaa.gov</a><br>
> U.S. Department of Commerce / NOAA / OAR<br>
> Geophysical Fluid Dynamics Laboratory voice: <a href="tel:%28609%29%20452-6547" value="+16094526547">(609) 452-6547</a><br>
> 201 Forrestal Road fax: <a href="tel:%28609%29%20987-5063" value="+16099875063">(609) 987-5063</a><br>
> Princeton, NJ 08540-6649 <a href="http://www.gfdl.noaa.gov/%7Ecjs/" 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<br>
> 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>
> "),<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 =<br>
> 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>
> *<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>
><br>
-------------- next part --------------<br>
An HTML attachment was scrubbed...<br>
URL: <a href="http://gradsusr.org/pipermail/gradsusr/attachments/20110429/e2936a21/attachment.html" target="_blank">http://gradsusr.org/pipermail/gradsusr/attachments/20110429/e2936a21/attachment.html</a><br>
<br>
------------------------------<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>
<br>
End of gradsusr Digest, Vol 14, Issue 62<br>
****************************************<br>
</blockquote></div><br>