Skip to content

Reading a windgram

A windgram aligns surface forcing with the atmosphere above one model grid cell. Each vertical slice is a forecast sounding; the horizontal axis connects those soundings through the day. Read the chart from the flight band outward: usable height, stability and moisture, wind through that height, then the surface fields driving the change. What a chart carries varies by model — the catalogue declares each model’s fields, and What each model can — and cannot — tell you is the companion for those differences.

Read one complete convective cycle

Morning stability gives way to a deep midday unstable column. The boundary layer, usable lift, and cloud base follow distinct arcs beneath wind that strengthens and veers with height.

A complete fair-weather convective cycle. This windgram shows one atmospheric profile in Etc/UTC. Morning stability gives way to a deep midday unstable column. The boundary layer, usable lift, and cloud base follow distinct arcs beneath wind that strengthens and veers with height.

Heights
Fields
Contours and wind
Strips
Labels and reference marks
Pressure kPa 90.3 90 Precip mm/h 0.5 0 Cloud % 100 0 H M L Layers % w* m/s 3 0 CAPE J/kg 1500 0 900m 2953ft 1668m 5472ft 2436m 7991ft 3203m 10510ft 3971m 13029ft 4739m 15548ft 10 11 12 13 14 15 16 17 18 19 11° 16° 23° 26° 24° 17° 13° launch 1050 m G7 G9 G11 G14 G22 G29 G32 G22 G16 G13 10° 20°
Usable lift Cloud base Boundary layer Model boundary layer 0 °C Condensation LAPSE RATEVery unstableUnstableConditional strongConditionalNear neutralStableInvertedStrong inversion-3-2.5-2-1.5-1.200.5UnstableConditional instabilityStableInverted
A controlled, model-shaped teaching profile rendered by the npm package. Toggle layers to isolate an encoding; unavailable controls declare fields this scenario intentionally omits.Units altitude m and ft · wind km/h · temperature °C · pressure kPa · precipitation mm · w* m/s

Check lift, climb limits, wind, surface forcing, and pressure

Section titled “Check lift, climb limits, wind, surface forcing, and pressure”
  1. When does usable lift reach launch? Follow the solid usable-lift line across the horizontal launch marker. A valley thermal forecast below launch does not establish a launch cycle.
  2. What stops the climb? Compare usable lift with the dashed boundary-layer top and dotted cloud base. Their order identifies an energy limit, a stable cap, a moisture limit, or a sounding ceiling.
  3. What occupies the flight band? Read wind from launch to usable-lift top. Cloud shading puts model-cloud or near-saturated layers inside that band; the 0 °C contour locates the freezing level.
  4. Does the surface support the profile? Thermal velocity w* should grow with boundary-layer depth. Cloud and precipitation can interrupt the surface heat that feeds it, and the CAPE strip says whether that heat has fuel enough to overdevelop.
  5. Is the synoptic pattern changing? Pressure tendency can flag an approaching system or a building ridge. It cannot select a launch hour by itself.

Pressure, precipitation, cloud, and w* use separate scales

Section titled “Pressure, precipitation, cloud, and w* use separate scales”

The strips share the time axis but use separate numeric scales. Every model carries the first four; a model that publishes the fields adds a CAPE strip, and models with layered cloud add a three-row layer strip:

Strip Measurement Reading limit
Pressure · kPa Mean sea-level pressure at the grid cell. The line shows tendency at one point; wind responds to pressure differences across space.
Precip · mm/h Liquid-equivalent precipitation rate. semantics.precipitation declares an instantaneous diagnostic or a step-window mean rate. The rate does not identify rain, snow, or freezing precipitation.
Cloud · % Total cloud fraction in the model column. Coverage has no height; body shading and cloud base carry vertical information.
w* · m/s Thermal velocity derived from surface heat flux and boundary-layer depth. It is an energy scale, not a predicted glider climb rate.
CAPE · J/kg Surface-based CAPE at the grid cell. Fuel for overdevelopment, not a storm forecast; a dimmed cell means a CIN cap is holding it down.
Layers · % Low, middle, and high cloud fraction, on models that publish them. The rows are terrain-following model layers, not fixed altitudes.
Smoke · µg/m³ Near-surface wildfire smoke, with a haze tint that deepens with column optical depth. The label names the smoke model — it can be a different model than the profile’s. Surface air can be clean under an elevated plume (line low, tint deep) and vice versa; see Smoke and thermals.
Sun · W/m² Satellite-measured surface sunlight (GOES-18), with a shadow that deepens as the sky under-delivers against a clear-sky expectation. A measurement, never a forecast — it always renders below the provenance divider.
AOT · 550 nm Satellite-measured aerosol optical thickness (GOES-18) — the same sun-dimming number the smoke strip forecasts, tinted with the same haze encoding so the two compare directly. A measurement, never a forecast — below the divider, daytime only; a missing hour means no accepted retrieval, not clear air.

