Jeff,<br>1) Did you try Jennifer&#39;s suggestion?  If that doesn&#39;t work, <br>2) what is your background color? <br><br>Jeff<br><br><div class="gmail_quote">On Mon, Nov 8, 2010 at 2:31 PM, Jeff Chabot <span dir="ltr">&lt;<a href="mailto:jsc219@gmail.com">jsc219@gmail.com</a>&gt;</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;">Jeff,<br><br>I liked the idea, but that didn&#39;t help.  I tried the following, both resulting in a black background for the map area:<br>
<br>printim precip_NE.png png x570 y435 -b /home/jeff/public_html/images/NE.png -t 00<br>
<br>printim precip_NE.png png x570 y435 -t 00 -b /home/jeff/public_html/images/NE.png<br><br>Example: <a href="http://jeffsweatherservice.com/grads/nam/precip_NE_2.png" target="_blank">http://jeffsweatherservice.com/grads/nam/precip_NE_2.png</a><br>

<br>I even tried using &quot;00&quot; in the color table, but that had the same impact.<br><br>Now, if I use the following command, the black background becomes white:<br><br>printim precip_NE.png png x570 y435 -b /home/jeff/public_html/images/NE.png white<br>

<br>Thanks for the idea though.<br><br><br>Jeff<br><br><br><br><br><br><br><br><br><div class="gmail_quote"><div class="im">On Mon, Nov 8, 2010 at 10:59 AM,  <span dir="ltr">&lt;<a href="mailto:gradsusr-request@gradsusr.org" target="_blank">gradsusr-request@gradsusr.org</a>&gt;</span> wrote:<br>

</div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div class="im">Send gradsusr mailing list submissions to<br>
        <a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
<br>
To subscribe or unsubscribe via the World Wide Web, visit<br></div><div class="im">
        <a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br></div><div class="im">
or, via email, send a message with subject or body &#39;help&#39; to<br>
        <a href="mailto:gradsusr-request@gradsusr.org" target="_blank">gradsusr-request@gradsusr.org</a><br>
<br>
You can reach the person managing the list at<br>
        <a href="mailto:gradsusr-owner@gradsusr.org" target="_blank">gradsusr-owner@gradsusr.org</a><br>
<br>
When replying, please edit your Subject line so it is more specific<br>
than &quot;Re: Contents of gradsusr digest...&quot;<br>
<br>
<br>
Today&#39;s Topics:<br>
<br></div><div class="im">
   1. Re: GrADS help, plotting shaded contour precip/ptype products<br>
      over a basemap/background (Jeffrey Duda)<br>
<br>
<br></div>
----------------------------------------------------------------------<br>
<br>
Message: 1<br>
Date: Mon, 8 Nov 2010 14:04:13 -0600<div class="im"><br>
From: Jeffrey Duda &lt;<a href="mailto:jdduda@iastate.edu" target="_blank">jdduda@iastate.edu</a>&gt;<br>
Subject: Re: [gradsusr] GrADS help, plotting shaded contour<br>
        precip/ptype products over a basemap/background<br>
To: GrADS Users Forum &lt;<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a>&gt;<br>
Message-ID:<br></div>
        &lt;AANLkTinO=D7vgkJzwo=+60vLO5VgOZjp=<a href="mailto:4Hhr7P93qo%2B@mail.gmail.com" target="_blank">4Hhr7P93qo+@mail.gmail.com</a>&gt;<div class="im"><br>
Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
<br>
Jeff,<br></div><div><div></div><div class="h5">
Try using a two-digit color number (i.e., 00) in the printim command as per<br>
the recommendation on the index page for the printim command:<br>
<a href="http://www.iges.org/grads/gadoc/gradcomdprintim.html" target="_blank">http://www.iges.org/grads/gadoc/gradcomdprintim.html</a><br>
<br>
Jeff<br>
<br>
On Mon, Nov 8, 2010 at 1:41 PM, Jeff Chabot &lt;<a href="mailto:jsc219@gmail.com" target="_blank">jsc219@gmail.com</a>&gt; wrote:<br>
<br>
&gt; I am using two separate color tables.  For precip:<br>
&gt;<br>
&gt; *Categorical Rain<br>
&gt; set rgb 30 210 180 140<br>
&gt; set rgb 16 107 159 91<br>
&gt; set rgb 17 90 142 75<br>
&gt; set rgb 18 74 125 60<br>
&gt; set rgb 19 58 109 45<br>
&gt; set rgb 20 41 92 19<br>
&gt; set rgb 21 25 75 14<br>
&gt; set rgb 22 253 248 2<br>
&gt; set rgb 23 229 188 0<br>
&gt; set rgb 24 253 149 0<br>
&gt; set rgb 25 253 0 0<br>
&gt; set rgb 26 212 0 0<br>
&gt; set rgb 27 255 0 153<br>
&gt;<br>
&gt; set clevs 0.01 0.05 0.10 0.25 0.50 1.00 2.00 3.00 4.00 5.00<br>
&gt; set ccols 0 16 18 19 20 22 23 24 25 26 27<br>
&gt;<br>
&gt; For precip type:<br>
&gt;<br>
&gt; *Categorical Rain<br>
&gt; set rgb 16 107 159 91<br>
&gt; set rgb 17 90 142 75<br>
&gt; set rgb 18 74 125 60<br>
&gt; set rgb 19 58 109 45<br>
&gt; set rgb 20 41 92 19<br>
&gt; set rgb 21 25 75 14<br>
&gt; set rgb 22 253 248 2<br>
&gt; set rgb 23 229 188 0<br>
&gt; set rgb 24 253 149 0<br>
&gt; set rgb 25 253 0 0<br>
&gt; set rgb 26 212 0 0<br>
&gt; set rgb 27 255 0 153<br>
&gt;<br>
&gt; *Categorical Freezing Rain<br>
&gt; set rgb 28 255 188 188<br>
&gt; set rgb 29 255 172 172<br>
&gt; set rgb 30 255 156 156<br>
&gt; set rgb 31 253 140 140<br>
&gt; set rgb 32 255 124 124<br>
&gt; set rgb 33 255 108 108<br>
&gt; set rgb 34 255 96 96<br>
&gt; set rgb 35 255 80 80<br>
&gt; set rgb 36 255 64 56<br>
&gt; set rgb 37 240 32 128<br>
&gt; set rgb 38 240 16 255<br>
&gt;<br>
&gt; *Categorical Ice Pellets / Mix<br>
&gt; set rgb 39 255 200 0<br>
&gt; set rgb 40 255 180 0<br>
&gt; set rgb 41 255 160 0<br>
&gt; set rgb 42 255 140 0<br>
&gt; set rgb 43 255 124 0<br>
&gt; set rgb 44 255 108 0<br>
&gt; set rgb 45 255 96 0<br>
&gt; set rgb 46 255 80 0<br>
&gt; set rgb 47 255 64 0<br>
&gt; set rgb 48 255 32 0<br>
&gt; set rgb 49 255 16 0<br>
&gt;<br>
&gt; *Categorical Snow<br>
&gt; set rgb 50 4 233 231<br>
&gt; set rgb 51 0 173 255<br>
&gt; set rgb 52 0 148 255<br>
&gt; set rgb 53 0 123 255<br>
&gt; set rgb 54 0 104 255<br>
&gt; set rgb 55 0 85 255<br>
&gt; set rgb 56 4 67 245<br>
&gt; set rgb 57 0 38 255<br>
&gt; set rgb 58 0 14 255<br>
&gt; set rgb 59 0 0 255<br>
&gt; set rgb 60 0 0 223<br>
&gt; set rgb 61 255 255 255<br>
&gt;<br>
&gt; set clevs 0.01 0.05 0.1 0.25 0.5 1 2 3 4 5 10 10.01 10.05 10.1 10.25 10.5<br>
&gt; 11 12<br>
&gt; 13 14 15 20 20.01 20.05 20.1 20.25 20.5 21 22 23 24 25 30 30.01 30.05 30.1<br>
&gt; 30.25<br>
&gt;  30.5 31 32 33 34 35<br>
&gt; set ccols 0 16 18 19 20 22 23 24 25 26 27 0 39 40 41 42 43 44 45 46 47 0 0<br>
&gt; 28 29<br>
&gt;  30 31 32 33 34 35 36 0 0 50 51 52 53 54 55 56 57 58 59<br>
&gt;<br>
&gt; So, Jeff, I believe that I am using #0 correctly.  But, when I do, it just<br>
&gt; uses white or black as the background as in this example:<br>
&gt;<br>
&gt; <a href="http://jeffsweatherservice.com/grads/nam/ptype_NE_2.gif" target="_blank">http://jeffsweatherservice.com/grads/nam/ptype_NE_2.gif</a><br>
&gt;<br>
&gt; Thanks,<br>
&gt;<br>
&gt;<br>
&gt; Jeff<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; On Mon, Nov 8, 2010 at 10:18 AM, &lt;<a href="mailto:gradsusr-request@gradsusr.org" target="_blank">gradsusr-request@gradsusr.org</a>&gt; wrote:<br>
&gt;<br>
&gt;&gt; Send gradsusr mailing list submissions to<br>
&gt;&gt;        <a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
&gt;&gt;<br>
&gt;&gt; To subscribe or unsubscribe via the World Wide Web, visit<br>
&gt;&gt;<br></div></div><div class="im">
&gt;&gt;        <a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br></div><div class="im">
&gt;&gt; or, via email, send a message with subject or body &#39;help&#39; to<br>
&gt;&gt;        <a href="mailto:gradsusr-request@gradsusr.org" target="_blank">gradsusr-request@gradsusr.org</a><br>
&gt;&gt;<br>
&gt;&gt; You can reach the person managing the list at<br>
&gt;&gt;        <a href="mailto:gradsusr-owner@gradsusr.org" target="_blank">gradsusr-owner@gradsusr.org</a><br>
&gt;&gt;<br>
&gt;&gt; When replying, please edit your Subject line so it is more specific<br>
&gt;&gt; than &quot;Re: Contents of gradsusr digest...&quot;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Today&#39;s Topics:<br>
&gt;&gt;<br>
&gt;&gt;   1. GrADS help,       plotting shaded contour precip/ptype products<br>
&gt;&gt;      over a    basemap/background (Jeff Chabot)<br>
&gt;&gt;   2. Re: GrADS help, plotting shaded contour precip/ptype products<br>
&gt;&gt;      over a basemap/background (Jeffrey Duda)<br>
&gt;&gt;   3. Problem with skewt plot using WRF output (Cristian ...)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; ----------------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; Message: 1<br>
&gt;&gt; Date: Mon, 8 Nov 2010 13:51:33 -0500<br>
&gt;&gt; From: Jeff Chabot &lt;<a href="mailto:jsc219@gmail.com" target="_blank">jsc219@gmail.com</a>&gt;<br>
&gt;&gt; Subject: [gradsusr] GrADS help, plotting shaded contour precip/ptype<br>
&gt;&gt;        products over a basemap/background<br>
&gt;&gt; To: <a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
&gt;&gt; Message-ID:<br></div>
&gt;&gt;        &lt;AANLkTinKn=<a href="mailto:eTr6myE00LdycRWRxdyy5e8hpBtf%2BFgLPz@mail.gmail.com" target="_blank">eTr6myE00LdycRWRxdyy5e8hpBtf+FgLPz@mail.gmail.com</a>&lt;<a href="mailto:eTr6myE00LdycRWRxdyy5e8hpBtf%252BFgLPz@mail.gmail.com" target="_blank">eTr6myE00LdycRWRxdyy5e8hpBtf%2BFgLPz@mail.gmail.com</a>&gt;<div class="im">
<br>

&gt;&gt; &gt;<br>
&gt;&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt;&gt;<br>
&gt;&gt;<br></div><div class="im">
&gt;&gt; Dear GrADS Users,<br>
&gt;&gt; I have been trying to apply a basemap to my precip/ptype shaded contour<br>
&gt;&gt; products on my personal website for some time now.  I have brainstormed<br>
&gt;&gt; and<br>
&gt;&gt; searched the GrADS online documents and have come up with ideas, but they<br>
&gt;&gt; have never worked.  My latest idea was to use Google Maps terrain data as<br>
&gt;&gt; a<br>
&gt;&gt; background to the map.  I thought it was a good idea, but I discovered<br>
&gt;&gt; that<br>
&gt;&gt; I still cannot resolve the issue in that precip = 0 shows either all white<br>
&gt;&gt; or all black depending on what I choose for the background, covering up my<br>
&gt;&gt; basemap.  I really thought the following command would have resolved that<br>
&gt;&gt; issue, but it did not:<br>
&gt;&gt;<br>
&gt;&gt; printim precip_NE_1.png png x570 y435 -b NE.png -t 0 Versions:GrADS: 2.0a9<br>
&gt;&gt; OS: Fedora 13<br>
&gt;&gt; Sample: <a href="http://jeffsweatherservice.com/grads/nam/ptype_NE_2.png" target="_blank">http://jeffsweatherservice.com/grads/nam/ptype_NE_2.png</a><br>
&gt;&gt;<br>
&gt;&gt; I know this can be done because of the example:<br>
&gt;&gt;<br>
&gt;&gt; <a href="http://wxmaps.org/pix/ez.east.html" target="_blank">http://wxmaps.org/pix/ez.east.html</a><br>
&gt;&gt;<br>
&gt;&gt; Any assistance here would be much appreciated.Sincerely,<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Jeff Chabot<br>
&gt;&gt; Email: <a href="mailto:jsc219@gmail.com" target="_blank">jsc219@gmail.com</a><br>
&gt;&gt; Web: <a href="http://jeffsweatherservice.com" target="_blank">http://jeffsweatherservice.com</a><br></div><div class="im">
&gt;&gt; -------------- next part --------------<br>
&gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt; URL:<br>
&gt;&gt; <a href="http://gradsusr.org/pipermail/gradsusr/attachments/20101108/93f97642/attachment-0001.html" target="_blank">http://gradsusr.org/pipermail/gradsusr/attachments/20101108/93f97642/attachment-0001.html</a><br>


&gt;&gt;<br>
&gt;&gt; ------------------------------<br>
&gt;&gt;<br>
&gt;&gt; Message: 2<br>
&gt;&gt; Date: Mon, 8 Nov 2010 12:57:30 -0600<br>
&gt;&gt; From: Jeffrey Duda &lt;<a href="mailto:jdduda@iastate.edu" target="_blank">jdduda@iastate.edu</a>&gt;<br>
&gt;&gt; Subject: Re: [gradsusr] GrADS help, plotting shaded contour<br>
&gt;&gt;        precip/ptype products over a basemap/background<br>
&gt;&gt; To: GrADS Users Forum &lt;<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a>&gt;<br>
&gt;&gt; Message-ID:<br>
&gt;&gt;        &lt;<a href="mailto:AANLkTikPmH-Og0-6uNAi4tpUMCoZbAZ3YTqm_HXkndpV@mail.gmail.com" target="_blank">AANLkTikPmH-Og0-6uNAi4tpUMCoZbAZ3YTqm_HXkndpV@mail.gmail.com</a>&gt;<br>
&gt;&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Jeff,<br>
&gt;&gt; What color table are you using?  Are you sure you have a #0 color?  I know<br>
&gt;&gt; that&#39;s supposed to be the background, but perhaps you are overwriting it<br>
&gt;&gt; with some other color that has the same color as your background but a<br>
&gt;&gt; different color number.<br>
&gt;&gt;<br>
&gt;&gt; Jeff Duda<br>
&gt;&gt;<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt;&gt;<br></div><div><div></div><div class="h5">
&gt;&gt; On Mon, Nov 8, 2010 at 12:51 PM, Jeff Chabot &lt;<a href="mailto:jsc219@gmail.com" target="_blank">jsc219@gmail.com</a>&gt; wrote:<br>
&gt;&gt;<br>
&gt;&gt; &gt; Dear GrADS Users,<br>
&gt;&gt; &gt; I have been trying to apply a basemap to my precip/ptype shaded contour<br>
&gt;&gt; &gt; products on my personal website for some time now.  I have brainstormed<br>
&gt;&gt; and<br>
&gt;&gt; &gt; searched the GrADS online documents and have come up with ideas, but<br>
&gt;&gt; they<br>
&gt;&gt; &gt; have never worked.  My latest idea was to use Google Maps terrain data<br>
&gt;&gt; as a<br>
&gt;&gt; &gt; background to the map.  I thought it was a good idea, but I discovered<br>
&gt;&gt; that<br>
&gt;&gt; &gt; I still cannot resolve the issue in that precip = 0 shows either all<br>
&gt;&gt; white<br>
&gt;&gt; &gt; or all black depending on what I choose for the background, covering up<br>
&gt;&gt; my<br>
&gt;&gt; &gt; basemap.  I really thought the following command would have resolved<br>
&gt;&gt; that<br>
&gt;&gt; &gt; issue, but it did not:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; printim precip_NE_1.png png x570 y435 -b NE.png -t 0 Versions:GrADS:<br>
&gt;&gt; 2.0a9<br>
&gt;&gt; &gt; OS: Fedora 13<br>
&gt;&gt; &gt; Sample: <a href="http://jeffsweatherservice.com/grads/nam/ptype_NE_2.png" target="_blank">http://jeffsweatherservice.com/grads/nam/ptype_NE_2.png</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; I know this can be done because of the example:<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; <a href="http://wxmaps.org/pix/ez.east.html" target="_blank">http://wxmaps.org/pix/ez.east.html</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Any assistance here would be much appreciated. Sincerely,<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; Jeff Chabot<br>
&gt;&gt; &gt; Email: <a href="mailto:jsc219@gmail.com" target="_blank">jsc219@gmail.com</a><br>
&gt;&gt; &gt; Web: <a href="http://jeffsweatherservice.com" target="_blank">http://jeffsweatherservice.com</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt; _______________________________________________<br>
&gt;&gt; &gt; gradsusr mailing list<br>
&gt;&gt; &gt; <a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a><br>
&gt;&gt; &gt; <a href="http://gradsusr.org/mailman/listinfo/gradsusr" target="_blank">http://gradsusr.org/mailman/listinfo/gradsusr</a><br>
&gt;&gt; &gt;<br>
&gt;&gt; &gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br></div></div><div class="im">
&gt;&gt; Jeff Duda<br>
&gt;&gt; Iowa State University<br>
&gt;&gt; Meteorology Graduate Student<br>
&gt;&gt; 3134 Agronomy Hall<br></div>
&gt;&gt; <a href="http://www.meteor.iastate.edu/%7Ejdduda" target="_blank">www.meteor.iastate.edu/~jdduda</a> &lt;<a href="http://www.meteor.iastate.edu/%7Ejdduda" target="_blank">http://www.meteor.iastate.edu/%7Ejdduda</a>&gt;<div>
<div></div><div class="h5"><br>

