Glossary#
Terms are written for scientific software engineers rather than
meteorologists. Each entry states the concept plainly, then how it appears in
tephpy. See Documentation Style for the entry and
cross-reference rules.
- tephigram#
A thermodynamic diagram that plots temperature against entropy on a rotated coordinate system, so that isotherms and dry adiabats form an exactly perpendicular straight-line grid.
tephpyrenders it as a Matplotlib projection named"tephigram".- sounding#
A vertical profile of atmospheric measurements (pressure, temperature, dewpoint, wind) from a single ascent. In
tephpya sounding is carried by theSoundingdataclass — pressure and temperature arrays (plus optional dewpoint and wind) held as pint quantities with station/time metadata — and drawn withax.plot_sounding(...)as red temperature and green dewpoint profiles.- dewpoint#
The temperature air must cool to, at constant pressure and moisture content, to become saturated; it is never above the air temperature (equality means saturation). In
tephpyit is the optionaldewpointfield of aSounding(°C internally, any pint temperature unit accepted), plotted green alongside the red temperature line.- profile#
One curve of a temperature-like quantity against pressure — a sounding’s temperature or dewpoint trace, or a computed parcel path (the
calc.Profiledataclass).ax.plot_profile(...)draws it through the tephigram transform machinery.- potential temperature#
The temperature an air parcel would have if moved dry-adiabatically to the 1000 hPa reference pressure; written θ (theta). In
tephpyit is the second native coordinate of the tephigram plane —transforms.theta_from_pressure_temperaturecomputes it (°C) from pressure (hPa) and temperature (°C).- dry adiabat#
A line of constant potential temperature — the path an unsaturated parcel follows when lifted. On a tephigram, dry adiabats are straight lines exactly perpendicular to the isotherms.
- isotherm#
A line of constant temperature. On a tephigram, isotherms are straight parallel lines; their exact perpendicularity to the dry adiabats is the diagram’s defining property and is asserted directly in the test suite.
- isopleth#
A line along which one quantity is constant. The tephigram background is five isopleth families — isotherms, isobars, dry adiabats, moist adiabats, and lines of constant humidity mixing ratio — each drawn by one zoom-aware Matplotlib artist (
IsoplethFamily) that selects the members appropriate to the current view.- isobar#
A line of constant pressure. Pressure is not an axis of the tephigram, so each isobar is a gentle curve across the temperature/potential temperature grid;
tephpylabels isobars in hPa and reconfigures them viaax.isobars(...).- moist adiabat#
- saturation adiabat#
- saturated adiabat#
- wet adiabat#
The path a saturated air parcel follows when lifted: heat released by condensation makes it cool more slowly than a dry adiabat. Each curve is labelled by its wet-bulb potential temperature — the temperature where it crosses 1000 hPa.
tephpycomputes moist adiabats withmetpy.calc.moist_lapse()and truncates them at low temperature where they converge onto the dry adiabats; “moist adiabat” is the canonical name, matching the AMS Glossary headword and MetPy’s vocabulary.- wet-bulb potential temperature#
The temperature a parcel would have if brought saturated along a moist adiabat to the 1000 hPa reference pressure; written θw (theta-w). It is conserved along a moist adiabat, which is why
tephpyuses it (°C) as the member value labelling each moist adiabat.- humidity mixing ratio#
- mixing ratio#
- isohume#
The mass of water vapour per mass of dry air, in g/kg. On a tephigram, a line of constant saturation mixing ratio (an isohume) marks where air of a given moisture content saturates;
tephpycomputes these lines with MetPy and labels them in g/kg viaax.mixing_ratios(...).- parcel#
- air parcel#
An imagined small mass of air lifted through the surrounding environment without mixing with it — the tephigram’s basic tool for reasoning about stability. Its parcel ascent is what the diagram plots; in
tephpytheparcel=option ofcalc.parcel_pathchooses where that ascent begins:"surface"or"mixed-layer"(the lowest 100 hPa averaged).- parcel ascent#
- parcel path#
The path a lifted parcel traces on the diagram: dry-adiabatically from its start level to the LCL, then along a moist adiabat above it. Comparing that path against the environment sounding is what yields CAPE, CIN, and the LFC and EL levels — the ascent is the construction, they are its readings.
calc.parcel_path(...)computes it as acalc.Profile.- lifting condensation level#
- LCL#
- Normand’s point#
The level where a lifted, unsaturated parcel first saturates — on a tephigram it is Normand’s construction: the dry adiabat through the parcel’s temperature meets the humidity mixing ratio line through its dewpoint.
calc.normand_point(...)returns it as scalar (pressure, temperature) pint quantities,calc.parcel_pathsplices it into the ascent exactly, and the operational -25 mb cloud-base correction is applied only when requested viacloud_base_correction=.- level of free convection#
- LFC#
The level above which a lifted parcel becomes warmer than its environment and rises freely. In
tephpyit is thelfc_pressure/lfc_temperaturefields ofcalc.SoundingIndices— NaN quantities when the parcel never becomes positively buoyant (“does not exist” is an answer, not an error).- equilibrium level#
- EL#
The level above the LFC where a rising parcel cools back to the environment temperature — roughly the anvil top of a thunderstorm. The
el_pressure/el_temperaturefields ofcalc.SoundingIndices; NaN when the parcel is still buoyant at the profile top (CAPE can be positive with no EL).- CAPE#
- convective available potential energy#
The energy per unit mass (J/kg) available to a parcel between the LFC and the EL, where it is warmer than the environment — the fuel gauge for deep convection.
calc.indices(...)reports it (0 J/kg— never NaN — when there is none) andax.shade_cape(snd, parcel)shades the region.- CIN#
- convective inhibition#
The energy per unit mass (J/kg, non-positive) a parcel must be given to reach its LFC through the layers where it is cooler than the environment — the lid that must break before CAPE is released. Reported by
calc.indices(...)and shaded byax.shade_cin(snd, parcel).- lifted index#
The environment-minus-parcel temperature difference at 500 hPa (°C); large negative values mean instability. The
lifted_indexfield ofcalc.SoundingIndices; NaN when the profile tops out below 500 hPa.- radiosonde#
The instrument package a weather balloon carries aloft, transmitting pressure, temperature, humidity, and wind as it rises — the source of most real soundings.
tephpyingests radiosonde archives through thetephpy.ioreaders.- IGRA#
- Integrated Global Radiosonde Archive#
NCEI’s quality-controlled archive of the global radiosonde record, distributed as one fixed-width file per station (version 2).
igra.read(...)reads one ascent from such a file into aSounding.- wind barb#
A glyph giving the wind at one level: the shaft points toward the direction the wind comes from, and its feathers sum to the speed — half barb 5 kt, full barb 10 kt, flag 50 kt, rounded to 5 kt bins; a bare circle is calm.
ax.plot_barbs(snd)draws a sounding’s barbs on a staff in the right-hand gutter, each level at the height where its isobar meets the diagram’s edge.