Strips below the dashed divider — labeled beside this model — not in its physics — come from another source entirely: a different model’s forecast or a satellite measurement, each named inline with its run or instant. Nothing below the divider was part of the forecast above it.

Each vertical slice of the main panel is one atmospheric column at the local time printed below it. The left axis gives metres above sea level and the right axis gives feet above sea level. The launch marker, winds, temperature contours, cloud layers, and derived heights therefore share one vertical coordinate. The coloured field interpolates lapse rate between the model’s pressure levels; it is not a stack of observed layers. The launch marker sits at the surveyed launch elevation while surface values are referenced to the model’s own smoothed terrain — The mountain the model sees shows how large that gap is and how to read across it.

In the complete example, pressure eases from 90.30 to 90.01 kPa before a small evening rebound to 90.10, no precipitation reaches the grid cell, and w* peaks at 2.88 m/s at 15:00 UTC. Total cloud thins from 35% to 8% at peak heating, then rebuilds to 50% by 19:00. The profile also publishes CAPE and CIN, gust, model-PBL height, and layered cloud. At peak heating, CAPE reaches 780 J/kg, CIN weakens to −5 J/kg, the gust reaches 8 m/s, and the model PBL reaches 2,800 m AGL. The w* peak identifies the hour with the greatest modelled convective energy. Height, moisture, and wind describe the resulting column.

The CAPE strip classifies each hour as calm below 300 J/kg, watch from 300 J/kg, risk from 800 J/kg, or severe from 1,500 J/kg. These labels are renderer classes, not weather-severity categories or flight advice. A dimmed cell means the model also publishes CIN of −50 J/kg or stronger, which can delay or suppress the convection that CAPE alone suggests. The front-arrival scenario carries that controlled sequence: a calm cell begins under −180 J/kg of CIN, a 360 J/kg watch cell remains dimmed while CIN is −59 J/kg, and a 330 J/kg watch cell becomes undimmed after CIN weakens to −34 J/kg. What surface-based CAPE measures, and why an empty cell is a statement rather than a zero, is in What each model can — and cannot — tell you.

The pressure strip auto-scales to the displayed hours. A small tendency can fill it, just as the large fall in the front-arrival lesson does; the amplitude is not a pressure-gradient map.

Falling pressure often accompanies an approaching low, trough, or front. Read it with thickening cloud, precipitation, and strengthening or backing winds before inferring deterioration. Rising pressure often follows a frontal passage or marks a building ridge. Clearing can follow, while subsidence under the ridge can also strengthen an inversion and trap valley haze or smoke. A flat line says that mean sea-level pressure changes little at that grid cell during the displayed hours.

Wind responds to the pressure gradient between places, not the pressure value at one launch. Two days can both read 101.2 kPa and carry different wind because the surrounding isobars differ. Treat the strip as a regime-change clue, then check forecast maps, winds aloft, and observations.

Pressure tendency is one clue in a sequence

Pressure falls first, followed by increasing cloud, wind, and then precipitation as the synthetic front arrives.

A controlled frontal arrival sequence. This windgram shows one atmospheric profile in Etc/UTC. Pressure falls first, followed by increasing cloud, wind, and then precipitation as the synthetic front arrives.

Pressure kPa 101.6 99 Precip mm/h 4 0 Cloud % 100 0 1217m 3994ft 1890m 6200ft 2562m 8406ft 3234m 10612ft 3907m 12817ft 4579m 15023ft 13 14 15 16 17 18 19 20 21 22 launch 1591 m G11 G13 G16 G18 G29 G40 G52 G65 G68 G72
Falling
Can accompany an approaching low, trough, or front; companion fields establish the sequence.
Rising
Can follow a system or mark a building ridge; it does not guarantee useful mixing.
Flat
Reports little pressure evolution at that point, not a weak spatial gradient.
Point pressure falls ahead of thickening cloud, stronger wind, and precipitation. Its G values are instantaneous gust diagnostics, as declared by the profile—not hour maxima. The trace is not a spatial pressure-gradient map.Units pressure kPa · instant precipitation rate mm/h · cloud % · wind and instantaneous gust km/h · altitude m and ft

Read the stability scale against a rising parcel

Section titled “Read the stability scale against a rising parcel”

The chart reports local environmental lapse rate in degrees Celsius per 1,000 ft. Its sign matters: negative values mean the environment cools with height; positive values mean temperature increases with height, which is an inversion.