&gt;&gt; -------------- next part --------------<br>
&gt;&gt; An HTML attachment was scrubbed...<br>
&gt;&gt; URL:<br>
&gt;&gt; <a href="http://gradsusr.org/pipermail/gradsusr/attachments/20101108/159827b2/attachment-0001.html" target="_blank">http://gradsusr.org/pipermail/gradsusr/attachments/20101108/159827b2/attachment-0001.html</a><br>


&gt;&gt;<br>
&gt;&gt; ------------------------------<br>
&gt;&gt;<br>
&gt;&gt; Message: 3<br>
&gt;&gt; Date: Mon, 8 Nov 2010 16:23:09 -0300<br>
&gt;&gt; From: &quot;Cristian ...&quot; &lt;<a href="mailto:galenso85@hotmail.com" target="_blank">galenso85@hotmail.com</a>&gt;<br>
&gt;&gt; Subject: [gradsusr] Problem with skewt plot using WRF output<br>
&gt;&gt; To: &lt;<a href="mailto:gradsusr@gradsusr.org" target="_blank">gradsusr@gradsusr.org</a>&gt;<br>
&gt;&gt; Message-ID: &lt;SNT112-W63DF5D09C452E1C6FB44FBF4F0@phx.gbl&gt;<br>
&gt;&gt; Content-Type: text/plain; charset=&quot;iso-8859-1&quot;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; Hello,<br>
&gt;&gt;<br>
&gt;&gt; My name is Cristian. I am having some troubles to perform some skewt<br>
&gt;&gt; graphics using WRF output.<br>
&gt;&gt; I have created a binary and .ctl archives using ARWpost.<br>
&gt;&gt; The file is OK, and no troubles are expected.<br>
&gt;&gt;<br>
&gt;&gt; The problem starts when I want to create a skewt graphic.<br>
&gt;&gt; The temperature and dewpoint profiles are OK, but no information about<br>
&gt;&gt; wind is shown. Neither the Hodograpf, nor the wind speed and direction<br>
&gt;&gt; profiles are shown.<br>
&gt;&gt;<br>
&gt;&gt; No message of an error apears, and i have no idea what is happening.<br>
&gt;&gt; Even the undef value is th same as the .ctl archive.<br>
&gt;&gt;<br>
&gt;&gt; I am using Grads version 1.a8, in UBUNTU 9.04.<br>
&gt;&gt;<br>
&gt;&gt; Here is the script. I only changed parameters at the top of the archive.<br>
&gt;&gt;<br>
&gt;&gt; I really appreciate your help.<br>
&gt;&gt;<br>
&gt;&gt; Thanks<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; -----------------------------------------------------------------------------------------------------------------------------------------<br>
&gt;&gt; * Script para construir radiosondeos<br>
&gt;&gt;<br>
&gt;&gt; &#39;reinit&#39;<br>
&gt;&gt; &#39;run /home/cristian/Escritorio/Experimentos/lib/jaecol&#39;<br>
&gt;&gt; &#39;set display color white&#39;<br>
&gt;&gt; &#39;reset&#39;<br>
&gt;&gt;<br>
&gt;&gt; * Defino el archivo a utilizar<br>
&gt;&gt;<br>
&gt;&gt; &#39;open 20081004_YSU.ctl&#39;<br>
&gt;&gt; *path=&#39;&#39;<br>
&gt;&gt;<br>
&gt;&gt; * Latitud Longitud y tiempo<br>
&gt;&gt;<br>
&gt;&gt; lat=-46<br>
&gt;&gt; lon=-68<br>
&gt;&gt; time=12z04Oct2008<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; &#39;set time &#39;time<br>
&gt;&gt; &#39;set lon &#39;lon<br>
&gt;&gt; &#39;set lat &#39;lat<br>
&gt;&gt;<br>
&gt;&gt; *Entre que niveles hace el perfil hacerlo entre 1000 y 600<br>
&gt;&gt;<br>
&gt;&gt; levmax=925<br>
&gt;&gt; levmin=500<br>
&gt;&gt;<br>
&gt;&gt; &#39;set lev  &#39;levmax &#39; &#39; levmin<br>
&gt;&gt;<br>
&gt;&gt; *calculo Td a partir de HR, P y T<br>
&gt;&gt; *&#39;define et=(-2937.4/(t))-(4.9283*log10(t))+22.5518&#39;<br>
&gt;&gt; *&#39;define es=pow(10,et)*10&#39;<br>
&gt;&gt; *&#39;define e=es*0.01*hr&#39;<br>
&gt;&gt; *&#39;define q=0.622*e/(lev-e)&#39;<br>
&gt;&gt; *&#39;define aux1=q*1000*(1.+0.81*q)&#39;<br>
&gt;&gt; *&#39;define aux2=0.2854*(1.-0.28*q)&#39;<br>
&gt;&gt; *&#39;define aux3=(1000/lev)&#39;<br>
&gt;&gt; *&#39;define td=243.5/((17.67/(log(e/6.11)))-1)&#39;<br>
&gt;&gt; *&#39;define tc=t-273&#39;<br>
&gt;&gt;<br>
&gt;&gt; &#39;set ylopts 1 5 0.18&#39;<br>
&gt;&gt;<br>
&gt;&gt; plotskew(tc,td,u,v)<br>
&gt;&gt;<br>
&gt;&gt; &#39;q dims&#39;<br>
&gt;&gt; line1=sublin(result,4)<br>
&gt;&gt; line2=sublin(result,5)<br>
&gt;&gt; itime1=subwrd(line1,6)<br>
&gt;&gt; itit=substr(itime1,1,6)<br>
&gt;&gt; itime1=subwrd(line2,6)<br>
&gt;&gt; itime=substr(itime1,1,12)<br>
&gt;&gt; d=substr(itime1,4,2)<br>
&gt;&gt; m=substr(itime1,6,3)<br>
&gt;&gt; y=substr(itime1,9,4)<br>
&gt;&gt; h=substr(itime1,1,2)<br>
&gt;&gt; lati=-1*lat<br>
&gt;&gt; loni=-1*lon<br>
&gt;&gt;<br>
&gt;&gt; &#39;draw title Perfil vertical de T y Td en &#39;lati&#39;S y &#39;loni&#39;W\&#39;itime<br>
&gt;&gt; &#39;printim &#39;d&#39;.&#39;h&#39;sondeo.png png x600 y800 white&#39;<br>
&gt;&gt;<br>
&gt;&gt; function plotskew(sndtemp,snddewp,u,v)<br>
&gt;&gt;<br>
&gt;&gt; *El valor Undef que se coloca ac? debe coincidir con el valor undef del<br>
&gt;&gt; CTL, sin? hay problemas<br>
&gt;&gt; *en la construcci?n de la hod?grafa y del perfil vertical de viento.<br>
&gt;&gt; undef=1.e30<br>
&gt;&gt; *************************************************************************<br>
&gt;&gt; *<br>
&gt;&gt; * GrADS Script to Plot a SkewT/LogP Diagram<br>
&gt;&gt; *<br>
&gt;&gt; * Bob Hart<br>
&gt;&gt; * Penn State University / Dept of Meteorology<br>
&gt;&gt; * Last Update:  January 23, 2001<br>
&gt;&gt; *<br>
&gt;&gt; * Recent Changes:<br>
&gt;&gt; *<br>
&gt;&gt; * 01/23/01 - Fixed a small bug in the theta-e calculation.<br>
&gt;&gt; *            Errors averaged 0.5-3K.  Thank you George Bryan.<br>
&gt;&gt; *<br>
&gt;&gt; * 11/10/99 - Change in calculation method for CAPE/CIN.  Trapezoid<br>
&gt;&gt; *            integration method is now used.  Speeds up execution<br>
&gt;&gt; *            by 25%, and increases accuracy by 5-10%.<br>
&gt;&gt; *<br>
&gt;&gt; * 10/18/99 - Minor glitch fixed that occasionally caused crash.<br>
&gt;&gt; *<br>
&gt;&gt; *  8/26/99 - Datasets with missing data can now be used.<br>
&gt;&gt; *<br>
&gt;&gt; * Features:<br>
&gt;&gt; *   - All features of standard skewt/logp plot<br>
&gt;&gt; *   - RH sounding<br>
&gt;&gt; *   - LCL location<br>
&gt;&gt; *   - Parcel trajectory for both sfc based convection and elevated from<br>
&gt;&gt; *     most unstable level (highest theta-e level reported)<br>
&gt;&gt; *   - Stability indices and precipitable water calculations<br>
&gt;&gt; *   - CAPE &amp; CIN Calculations<br>
&gt;&gt; *   - Wind Profile<br>
&gt;&gt; *   - Hodograph / Hodograph scaling<br>
&gt;&gt; *   - Helicity and SR Helicity Calculations and Display<br>
&gt;&gt; *   - Color aspects of output<br>
&gt;&gt; *   - Line Thickness, style aspects of output<br>
&gt;&gt; *   - Can be run in either PORTRAIT or LANDSCAPE mode.<br>
&gt;&gt; *<br>
&gt;&gt; * There are numerous tunable parameters below to change the structure<br>
&gt;&gt; * and output for the diagram.<br>
&gt;&gt; *<br>
&gt;&gt; * Function Arguments:<br>
&gt;&gt; *    sndtemp - temperature data (Celsius) as a function of pressure<br>
&gt;&gt; *    snddewp - dewpoint data (Celsius) as a function of pressure<br>
&gt;&gt; *    sndspd  - wind speed data (knots) as a function of pressure<br>
&gt;&gt; *    snddir  - wind direction data as a function of pressure<br>
&gt;&gt; *<br>
&gt;&gt; * Use &#39;-1&#39; for any of the above 4 arguments to indicate that you<br>
&gt;&gt; * are not passing that variable.  The appropriate options will<br>
&gt;&gt; * be ignored based on your specifying &#39;-1&#39; for that variable.<br>
&gt;&gt; *<br>
&gt;&gt; * NOTE:  Make sure to set the vertical range of the plot before running.<br>
&gt;&gt; *        I.e., &quot;SET LEV 1050 150&quot;, for example.   This does not have to<br>
&gt;&gt; *        be limited to the pressure range of your data.<br>
&gt;&gt; *<br>
&gt;&gt; * Labelling:  Pressure/Height is labelled along left side.  Temperature is<br>
&gt;&gt; *             labelled along bottom.  Mixing ratio is labelled along right<br>
&gt;&gt; *             side/top.<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; * PROBLEMS:  First check out the web page for the script (which also<br>
&gt;&gt; *            has a link to a FAQ with answers to many common questions<br>
&gt;&gt; *            about using the script):<br></div></div>
&gt;&gt; *            <a href="http://www.ems.psu.edu/%7Ehart/skew.html" target="_blank">http://www.ems.psu.edu/~hart/skew.html</a>&lt;<a href="http://www.ems.psu.edu/%7Ehart/skew.html" target="_blank">http://www.ems.psu.edu/%7Ehart/skew.html</a>&gt;<div>
<div></div><div class="h5"><br>

