CastScience

Science Info and Calculations

Fronts and pressure

What a passing cold front changes on the lake, how the app finds fronts in weather data, and why the barometer itself is only a timing signal.

In plain words

A cold front is the leading edge of colder, drier air. Ahead of it the wind blows from the south or southwest, pressure falls and clouds build. As it passes the wind swings to the west or northwest, often with gusts; pressure bottoms out and starts to rise, and the air cools. Behind it come clear skies, bright light, cooler air and a steady northwest wind.

Anglers often report slower fishing for a day or two after a cold front. The app treats a front as a change in conditions: the day before a front moves the target depth band shallower, the two days after extend it deeper (Fish and temperature), and front days give vibration baits a floor in stained water (Scoring). These adjustments are Starting value: checked by the backtest.

What the barometer shows

From Oct 4 20:56 to Oct 13 12:56, 2019, sea-level pressure at Selfridge ranged from 1010.0 to 1029.9 hPa, a range of 19.9 hPa. A change of 15 hPa is the pressure of a column of water Δh\Delta h high:

Δh=Δpρg=1500 Pa1000 kg/m3×9.81 m/s2\Delta h = \frac{\Delta p}{\rho g} = \frac{1500\ \text{Pa}}{1000\ \text{kg/m}^3 \times 9.81\ \text{m/s}^2}
Δh=0.153 m=6.0 in\Delta h = 0.153\ \text{m} = 6.0\ \text{in}

A bass at 15 ft is under about 1,462 hPa (air plus water). A 15 hPa front changes that by 1.0%, the same as swimming 6 in up or down. So the pressure change itself is small next to what a fish meets moving through the water column. The app uses pressure as a timing signal only: it marks when the front passes. The changes that matter come with the front: the wind shift (and the waves and stirring it brings), the light once the sky clears, and the cooling of the air and the shallow water.

Physical constants on this page, not engine values: fresh water density 1000 kg/m³ (999.7 at 10 C), standard sea-level pressure 1013.25 hPa.

Table of values
Sea-level pressure at Selfridge, Oct 4 20:56 to Oct 13 12:56, with the pressure troughs the engine finds
Local dateSea-level pressure
Oct 4 20:561029.2 hPa
Oct 4 23:561029.9 hPa
Oct 5 02:561029.2 hPa
Oct 5 05:561027.1 hPa
Oct 5 15:561020.3 hPa
Oct 5 17:561018.6 hPa
Oct 5 20:561017.6 hPa
Oct 5 23:561014.8 hPa
Oct 6 02:561013.3 hPa
Oct 6 05:561014.3 hPa
Oct 6 07:561015.1 hPa
Oct 6 14:561016.5 hPa
Oct 6 17:561017.6 hPa
Oct 6 20:561018.8 hPa
Oct 6 23:561019.3 hPa
Oct 7 02:561018.7 hPa
Oct 7 05:561019.0 hPa
Oct 7 08:561020.2 hPa
Oct 7 11:561020.8 hPa
Oct 7 14:561019.3 hPa
Oct 7 19:561020.9 hPa
Oct 7 20:561021.9 hPa
Oct 7 23:561023.6 hPa
Oct 8 02:561023.9 hPa
Oct 8 05:561024.2 hPa
Oct 8 08:561026.1 hPa
Oct 8 10:561026.0 hPa
Oct 8 14:561024.2 hPa
Oct 8 16:561023.9 hPa
Oct 8 23:561024.2 hPa
Oct 9 02:561023.8 hPa
Oct 9 05:561024.6 hPa
Oct 9 08:561025.7 hPa
Oct 9 09:561026.0 hPa
Oct 9 14:561023.8 hPa
Oct 9 23:561023.9 hPa
Oct 10 02:561023.5 hPa
Oct 10 05:561023.6 hPa
Oct 10 08:561024.0 hPa
Oct 10 11:561024.2 hPa
Oct 10 14:561022.1 hPa
Oct 10 17:561021.6 hPa
Oct 10 20:561020.9 hPa
Oct 10 23:561020.7 hPa
Oct 11 02:561019.7 hPa
Oct 11 05:561019.0 hPa
Oct 11 08:561018.4 hPa
Oct 11 11:561017.0 hPa
Oct 11 14:561015.0 hPa
Oct 11 17:561012.2 hPa
Oct 11 20:561010.5 hPa
Oct 11 23:561012.0 hPa
Oct 12 02:561013.7 hPa
Oct 12 05:561015.1 hPa
Oct 12 07:561016.2 hPa
Oct 12 11:561017.3 hPa
Oct 12 15:561015.9 hPa
Oct 12 17:561015.6 hPa
Oct 12 23:561015.0 hPa
Oct 13 02:561013.9 hPa
Oct 13 05:561012.9 hPa
Oct 13 07:561012.3 hPa
Oct 13 11:561011.1 hPa
Oct 13 12:561010.0 hPa

