comp.lang.idl-pvwave archive - RDF feed
type: channel
description: Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado
items: Skew-T, Log(P) Diagram

Skew-T, Log(P) Diagram
type: item
description: Greetings! A while back someone asked for an IDL procedure that is capable of producing a Skew-T, Log(P) diagram. If you have one, then I have been wasting my time... because I have just finished beating my head against a wall writing this code which accomplishes the task (thought it would be nice code to have lying around). It is not well tested, so please send comments to afl@cdc.noaa.gov so I can work out any bugs. Now one must learn to plot sounding data onto the chart. Use the Tnew function to find Temp. in the "skewed" coordinate system! It will also be nice to have the program compute such quantities as the Wet bulb temp, LCL, LFC, CAPE, etc. That's for the future. Andy ; PROCEDURE TO DRAW A SKEW-T, Log(P) DIAGRAM GIVEN A DESIRED ; TEMPERATURE RANGE FOR THE DATA. ; ; Originator: Andrew F. Loughe ; PRO SKEWT, TRANGE, everyT=everyT, everyDA=everyDA, $ everySA=everySA, everyW=everyW, title=title, notitle=notitle on_error, 2 if (n_elements(everyT) le 0) then everyT = 10 ; T = Temperature if (n_elements(everyDA) le 0) then everyDA = 10 ; DA = Dry adiabat if (n_elements(everySA) le 0) then everySA = 1 ; SA = Saturated adiabat if (n_elements(everyW) le 0) then everyW = 1 ; W = Mixing ratio if (not keyword_set(title)) then title='Skew-T, Log(P) Diagram' if (keyword_set(notitle)) then title=' ' if (N_params() eq 0) then $ message,$ 'EXAMPLE: skewt, [-20, 20], everyT=10, everyDA=10, everySA=2, everyW=2' ; Set some defaults prange = [1050, 100] ; Set default pressure range charsize = .8 ; Set default character size RED = 44 GREEN = 22 BLUE = 33 BLACK = 0 WHITE = 1 ; Make plot square for arbitrarily chosen trange of 80 degrees. ; Code from Ken Bowman if (!d.name eq 'PS') then device, /inch, xsize=7, ysize=7 daspect = FLOAT(!D.Y_SIZE)/FLOAT(!D.X_SIZE) * (trange(1)-trange(0))/80. margin = 0.1 aspect = 1.0 ; A square x0 = 0.50 - (0.5 - margin)*(daspect/aspect) y0 = margin x1 = 0.50 + (0.5 - margin)*(daspect/aspect) y1 = 1.0 - margin !P.POSITION = [x0, y0, x1, y1] ; Set valu…
creator: afl
date: 1995-04-04T07:00:00-00:00