Methods and provenance
Calculation Reference
Equations, interpretation, provenance, and application locations for derived sounding products.
Parcel definitions and diagnostic conventions are aligned with SHARPpy, using an independent implementation and virtual-temperature-corrected buoyancy. See SHARPpy parcelx and the recommended citation: Blumberg et al. (2017), doi:10.1175/BAMS-D-15-00309.1.
| Parameter | Formula or algorithm | Use | Applied in | Source |
|---|---|---|---|---|
| SB parcel | Initial p, T, Td are taken from the lowest valid thermodynamic level. | Represents immediately surface-based convection. | Skew-T trace; SB diagnostics | App-computed; SHARPpy-aligned |
| 100 hPa ML parcel | Pressure-weighted mean potential temperature and mixing ratio through the lowest 100 hPa, restored to surface pressure. | Reduces sensitivity to a shallow surface anomaly. | Skew-T trace; ML diagnostics | App-computed; SHARPpy-aligned |
| 300 hPa MU parcel | The maximum Bolton equivalent potential temperature on a 1 hPa grid in the lowest 300 hPa selects the source level. | Finds elevated or surface instability. | Skew-T trace; MU diagnostics | App-computed; SHARPpy-aligned |
| LCL | TLCL = [1/(1/(Td−56) + ln(T/Td)/800)] + 56; pressure follows the dry Poisson relation. | Approximate cloud base of a lifted parcel. | Parcel markers and derived panel | App-computed; Bolton (1980) |
| Parcel trace | Dry Poisson ascent below the LCL; pseudoadiabatic saturated ascent follows environmental pressure levels above it, with exact source and LCL points retained. | Compares lifted parcel temperature with the environment. | Skew-T SB/ML/MU overlays | App-computed; SHARPpy-aligned level sampling |
| CAPE / CIN | B = g(Tv,p−Tv,e)/Tv,e; trapezoidal height integration. Positive energy is CAPE; negative energy above 500 hPa is excluded from CIN. | Estimates updraft energy and inhibition. | Derived Parameters | App-computed; SHARPpy convention |
| LFC / EL | Pressure-interpolated zero crossings of virtual-temperature buoyancy after the LCL. LFC begins positive buoyancy; EL ends the first positive layer. | Bounds the primary freely convecting layer. | Parcel markers and derived panel | App-computed |
| Potential temperature θ | θ = (T + 273.15)(1000/p)Rd/cp. | Compares temperature across pressure levels and diagnoses stability. | Time-height; ML parcel selection | App-computed for ECMWF; BUFKIT may supply profile values |
| 850 mb temperature | Read directly at 850 mb when present; otherwise linearly interpolate temperature between the surrounding BUFKIT sounding levels in log-pressure coordinates. | Tracks lower-tropospheric thermal changes even when native model levels do not fall exactly at 850 mb. | MSLP/RH/850 mb temperature meteogram | App-parsed/interpolated from the BUFKIT profile as surfaceTimeSeries T850; external-model profiles provide their 850 mb level |
| Equivalent potential temperature θe | Bolton (1980) approximation using pressure, temperature, dew point, mixing ratio, and LCL temperature. | Combines heat and moisture; MU selection and θe inset. | MU parcel; side-panel inset | App-computed for parcels/ECMWF; BUFKIT THTE otherwise |
| Saturation vapor pressure | Liquid: 6.112 exp(17.62t/(243.12+t)); ice: 6.112 exp(22.46t/(272.62+t)) hPa. | Converts temperature/dew point/frost point to vapor pressure. | RH bars, time-height RH, DGZ moisture | App-computed; WMO/CIMO Magnus |
| Frost point | Compute e from liquid-water dew point, then invert the ice Magnus equation: Tf = 272.62L/(22.46−L), L = ln(e/6.112). | Canonical moisture coordinate for subfreezing RH products. | Frost-point overlay; RH calculations | App-computed |
| RHi / RHw | 100esi(Tf)/esi(T), or /esw(T) for RHw. Values are not capped. | Diagnoses saturation relative to ice or liquid. | RH bars; time-height; surface meteogram; DGZ stats | App-computed |
| Wet-bulb temperature | BUFKIT TMWC when supplied; ECMWF uses the Stull (2011) empirical T/RH approximation and prevents Tw > T. | Supports precipitation-type and evaporative-cooling assessment. | Optional Skew-T overlay | Mixed: upstream/app-computed |
| Precipitation type | The modified Bourgouin/Birk et al. (2021) method diagnoses cloud-ice probability and wet-bulb melting/refreezing energies. Only complete profile levels with pressure ≥100 mb are considered. REPS runs the method independently on every perturbed member and control. Its mean averages available member diagnostics; each P10/P25/P50/P75/P90 product uses the complete p-type result from the real perturbed member with the lowest pressure-thickness-weighted temperature RMSE from that percentile temperature profile. | Estimates rain, snow, freezing-rain, and ice-pellet probabilities. The representative-member percentile method preserves a physically coherent member profile instead of taking independent percentiles of phase probabilities. | Precipitation-type panel and deterministic/ensemble comparisons | App-computed from model temperature, dew point, wet-bulb temperature, height, and pressure. REPS representative selection excludes the control, requires at least two common above-ground temperature levels, and may choose a different member each forecast hour. Stored payloads require reingestion. |
| DGZ layer | Contiguous −18 to −12 °C segments between 0.75 and 12 km AGL, minimum 0.5 km deep. Primary layer favors depth, then RH, then ascent; statistics are depth-weighted. | Highlights temperatures favorable for dendritic snow growth. | Skew-T DGZ overlay and tooltip | App-computed |
| Wind components/speed | u = −V sin(direction), v = −V cos(direction); V = √(u²+v²). m s⁻¹ converts to knots with 1.94384449. | Supports hodographs, barbs, and surface wind. | Skew-T, hodograph, meteogram | App conversion from model/BUFKIT winds |
| Hodograph kinematics | Profile winds are sorted by AGL height, surface is held from the lowest valid wind when needed, and layer endpoints are linearly interpolated by height. Bunkers motions use 0-6 km mean wind, 0-500 m and 5.5-6 km mean-wind shear direction, and a 7.5 m s⁻¹ right/left deviation. Bulk shear uses surface-to-top vectors for 0-1, 0-3, 0-6, and 0-8 km. SRH and layer-mean streamwise vorticity follow the supplied Karl reference code for 0-1 and 0-3 km SRH and 0-1 km streamwise diagnostics. | Diagnoses storm motion, storm-relative curvature, low-level rotation, and deep-layer organization. | Full-size hodograph modal | App-computed; Bunkers et al. convention; Karl reference implementation; SHARPpy-style presentation |
| Precipitation | Millimetres convert to inches by division by 25.4. Meteogram bars display each available P01M, P03M, or P06M forecast-interval accumulation, and the total line is their running sum. | Displays forecast-interval and storm-total precipitation. Most-probable precipitation type is plotted only for intervals with at least 0.01 inches. | Surface snapshot; meteograms and model comparisons | App conversion/aggregation of upstream data |
| Cloud cover | BUFKIT total cloud is min(100, LCLD + MCLD + HCLD), after bounding each layer to 0–100%. ECMWF and RDPS total cloud cover is supplied directly by the model and normalized to percent. | Shows the fraction of sky covered by cloud; BUFKIT layer overlap is intentionally approximated by a summed-and-capped total. | Cloud-cover meteogram using TCLD, HCLD, MCLD, and LCLD | BUFKIT total is app-computed; layer values and external-model totals are upstream. Existing stored runs require raw-file backfill or reingestion. |
| PWAT | BUFKIT PWAT is converted from mm to inches; its upstream vertical integration is not recomputed here. | Measures total-column water vapor. | Derived Parameters | Upstream BUFKIT value |
| REPS mean and percentiles | At each available above-ground isobaric level and valid time, the app applies a missing-value-aware arithmetic mean or NumPy linear P10/P25/P50/P75/P90 independently to temperature, specific humidity, geopotential height, and U/V wind components. A separate synthetic surface level aggregates member surface pressure and 2 m thermodynamics. Surface parameters use the same fieldwise method. Contributing-member counts are retained for every field. | Summarizes the 20 perturbed members without averaging wind direction across the 0/360° discontinuity. | REPS ensemble profiles and meteograms | App-computed from upstream MSC member fields; units remain those of the deterministic payload fields. |
| REPS terrain mask | MSC HGT_SFC supplies model terrain. The surface profile level is fixed at 0 m AGL and uses surface pressure with 2 m temperature and RH-derived dew point. An isobaric level is excluded for a member when its pressure is at or above member surface pressure or its geopotential height is at or below model terrain. Summary levels aggregate the remaining above-ground contributors. | Prevents underground temperature, moisture, height, and wind values while keeping the displayed surface tied to 2 m thermodynamics. | All REPS member, control, mean, and percentile profiles | Terrain and atmospheric fields are upstream MSC values; masking and AGL conversion are app-computed. Existing REPS payloads require reingestion. |
| REPS synthetic-profile diagnostics | Dew point is derived from aggregated specific humidity and pressure; wind direction/speed are reconstructed from aggregated U/V. Parcel and hodograph diagnostics are then recomputed from each synthetic mean or percentile profile using the same algorithms listed above. | Keeps diagnostics internally consistent with the displayed synthetic profile; a percentile diagnostic is not the percentile of member diagnostics. | Active ensemble summary side panels, parcel trace, hodograph, and Skew-T | App-computed; stored ensemble payloads must be reingested after method changes. |
| SHOW, LIFT, SWET, KINX, TOTL, BRCH | The application does not recompute these index equations; values are read from BUFKIT station parameters. | Legacy instability and severe-weather guidance. | Derived Parameters when present | Upstream BUFKIT values |