An unsaturated rising parcel cools at about 3 °C per 1,000 ft. When the environment cools at least that quickly, the parcel can remain warmer than its surroundings and continue upward. The red and orange classes at or below −2.5 °C per 1,000 ft therefore mark the least resistance to dry convection. Between about −2.5 and −1.5, a dry parcel loses buoyancy more readily, while a saturated parcel may continue because condensation slows its cooling. The exact moist-adiabatic rate changes with temperature and moisture, so the chart’s fixed “conditional” bins are a reading aid rather than a parcel calculation. The −1.5 to −1.2 class sits near the moist-adiabatic range and remains condition-dependent. Values from −1.2 to 0 are stable. Positive grey classes are inversions: temperature warms with height and caps vertical exchange.

Read the shape before the colour name. A shallow unstable layer under a stable band supports low, short-lived mixing. A deep unstable column with positive w* supports a deeper boundary layer and can mix stronger winds from aloft toward launch. An unstable column ending in a stable lid can produce a defined top and organized climbs below it. An inversion crossing launch height must erode before surface-driven air can connect the valley with launch. A red column at night or under zero surface heat still has no modelled thermal engine; lapse rate describes susceptibility, while w* supplies forcing.

Read stability as a vertical sequence through time

Similar surface heating can erode an inversion, remain trapped below one, or build a deep mixed layer.

Three package-rendered profiles compare an eroding morning inversion, a persistent inversion, and a complete convective cycle using the reference stability field and default package tokens.

A morning inversion erodes past launch

The mixed layer starts below launch, then daytime warming deepens it through launch altitude.

w* m/s 3 0 900m 2953ft 1599m 5245ft 2298m 7538ft 2996m 9831ft 3695m 12123ft 4394m 14416ft 12 13 14 15 16 17 launch 1500 m

A persistent inversion caps daytime heating

Strong surface heating is not enough to erase a warm cap, leaving the boundary layer below launch.

w* m/s 3 0 900m 2953ft 1599m 5245ft 2298m 7538ft 2996m 9831ft 3695m 12123ft 4394m 14416ft 12 13 14 15 16 17 launch 1750 m

A complete fair-weather convective cycle

Morning stability gives way to a deep midday unstable column. The boundary layer, usable lift, and cloud base follow distinct arcs beneath wind that strengthens and veers with height.

w* m/s 3 0 900m 2953ft 1604m 5262ft 2308m 7572ft 3012m 9882ft 3716m 12192ft 4420m 14501ft 10 11 12 13 14 15 16 17 18 19 launch 1050 m
  1. Very unstable≤ -3 °C/1,000 ft
  2. Unstable≤ -2.5 °C/1,000 ft
  3. Conditional · strong≤ -2 °C/1,000 ft
  4. Conditional≤ -1.5 °C/1,000 ft
  5. Near neutral≤ -1.2 °C/1,000 ft
  6. Stable≤ 0 °C/1,000 ft
  7. Inversion≤ 0.5 °C/1,000 ft
  8. Strong inversionhighest class
The package derives field geometry from each validated scenario and classifies every lapse interval with WINDGRAM_STABILITY_CLASSES. Colour identifies a layer; w* identifies the surface forcing active at that hour.Units lapse °C per 1,000 ft · altitude m and ft · w* m/s

Separate cloud cover, cloud base, and cross-hatching

Section titled “Separate cloud cover, cloud base, and cross-hatching”

Cloud percentage is the model’s total column coverage. It does not say where the cloud sits. The dotted cloud-base line is a lifted-condensation-level estimate for a parcel starting at model terrain. It asks where that surface parcel would first saturate — and drops to the model’s own cloud when the sampled column already saturates below that.

The body shading asks a different question. On most models the renderer grades levels by dew-point depression — densest below 0.5 °C, the classic hatch threshold — an inference of cloud from near-saturation. On a model that publishes its own per-level cloud fraction, the shading comes from that cloud directly, and the model’s assertion wins over the inference. Either way, those layers sit in the model sounding itself; which models assert cloud and which leave it to inference is in What each model can — and cannot — tell you. A shaded layer above a high surface cloud base can therefore represent mid-level or upper cloud that the surface parcel did not create. Shading through the flight band means the model places cloud in the air pilots would occupy.

The three moisture signals can disagree without contradicting each other. The cloud-limited example keeps total coverage at 15%, while one sampled pressure level is saturated and the published cloud base caps usable lift near 2,079 m. A small horizontal coverage fraction can still coincide with a vertically important cloud layer; neither signal replaces the other.