Troughs found by the engine's pressureTroughs (a minimum after a fall of at least 3 hPa in the 12 h before it), local time: Oct 6 02:56; Oct 11 20:56; Oct 13 12:56, the last sample, where the series ends while pressure is still falling. Samples about every 3 h (data/seed/pressure_samples_hourly.csv).

How the app finds fronts

Hourly rules (observed pressure)

Used when at least 12 hours of the day carry pressure. All thresholds are Starting value: to calibrate (SPEC 5.6).

  • Before a front: pressure fell at least 3 hPa in 6 h or 6 hPa in 12 h, with the wind from 135-250 degrees.
  • Front passing: within 3 h of a pressure trough, the wind from 250-30 degrees (through north), or gusts of 25 mph or more.
  • First day after: the first day after the trough, if pressure rose at least 4 hPa in 12 h, or the wind was from 250-30 degrees most of the window, or the high was at least 8 F below the day before.
  • Second day after: the second day after the trough, with high and steady pressure.
  • Stable: pressure changed less than 1.5 hPa in 6 h and is at least 1016 hPa.

Daily rule (no pressure)

The NWS forecast has no pressure, so forecast days, and days without hourly data, use a daily rule: a front day is a day whose high is at least 8 F below the day before, with the daily mean (vector) wind from 240-30 degrees. The day before it is before a front; the two days after are the first and second day after.

Front day n
Tmax⁡,n−Tmax⁡,n−1≤−8 FT_{\max,n} - T_{\max,n-1} \le -8\ \text{F}
andθn∈[240∘,360∘)∪[0∘,30∘)\text{and} \quad \theta_n \in [240^\circ, 360^\circ) \cup [0^\circ, 30^\circ)

On Selfridge's October data, 12 years (371 days), the engine's daily rule finds 15 front days in the Oct 3-15 windows and at least one front in Oct 7-11 in 6 of 12 years (computed now from data/seed/weather_daily_selfridge.csv). SPEC 5.6 records the same counts from the reference script.

Source: SPEC 5.6; reference/python/wx_analysis.py. Engine: packages/engine/src/fronts.ts.

Constants

ConstantValueIn the codeBasis
Daily rule: drop in the high8 FFRONT_HIGH_DROP_FWorking rule: from the trip analysis
Daily rule: wind from240-30 degDAILY_FRONT_WIND_DEGWorking rule: from the trip analysis
Pre-front pressure fall3 hPa in 6 h, 6 hPa in 12 hPRE_FRONT_FALL_6H_HPA, PRE_FRONT_FALL_12H_HPAStarting value: SPEC 5.6
Pre-front wind from135-250 degPRE_FRONTAL_WIND_DEGStarting value: SPEC 5.6
Post-front wind from250-30 degPOST_FRONTAL_WIND_DEGStarting value: SPEC 5.6
Front window around the trough3 hFRONTAL_WINDOW_HStarting value: SPEC 5.6
Front gusts25 mphFRONTAL_GUST_MPHStarting value: SPEC 5.6
Trough depth3 hPa in 12 hTROUGH_DEPTH_HPAWorking rule
Post-front pressure rise4 hPa in 12 hPOST_FRONT_RISE_12H_HPAStarting value: SPEC 5.6
Stable pressurechange under 1.5 hPa in 6 h, at least 1016 hPaSTABLE_CHANGE_6H_HPA, STABLE_MIN_HPAStarting value: SPEC 5.6
Hours with pressure for the hourly rules12HOURLY_FRONT_MIN_HOURS (plan.ts)Working rule

Constants are in packages/engine/src/fronts.ts unless named otherwise.

Sources

  • Iowa Environmental Mesonet, Selfridge ANGB (KMTC) hourly and daily observations.
  • National Weather Service API (no pressure forecast; SPEC 16, item 11).
  • Schramm, H. (2008). Need an excuse? Don't blame that front. Mississippi Sportsman.
  • Links: References.