&gt;&gt; *<br>
&gt;&gt; * Please send any further problems, comments, or suggestions to<br>
&gt;&gt; * &lt;<a href="mailto:hart@ems.psu.edu" target="_blank">hart@ems.psu.edu</a>&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * ACKNOWLEDGMENTS:  Thanks go to the innumerable users who have helped<br>
&gt;&gt; * fine tune the script from the horrible mess from which it began.<br>
&gt;&gt; * In particular, thanks go out to Steve Lord (NCEP), Mike Fiorino (ECMWF),<br>
&gt;&gt; * George Bryan (PSU), Davide Sacchetti (CMIRL), and Enrico Minguzzi<br>
&gt;&gt; (CMIRL).<br>
&gt;&gt; *<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt; *           !!!!!   BEGINNING OF USER-SPECIFIED OPTIONS  !!!!!!<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt; *<br>
&gt;&gt; * --------------------- Initialization options  ----------------------<br>
&gt;&gt; *<br>
&gt;&gt; * ClrScrn = Whether to clear the screen before drawing diagram<br>
&gt;&gt; *           [1 = yes, 0 = no]<br>
&gt;&gt;<br>
&gt;&gt; ClrScrn = 1<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * ------------------- Define Skew-T Diagram Shape/Slope-----------------<br>
&gt;&gt; *<br>
&gt;&gt; * (P1,T1) = Pres, Temp of some point on left-most side<br>
&gt;&gt; * (P2,T2) = Pres, Temp of some point on right-most side<br>
&gt;&gt; * (P3,T3) = Pres, Temp of some point in diagram which is mid-point<br>
&gt;&gt; *           in the horizontal between 1 and 2.<br>
&gt;&gt; *<br>
&gt;&gt; * P1, P2, P3 are in mb ; T1, T2, T3 are in Celsius<br>
&gt;&gt; *<br>
&gt;&gt; * These define the SLOPE and WIDTH of the diagram as you see it but DO NOT<br>
&gt;&gt; * DEFINE THE HEIGHT of the diagram as you see it.  In other words,<br>
&gt;&gt; * 1 and 2 do NOT necessarily need to be at the bottom of the diagram and<br>
&gt;&gt; * 3 does NOT necessarily need to be at the top.  THE VERTICAL PRESSURE<br>
&gt;&gt; * RANGE OF THE SKEWT AS YOU SEE IT IS DETERMINED BY YOUR &#39;SET Z ...&#39;<br>
&gt;&gt; * COMMAND OR THE &#39;SET LEV ...&#39; COMMAND BEFORE RUNNING THIS SCRIPT.<br>
&gt;&gt; *<br>
&gt;&gt; *    _______________________<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |           3           |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |1                     2|<br>
&gt;&gt; *   |                       |<br>
&gt;&gt; *   |_______________________|<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; * A good set of defining points are given below.   Feel free<br>
&gt;&gt; * to experiment with variations.<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *P1 = 1000<br>
&gt;&gt; *T1 = -40<br>
&gt;&gt;<br>
&gt;&gt; *P2 = 1000<br>
&gt;&gt; *T2 = 40<br>
&gt;&gt;<br>
&gt;&gt; *P3 = 200<br>
&gt;&gt; *T3 = 0<br>
&gt;&gt;<br>
&gt;&gt; * Another good set of defining points suggested by Juan Ruiz (Emagrama)<br>
&gt;&gt; * are:<br>
&gt;&gt; *<br>
&gt;&gt;  P1 = 1000<br>
&gt;&gt;  T1 = -80<br>
&gt;&gt; *<br>
&gt;&gt;  P2 = 1000<br>
&gt;&gt;  T2 = 40<br>
&gt;&gt; *<br>
&gt;&gt;  P3 = 500<br>
&gt;&gt;  T3 = -20<br>
&gt;&gt;<br>
&gt;&gt; * ------------------- Contour Intervals / Levels<br>
&gt;&gt; --------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * All variables below are contour intervals/levels for diagram<br>
&gt;&gt; *<br>
&gt;&gt; * Thetaint = interval for potential temperature lines<br>
&gt;&gt; * Thetwint = interval for moist pseudo adiabats<br>
&gt;&gt; * tempint  = interval for temperature lines<br>
&gt;&gt; * wsclevs  = contour LEVELS for mixing ratio lines<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; thetaint= 20<br>
&gt;&gt; thetwint= 10<br>
&gt;&gt; tempint = 10<br>
&gt;&gt; wsclevs = &quot;.1 .5 1 3 6 10 15 20 25 30&quot;<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; * ------------------------ Output Options --------------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * All variables below are logical .. 1=yes, 0=no, unless otherwise<br>
&gt;&gt; * specified.<br>
&gt;&gt; *<br>
&gt;&gt; * DrawBarb = Draw wind barbs along right side of plot<br>
&gt;&gt; * DrawThet = Draw dry adiabats<br>
&gt;&gt; * DrawThtw = Draw moist pseudo-adiabats<br>
&gt;&gt; * DrawTemp = Draw temperature lines<br>
&gt;&gt; * DrawMix  = Draw mixing ratio lines<br>
&gt;&gt; * DrawTSnd = Draw temperature sounding<br>
&gt;&gt; * DrawDSnd = Draw dewpoint sounding<br>
&gt;&gt; * DrawRH   = Draw relative humidity sounding<br>
&gt;&gt; * DrawPrcl = Draw parcel path from surface upward<br>
&gt;&gt; * DrawPMax = Draw parcel path from most unstable level upward<br>
&gt;&gt; * DrawIndx = Display stability indices &amp; CAPE<br>
&gt;&gt; * DrawHeli = Calculate and display absolute and storm-relative helicity<br>
&gt;&gt; * DrawHodo = Draw hodograph<br>
&gt;&gt; * DrawPLev = Draw Pressure Levels<br>
&gt;&gt; * DrawZLev = Draw height levels and lines<br>
&gt;&gt; *            0 = no lines<br>
&gt;&gt; *            1 = above ground level (AGL)<br>
&gt;&gt; *            2 = above sea level (ASL)<br>
&gt;&gt; * DrawZSTD = Draw Height levels using standard atm lapse rate<br>
&gt;&gt; * LblAxes  = Label the x,y axes (temperature, pressure,mixing ratio)<br>
&gt;&gt; *<br>
&gt;&gt; * ThtwStop = Pressure level at which to stop drawing Theta-w lines<br>
&gt;&gt; * MixStop  = Pressure level at which to stop drawing Mixratio lines<br>
&gt;&gt;<br>
&gt;&gt; DrawBarb= 1<br>
&gt;&gt; DrawThet= 1<br>
&gt;&gt; DrawThtw= 1<br>
&gt;&gt; DrawTemp= 1<br>
&gt;&gt; DrawMix = 1<br>
&gt;&gt; DrawTSnd= 1<br>
&gt;&gt; DrawDSnd= 1<br>
&gt;&gt; DrawRH  = 0<br>
&gt;&gt; DrawPrcl= 1<br>
&gt;&gt; DrawPMax= 1<br>
&gt;&gt; DrawIndx= 1<br>
&gt;&gt; DrawHeli= 0<br>
&gt;&gt; DrawHodo= 1<br>
&gt;&gt; DrawPLev= 1<br>
&gt;&gt; DrawZLev= 0<br>
&gt;&gt; DrawZSTD= 0<br>
&gt;&gt; LblAxes = 1<br>
&gt;&gt;<br>
&gt;&gt; ThtwStop = 200<br>
&gt;&gt; MixStop  = 400<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * -----------------  Sounding Geography options ------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * SfcElev = Elevation above sea-level (meters) of lowest level reported<br>
&gt;&gt; *           in sounding.  Used only if DrawZLev = 2<br>
&gt;&gt;<br>
&gt;&gt; SfcElev = 0<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * ------------------ Thermodynamic Index Options --------------------<br>
&gt;&gt; *<br>
&gt;&gt; * All variables here are in inches.  Use -1 for the default values.<br>
&gt;&gt; *<br>
&gt;&gt; *  Text1XC = X-location of midpoint of K,TT,PW output box<br>
&gt;&gt; *  Text1YC = Y-location of midpoint of K,TT,PW output box<br>
&gt;&gt; *  Text2XC = X-Location of midpoint of surface indices output box<br>
&gt;&gt; *  Text2YC = Y-location of midpoint of surface indices output box<br>
&gt;&gt; *  Text3XC = X-Location of midpoint of most unstable level-based indices<br>
&gt;&gt; *            output box<br>
&gt;&gt; *  Text3YC = Y-location of midpoint of most unstable level-based indices<br>
&gt;&gt; *            output box<br>
&gt;&gt;<br>
&gt;&gt; Text1XC = -1<br>
&gt;&gt; Text1YC = -1<br>
&gt;&gt; Text2XC = -1<br>
&gt;&gt; Text2YC = -1<br>
&gt;&gt; Text3XC = -1<br>
&gt;&gt; Text3YC = -1<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * ----------------- Wind Barb Profile Options ----------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * All variables here are in units of inches, unless otherwise specified<br>
&gt;&gt; *<br>
&gt;&gt; *  barbint = Interval for plotting barbs (in units of levels)<br>
&gt;&gt; *  poleloc = X-Location of profile.  Choose -1 for the default.<br>
&gt;&gt; *  polelen = Length of wind-barb pole<br>
&gt;&gt; *  Len05   = Length of each 5-knot barb<br>
&gt;&gt; *  Len10   = Length of each 10-knot barb<br>
&gt;&gt; *  Len50   = Length of each 50-knot flag<br>
&gt;&gt; *  Wid50   = Width of base of 50-knot flag<br>
&gt;&gt; *  Spac50  = Spacing between 50-knot flag and next ror occurred on<br>
&gt;&gt; libarb/flag<br>
&gt;&gt; *  Spac10  = Spacing between 10-knot flag and next flag<br>
&gt;&gt; *  Spac05  = Spacing between 5-knot flag and next flag<br>
&gt;&gt; *  Flagbase= Draw flagbase (filled circle) for each windbarb [1=yes, 0<br>
&gt;&gt; =no]<br>
&gt;&gt; *  Fill50  = Solid-fill 50-knot flag [1=yes, 0=no]<br>
&gt;&gt; *  barbline= Draw a vertical line connecting all the wind barbs [1=yes,<br>
&gt;&gt; 0=no]<br>
&gt;&gt; *<br>
&gt;&gt; barbint = 1<br>
&gt;&gt; poleloc = -1<br>
&gt;&gt; polelen = 0.35<br>
&gt;&gt; len05   = 0.07<br>
&gt;&gt; len10   = 0.15<br>
&gt;&gt; len50   = 0.15<br>
&gt;&gt; wid50   = 0.06<br>
&gt;&gt; spac50  = 0.07<br>
&gt;&gt; spac10  = 0.05<br>
&gt;&gt; spac05  = 0.05<br>
&gt;&gt; Fill50  = 1<br>
&gt;&gt; flagbase= 1<br>
&gt;&gt; barbline= 1<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; *---------------- Hodograph Options -------------------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * All variables here are in units of inches, unless otherwise specified<br>
&gt;&gt; *<br>
&gt;&gt; * HodXcent= x-location of hodograph center.  Use -1 for default location.<br>
&gt;&gt; * HodYcent= y-location of hodograph center.  Use -1 for default location.<br>
&gt;&gt; * HodSize = Size of hodograph in inches<br>
&gt;&gt; * NumRing = Number of rings to place in hodograph (must be at least 1)<br>
&gt;&gt; * HodRing = Wind speed increment of each hodograph ring<br>
&gt;&gt; * HodoDep = Depth (above lowest level in mb) of end of hodograph trace<br>
&gt;&gt; * TickInt = Interval (in kts) at which tick marks are drawn along the axes<br>
&gt;&gt; *           Use 0 for no tick marks.<br>
&gt;&gt; * TickSize= Size of tick mark in inches<br>
&gt;&gt; * Text4XC = X-location of midpoint of hodograph text output. Use -1 for<br>
&gt;&gt; default.<br>
&gt;&gt; * Text4YC = Y-location of midpoint of hodograph text output. Use -1 for<br>
&gt;&gt; default.<br>
&gt;&gt;<br>
&gt;&gt; HodXcent= 6<br>
&gt;&gt; HodYcent= 9<br>
&gt;&gt; HodSize = 2<br>
&gt;&gt; NumRing = 3<br>
&gt;&gt; HodRing = 10<br>
&gt;&gt; HodoDep = 500<br>
&gt;&gt; TickInt = 5<br>
&gt;&gt; TickSize= 0.1<br>
&gt;&gt; Text4XC = -1<br>
&gt;&gt; Text4YC = -1<br>
&gt;&gt;<br>
&gt;&gt; *--------------- Helicity Options ---------------------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * MeanVTop = Top pressure level (mb) of mean-wind calculation<br>
&gt;&gt; * MeanVBot = Bottom pressure level (mb) of mean-wind calculation<br>
&gt;&gt; * HelicDep = Depth in mb (above ground) of helicity integration<br>
&gt;&gt; * StormMot = Type of storm motion estimation scheme.  Use following:<br>
&gt;&gt; *            0 = No departure from mean wind.<br>
&gt;&gt; *            1 = Davies-Jones (1990) approach<br>
&gt;&gt; * FillArrw = Whether to fill the arrowhead of the storm motion vector<br>
&gt;&gt; *            [1 = yes, 0 = no]<br>
&gt;&gt;<br>
&gt;&gt; MeanVTop= 300<br>
&gt;&gt; MeanVBot= 850<br>
&gt;&gt; HelicDep= 300<br>
&gt;&gt; StormMot= 0<br>
&gt;&gt; FillArrw= 1<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; *---------------- Color Options ------------------------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * ThetCol = Color of dry adiabats<br>
&gt;&gt; * TempCol = Color of temperature lines<br>
&gt;&gt; * MixCol  = Color of mixing ratio lines<br>
&gt;&gt; * ThtwCol = Color of moist adiabats<br>
&gt;&gt; * TSndCol = Color of Temperature Sounding<br>
&gt;&gt; * DSndCol = Color of Dewpoint Sounding<br>
&gt;&gt; * RHCol   = Color of RH Sounding<br>
&gt;&gt; * PrclCol = Color of parcel trace<br>
&gt;&gt; * BarbCol = Color of wind barbs (choose -1 for color according to speed)<br>
&gt;&gt; * HodoCol = Color of hodograph trace<br>
&gt;&gt;<br>
&gt;&gt; ThetCol = 23<br>
&gt;&gt; TempCol = 79<br>
&gt;&gt; MixCol  = 38<br>
&gt;&gt; ThtwCol = 39<br>
&gt;&gt; TSndCol = 29<br>
&gt;&gt; DSndCol = 49<br>
&gt;&gt; RHCol   = 3<br>
&gt;&gt; PrclCol = 1<br>
&gt;&gt; BarbCol = 1<br>
&gt;&gt; HodoCol = 2<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; *-------------------- Line Style Options<br>
&gt;&gt; ------------------------------------<br>
&gt;&gt; *<br>
&gt;&gt; * GrADS Styles: 1=solid;2=long dash;3=short dash;4=long,short dashed;<br>
&gt;&gt; *               5=dotted;6=dot dash;7=dot dot dash<br>
&gt;&gt; *<br>
&gt;&gt; * ThetLine = Line Style of dry adiabats<br>
&gt;&gt; * TempLine = Line Style of temperature lines<br>
&gt;&gt; * MixLine  = Line Style of mixing ratio lines<br>
&gt;&gt; * ThtwLine = Line Style of moist adiabats<br>
&gt;&gt; * TSndLine = Line Style of Temperature Sounding<br>
&gt;&gt; * DSndLine = Line Style of Dewpoint Sounding<br>
&gt;&gt; * RHLine   = Line Style of RH sounding<br>
&gt;&gt; * PrclLine = Line Style of parcel trace<br>
&gt;&gt; * HodoLine = Line Style of hodograph trace<br>
&gt;&gt; *<br>
&gt;&gt;<br>
&gt;&gt; ThetLine = 1<br>
&gt;&gt; TempLine = 1<br>
&gt;&gt; MixLine  = 5<br>
&gt;&gt; ThtwLine = 2<br>
&gt;&gt; TSndLine = 1<br>
&gt;&gt; DSndLine = 2<br>
&gt;&gt; RHLine   = 1<br>
&gt;&gt; PrclLine = 3<br>
&gt;&gt; HodoLine = 1<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; *------------------- Line Thickness<br>
&gt;&gt; Options---------------------------------<br>
&gt;&gt; * GrADS Line Thickness: increases with increasing number. Influences<br>
&gt;&gt; *                       hardcopy output more strongly than screen output.<br>
&gt;&gt; *<br>
&gt;&gt; *<br>
&gt;&gt; * ThetThk = Line Thickness of dry adiabats<br>
&gt;&gt; * TempThk = Line Thickness of temperature lines<br>
&gt;&gt; * MixThk  = Line Thickness of mixing ratio lines<br>
&gt;&gt; * ThtwThk = Line Thickness of moist adiabats<br>
&gt;&gt; * TSndThk = Line Thickness of temperature sounding<br>
&gt;&gt; * DSndThk = Line thickness of dewpoint sounding<br>
&gt;&gt; * RHThk   = Line thickness of RH sounding<br>
&gt;&gt; * PrclThk = Line thickness of parcel trace<br>
&gt;&gt; * HodoThk = Line thickness of hodograph trace<br>
&gt;&gt; * BarbThk = Line thickness of wind barbs<br>
&gt;&gt;<br>
&gt;&gt; ThetThk = 3<br>
&gt;&gt; TempThk = 1<br>
&gt;&gt; MixThk  = 7<br>
&gt;&gt; ThtwThk = 3<br>
&gt;&gt; TSndThk = 12<br>
&gt;&gt; DSndThk = 12<br>
&gt;&gt; RHThk   = 8<br>
&gt;&gt; PrclThk = 6<br>
&gt;&gt; HodoThk = 6<br>
&gt;&gt; BarbThk = 2<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; *------------------- Data Point Marker Options<br>
&gt;&gt; -----------------------------<br>
&gt;&gt; * GrADS Marker Types: 0 = none ; 1 = cross ; 2 = open circle ;<br>
&gt;&gt; *                     3 = closed circle ; 4 = open square ; 5 = closed<br>
&gt;&gt; square<br>
&gt;&gt; *                     6 = X ; 7 = diamond ; 8 = triangle ; 9 = none<br>
&gt;&gt; *                    10 = open circle with vertical line ; 11 = open oval<br>
&gt;&gt; *<br>
&gt;&gt; * TSndMrk = Mark type of data point marker for temperature sounding<br>
&gt;&gt; * DSndMrk = Mark type of data point marker for dewpoint sounding<br>
&gt;&gt; * RHMrk   = Mark type of data point marker for relative humidity sounding<br>
&gt;&gt; * MrkSize = Mark size (inches) of each data marker<br>
&gt;&gt;<br>
&gt;&gt; TSndMrk = 3<br>
&gt;&gt; DSndMrk = 3<br>
&gt;&gt; RHMrk   = 0<br>
&gt;&gt; MrkSize = 0.1<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * !!!!! YOU SHOULD NOT NEED TO CHANGE ANYTHING BELOW HERE !!!!!<br>
&gt;&gt;<br>
&gt;&gt; ****************************************************************************<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------------<br>
&gt;&gt; * grab user-specified environment dimensions<br>
&gt;&gt; *-------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; &quot;q dims&quot;<br>
&gt;&gt; rec=sublin(result,2)<br>
&gt;&gt; _xtype=subwrd(rec,3)<br>
&gt;&gt; _xval=subwrd(rec,9)<br>
&gt;&gt; rec=sublin(result,3)<br>
&gt;&gt; _yval=subwrd(rec,9)<br>
&gt;&gt; _ytype=subwrd(rec,3)<br>
&gt;&gt; rec=sublin(result,4)<br>
&gt;&gt; _ptype=subwrd(rec,3)<br>
&gt;&gt; _pmax=subwrd(rec,6)<br>
&gt;&gt; _pmin=subwrd(rec,8)<br>
&gt;&gt; _zmin=subwrd(rec,11)<br>
&gt;&gt; _zmax=subwrd(rec,13)<br>
&gt;&gt; rec=sublin(result,5)<br>
&gt;&gt; _ttype=subwrd(rec,3)<br>
&gt;&gt; _tval=subwrd(rec,9)<br>
&gt;&gt;<br>
&gt;&gt; &quot;q file&quot;<br>
&gt;&gt; rec=sublin(result,5)<br>
&gt;&gt; _zmaxfile=subwrd(rec,9)<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------------------------------<br>
&gt;&gt; * Check to ensure that dimensions are valid.  Warn &amp; exit if not.<br>
&gt;&gt; *--------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; dimrc=0<br>
&gt;&gt; If (_xtype != &quot;fixed&quot;)<br>
&gt;&gt;  say &quot;X-Dims Error:  Not fixed.  Use &#39;set lon&#39; or &#39;set x&#39; to specify a<br>
&gt;&gt; value.&quot;<br>
&gt;&gt;  dimrc=-1<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (_ytype != &quot;fixed&quot;)<br>
&gt;&gt;  say &quot;Y-Dims Error:  Not fixed.  Use &#39;set lat&#39; or &#39;set y&#39; to specify a<br>
&gt;&gt; value&quot;<br>
&gt;&gt;  dimrc=-1<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (_ptype != &quot;varying&quot;)<br>
&gt;&gt;   say &quot;Z-Dims Error:  Not varying.  Use &#39;set lev&#39; or &#39;set z&#39; to specify a<br>
&gt;&gt; range.&quot;<br>
&gt;&gt;   dimrc=-1<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (_ttype != &quot;fixed&quot;)<br>
&gt;&gt;  say &quot;Time Error:     Not fixed.  Use &#39;set time&#39; or &#39;set t&#39; to specify a<br>
&gt;&gt; value&quot;<br>
&gt;&gt;  dimrc=-1<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; If (dimrc &lt; 0)<br>
&gt;&gt;  Return(-1)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * A few global variables used in units conversion<br>
&gt;&gt; *<br>
&gt;&gt;<br>
&gt;&gt; _pi=3.14159265<br>
&gt;&gt; _dtr=_pi/180<br>
&gt;&gt; _rtd=1/_dtr<br>
&gt;&gt; _ktm=0.514444<br>
&gt;&gt; _mtk=1/_ktm<br>
&gt;&gt;<br>
&gt;&gt; * A few global constants used in thermo calcs<br>
&gt;&gt;<br>
&gt;&gt; _C0=0.99999683<br>
&gt;&gt; _C1=-0.90826951/100<br>
&gt;&gt; _C2= 0.78736169/10000<br>
&gt;&gt; _C3=-0.61117958/1000000<br>
&gt;&gt; _C4= 0.43884187/pow(10,8)<br>
&gt;&gt; _C5=-0.29883885/pow(10,10)<br>
&gt;&gt; _C6= 0.21874425/pow(10,12)<br>
&gt;&gt; _C7=-0.17892321/pow(10,14)<br>
&gt;&gt; _C8= 0.11112018/pow(10,16)<br>
&gt;&gt; _C9=-0.30994571/pow(10,19)<br>
&gt;&gt;<br>
&gt;&gt; *Calculo la direcci?n e intensidad del viento usando las funciones GetWdir<br>
&gt;&gt; y GetWsp<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * A pressure array of power calculations which should be performed<br>
&gt;&gt; * only once to reduce execution time.<br>
&gt;&gt;<br>
&gt;&gt; zz=1100<br>
&gt;&gt; while (zz &gt; 10)<br>
&gt;&gt;    subscr=zz/10<br>
&gt;&gt;    _powpres.subscr=pow(zz,0.286)<br>
&gt;&gt;    zz=zz-10<br>
&gt;&gt; endwhile<br>
&gt;&gt;<br>
&gt;&gt; *<br>
&gt;&gt; * Turn off options not available due to user data limitations<br>
&gt;&gt; *<br>
&gt;&gt;<br>
&gt;&gt; If (ClrScrn = 1)<br>
&gt;&gt;  &quot;clear&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (sndspd = -1 | snddir = -1)<br>
&gt;&gt;  DrawBarb = 0<br>
&gt;&gt;  DrawHodo = 0<br>
&gt;&gt;  DrawHeli = 0<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (snddewp = -1)<br>
&gt;&gt;  DrawDSnd = 0<br>
&gt;&gt;  DrawRH   = 0<br>
&gt;&gt;  DrawPrcl = 0<br>
&gt;&gt;  DrawPMax = 0<br>
&gt;&gt;  DrawIndx = 0<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (sndtemp = -1)<br>
&gt;&gt;  DrawTSnd = 0<br>
&gt;&gt;  DrawRH   = 0<br>
&gt;&gt;  DrawPrcl = 0<br>
&gt;&gt;  DrawPMax = 0<br>
&gt;&gt;  DrawIndx = 0<br>
&gt;&gt;  DrawZLev = 0<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; If (NumRing &lt; 1)<br>
&gt;&gt;  DrawHodo = 0<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; &quot;q gxinfo&quot;<br>
&gt;&gt; rec=sublin(result,2)<br>
&gt;&gt; xsize=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt; If (xsize = 11)<br>
&gt;&gt;   PageType = &quot;Landscape&quot;<br>
&gt;&gt; Else<br>
&gt;&gt;   PageType = &quot;Portrait&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *------------------------------------------------------<br>
&gt;&gt; * calculate constants determining slope/shape of diagram<br>
&gt;&gt; * based on temp/pressure values given by user<br>
&gt;&gt; *-------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; &quot;set x 1&quot;<br>
&gt;&gt; &quot;set y 1&quot;<br>
&gt;&gt; &quot;set z 1&quot;<br>
&gt;&gt; &quot;set t 1&quot;<br>
&gt;&gt; _m1=(T1+T2-2*T3)/(2*log10(P2/P3))<br>
&gt;&gt; _m2=(T2-T3-_m1*log10(P2/P3))/50<br>
&gt;&gt; _m3=(T1-_m1*log10(P1))<br>
&gt;&gt;<br>
&gt;&gt; &quot;set z &quot;_zmin&quot; &quot;_zmax<br>
&gt;&gt; &quot;set zlog on&quot;<br>
&gt;&gt; &quot;set xlab off&quot;<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------------------<br>
&gt;&gt; * perform coordinate transformation to Skew-T/LogP<br>
&gt;&gt; *-------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; &quot;set gxout stat&quot;<br>
&gt;&gt; &quot;set x &quot;_xval<br>
&gt;&gt; &quot;set y &quot;_yval<br>
&gt;&gt; &quot;set t &quot;_tval<br>
&gt;&gt; &quot;define tempx=(&quot;sndtemp&quot;-&quot;_m1&quot;*log10(lev)-&quot;_m3&quot;)/&quot;_m2<br>
&gt;&gt; &quot;define dewpx=(&quot;snddewp&quot;-&quot;_m1&quot;*log10(lev)-&quot;_m3&quot;)/&quot;_m2<br>
&gt;&gt;<br>
&gt;&gt; If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;   &quot;set parea 0.7 7 0.75 10&quot;<br>
&gt;&gt; Else<br>
&gt;&gt;   &quot;set parea 0.7 6.5 0.5 8&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; &quot;set axlim 0 100&quot;<br>
&gt;&gt; &quot;set lon 0 100&quot;<br>
&gt;&gt; &quot;set grid on 1 1&quot;<br>
&gt;&gt;<br>
&gt;&gt; &quot;set z &quot;_zmin &quot; &quot; _zmax<br>
&gt;&gt; &quot;set lon 0 100&quot;<br>
&gt;&gt; &quot;set clevs -900&quot;<br>
&gt;&gt; &quot;set gxout contour&quot;<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------<br>
&gt;&gt; * Draw pressure lines<br>
&gt;&gt; *-------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawPLev = 0)<br>
&gt;&gt;   &quot;set ylab off&quot;<br>
&gt;&gt; Else<br>
&gt;&gt;   &quot;set ylab on&quot;<br>
&gt;&gt;   &quot;set ylopts 1 5 0.18&quot;<br>
&gt;&gt;   &quot;set xlopts 1 3 0.18&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; &quot;d lon&quot;<br>
&gt;&gt;<br>
&gt;&gt; *--------------------------------------<br>
&gt;&gt; * Determine corners of skewt/logp frame<br>
&gt;&gt; *--------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; &quot;q w2xy 100 &quot;_pmin<br>
&gt;&gt; rxloc=subwrd(result,3)<br>
&gt;&gt; tyloc=subwrd(result,6)<br>
&gt;&gt; &quot;q w2xy 0 &quot;_pmax<br>
&gt;&gt; lxloc=subwrd(result,3)<br>
&gt;&gt; byloc=subwrd(result,6)<br>
&gt;&gt;<br>
&gt;&gt; If (DrawPLev = 1 &amp; LblAxes = 1)<br>
&gt;&gt;   &quot;set strsiz 0.15&quot;<br>
&gt;&gt;   &quot;set string 1 c 3 0&quot;<br>
&gt;&gt;   If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt; * &quot;draw string 0.5 10.5 hPa.&quot;<br>
&gt;&gt;   Else<br>
&gt;&gt;      &quot;draw string 0.5 8.35 hPa.&quot;<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt; * Calculate &amp; draw actual height lines using temp data<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawZLev &gt; 0)<br>
&gt;&gt;   say &quot;Calculating observed height levels from temp/pressure data.&quot;<br>
&gt;&gt;   zz=1<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   &quot;set x &quot;_xval<br>
&gt;&gt;   &quot;set y &quot;_yval<br>
&gt;&gt;   &quot;set t &quot;_tval<br>
&gt;&gt;   count=0<br>
&gt;&gt;   while (zz &lt; _zmax)<br>
&gt;&gt;      &quot;set z &quot;zz<br>
&gt;&gt;      pp.zz=subwrd(result,4)<br>
&gt;&gt;      lpp.zz=log(pp.zz)<br>
&gt;&gt;      &quot;d &quot;sndtemp<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      tt=subwrd(rec,4)<br>
&gt;&gt;      if (tt &gt; -900)<br>
&gt;&gt;         tk=tt+273.15<br>
&gt;&gt;         count=count+1<br>
&gt;&gt;         zzm=zz-1<br>
&gt;&gt;         If (count = 1)<br>
&gt;&gt;            If (DrawZLev = 2)<br>
&gt;&gt;               htlb=&quot;ASL&quot;<br>
&gt;&gt;               height.zz=SfcElev<br>
&gt;&gt;            Else<br>
&gt;&gt;               htlb=&quot;AGL&quot;<br>
&gt;&gt;               height.zz=0<br>
&gt;&gt;            Endif<br>
&gt;&gt;            sfcz=height.zz<br>
&gt;&gt;         Else<br>
&gt;&gt;<br>
&gt;&gt;  DZ=29.2857*(lpp.zzm-lpp.zz)*(lpp.zz*tk+lpp.zzm*tkold)/(lpp.zz+lpp.zzm)<br>
&gt;&gt;            height.zz=height.zzm+DZ<br>
&gt;&gt;            highz=height.zz<br>
&gt;&gt;         Endif<br>
&gt;&gt;      else<br>
&gt;&gt;         height.zz = -9999<br>
&gt;&gt;      endif<br>
&gt;&gt;      tkold=tk<br>
&gt;&gt;      zz=zz+1<br>
&gt;&gt;   endwhile<br>
&gt;&gt;<br>
&gt;&gt;   maxht=int(highz/1000)<br>
&gt;&gt;   if (int(sfcz/1000) = sfcz/1000)<br>
&gt;&gt;      minht=int(sfcz/1000)<br>
&gt;&gt;   else<br>
&gt;&gt;      minht=1+int(sfcz/1000)<br>
&gt;&gt;   endif<br>
&gt;&gt;<br>
&gt;&gt;   ht=minht<br>
&gt;&gt;   &quot;set line 1 3 1&quot;<br>
&gt;&gt;   &quot;set strsiz 0.10&quot;<br>
&gt;&gt;   &quot;set string 1 l 3 0&quot;<br>
&gt;&gt;   while (ht &lt;= maxht)<br>
&gt;&gt;       zz=1<br>
&gt;&gt;       while (height.zz/1000 &lt;= ht)<br>
&gt;&gt;          zz=zz+1<br>
&gt;&gt;       endwhile<br>
&gt;&gt;       zzm=zz-1<br>
&gt;&gt;       PBelow=pp.zzm<br>
&gt;&gt;       PAbove=pp.zz<br>
&gt;&gt;       HBelow=height.zzm<br>
&gt;&gt;       HAbove=height.zz<br>
&gt;&gt;       DZ=HAbove-HBelow<br>
&gt;&gt;       DP=PAbove-PBelow<br>
&gt;&gt;       Del=ht*1000-HBelow<br>
&gt;&gt;       Est=PBelow+Del*DP/DZ<br>
&gt;&gt;       If (Est &gt;= _pmin &amp; Est &lt;= _pmax)<br>
&gt;&gt;          &quot;q w2xy 1 &quot; Est<br>
&gt;&gt;          yloc=subwrd(result,6)<br>
&gt;&gt;          &quot;draw line &quot; lxloc &quot; &quot; yloc &quot; &quot; rxloc &quot; &quot; yloc<br>
&gt;&gt;          &quot;draw string 0.22 &quot;yloc-0.05&quot; &quot;ht<br>
&gt;&gt;       Endif<br>
&gt;&gt;       ht=ht+1<br>
&gt;&gt;   endwhile<br>
&gt;&gt;   &quot;set strsiz 0.10&quot;<br>
&gt;&gt;   &quot;set string 1&quot;<br>
&gt;&gt;   If (LblAxes = 1)<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;         &quot;draw string 0.25 10.85 km&quot;<br>
&gt;&gt;         &quot;draw string 0.25 10.75 &quot;htlb<br>
&gt;&gt;         &quot;draw string 0.25 10.65 OBS&quot;<br>
&gt;&gt;      Else<br>
&gt;&gt;         &quot;draw string 0.25 8.35 km&quot;<br>
&gt;&gt;         &quot;draw string 0.25 8.25 &quot;htlb<br>
&gt;&gt;         &quot;draw string 0.25 8.15 OBS&quot;<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt; * Draw height levels (height above MSL using Std Atm)<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawZSTD = 1)<br>
&gt;&gt;   &quot;set strsiz 0.10&quot;<br>
&gt;&gt;   minht=30.735*(1-pow(_pmax/1013.26,0.287))<br>
&gt;&gt;   minht=int(minht+0.5)<br>
&gt;&gt;   maxht=30.735*(1-pow(_pmin/1013.26,0.287))<br>
&gt;&gt;   maxht=int(maxht)<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   zcount=minht<br>
&gt;&gt;   while (zcount &lt;= maxht)<br>
&gt;&gt;      plev=1013.26*pow((1-zcount/30.735),3.4843)<br>
&gt;&gt;      &quot;q w2xy 0 &quot;plev<br>
&gt;&gt;      yloc=subwrd(result,6)<br>
&gt;&gt;      &quot;draw string 0 &quot;yloc-0.05&quot; &quot;zcount<br>
&gt;&gt;      zcount=zcount+1<br>
&gt;&gt;   endwhile<br>
&gt;&gt;   &quot;set strsiz 0.10&quot;<br>
&gt;&gt;   If (LblAxes = 1)<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;         &quot;draw string 0 10.85 km&quot;<br>
&gt;&gt;         &quot;draw string 0 10.75 ASL&quot;<br>
&gt;&gt;         &quot;draw string 0 10.65 STD&quot;<br>
&gt;&gt;      Else<br>
&gt;&gt;         &quot;draw string 0 8.35 km&quot;<br>
&gt;&gt;         &quot;draw string 0 8.25 ASL&quot;<br>
&gt;&gt;         &quot;draw string 0 8.15 STD&quot;<br>
&gt;&gt;      Endif<br>
&gt;&gt;  Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *-----------------------<br>
&gt;&gt; * Plot temperature lines<br>
&gt;&gt; *-----------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawTemp = 1)<br>
&gt;&gt;   &quot;set strsiz 0.1&quot;<br>
&gt;&gt;   &quot;set z &quot;_zmin &quot; &quot; _zmax<br>
&gt;&gt;   &quot;set line &quot;TempCol &quot; &quot; TempLine &quot; &quot;TempThk<br>
&gt;&gt;   &quot;set string 1 c 3 0&quot;<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   maxtline=GetTemp(100,_pmax)<br>
&gt;&gt;   mintline=GetTemp(0,_pmin)<br>
&gt;&gt;<br>
&gt;&gt;   maxtline=tempint*int(maxtline/tempint)<br>
&gt;&gt;   mintline=tempint*int(mintline/tempint)<br>
&gt;&gt;<br>
&gt;&gt;   tloop=mintline<br>
&gt;&gt;   While (tloop &lt;= maxtline)<br>
&gt;&gt;       Botxtemp=GetXLoc(tloop,_pmax)<br>
&gt;&gt;       &quot;q w2xy &quot;Botxtemp &quot; &quot; _pmax<br>
&gt;&gt;       Botxloc=subwrd(result,3)<br>
&gt;&gt;       Botyloc=byloc<br>
&gt;&gt;       Topxtemp=GetXLoc(tloop,_pmin)<br>
&gt;&gt;        &quot;q w2xy &quot;Topxtemp &quot; &quot; _pmin<br>
&gt;&gt;       Topxloc=subwrd(result,3)<br>
&gt;&gt;       Topyloc=tyloc<br>
&gt;&gt;       If (Botxtemp &lt;= 100 | Topxtemp &lt;= 100)<br>
&gt;&gt;          If (Topxtemp &gt; 100)<br>
&gt;&gt;             Slope=(Topyloc-Botyloc)/(Topxtemp-Botxtemp)<br>
&gt;&gt;             b=Topyloc-Slope*Topxtemp<br>
&gt;&gt;             Topyloc=Slope*100+b<br>
&gt;&gt;             Topxloc=rxloc<br>
&gt;&gt;          Endif<br>
&gt;&gt;          If (Botxtemp &lt; 0)<br>
&gt;&gt;             Slope=(Topyloc-Botyloc)/(Topxtemp-Botxtemp)<br>
&gt;&gt;             b=Botyloc-Slope*Botxtemp<br>
&gt;&gt;             Botyloc=b<br>
&gt;&gt;             Botxloc=lxloc<br>
&gt;&gt;          Else<br>
&gt;&gt;             &quot;set strsiz 0.15&quot;<br>
&gt;&gt;             &quot;draw string &quot; Botxloc-0.05 &quot; &quot; Botyloc-0.15 &quot; &quot; tloop<br>
&gt;&gt;          Endif<br>
&gt;&gt;          &quot;draw line &quot;Botxloc &quot; &quot; Botyloc &quot; &quot; Topxloc &quot; &quot; Topyloc<br>
&gt;&gt;       Endif<br>
&gt;&gt;       tloop=tloop+tempint<br>
&gt;&gt;   EndWhile<br>
&gt;&gt;   If (LblAxes = 1)<br>
&gt;&gt;      &quot;set strsiz 0.15&quot;<br>
&gt;&gt;      &quot;set string 1 c&quot;<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;         &quot;draw string 4.0 0.35 Temperatura (`3.`0C)&quot;<br>
&gt;&gt;         &quot;draw string 7.7 0.35 Viento m/s &quot;<br>
&gt;&gt;      Else<br>
&gt;&gt;         &quot;draw string 3.5 0.15 Temperatura (`3.`0C)&quot;<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *------------------<br>
&gt;&gt; * Plot dry adiabats<br>
&gt;&gt; *------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawThet = 1)<br>
&gt;&gt;   temp=GetTemp(100,_pmin)<br>
&gt;&gt;   maxtheta=GetThet2(temp,-100,_pmin)<br>
&gt;&gt;   maxtheta=thetaint*int(maxtheta/thetaint)<br>
&gt;&gt;   temp=GetTemp(0,_pmax)<br>
&gt;&gt;   mintheta=GetThet2(temp,-100,_pmax)<br>
&gt;&gt;   mintheta=thetaint*int(mintheta/thetaint)<br>
&gt;&gt;<br>
&gt;&gt;   &quot;set lon 0 100&quot;<br>
&gt;&gt;   &quot;set y 1&quot;<br>
&gt;&gt;   &quot;set z 1&quot;<br>
&gt;&gt;   tloop=mintheta<br>
&gt;&gt;   &quot;set line &quot;ThetCol&quot; &quot;ThetLine &quot; &quot;ThetThk<br>
&gt;&gt;   While (tloop &lt;= maxtheta)<br>
&gt;&gt;     PTemp=LiftDry(tloop,1000,_pmin,1,_pmin,_pmax)<br>
&gt;&gt;     tloop=tloop+thetaint<br>
&gt;&gt;   Endwhile<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *------------------------<br>
&gt;&gt; * Plot mixing ratio lines<br>
&gt;&gt; *------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawMix = 1)<br>
&gt;&gt;   If (MixStop &lt; _pmin)<br>
&gt;&gt;      MixStop = _pmin<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set string 1 l&quot;<br>
&gt;&gt;   &quot;set z &quot;_zmin &quot; &quot; _zmax<br>
&gt;&gt;   &quot;set cint 1&quot;<br>
&gt;&gt;   &quot;set line &quot;MixCol&quot; &quot; MixLine &quot; &quot;MixThk<br>
&gt;&gt;   cont = 1<br>
&gt;&gt;   mloop=subwrd(wsclevs,1)<br>
&gt;&gt;   count = 1<br>
&gt;&gt;   While (cont = 1)<br>
&gt;&gt;       BotCoef=log(mloop*_pmax/3801.66)<br>
&gt;&gt;       BotTval=-245.5*BotCoef/(BotCoef-17.67)<br>
&gt;&gt;       Botxtemp=GetXLoc(BotTval,_pmax)<br>
&gt;&gt;       &quot;q w2xy &quot;Botxtemp &quot; &quot; _pmax<br>
&gt;&gt;       Botxloc=subwrd(result,3)<br>
&gt;&gt;       Botyloc=byloc<br>
&gt;&gt;       TopCoef=log(mloop*MixStop/3801.66)<br>
&gt;&gt;       TopTval=-245.5*TopCoef/(TopCoef-17.67)<br>
&gt;&gt;       Topxtemp=GetXLoc(TopTval,MixStop)<br>
&gt;&gt;       &quot;q w2xy &quot;Topxtemp &quot; &quot; MixStop<br>
&gt;&gt;       Topxloc=subwrd(result,3)<br>
&gt;&gt;       Topyloc=subwrd(result,6)<br>
&gt;&gt;       &quot;set string &quot;MixCol&quot; l 3&quot;<br>
&gt;&gt;       &quot;set strsiz 0.09&quot;<br>
&gt;&gt;       If (Botxtemp &lt;= 100 | Topxtemp &lt;= 100)<br>
&gt;&gt;          If (Topxtemp &gt; 100)<br>
&gt;&gt;             Slope=(Topyloc-Botyloc)/(Topxtemp-Botxtemp)<br>
&gt;&gt;             b=Topyloc-Slope*Topxtemp<br>
&gt;&gt;             Topyloc=Slope*100+b<br>
&gt;&gt;             Topxloc=rxloc<br>
&gt;&gt;             &quot;draw string &quot; Topxloc+0.05 &quot; &quot; Topyloc  &quot; &quot; mloop<br>
&gt;&gt;          Else<br>
&gt;&gt;             &quot;draw string &quot; Topxloc &quot; &quot; Topyloc+0.1 &quot; &quot; mloop<br>
&gt;&gt;          Endif<br>
&gt;&gt;          If (Botxtemp &lt; 0)<br>
&gt;&gt;             Slope=(Topyloc-Botyloc)/(Topxtemp-Botxtemp)<br>
&gt;&gt;             b=Botyloc-Slope*Botxtemp<br>
&gt;&gt;             Botyloc=b<br>
&gt;&gt;             Botxloc=lxloc<br>
&gt;&gt;          Endif<br>
&gt;&gt;          &quot;draw line &quot;Botxloc &quot; &quot; Botyloc &quot; &quot; Topxloc &quot; &quot; Topyloc<br>
&gt;&gt;       Endif<br>
&gt;&gt;       count=count+1<br>
&gt;&gt;       mloop=subwrd(wsclevs,count)<br>
&gt;&gt;       If (mloop = &quot;&quot; | count &gt; 50)<br>
&gt;&gt;          cont = 0<br>
&gt;&gt;       Endif<br>
&gt;&gt;   EndWhile<br>
&gt;&gt;   If (LblAxes = 1)<br>
&gt;&gt;      &quot;set strsiz 0.15&quot;<br>
&gt;&gt;      &quot;set string 1 c 3 90&quot;<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt; *         &quot;draw string 7.40 4.75 Relacion de Mezcla (g/kg)&quot;<br>
&gt;&gt;      Else<br>
&gt;&gt; *         &quot;draw string 6.90 4.25 Mixing Ratio (g/kg)&quot;<br>
&gt;&gt;      Endif<br>
&gt;&gt;      &quot;set string 1 c 3 0&quot;<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *-----------------------------<br>
&gt;&gt; * Plot moist (pseudo) adiabats<br>
&gt;&gt; *-----------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawThtw = 1)<br>
&gt;&gt;   &quot;set lon 0 100&quot;<br>
&gt;&gt;   &quot;set y 1&quot;<br>
&gt;&gt;   &quot;set z 1&quot;<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   tloop=80<br>
&gt;&gt;   &quot;set line &quot;ThtwCol&quot; &quot;ThtwLine &quot; &quot;ThtwThk<br>
&gt;&gt;   While (tloop &gt; -80)<br>
&gt;&gt;     PTemp=LiftWet(tloop,1000,ThtwStop,1,_pmin,_pmax)<br>
&gt;&gt;     tloop=tloop-thetwint<br>
&gt;&gt;   Endwhile<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; *-----------------------------------------------------<br>
&gt;&gt; * Plot transformed user-specified temperature sounding<br>
&gt;&gt; *-----------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawTSnd = 1)<br>
&gt;&gt;   say &quot;Drawing temperature sounding.&quot;<br>
&gt;&gt;   &quot;set gxout line&quot;<br>
&gt;&gt;   &quot;set x &quot;_xval<br>
&gt;&gt;   &quot;set y &quot;_yval<br>
&gt;&gt;   &quot;set z &quot;_zmin&quot; &quot;_zmax<br>
&gt;&gt;   &quot;set ccolor &quot;TSndCol<br>
&gt;&gt;   &quot;set cstyle &quot;TSndLine<br>
&gt;&gt;   &quot;set cmark &quot;TSndMrk<br>
&gt;&gt;   &quot;set digsiz &quot;MrkSize<br>
&gt;&gt;   &quot;set cthick &quot;TSndThk<br>
&gt;&gt;   &quot;set missconn on&quot;<br>
&gt;&gt;   &quot;d tempx&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt; * Plot transformed user-specified dewpoint sounding<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawDSnd = 1)<br>
&gt;&gt;   say &quot;Drawing dewpoint sounding.&quot;<br>
&gt;&gt;   &quot;set gxout line&quot;<br>
&gt;&gt;   &quot;set x &quot;_xval<br>
&gt;&gt;   &quot;set y &quot;_yval<br>
&gt;&gt;   &quot;set z &quot;_zmin&quot; &quot;_zmax<br>
&gt;&gt;   &quot;set cmark &quot;DSndMrk<br>
&gt;&gt;   &quot;set digsiz &quot;MrkSize<br>
&gt;&gt;   &quot;set ccolor &quot;DSndCol<br>
&gt;&gt;   &quot;set cstyle &quot;DSndLine<br>
&gt;&gt;   &quot;set cthick &quot;DSndThk<br>
&gt;&gt;   &quot;set missconn on&quot;<br>
&gt;&gt;   &quot;d dewpx&quot;<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *----------------------------------------<br>
&gt;&gt; * Determine lowest level of reported  data<br>
&gt;&gt; *----------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawTSnd = 1)<br>
&gt;&gt;   field=sndtemp<br>
&gt;&gt; Else<br>
&gt;&gt;   field=sndspd<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; &quot;set gxout stat&quot;<br>
&gt;&gt; &quot;set x &quot;_xval<br>
&gt;&gt; &quot;set y &quot;_yval<br>
&gt;&gt; &quot;set t &quot;_tval<br>
&gt;&gt; &quot;set lev &quot; _pmax &quot; &quot; _pmin<br>
&gt;&gt; &quot;d maskout(lev,&quot;field&quot;+300)&quot;<br>
&gt;&gt; rec=sublin(result,1)<br>
&gt;&gt; check=substr(rec,1,6)<br>
&gt;&gt; If (check = &quot;Notice&quot;)<br>
&gt;&gt;    rec=sublin(result,9)<br>
&gt;&gt; Else<br>
&gt;&gt;    rec=sublin(result,8)<br>
&gt;&gt; Endif<br>
&gt;&gt; SfcPlev=subwrd(rec,5)<br>
&gt;&gt;<br>
&gt;&gt; If (DrawTSnd = 1 &amp; DrawDSnd = 1)<br>
&gt;&gt;   &quot;set lev &quot;SfcPlev<br>
&gt;&gt;   &quot;d &quot;sndtemp<br>
&gt;&gt;   rec=sublin(result,8)<br>
&gt;&gt;   Sfctemp=subwrd(rec,4)<br>
&gt;&gt;   &quot;d &quot;snddewp<br>
&gt;&gt;   rec=sublin(result,8)<br>
&gt;&gt;   Sfcdewp=subwrd(rec,4)<br>
&gt;&gt;   SfcThee=Thetae(Sfctemp,Sfcdewp,SfcPlev)<br>
&gt;&gt;<br>
&gt;&gt; *------------------------------------------<br>
&gt;&gt; * Calculate temperature and pressure of LCL<br>
&gt;&gt; *------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt;   TLcl=Templcl(Sfctemp,Sfcdewp)<br>
&gt;&gt;   PLcl=Preslcl(Sfctemp,Sfcdewp,SfcPlev)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *----------------------------------------------------------<br>
&gt;&gt; * Plot parcel path from surface to LCL and up moist adiabat<br>
&gt;&gt; *----------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawPrcl = 1)<br>
&gt;&gt;   say &quot;Drawing parcel path from surface upward.&quot;<br>
&gt;&gt;   If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;      xloc=7.15<br>
&gt;&gt;   Else<br>
&gt;&gt;      xloc=6.65<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;q w2xy 1 &quot;PLcl<br>
&gt;&gt;   rec=sublin(result,1)<br>
&gt;&gt;   yloc=subwrd(rec,6)<br>
&gt;&gt;   &quot;set strsiz 0.1&quot;<br>
&gt;&gt;   If (PLcl &lt; _pmax)<br>
&gt;&gt;      &quot;set string 1 l&quot;<br>
&gt;&gt;      &quot;draw string &quot;xloc&quot; &quot;yloc&quot; LCL&quot;<br>
&gt;&gt;      &quot;set line 1 1 1&quot;<br>
&gt;&gt;      &quot;draw line &quot;xloc-0.15&quot; &quot;yloc&quot; &quot;xloc-0.05&quot; &quot;yloc<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set lon 0 100&quot;<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   &quot;set line &quot;PrclCol&quot; &quot;PrclLine &quot; &quot; PrclThk<br>
&gt;&gt;   PTemp=LiftDry(Sfctemp,SfcPlev,PLcl,1,_pmin,_pmax)<br>
&gt;&gt;   Ptemp=LiftWet(TLcl,PLcl,_pmin,1,_pmin,_pmax)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------------------------<br>
&gt;&gt; * Determine level within lowest 250mb having highest<br>
&gt;&gt; * theta-e value<br>
&gt;&gt; *-------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawTSnd = 1 &amp; DrawDSnd = 1)<br>
&gt;&gt;  &quot;set x &quot;_xval<br>
&gt;&gt;  &quot;set y &quot;_yval<br>
&gt;&gt;  &quot;set t &quot;_tval<br>
&gt;&gt;   zz=1<br>
&gt;&gt;   MaxThee=-999<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   while (zz &lt;= _zmax &amp; pp &gt; _pmax-250)<br>
&gt;&gt;       &quot;set z &quot;zz<br>
&gt;&gt;       pp=subwrd(result,4)<br>
&gt;&gt;       &quot;d &quot;sndtemp<br>
&gt;&gt;       rec=sublin(result,8)<br>
&gt;&gt;       tt=subwrd(rec,4)<br>
&gt;&gt;       &quot;d &quot;snddewp<br>
&gt;&gt;       rec=sublin(result,8)<br>
&gt;&gt;       dd=subwrd(rec,4)<br>
&gt;&gt;       If (abs(tt) &lt; 130 &amp; abs(dd) &lt; 130)<br>
&gt;&gt;          Thee=Thetae(tt,dd,pp)<br>
&gt;&gt;          If (Thee &gt; MaxThee)<br>
&gt;&gt;             MaxThee=Thee<br>
&gt;&gt;             TMaxThee=tt<br>
&gt;&gt;             DMaxThee=dd<br>
&gt;&gt;             PMaxThee=pp<br>
&gt;&gt;          Endif<br>
&gt;&gt;       endif<br>
&gt;&gt;       zz=zz+1<br>
&gt;&gt;   Endwhile<br>
&gt;&gt;   If (PMaxThee = SfcPlev-250)<br>
&gt;&gt;      PMaxThee = SfcPlev<br>
&gt;&gt;   Endif<br>
&gt;&gt; *------------------------------------------------------<br>
&gt;&gt; * Calculate temperature and pressure of LCL from highest<br>
&gt;&gt; * theta-e level<br>
&gt;&gt; *------------------------------------------------------<br>
&gt;&gt;   If (SfcPlev != PMaxThee)<br>
&gt;&gt;      TLclMax=Templcl(TMaxThee,DMaxThee)<br>
&gt;&gt;      PLclMax=Preslcl(TMaxThee,DMaxThee,PMaxThee)<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *----------------------------------------------------------<br>
&gt;&gt; * Plot parcel path from highest theta-e level to LCL and up<br>
&gt;&gt; * moist adiabat<br>
&gt;&gt; *----------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawPMax = 1 &amp; SfcPlev != PMaxThee)<br>
&gt;&gt;   say &quot;Drawing parcel path from most unstable level upward.&quot;<br>
&gt;&gt;   If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;      xloc=7.15<br>
&gt;&gt;   Else<br>
&gt;&gt;      xloc=6.65<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;q w2xy 1 &quot;PLclMax<br>
&gt;&gt;   rec=sublin(result,1)<br>
&gt;&gt;   yloc=subwrd(rec,6)<br>
&gt;&gt;   &quot;set strsiz 0.1&quot;<br>
&gt;&gt;   If (PLclMax &lt; _pmax)<br>
&gt;&gt;      &quot;set string 1 l&quot;<br>
&gt;&gt;      &quot;draw string &quot;xloc&quot; &quot;yloc&quot; LCL&quot;<br>
&gt;&gt;      &quot;set line 1 1 1&quot;<br>
&gt;&gt;      &quot;draw line &quot;xloc-0.15&quot; &quot;yloc&quot; &quot;xloc-0.05&quot; &quot;yloc<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set lon 0 100&quot;<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   &quot;set line &quot;PrclCol&quot; &quot;PrclLine &quot; &quot; PrclThk<br>
&gt;&gt;   PTemp=LiftDry(TMaxThee,PMaxThee,PLclMax,1,_pmin,_pmax)<br>
&gt;&gt;   Ptemp=LiftWet(TLclMax,PLclMax,_pmin,1,_pmin,_pmax)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *--------------------------------<br>
&gt;&gt; * Draw thermodynamic indices<br>
&gt;&gt; *--------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawIndx = 1)<br>
&gt;&gt;   &quot;set string 1 l&quot;<br>
&gt;&gt;   &quot;set strsiz 0.10&quot;<br>
&gt;&gt;   &quot;set x &quot;_xval<br>
&gt;&gt;   &quot;set y &quot;_yval<br>
&gt;&gt;   &quot;set t &quot;_tval<br>
&gt;&gt;   say &quot;Calculating precipitable water.&quot;<br>
&gt;&gt;   pw=precipw(sndtemp,snddewp,_pmax,_pmin)<br>
&gt;&gt;   say &quot;Calculating thermodynamic indices.&quot;<br>
&gt;&gt;   Temp850=interp(sndtemp,850)<br>
&gt;&gt;   Temp700=interp(sndtemp,700)<br>
&gt;&gt;   Temp500=interp(sndtemp,500)<br>
&gt;&gt;   Dewp850=interp(snddewp,850)<br>
&gt;&gt;   Dewp700=interp(snddewp,700)<br>
&gt;&gt;   Dewp500=interp(snddewp,500)<br>
&gt;&gt;   If (Temp850&gt;-900 &amp; Dewp850&gt;-900 &amp; Dewp700&gt;-900 &amp; Temp700&gt;-900 &amp;<br>
&gt;&gt; Temp500&gt;-900)<br>
&gt;&gt;      K=Temp850+Dewp850+Dewp700-Temp700-Temp500<br>
&gt;&gt;   Else<br>
&gt;&gt;      K=-999<br>
&gt;&gt;   Endif<br>
&gt;&gt;   If (Temp850 &gt; -900 &amp; Dewp850 &gt; -900 &amp; Temp500 &gt; -900)<br>
&gt;&gt;      tt=Temp850+Dewp850-2*Temp500<br>
&gt;&gt;   Else<br>
&gt;&gt;      tt=-999<br>
&gt;&gt;   Endif<br>
&gt;&gt;   Temp500V=virtual2(Temp500+273.15,Dewp500+273.15,500)-273.15<br>
&gt;&gt;   PclTemp=LiftWet(TLcl,PLcl,500,0)<br>
&gt;&gt;   PclTempV=virtual2(PclTemp+273.15,PclTemp+273.15,500)-273.15<br>
&gt;&gt;   SLI=Temp500V-PclTempV<br>
&gt;&gt;   rec=CAPE(TLcl,PLcl,200,sndtemp,snddewp)<br>
&gt;&gt;   Pos=subwrd(rec,1)<br>
&gt;&gt;   CIN=subwrd(rec,2)<br>
&gt;&gt;<br>
&gt;&gt;   If (SfcPlev != PMaxThee)<br>
&gt;&gt;      PclTemp=LiftWet(TLclMax,PLclMax,500,0)<br>
&gt;&gt;      PclTempV=virtual2(PclTemp+273.15,PclTemp+273.15,500)-273.15<br>
&gt;&gt;      LIMax=Temp500V-PclTempV<br>
&gt;&gt;      rec=CAPE(TLclMax,PLclMax,100,sndtemp,snddewp)<br>
&gt;&gt;      PosMax=subwrd(rec,1)<br>
&gt;&gt;      CINMax=subwrd(rec,2)<br>
&gt;&gt;   Else<br>
&gt;&gt;      LIMax=SLI<br>
&gt;&gt;      PosMax=Pos<br>
&gt;&gt;      CINMax=CIN<br>
&gt;&gt;      MaxThee=SfcThee<br>
&gt;&gt;   Endif<br>
&gt;&gt;<br>
&gt;&gt;   If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;      If (Text1XC = -1)<br>
&gt;&gt;         Text1XC=rxloc-0.75<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text1YC = -1)<br>
&gt;&gt;         Text1YC=tyloc-2.25<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text2XC = -1)<br>
&gt;&gt;         Text2XC=rxloc-0.75<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text2YC = -1)<br>
&gt;&gt;         Text2YC=tyloc-3.25<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text3XC = -1)<br>
&gt;&gt;          Text3XC=rxloc-0.75<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text3YC = -1)<br>
&gt;&gt;         Text3YC=tyloc-4.40<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Else<br>
&gt;&gt;      If (Text1XC = -1)<br>
&gt;&gt;         Text1XC=rxloc+2.50<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text1YC = -1)<br>
&gt;&gt;         Text1YC=tyloc-3.00<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text2XC = -1)<br>
&gt;&gt;         Text2XC=rxloc+2.50<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text2YC = -1)<br>
&gt;&gt;         Text2YC=tyloc-4.00<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text3XC = -1)<br>
&gt;&gt;         Text3XC=rxloc+2.50<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text3YC = -1)<br>
&gt;&gt;         Text3YC=tyloc-5.10<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set string 1 l 3&quot;<br>
&gt;&gt;   &quot;set line 0 1 3&quot;<br>
&gt;&gt;   &quot;draw recf  &quot;Text1XC-0.75 &quot; &quot; Text1YC-0.40 &quot; &quot; Text1XC+0.75 &quot; &quot;<br>
&gt;&gt; Text1YC+0.25<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;   &quot;draw rec  &quot;Text1XC-0.75 &quot; &quot; Text1YC-0.40 &quot; &quot; Text1XC+0.75 &quot; &quot;<br>
&gt;&gt; Text1YC+0.25<br>
&gt;&gt;   &quot;draw string &quot;Text1XC-0.70 &quot; &quot; Text1YC+0.10&quot;  K&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text1XC+0.25 &quot; &quot; Text1YC+0.10&quot; &quot; int(K)<br>
&gt;&gt;   &quot;draw string &quot;Text1XC-0.70 &quot; &quot; Text1YC-0.10 &quot;  TT&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text1XC+0.25 &quot; &quot; Text1YC-0.10 &quot; &quot; int(tt)<br>
&gt;&gt;   &quot;draw string &quot;Text1XC-0.70 &quot; &quot; Text1YC-0.25 &quot;  AP(cm)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text1XC+0.25 &quot; &quot; Text1YC-0.25 &quot; &quot; int(pw*100)/100<br>
&gt;&gt;   &quot;set line 0 1 3&quot;<br>
&gt;&gt;   &quot;draw recf  &quot;Text2XC-0.75 &quot; &quot; Text2YC-0.60 &quot; &quot; Text2XC+0.75 &quot; &quot;<br>
&gt;&gt; Text2YC+0.60<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;   &quot;draw rec  &quot;Text2XC-0.75 &quot; &quot; Text2YC-0.60 &quot; &quot; Text2XC+0.75 &quot; &quot;<br>
&gt;&gt; Text2YC+0.60<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.35 &quot; &quot; Text2YC+0.50 &quot; Superficie&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC+0.30 &quot;  Temp(`3.`0C)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC+0.30 &quot; &quot; int(Sfctemp*10)/10<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC+0.15 &quot;  Dewp(`3.`0C)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC+0.15 &quot; &quot; int(Sfcdewp*10)/10<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC &quot;   `3z`0`bE`n(K)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC &quot; &quot; int(SfcThee)<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC-0.15 &quot;  LI&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC-0.15 &quot; &quot; round(SLI)<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC-0.30 &quot;  CAPE(J)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC-0.30 &quot; &quot; int(Pos)<br>
&gt;&gt;   &quot;draw string &quot;Text2XC-0.70 &quot; &quot; Text2YC-0.45 &quot;  CIN(J)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text2XC+0.25 &quot; &quot; Text2YC-0.45 &quot; &quot; int(CIN)<br>
&gt;&gt;   &quot;set line 0 1 3&quot;<br>
&gt;&gt;   &quot;draw recf  &quot;Text3XC-0.75 &quot; &quot; Text3YC-0.55 &quot; &quot;  Text3XC+0.75 &quot; &quot;<br>
&gt;&gt; Text3YC+0.55<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;   &quot;draw rec  &quot;Text3XC-0.75 &quot; &quot; Text3YC-0.55 &quot; &quot;  Text3XC+0.75 &quot; &quot;<br>
&gt;&gt; Text3YC+0.55<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.60 &quot; &quot; Text3YC+0.45 &quot; Mas inestable&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.70 &quot; &quot; Text3YC+0.20 &quot;  Pres(hPa)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC+0.25 &quot; &quot; Text3YC+0.20 &quot; &quot; int(PMaxThee)<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.70 &quot; &quot; Text3YC+0.05 &quot; `3z`0`bE`n(K)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC+0.25 &quot; &quot; Text3YC+0.05 &quot; &quot; int(MaxThee)<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.70 &quot; &quot; Text3YC-0.10 &quot; LI&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC+0.25 &quot; &quot; Text3YC-0.10 &quot; &quot;round(LIMax)<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.70 &quot; &quot; Text3YC-0.25 &quot; CAPE(J)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC+0.25 &quot; &quot; Text3YC-0.25 &quot; &quot;int(PosMax)<br>
&gt;&gt;   &quot;draw string &quot;Text3XC-0.70 &quot; &quot; Text3YC-0.40 &quot; CIN(J)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text3XC+0.25 &quot; &quot; Text3YC-0.40 &quot; &quot; int(CINMax)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *-----------------------------<br>
&gt;&gt; * Draw wind profile along side<br>
&gt;&gt; *-----------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawBarb = 1)<br>
&gt;&gt;   say &quot;Drawing Wind Profile.&quot;<br>
&gt;&gt;   If (poleloc = -1)<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;         poleloc = 8.0<br>
&gt;&gt;      Else<br>
&gt;&gt;         poleloc = 7.5<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt;   If (barbline = 1)<br>
&gt;&gt;      &quot;set line 1 1 3&quot;<br>
&gt;&gt;      &quot;draw line &quot;poleloc &quot; &quot; byloc &quot; &quot; poleloc &quot; &quot; tyloc<br>
&gt;&gt;   Endif<br>
&gt;&gt;   If (BarbCol = -1)<br>
&gt;&gt;      &#39;set rgb 41 255 0 132&#39;<br>
&gt;&gt;      &#39;set rgb 42 255 0 168&#39;<br>
&gt;&gt;      &#39;set rgb 43 255 0 204&#39;<br>
&gt;&gt;      &#39;set rgb 44 255 0 240&#39;<br>
&gt;&gt;      &#39;set rgb 45 255 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 46 204 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 47 174 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 48 138 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 49 108 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 50 84 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 51 40 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 52 0 0  255&#39;<br>
&gt;&gt;      &#39;set rgb 53 0 42 255&#39;<br>
&gt;&gt;      &#39;set rgb 54 0 84 255&#39;<br>
&gt;&gt;      &#39;set rgb 55 0 120 255&#39;<br>
&gt;&gt;      &#39;set rgb 56 0 150 255&#39;<br>
&gt;&gt;      &#39;set rgb 57 0 192 255&#39;<br>
&gt;&gt;      &#39;set rgb 58 0 240 255&#39;<br>
&gt;&gt;      &#39;set rgb 59 0 255 210&#39;<br>
&gt;&gt;      &#39;set rgb 60 0 255 160&#39;<br>
&gt;&gt;      &#39;set rgb 61 0 255 126&#39;<br>
&gt;&gt;      &#39;set rgb 62 0 255 78&#39;<br>
&gt;&gt;      &#39;set rgb 63 84 255 0&#39;<br>
&gt;&gt;      &#39;set rgb 64 138 255 0&#39;<br>
&gt;&gt;      &#39;set rgb 65 188 255 0&#39;<br>
&gt;&gt;      &#39;set rgb 66 236 255 0&#39;<br>
&gt;&gt;      &#39;set rgb 67 255 255 0&#39;<br>
&gt;&gt;      &#39;set rgb 68 255 222 0&#39;<br>
&gt;&gt;      &#39;set rgb 69 255 192 0&#39;<br>
&gt;&gt;      &#39;set rgb 70 255 162 0&#39;<br>
&gt;&gt;      &#39;set rgb 71 255 138 0&#39;<br>
&gt;&gt;      &#39;set rgb 72 255 108 0&#39;<br>
&gt;&gt;      &#39;set rgb 73 255 84 0&#39;<br>
&gt;&gt;      &#39;set rgb 74 255 54 0&#39;<br>
&gt;&gt;      &#39;set rgb 75 255 12 0&#39;<br>
&gt;&gt;      &#39;set rgb 76 255 0 34&#39;<br>
&gt;&gt;      &#39;set rgb 77 255 0 70&#39;<br>
&gt;&gt;      &#39;set rgb 78 255 0 105&#39;<br>
&gt;&gt;      &#39;set rgb 79 255 0 140&#39;<br>
&gt;&gt;      &#39;set rgb 80 255 0 175&#39;<br>
&gt;&gt;      &#39;set rgb 81 255 0 215&#39;<br>
&gt;&gt;      &#39;set rgb 82 255 0 255&#39;<br>
&gt;&gt;      &#39;set rgb 83 255 255 255&#39;<br>
&gt;&gt;<br>
&gt;&gt;      col1=&#39;83 83 83 83 83 83 83 83 83 83 82 81 80 79 78&#39;<br>
&gt;&gt;      col2=&#39;77 76 75 74 73 72 71 70 69 68 67 66 65 64 63&#39;<br>
&gt;&gt;      col3=&#39;62 61 60 59 58 57 56 55 54 53 52 51 50 49 48&#39;<br>
&gt;&gt;      &#39;set rbcols &#39;col1&#39; &#39;col2&#39; &#39;col3<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set z &quot;_zmin&quot; &quot;_zmax<br>
&gt;&gt;   &quot;set gxout stat&quot;<br>
&gt;&gt;   zz=1<br>
&gt;&gt;   wspd=-999<br>
&gt;&gt;   cont=1<br>
&gt;&gt;   While (cont = 1 &amp; zz &lt; _zmax)<br>
&gt;&gt;      &quot;set z &quot;zz<br>
&gt;&gt;      pres=subwrd(result,4)<br>
&gt;&gt;      &quot;d &quot;u<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      uwnd=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;v<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      vwnd=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt;      wspd=GetWSpd(uwnd,vwnd)<br>
&gt;&gt;<br>
&gt;&gt;      if (wspd &lt; 0 | pres &gt; _pmax)<br>
&gt;&gt;          zz=zz+1<br>
&gt;&gt;      else<br>
&gt;&gt;          cont=0<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endwhile<br>
&gt;&gt;   While (zz &lt;= _zmax)<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;u&quot;(z=&quot;zz&quot;)&quot;<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      uwnd=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;v&quot;(z=&quot;zz&quot;)&quot;<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      vwnd=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt;      wspd=GetWSpd(uwnd,vwnd)<br>
&gt;&gt;<br>
&gt;&gt;      If (BarbCol &gt;= 0)<br>
&gt;&gt;         &quot;set line &quot;BarbCol &quot; 1 &quot;BarbThk<br>
&gt;&gt;      Else<br>
&gt;&gt;         tempbcol=55+wspd/5<br>
&gt;&gt;         If (tempbcol &gt; 83)<br>
&gt;&gt;            tempbcol = 83<br>
&gt;&gt;         Endif<br>
&gt;&gt;         &quot;set line &quot;tempbcol &quot; 1 &quot;BarbThk<br>
&gt;&gt;      Endif<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;u&quot;(z=&quot;zz&quot;)&quot;<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      uwnd=subwrd(rec,4)<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;v&quot;(z=&quot;zz&quot;)&quot;<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      vwnd=subwrd(rec,4)<br>
&gt;&gt;      if(vwnd != undef)<br>
&gt;&gt;      wspd=GetWSpd(uwnd,vwnd)<br>
&gt;&gt;      wdir=GetWDir(uwnd,vwnd)<br>
&gt;&gt;      Else<br>
&gt;&gt;      wspd=0<br>
&gt;&gt;      wdir=0<br>
&gt;&gt;      Endif<br>
&gt;&gt;<br>
&gt;&gt;      xwind=GetUWnd(wspd,wdir)<br>
&gt;&gt;      ywind=GetVWnd(wspd,wdir)<br>
&gt;&gt;      &quot;query gr2xy 5 &quot;zz<br>
&gt;&gt;      y1=subwrd(result,6)<br>
&gt;&gt;      if (wspd &gt; 0)<br>
&gt;&gt;         cc=polelen/wspd<br>
&gt;&gt;         xendpole=poleloc-xwind*cc<br>
&gt;&gt;         yendpole=y1-ywind*cc<br>
&gt;&gt;      endif<br>
&gt;&gt;      if (xendpole&gt;0 &amp; wspd &gt;= 0.5)<br>
&gt;&gt;        if (flagbase = 1)<br>
&gt;&gt;           &quot;draw mark 3 &quot;poleloc &quot; &quot; y1 &quot; 0.05&quot;<br>
&gt;&gt;        endif<br>
&gt;&gt;        &quot;draw line &quot; poleloc &quot; &quot; y1 &quot;  &quot; xendpole &quot; &quot; yendpole<br>
&gt;&gt;        flagloop=wspd/10<br>
&gt;&gt;        windcount=wspd<br>
&gt;&gt;        flagcount=0<br>
&gt;&gt;        xflagstart=xendpole<br>
&gt;&gt;        yflagstart=yendpole<br>
&gt;&gt;        dx=cos((180-wdir)*_dtr)<br>
&gt;&gt;        dy=sin((180-wdir)*_dtr)<br>
&gt;&gt;        while (windcount &gt; 47.5)<br>
&gt;&gt;           flagcount=flagcount+1<br>
&gt;&gt;           dxflag=-len50*dx<br>
&gt;&gt;           dyflag=-len50*dy<br>
&gt;&gt;           xflagend=xflagstart+dxflag<br>
&gt;&gt;           yflagend=yflagstart+dyflag<br>
&gt;&gt;           windcount=windcount-50<br>
&gt;&gt;           x1=xflagstart+0.5*wid50*xwind/wspd<br>
&gt;&gt;           y1=yflagstart+0.5*wid50*ywind/wspd<br>
&gt;&gt;           x2=xflagstart-0.5*wid50*xwind/wspd<br>
&gt;&gt;           y2=yflagstart-0.5*wid50*ywind/wspd<br>
&gt;&gt;           If (Fill50 = 1)<br>
&gt;&gt;              &quot;draw polyf &quot;x1&quot; &quot;y1&quot; &quot;x2&quot; &quot;y2&quot; &quot;xflagend&quot; &quot;yflagend&quot; &quot;x1&quot;<br>
&gt;&gt; &quot;y1<br>
&gt;&gt;           Else<br>
&gt;&gt;              &quot;draw line &quot;x1 &quot; &quot;y1 &quot; &quot; xflagend &quot; &quot; yflagend &quot; &quot;<br>
&gt;&gt;              &quot;draw line &quot;x2 &quot; &quot;y2 &quot; &quot; xflagend &quot; &quot; yflagend<br>
&gt;&gt;              &quot;draw line &quot;x1 &quot; &quot;y1 &quot; &quot; x2 &quot; &quot; y2<br>
&gt;&gt;           Endif<br>
&gt;&gt;           xflagstart=xflagstart+spac50*xwind/wspd<br>
&gt;&gt;           yflagstart=yflagstart+spac50*ywind/wspd<br>
&gt;&gt;        endwhile<br>
&gt;&gt;        while (windcount &gt; 7.5 )<br>
&gt;&gt;           flagcount=flagcount+1<br>
&gt;&gt;           dxflag=-len10*dx<br>
&gt;&gt;           dyflag=-len10*dy<br>
&gt;&gt;           xflagend=xflagstart+dxflag<br>
&gt;&gt;           yflagend=yflagstart+dyflag<br>
&gt;&gt;           windcount=windcount-10<br>
&gt;&gt;           &quot;draw line &quot; xflagstart &quot; &quot; yflagstart &quot; &quot; xflagend &quot; &quot; yflagend<br>
&gt;&gt;           xflagstart=xflagstart+spac10*xwind/wspd<br>
&gt;&gt;           yflagstart=yflagstart+spac10*ywind/wspd<br>
&gt;&gt;        endwhile<br>
&gt;&gt;        if (windcount &gt; 2.5)<br>
&gt;&gt;           flagcount=flagcount+1<br>
&gt;&gt;           if (flagcount = 1)<br>
&gt;&gt;              xflagstart=xflagstart+spac05*xwind/wspd<br>
&gt;&gt;              yflagstart=yflagstart+spac05*ywind/wspd<br>
&gt;&gt;           endif<br>
&gt;&gt;           dxflag=-len05*dx<br>
&gt;&gt;           dyflag=-len05*dy<br>
&gt;&gt;           xflagend=xflagstart+dxflag<br>
&gt;&gt;           yflagend=yflagstart+dyflag<br>
&gt;&gt;           windcount=windcount-5<br>
&gt;&gt;           &quot;draw line &quot; xflagstart &quot; &quot; yflagstart &quot; &quot; xflagend &quot; &quot; yflagend<br>
&gt;&gt;        endif<br>
&gt;&gt;      else<br>
&gt;&gt;        if (wspd &lt; 0.5 &amp; wspd &gt;= 0)<br>
&gt;&gt;           &quot;draw mark 2 &quot; poleloc &quot; &quot; y1 &quot; 0.08&quot;<br>
&gt;&gt;        endif<br>
&gt;&gt;      endif<br>
&gt;&gt;      zz=zz+barbint<br>
&gt;&gt;   endwhile<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *----------------<br>
&gt;&gt; * Draw Hodograph<br>
&gt;&gt; *----------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawHodo = 1)<br>
&gt;&gt;   say &quot;Drawing Hodograph.&quot;<br>
&gt;&gt;<br>
&gt;&gt;   If (HodXcent = -1 | HodYcent = -1)<br>
&gt;&gt;      If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;         HodXcent=6<br>
&gt;&gt;         HodYcent=9.5<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      uwnd=subwrd(rec,4)<br>
&gt;&gt;      Else<br>
&gt;&gt;         HodXcent=9<br>
&gt;&gt;         HodYcent=7.0<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt;   HodL=HodXcent-HodSize/2.0<br>
&gt;&gt;   HodR=HodXcent+HodSize/2.0<br>
&gt;&gt;   HodT=HodYcent+HodSize/2.0<br>
&gt;&gt;   HodB=HodYcent-HodSize/2.0<br>
&gt;&gt;   RingSpac=HodSize/(NumRing*2)<br>
&gt;&gt;   &quot;set line 0&quot;<br>
&gt;&gt;   &quot;draw recf &quot;HodL&quot; &quot;HodB&quot; &quot;HodR&quot; &quot;HodT<br>
&gt;&gt;   &quot;set line &quot;HodoCol&quot; 1 6&quot;<br>
&gt;&gt;   &quot;draw rec &quot;HodL&quot; &quot;HodB&quot; &quot;HodR&quot; &quot;HodT<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;   &quot;set string 1 c&quot;<br>
&gt;&gt;   &quot;draw mark 1 &quot;HodXcent &quot; &quot;HodYcent &quot; &quot; HodSize<br>
&gt;&gt;   i=1<br>
&gt;&gt;   While (i &lt;= NumRing)<br>
&gt;&gt;     &quot;set strsiz 0.10&quot;<br>
&gt;&gt;     &quot;set string 1 c 3 45&quot;<br>
&gt;&gt;     uwnd=-i*HodRing*cos(45*_dtr)<br>
&gt;&gt;     xloc=HodXcent+uwnd*RingSpac/HodRing<br>
&gt;&gt;     yloc=HodYcent+uwnd*RingSpac/HodRing<br>
&gt;&gt;<br>
&gt;&gt;     &quot;draw mark 2 &quot;HodXcent &quot; &quot; HodYcent &quot; &quot; i*HodSize/NumRing<br>
&gt;&gt;     &quot;draw string &quot;xloc &quot; &quot; yloc &quot; &quot; HodRing*i<br>
&gt;&gt;     i=i+1<br>
&gt;&gt;   Endwhile<br>
&gt;&gt;   &quot;set string 1 l 3 0&quot;<br>
&gt;&gt;   If (TickInt &gt; 0)<br>
&gt;&gt;      i=0<br>
&gt;&gt;      while (i &lt; HodRing*NumRing)<br>
&gt;&gt;         dist=i*RingSpac/HodRing<br>
&gt;&gt;         hrxloc=HodXcent+dist<br>
&gt;&gt;         hlxloc=HodXcent-dist<br>
&gt;&gt;         htyloc=HodYcent+dist<br>
&gt;&gt;         hbyloc=HodYcent-dist<br>
&gt;&gt;         &quot;set line 1 1 3&quot;<br>
&gt;&gt;         &quot;draw line &quot;hrxloc &quot; &quot; HodYcent-TickSize/2 &quot; &quot; hrxloc &quot; &quot;<br>
&gt;&gt; HodYcent+TickSize/2<br>
&gt;&gt;         &quot;draw line &quot;hlxloc &quot; &quot; HodYcent-TickSize/2 &quot; &quot; hlxloc &quot; &quot;<br>
&gt;&gt; HodYcent+TickSize/2<br>
&gt;&gt;         &quot;draw line &quot;HodXcent+TickSize/2 &quot; &quot; htyloc &quot; &quot; HodXcent-TickSize/2<br>
&gt;&gt; &quot; &quot; htyloc<br>
&gt;&gt;         &quot;draw line &quot;HodXcent+TickSize/2 &quot; &quot; hbyloc &quot; &quot; HodXcent-TickSize/2<br>
&gt;&gt; &quot; &quot; hbyloc<br>
&gt;&gt;         i=i+TickInt<br>
&gt;&gt;      endwhile<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set line &quot;HodoCol &quot; &quot; HodoLine &quot; &quot;HodoThk<br>
&gt;&gt;   &quot;draw string &quot;HodL+0.05 &quot; &quot; HodT-0.1 &quot; m/s&quot;<br>
&gt;&gt;   zloop=_zmin<br>
&gt;&gt;   xold=-999<br>
&gt;&gt;   yold=-999<br>
&gt;&gt;   count=0<br>
&gt;&gt;   Depth=0<br>
&gt;&gt;   While (zloop &lt; _zmax &amp; Depth &lt; HodoDep)<br>
&gt;&gt;      &quot;set z &quot;zloop<br>
&gt;&gt;      pres=subwrd(result,4)<br>
&gt;&gt;<br>
&gt;&gt;      &quot;d &quot;u<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      uwnd=subwrd(rec,4)<br>
&gt;&gt;      &quot;d &quot;v<br>
&gt;&gt;      rec=sublin(result,8)<br>
&gt;&gt;      vwnd=subwrd(rec,4)<br>
&gt;&gt;      if (uwnd = undef)<br>
&gt;&gt;      uwnd=0<br>
&gt;&gt;      vwnd=0<br>
&gt;&gt;      endif<br>
&gt;&gt;<br>
&gt;&gt;      If (wspd &gt;= 0)<br>
&gt;&gt;         xloc=HodXcent+uwnd*RingSpac/HodRing<br>
&gt;&gt;         yloc=HodYcent+vwnd*RingSpac/HodRing<br>
&gt;&gt;         If (xloc &gt; 0 &amp; yloc &gt; 0 &amp; xold &gt; 0 &amp; yold &gt; 0)<br>
&gt;&gt;            Depth=Depth+pold-pres<br>
&gt;&gt;            count=count+1<br>
&gt;&gt;            If (count = 1)<br>
&gt;&gt;               &quot;draw mark 3 &quot;xold &quot; &quot; yold &quot; 0.05&quot;<br>
&gt;&gt;            Endif<br>
&gt;&gt;            &quot;draw line &quot;xold&quot; &quot;yold&quot; &quot;xloc&quot; &quot;yloc<br>
&gt;&gt;         Endif<br>
&gt;&gt;         xold=xloc<br>
&gt;&gt;         yold=yloc<br>
&gt;&gt;      Endif<br>
&gt;&gt;      zloop=zloop+1<br>
&gt;&gt;      pold=pres<br>
&gt;&gt;   EndWhile<br>
&gt;&gt;<br>
&gt;&gt;   If (count &gt; 0)<br>
&gt;&gt;      &quot;draw mark 3 &quot;xold &quot; &quot; yold &quot; 0.05&quot;<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *----------------------------------------------<br>
&gt;&gt; * Calculate and Display Absolute &amp; S-R Helicity<br>
&gt;&gt; *----------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawHeli = 1)<br>
&gt;&gt;   say &quot;Calculating Helicity &amp; SR Helicity.&quot;<br>
&gt;&gt;   delp=10<br>
&gt;&gt;   UTotal=0<br>
&gt;&gt;   VTotal=0<br>
&gt;&gt;<br>
&gt;&gt; * First, calculate mass-weighted mean wind<br>
&gt;&gt; * Since delp is a constant, and mass is proportional to<br>
&gt;&gt; * delp, this is a simple sum.<br>
&gt;&gt;<br>
&gt;&gt;   &quot;set lev &quot;_pmax &quot; &quot; _pmin<br>
&gt;&gt;   &quot;define uwndarr=&quot;sndspd&quot;*cos((270-&quot;snddir&quot;)*&quot;_dtr&quot;)&quot;<br>
&gt;&gt;   &quot;define vwndarr=&quot;sndspd&quot;*sin((270-&quot;snddir&quot;)*&quot;_dtr&quot;)&quot;<br>
&gt;&gt;<br>
&gt;&gt;   pres=MeanVBot<br>
&gt;&gt;   While (pres &gt;= MeanVTop)<br>
&gt;&gt;      uwnd=interp(uwndarr,pres)*_ktm<br>
&gt;&gt;      vwnd=interp(vwndarr,pres)*_ktm<br>
&gt;&gt;      If (uwnd &gt; -900 &amp; vwnd &gt; -900)<br>
&gt;&gt;         UTotal=UTotal+uwnd<br>
&gt;&gt;         VTotal=VTotal+vwnd<br>
&gt;&gt;      Endif<br>
&gt;&gt;      pres=pres-delp<br>
&gt;&gt;   EndWhile<br>
&gt;&gt;   vcount=1+(MeanVBot-MeanVTop)/delp<br>
&gt;&gt;   Umean=UTotal/vcount<br>
&gt;&gt;   Vmean=VTotal/vcount<br>
&gt;&gt;   Spdmean=GetWSpd(Umean,Vmean)<br>
&gt;&gt;   MeanDir=GetWDir(Umean,Vmean)<br>
&gt;&gt;<br>
&gt;&gt; * Now, rotate and reduce mean wind to get storm motion<br>
&gt;&gt;<br>
&gt;&gt;   If (StormMot = 1)<br>
&gt;&gt;      If (Spdmean &lt; 15)<br>
&gt;&gt;         Reduct=0.25<br>
&gt;&gt;         Rotate=30<br>
&gt;&gt;      Else<br>
&gt;&gt;         Reduct=0.20<br>
&gt;&gt;         Rotate=20<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Else<br>
&gt;&gt;      Reduct=0.0<br>
&gt;&gt;      Rotate=0.0<br>
&gt;&gt;   Endif<br>
&gt;&gt;<br>
&gt;&gt;   UReduce=(1-Reduct)*Umean<br>
&gt;&gt;   VReduce=(1-Reduct)*Vmean<br>
&gt;&gt;   StormSpd=GetWSpd(UReduce,VReduce)<br>
&gt;&gt;<br>
&gt;&gt;   StormDir=GetWDir(UReduce,VReduce)+Rotate<br>
&gt;&gt;   If (StormDir &gt;= 360)<br>
&gt;&gt;      StormDir=StormDir-360<br>
&gt;&gt;   Endif<br>
&gt;&gt;<br>
&gt;&gt;   StormU=GetUWnd(StormSpd,StormDir)<br>
&gt;&gt;   StormV=GetVWnd(StormSpd,StormDir)<br>
&gt;&gt;<br>
&gt;&gt; * Draw Storm Motion Vector<br>
&gt;&gt;<br>
&gt;&gt;   xloc=HodXcent+_mtk*StormU*RingSpac/HodRing<br>
&gt;&gt;   yloc=HodYcent+_mtk*StormV*RingSpac/HodRing<br>
&gt;&gt;<br>
&gt;&gt;   &quot;set line 1 1 4&quot;<br>
&gt;&gt;   &quot;draw line &quot;HodXcent &quot; &quot; HodYcent &quot; &quot; xloc &quot; &quot; yloc<br>
&gt;&gt;   Arr1U=GetUWnd(HodRing/10,StormDir+30)<br>
&gt;&gt;   Arr1V=GetVWnd(HodRing/10,StormDir+30)<br>
&gt;&gt;   Arr2U=GetUWnd(HodRing/10,StormDir-30)<br>
&gt;&gt;   Arr2V=GetVWnd(HodRing/10,StormDir-30)<br>
&gt;&gt;<br>
&gt;&gt;   xloc2=xloc-Arr1U/HodRing<br>
&gt;&gt;   xloc3=xloc-Arr2U/HodRing<br>
&gt;&gt;   yloc2=yloc-Arr1V/HodRing<br>
&gt;&gt;   yloc3=yloc-Arr2V/HodRing<br>
&gt;&gt;<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;<br>
&gt;&gt;   If (FillArrw = 0)<br>
&gt;&gt;      &quot;draw line &quot;xloc&quot; &quot;yloc&quot; &quot;xloc2&quot; &quot;yloc2<br>
&gt;&gt;      &quot;draw line &quot;xloc&quot; &quot;yloc&quot; &quot;xloc3&quot; &quot;yloc3<br>
&gt;&gt;   Else<br>
&gt;&gt;      &quot;draw polyf &quot;xloc&quot; &quot;yloc&quot; &quot;xloc2&quot; &quot;yloc2&quot; &quot;xloc3&quot; &quot;yloc3&quot; &quot;xloc&quot;<br>
&gt;&gt; &quot;yloc<br>
&gt;&gt;   Endif<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; * Now, calculate SR and Environmental Helicity<br>
&gt;&gt;<br>
&gt;&gt;   helic=0<br>
&gt;&gt;   SRhelic=0<br>
&gt;&gt;   MinP=SfcPlev-HelicDep<br>
&gt;&gt;   pres=SfcPlev<br>
&gt;&gt;   uwndold=-999<br>
&gt;&gt;   vwndold=-999<br>
&gt;&gt;   While (pres &gt;= MinP)<br>
&gt;&gt;      uwnd=interp(uwndarr,pres)*_ktm<br>
&gt;&gt;      vwnd=interp(vwndarr,pres)*_ktm<br>
&gt;&gt;      If (uwnd &gt; -900 &amp; uwndold &gt; -900)<br>
&gt;&gt;          du=uwnd-uwndold<br>
&gt;&gt;          dv=vwnd-vwndold<br>
&gt;&gt;          ubar=0.5*(uwnd+uwndold)<br>
&gt;&gt;          vbar=0.5*(vwnd+vwndold)<br>
&gt;&gt;          uhelic=-dv*ubar<br>
&gt;&gt;          vhelic=du*vbar<br>
&gt;&gt;          SRuhelic=-dv*(ubar-StormU)<br>
&gt;&gt;          SRvhelic=du*(vbar-StormV)<br>
&gt;&gt;          SRhelic=SRhelic+SRuhelic+SRvhelic<br>
&gt;&gt;          helic=helic+uhelic+vhelic<br>
&gt;&gt;      Endif<br>
&gt;&gt;      uwndold=uwnd<br>
&gt;&gt;      vwndold=vwnd<br>
&gt;&gt;      pres=pres-delp<br>
&gt;&gt;   EndWhile<br>
&gt;&gt;<br>
&gt;&gt;   &quot;set strsiz 0.1&quot;<br>
&gt;&gt;   &quot;set string 1 l 3&quot;<br>
&gt;&gt;   If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;      If (Text4XC = -1)<br>
&gt;&gt;         Text4XC=rxloc-0.75<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text4YC = -1)<br>
&gt;&gt;         Text4YC=tyloc-5.45<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Else<br>
&gt;&gt;      If (Text4XC = -1)<br>
&gt;&gt;         Text4XC=rxloc+2.50<br>
&gt;&gt;      Endif<br>
&gt;&gt;      If (Text4YC = -1)<br>
&gt;&gt;         Text4YC=tyloc-6.10<br>
&gt;&gt;      Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt;   &quot;set line 0 1 3&quot;<br>
&gt;&gt;   &quot;draw recf  &quot;Text4XC-0.75 &quot; &quot;Text4YC-0.5 &quot; &quot; Text4XC+0.75 &quot; &quot;<br>
&gt;&gt; Text4YC+0.5<br>
&gt;&gt;   &quot;set line 1 1 3&quot;<br>
&gt;&gt;   &quot;draw rec  &quot;Text4XC-0.75 &quot; &quot;Text4YC-0.5 &quot; &quot; Text4XC+0.75 &quot; &quot; Text4YC+0.5<br>
&gt;&gt;   &quot;draw string &quot;Text4XC-0.45 &quot; &quot; Text4YC+0.40 &quot; Hodograph&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC-0.70 &quot; &quot; Text4YC+0.20 &quot; EH&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC+0.25 &quot; &quot; Text4YC+0.20 &quot; &quot;int(helic)<br>
&gt;&gt;   &quot;draw string &quot;Text4XC-0.70 &quot; &quot; Text4YC+0.05 &quot; SREH&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC+0.25 &quot; &quot; Text4YC+0.05 &quot; &quot; int(SRhelic)<br>
&gt;&gt;   &quot;draw string &quot;Text4XC-0.70 &quot; &quot; Text4YC-0.20 &quot; StmDir&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC+0.25 &quot; &quot; Text4YC-0.20 &quot; &quot; int(StormDir)&quot;`3.`0&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC-0.70 &quot; &quot; Text4YC-0.35 &quot; StmSpd(kt)&quot;<br>
&gt;&gt;   &quot;draw string &quot;Text4XC+0.25 &quot; &quot; Text4YC-0.35 &quot; &quot; int(_mtk*StormSpd)<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt; * Plot RH profile.<br>
&gt;&gt; *---------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; If (DrawRH = 1)<br>
&gt;&gt;  &quot;set z &quot;_zmin&quot; &quot;_zmax<br>
&gt;&gt;  &quot;set x &quot;_xval<br>
&gt;&gt;  &quot;set y &quot;_yval<br>
&gt;&gt;  &quot;set t &quot;_tval<br>
&gt;&gt;  &quot;set zlog on&quot;<br>
&gt;&gt;  &quot;set gxout line&quot;<br>
&gt;&gt;  &quot;set ccolor &quot;RHCol<br>
&gt;&gt;  &quot;set cstyle &quot;RHLine<br>
&gt;&gt;  &quot;set cmark &quot;RHMrk<br>
&gt;&gt;  &quot;set digsiz &quot;MrkSize<br>
&gt;&gt;  &quot;set missconn on&quot;<br>
&gt;&gt;  &quot;set xlab on&quot;<br>
&gt;&gt;  &quot;set frame off&quot;<br>
&gt;&gt;  &quot;set vrange 0 350&quot;<br>
&gt;&gt;  &quot;set xlpos 0 t&quot;<br>
&gt;&gt;  &quot;set xlevs 25 50 75 100&quot;<br>
&gt;&gt;  &quot;set grid vertical 5&quot;<br>
&gt;&gt;  &quot;define<br>
&gt;&gt; rh=100*exp((17.2694*&quot;snddewp&quot;)/(&quot;snddewp&quot;+237.3)-(17.2694*&quot;sndtemp&quot;)/(&quot;sndtemp&quot;+237.3))&quot;<br>
&gt;&gt;  &quot;d rh&quot;<br>
&gt;&gt;   If (LblAxes = 1)<br>
&gt;&gt;     &quot;set string 1 c 3 0&quot;<br>
&gt;&gt;     &quot;set strsiz 0.125&quot;<br>
&gt;&gt;     If (PageType = &quot;Portrait&quot;)<br>
&gt;&gt;       &quot;draw string 1.5 10.85 RH (%)&quot;<br>
&gt;&gt;     Else<br>
&gt;&gt;       &quot;draw string 1.75 8.35 RH (%)&quot;<br>
&gt;&gt;     Endif<br>
&gt;&gt;   Endif<br>
&gt;&gt; Endif<br>
&gt;&gt;<br>
&gt;&gt; *------------------------------------------<br>
&gt;&gt; * Reset environment to original dimensions<br>
&gt;&gt; *------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; &quot;set t &quot;_tval<br>
&gt;&gt; &quot;set x &quot;_xval<br>
&gt;&gt; &quot;set y &quot;_yval<br>
&gt;&gt; &quot;set z &quot;_zmin &quot; &quot;_zmax<br>
&gt;&gt;<br>
&gt;&gt; say &quot;Done.&quot;<br>
&gt;&gt;<br>
&gt;&gt; *Return(0)<br>
&gt;&gt;<br>
&gt;&gt; *************************************************************************<br>
&gt;&gt; function Templcl(temp,dewp)<br>
&gt;&gt;<br>
&gt;&gt; *------------------------------------------------------<br>
&gt;&gt; * Calculate the temp at the LCL given temp &amp; dewp in C<br>
&gt;&gt; *------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; tempk=temp+273.15<br>
&gt;&gt; dewpk=dewp+273.15<br>
&gt;&gt; Parta=1/(dewpk-56)<br>
&gt;&gt; Partb=log(tempk/dewpk)/800<br>
&gt;&gt; Tlcl=1/(Parta+Partb)+56<br>
&gt;&gt; return(Tlcl-273.15)<br>
&gt;&gt;<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt;<br>
&gt;&gt; function Preslcl(temp,dewp,pres)<br>
&gt;&gt;<br>
&gt;&gt; *-------------------------------------------------------<br>
&gt;&gt; * Calculate press of LCL given temp &amp; dewp in C and pressure<br>
&gt;&gt; *-------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; Tlclk=Templcl(temp,dewp)+273.15<br>
&gt;&gt; tempk=temp+273.15<br>
&gt;&gt; theta=tempk*pow(1000/pres,0.286)<br>
&gt;&gt; plcl=1000*pow(Tlclk/theta,3.48)<br>
&gt;&gt; return(plcl)<br>
&gt;&gt;<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt; function LiftWet(startt,startp,endp,display,Pmin,Pmax)<br>
&gt;&gt;<br>
&gt;&gt; *--------------------------------------------------------------------<br>
&gt;&gt; * Lift a parcel moist adiabatically from startp to endp.<br>
&gt;&gt; * Init temp is startt in C.  If you wish to see the parcel&#39;s<br>
&gt;&gt; * path plotted, display should be 1.  Returns temp of parcel at endp.<br>
&gt;&gt; *--------------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; temp=startt<br>
&gt;&gt; pres=startp<br>
&gt;&gt; cont = 1<br>
&gt;&gt; delp=10<br>
&gt;&gt; While (pres &gt;= endp &amp; cont = 1)<br>
&gt;&gt;    If (display = 1)<br>
&gt;&gt;       xtemp=GetXLoc(temp,pres)<br>
&gt;&gt;       &quot;q w2xy &quot;xtemp&quot; &quot;pres<br>
&gt;&gt;       xloc=subwrd(result,3)<br>
&gt;&gt;       yloc=subwrd(result,6)<br>
&gt;&gt;       If (xtemp &lt; 0 | xtemp &gt; 100)<br>
&gt;&gt;          cont=0<br>
&gt;&gt;       Else<br>
&gt;&gt;          If (pres &gt;= Pmin &amp; pres &lt; Pmax &amp; pres &lt; startp)<br>
&gt;&gt;             &quot;draw line &quot;xold&quot; &quot;yold&quot; &quot;xloc&quot; &quot;yloc<br>
&gt;&gt;          Endif<br>
&gt;&gt;       Endif<br>
&gt;&gt;    Endif<br>
&gt;&gt;    xold=xloc<br>
&gt;&gt;    yold=yloc<br>
&gt;&gt;    temp=temp-100*delp*gammaw(temp,pres-delp/2,100)<br>
&gt;&gt;    pres=pres-delp<br>
&gt;&gt; EndWhile<br>
&gt;&gt; return(temp)<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt; function LiftDry(startt,startp,endp,display,Pmin,Pmax)<br>
&gt;&gt;<br>
&gt;&gt; *--------------------------------------------------------------------<br>
&gt;&gt; * Lift a parcel dry adiabatically from startp to endp.<br>
&gt;&gt; * Init temp is startt in C.  If you wish to see the parcel&#39;s<br>
&gt;&gt; * path plotted, display should be 1.  Returns temp of parcel at endp.<br>
&gt;&gt; *--------------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; starttk=startt+273.15<br>
&gt;&gt; cont = 1<br>
&gt;&gt; delp=10<br>
&gt;&gt; round=int(startp/10)*10<br>
&gt;&gt; subscr=0.1*round<br>
&gt;&gt; powstart=pow(startp,-0.286)<br>
&gt;&gt; temp=starttk*_powpres.subscr*powstart-273.15<br>
&gt;&gt; pres=round-10<br>
&gt;&gt; While (pres &gt;= endp &amp; cont = 1)<br>
&gt;&gt;    subscr=0.1*pres<br>
&gt;&gt;    temp=starttk*_powpres.subscr*powstart-273.15<br>
&gt;&gt;    If (display = 1)<br>
&gt;&gt;       xtemp=GetXLoc(temp,pres)<br>
&gt;&gt;       &quot;q w2xy &quot;xtemp&quot; &quot;pres<br>
&gt;&gt;       xloc=subwrd(result,3)<br>
&gt;&gt;       yloc=subwrd(result,6)<br>
&gt;&gt;       If (xtempold &gt; 0 &amp; xtempold &lt; 100 &amp; xtemp &gt; 0 &amp; xtemp &lt; 100)<br>
&gt;&gt;          If (pres &gt;= Pmin &amp; pres &lt; Pmax &amp; pres &lt; startp)<br>
&gt;&gt;             &quot;draw line &quot;xold&quot; &quot;yold&quot; &quot;xloc&quot; &quot;yloc<br>
&gt;&gt;          Endif<br>
&gt;&gt;       Endif<br>
&gt;&gt;    Endif<br>
&gt;&gt;    xold=xloc<br>
&gt;&gt;    xtempold=xtemp<br>
&gt;&gt;    yold=yloc<br>
&gt;&gt;    pres=pres-delp<br>
&gt;&gt; EndWhile<br>
&gt;&gt; return(temp)<br>
&gt;&gt;<br>
&gt;&gt; **************************************************************************<br>
&gt;&gt; function CAPE(startt,startp,endp,sndtemp,snddewp)<br>
&gt;&gt;<br>
&gt;&gt; *---------------------------------------------------------------------<br>
&gt;&gt; * Returns all postive area and convective inhibition above LCL.<br>
&gt;&gt; * Parcel is lifted from LCL at startt,startp and is halted<br>
&gt;&gt; * at endp.   Integration method used is trapezoid method.<br>
&gt;&gt; *---------------------------------------------------------------------<br>
&gt;&gt;<br>
&gt;&gt; pres=startp<br>
&gt;&gt; PclTemp=startt<br>
&gt;&gt; PclTempV=virtual2(PclTemp+273.15,PclTemp+273.15,pres)-273.15<br>
&gt;&gt; delp=10<br>
&gt;&gt; Pos=0<br>
&gt;&gt; Neg=0<br>
&gt;&gt; Neg2=0<br>
&gt;&gt;<br>
&gt;&gt; count=0<br>
&gt;&gt; While (pres &gt;= endp)<br>
&gt;&gt;   EnvTemp=interp(sndtemp,pres)<br>
&gt;&gt;   EnvDewp=interp(snddewp,pres)<br>
&gt;&gt;   EnvTempV=virtual2(EnvTemp+273.15,EnvDewp+273.15,pres)-273.15<br>
&gt;&gt;   DelT=PclTempV-EnvTempV<br>
&gt;&gt;   If (abs(EnvTempV) &lt; 130 &amp; abs(PclTempV) &lt; 130)<br>
&gt;&gt;     count=count+1<br>
&gt;&gt;     If (count &gt; 1)<br>
&gt;&gt;       Val=DelT/pres+Prev<br>
&gt;&gt;       If (Val &gt; 0)<br>
&gt;&gt;          Pos=Pos+Val<br>
&gt;&gt;    </div></div></blockquote></div><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>Jeff Duda<br>Iowa State University<br>Meteorology Graduate Student<br>3134 Agronomy Hall<br><a href="http://www.meteor.iastate.edu/~jdduda">www.meteor.iastate.edu/~jdduda</a><br>