Coverage, cloud base, and sampled saturation answer different questions

A horizontal coverage fraction cannot locate cloud vertically, and one cloud-base height cannot describe every moist layer aloft.

At the selected hour, total cloud coverage is 15 percent, published cloud base is 2079.3 metres, and 1 pressure level is within 0.5 degrees Celsius of saturation.

01

Total cloud

What fraction of the model grid cell is covered?

Coverage has no altitude or thickness.
02

Published cloud base

Where does the lower parcel-or-column moisture limit sit?

One lower boundary; not a complete cloud profile.
03

Near-saturated samples

Which published pressure levels put temperature within 0.5 °C of dew point?

Cloud % 100 0 900m 2953ft 1597m 5239ft 2293m 7524ft 2990m 9810ft 3687m 12096ft 4384m 14382ft 15 launch 1050 m 10° 20° Td 0° Td 10°
  • 800 hPa2115 m · ΔTd 0.0 °C · RH 100%
Package geometry locates the sampled layers; sparse levels still do not imply full vertical resolution.
The values come from one controlled cloud-capped profile. Dew-point depression and relative humidity are computed with windgram/derive; no archived profile or hand-authored moisture formula is used.Units cloud % · altitude m ASL · temperature and dew-point depression °C

Add temperature and moisture to precipitation

Section titled “Add temperature and moisture to precipitation”

The precipitation strip reports liquid-equivalent rate in mm/h. instantRate means the provider’s diagnostic at validAt; windowMeanRate means the step accumulation divided by that window’s length. Compare the rates only after preserving that measurement-window difference.

The strip does not classify phase. The 0 °C contour shows the dry-bulb freezing level, and the shaded layers show where the sampled column is near saturation. Precipitation reaching a launch in air well above 0 °C is likely rain. A subfreezing column supports snow. A warm layer above a subfreezing launch can melt snow and permit refreezing, so a precise phase call needs the full temperature and wet-bulb profile; the freezing contour alone cannot supply it.

The front-arrival example separates those observations. Over its final six hours, precipitation builds from zero to an instantaneous peak of 4.0 mm/h in the penultimate hour, then eases to 3.0 mm/h, while the package renders temperature and moisture through the full column. The figure presents precipitation rate and the 0 °C contour as evidence for a fuller phase analysis.

Precipitation amount and phase are separate questions

A precipitation-rate strip and a freezing contour provide evidence, but neither alone classifies what reaches the ground.

The final six hours of a controlled front reach 4.0 millimetres per hour. Package-rendered temperature and dew-point geometry show the atmospheric fall path while the profile declares instantaneous-rate precipitation semantics.

Precip mm/h 4 0 Cloud % 100 0 1217m 3994ft 1889m 6197ft 2561m 8401ft 3232m 10604ft 3904m 12808ft 4575m 15011ft 17 18 19 20 21 22 launch 1591 m 10° 20° Td 0°

The contour is evidence, not a verdict. Phase depends on the temperature and moisture through the complete fall path, including melting and refreezing layers that a single height cannot summarize.

The plot exposes rate, temperature, moisture, and launch height without making a precipitation-phase verdict.Units precipitation mm/h · temperature °C · altitude m and ft · time UTC

Boundary-layer top, usable-lift top, and cloud base answer different questions

Section titled “Boundary-layer top, usable-lift top, and cloud base answer different questions”
  • Boundary-layer top — dashed amber. A dry parcel lifted from the model surface becomes no warmer than the environment at this elevation. It describes thermodynamic depth.
  • Usable-lift top — solid blue. canadarasp’s strongest-core profile falls to a 1 m/s sink threshold here, unless cloud base stops it first. It describes a modelled climb limit.
  • Cloud base — dotted slate. A surface parcel reaches saturation here, or the sampled column already has — the line takes the lower height. When this line pins the solid line, moisture limits usable height.
  • Model boundary-layer top — tighter dash. The model’s own boundary-layer depth, placed on the altitude axis and drawn beside the parcel-derived dashed line, on models that publish it. The two answer the same question with different physics; separation between them is information, not error.

The complete example shows the energy-limited case. At 15:00 UTC the solid line ends at 3,946 m, above the dashed boundary layer at 3,567 m, while the dotted cloud base stays higher still at 4,557 m — moisture never enters that climb’s limit. The cloud-limited example shows the opposite relationship: its cloud base pins the solid line at 2,079 m, a moisture-limited climb, while the parcel-derived boundary layer reaches 4,215 m. Different physics remain honestly separated.

