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. Where a definition is the discipline’s rather than this
package’s, the American Meteorological Society’s Glossary of Meteorology
[AmericanMSociety24] is the authority.
- 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".- projection#
Matplotlib’s name for a custom Axes class registered under a string, selected with
plt.subplots(subplot_kw={"projection": ...})— nothing to do with a map projection. ImportingtephpyregistersTephigramAxesunder"tephigram", which is why every example imports the package even where it names nothing from it.- 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.- entropy#
The thermodynamic quantity whose defining property, for reading a chart, is that area on a temperature–entropy diagram is energy. For dry air the specific entropy is \(c_p \ln \theta\) plus a constant, so potential temperature carries it:
tephpyplots \(\ln \theta\) and never computes entropy itself, which is why the diagram is called T–ln θ rather than T–s.- 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.- lapse rate#
- dry adiabatic lapse rate#
- DALR#
- moist adiabatic lapse rate#
- saturated adiabatic lapse rate#
- SALR#
The rate at which temperature falls with height. Two of them matter on a tephigram, and they are the rates the two adiabat families draw: the dry adiabatic lapse rate (DALR), which an unsaturated parcel cools at, and the moist adiabatic lapse rate (SALR, for saturated), which a saturated one cools at — more slowly, because condensation releases heat into the parcel as it rises. Which of the two a lifted parcel is following, and where it changes over, is the whole content of a parcel ascent. “Moist” leads here for the same reason it leads in moist adiabat: one canonical spelling per concept, and that entry chose it.
tephpyhas no lapse-rate API of its own. The dry rate is implicit in every dry adiabat the diagram draws, and the saturated rate is MetPy’s —metpy.calc.moist_lapse()is what a moist adiabat is integrated from, and what it integrates is strictly the pseudoadiabatic rate, which differs from the reversible saturated rate by an amount no tephigram resolves.- 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 cap that must break before CAPE is released. Reported by
calc.indices(...)and shaded byax.shade_cin(snd, parcel).- cap#
- capping inversion#
The warm, stable layer above the surface that holds a lifted parcel down until something breaks it — the physical thing CIN measures, which is why forecasters quote a cap in J/kg and speak of it eroding through the day.
tephpyreports the number as thecinfield ofcalc.SoundingIndices.- 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.- special sounding#
- special#
A radiosonde release outside a station’s scheduled times — 00Z and 12Z, where the Z is UTC — made when the weather warrants an extra look. The 17Z ascent that
tephpy.samplesships is one, sent up about three hours before the Moore tornado of 2013-05-20.- 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.- hodograph#
A plot of a sounding’s winds as vectors from a common origin, joined in height order, so that the shape of the curve is how the wind turns and strengthens with height. It answers what a tephigram cannot: the diagram carries the thermodynamics, and its wind barbs give one level at a time.
tephpydraws no hodograph — MetPy’smetpy.plots.Hodographcomposes onto the same figure, and the Examples Gallery insets one over a tephigram.