Thin isotherms show the elevation of fixed temperatures. The emphasized 0 °C contour is the freezing level. Body shading and cloud base remain separate: the shading shows every near-saturated layer through the column, while the cloud-base line commits to a single height — the lowest a climb would meet cloud, lifted parcel or model layer.

The boundary-layer and usable-lift lines can cross because they do not estimate the same quantity. Why usable lift can sit above the boundary layer explains the updraft coefficient and sink threshold behind the solid line. On the ensemble model, each of these series carries a p25–p75 band — member spread, not a confidence interval; Ensemble values defines how to read it.

Three heights answer three different questions

Usable lift, the parcel-derived boundary-layer top, and cloud base can separate or meet because they encode different limits.

A complete fair-weather convective cycle. This windgram shows one atmospheric profile in Etc/UTC. Morning stability gives way to a deep midday unstable column. The boundary layer, usable lift, and cloud base follow distinct arcs beneath wind that strengthens and veers with height.

900m 2953ft 1668m 5472ft 2436m 7991ft 3203m 10510ft 3971m 13029ft 4739m 15548ft 10 11 12 13 14 15 16 17 18 19 launch 1050 m
The line geometry is serialized directly from the npm scene; this focused view changes visibility, not the scenario values.Units altitude m and ft · height lines m ASL · time UTC

The shaft points toward the direction the wind comes from. A half tick counts 5 units, a full tick 10, and a pennant 50; a circle means calm. The unit is a chart convention, not part of the symbol. Aviation charts commonly count knots; canadarasp and this project count km/h. Read the printed unit before decoding the feathers.

On models that publish a gust, a “G” readout above the surface barb carries the gust in the same printed unit. Whether that number means “gusting to” over the past hour or an instantaneous sample is declared per model — see What each model can — and cannot — tell you. The wind-profile example omits gusts to isolate the vertical wind profile: around the selected hour, wind strengthens from 23.4 km/h near launch to 99 km/h at 3,025 m while turning from 5° to 124°.

Scan vertically at the hour of interest. Start near launch, continue through the usable-lift band, and read the wind just above its top. Speed increasing with height implies stronger drift and can bring faster air toward launch as mixing deepens. A directional change through the band marks shear and can place part of the climb in lee flow even when the launch-level barb looks acceptable. Then scan through time for the arrival of valley circulation, strengthening synoptic flow, or a reversal.

Read wind from launch through usable lift

Wind strengthens and turns materially from launch height toward the top of usable lift.

Wind shear crosses the usable-lift band. This windgram shows one atmospheric profile in Etc/UTC. Wind strengthens and turns materially from launch height toward the top of usable lift.

900m 2953ft 1599m 5245ft 2298m 7538ft 2996m 9831ft 3695m 12123ft 4394m 14416ft 12 13 14 15 16 17 launch 1050 m
Read the printed unithalf feather 5 · full feather 10 · pennant 50 km/hThe same shapes often count knots on other aviation charts.
Selected hour, sampled from the rendered scene
AltitudeWind fromSpeedBarb rounds to
1,002 m220°10.8 km/h10 km/h
2,125 m116°83.2 km/h85 km/h
4,225 m34°55.8 km/h55 km/h
The shaft points toward the direction the air comes from. The npm serializer draws every shaft, feather, pennant, placement, and rotation; the table samples its selected-hour scene graph.Units wind speed km/h · direction degrees from true north · altitude m ASL

Follow the wind through the lift band

Move through teaching hours while the package samples the same wind field at launch and usable-lift top.

An interactive vertical wind profile showing changing wind speed and direction between launch altitude and the derived usable-lift top.

At launch 3.2 m/s from 347°At usable top 12.6 m/s from 52°Vector shear 11.7 m/s
900m 2953ft 1597m 5239ft 2293m 7524ft 2990m 9810ft 3687m 12096ft 4384m 14382ft 15 launch 1050 m

Conclusion. A single surface wind cannot describe this column: wind strengthens and turns between launch and the top of the usable-lift band.

Wind components are interpolated from the package scene; vector shear is calculated by windgram/derive.Units wind m/s and degrees from · shear m/s · height m MSL

A windgram samples one model grid cell. Resolve rotor behind a spur, a launch cycle inside that cell, smoke suppressing surface heat, the break time of a capped CAPE column, precipitation phase, and an early valley-wind arrival with current observations, aviation forecasts, radar or satellite, forecast maps, and local site knowledge.

The stability interpretation follows the FAA Glider Flying Handbook, the CAPE classes take their overdevelopment framing from Weather Forecasting for Soaring Flight (WMO-No. 1038), and pressure tendency follows the National Weather Service observing handbook. The rendering lineage lives in the canadarasp windgram source.