Fishing forecast by city: how the bite windows are built
A fishing forecast is a prediction of when fish are most likely to feed, calculated from the Moon’s position rather than measured on the water. CatchClock publishes major and minor bite windows for 15 US cities, each solved from that city’s own latitude, longitude and time zone, sixteen days ahead.
The city pages carry the numbers. This page explains what those numbers are, how a single day reads, why a named city beats a pair of coordinates, and which fifteen cities are published.
What a fishing forecast predicts
A fishing forecast on this site predicts feeding activity from lunar geometry alone — nothing on a city page is a measurement of fish. The model is solunar theory, published by John Alden Knight in 1926: feeding peaks when the Moon is overhead or underfoot, and again around moonrise and moonset. Knight’s window widths, sixty minutes either side of a transit and thirty either side of a moonrise, are a publishing convention every solunar table has kept since. They are not a derived result. Weather, barometric pressure and water temperature sit outside the model completely, which is what the best fishing times guide exists to cover.
Today’s bite windows
No single bite window is true for the whole country on any given day, and the reason is geometry rather than modesty. The Moon crosses a different meridian at every longitude, so the hour that carries a major period in Miami carries nothing in Seattle, and one national figure would be wrong for almost everyone reading it. Every window here is solved from one city’s latitude, longitude and IANA time zone, which is why the answer to “when do fish bite today” is a row inside fifteen separate tables rather than a headline.
23.7%
That share is the honest ceiling on any answer to “is it a good time to fish”: about a quarter of every local day sits inside a window by construction, so the question worth asking is which of the day’s windows falls in light and weather you can actually fish, not whether one exists at all.
Each city table opens on that city’s own local yesterday and runs sixteen days, so the row you want is found by its date rather than by its position. Pick a city below and read across the row whose date matches the local calendar day: an inline script of some 430 bytes marks that row, compares nothing but YYYY-MM-DD strings, and shows a plain warning instead of expired numbers when the date you are reading has passed the end of the table.
How many bite windows a day actually holds
Two majors and two minors is the normal day, not a guaranteed one. The Moon rises roughly fifty minutes later each day, so a local day can contain one meridian transit instead of two, no moonrise at all, or no moonset — and the count is the part a printed table gets wrong most often. Below is the shape of a complete day, with what each window is anchored on and how wide it runs.
| Window | Centered on | Width | Normal count per day |
|---|---|---|---|
| Major | Meridian transit overhead (upper culmination) | 2 hours | 1 |
| Major | Meridian transit underfoot (lower culmination) | 2 hours | 1 |
| Minor | Moonrise | 1 hour | 1 |
| Minor | Moonset | 1 hour | 1 |
6.8%
Missing events are ordinary, so a table shows an em dash where nothing happened rather than 00:00 or yesterday’s time carried forward. The full derivation, including why transit is solved through hour angle instead of peak altitude, sits in the solunar calendar explainer and in the page on how these windows are calculated.
How to read a day on a city page
A day on a city page is a short list of computed times plus one opinion, and the opinion is the weakest part of it. Read the windows first and the day rating last.
Step 1
Read the two major periods first
Majors are the two-hour windows around the transits, one overhead and one underfoot. They are the strongest signal the model carries, and one of the two usually falls in darkness.
Step 2
Use minors when the majors land badly
Minors are the one-hour windows around moonrise and moonset. When both majors fall at three in the morning, a minor is the practical option for anyone fishing in daylight.
Step 3
Read the day rating last, and lightly
The 0–4 rating is driven mostly by lunar phase, and phase is global: on any given date it is nearly identical in all fifteen cities. It is not a local fact and is not presented as one.
Step 4
Trust the dashes
A dash means the event did not occur inside that local day — no moonrise, no moonset, or a single transit instead of two. Gaps are never filled with a plausible-looking time.
Timing is only half the question; the other half is what you are casting at, which the species guides handle — how to catch fish is the entry point to that layer.
Why the city matters more than your coordinates
A named city fixes two things a bare latitude-longitude pair does not: the clock the times are printed in, and the water they are meant for. Longitude alone moves the numbers by a predictable amount, and that amount is small enough to be worth stating rather than hiding.
4 min
The clock is the part that breaks silently. Every city page is computed against its IANA time zone and a local day that runs to midnight of the next civil date, not to a fixed 24 hours after the last one.
76
The water is the other half. A city page carries a tide table only when a NOAA CO-OPS harmonic station sits within 25 km of its main water; where none does, the page says nothing about tides instead of describing a different body of water.
Fishing forecast by city
Fifteen cities are catalogued here, grouped by state, and each one carries its own sixteen-day table, its own named water and its own species list. The grid deliberately spans 61°N to 25°N so the seasonal contrast is real rather than decorative — and in Florida, a caught fish you cannot name is what the Florida fish ID guide is for.
| City | Main water | Species the page tracks | What makes the local table different |
|---|---|---|---|
| Anchorage, AK | Ship Creek | King and silver salmon, rainbow trout, Dolly Varden, halibut | A king salmon run inside the city limits in June, and under six hours of daylight in late December |
| Phoenix, AZ | Lake Pleasant | Largemouth and striped bass, flathead catfish, rainbow trout | Winter is trout season here, and this is the one city in the grid whose clocks never shift |
| Denver, CO | Chatfield | Rainbow, brown and cutthroat trout, walleye, smallmouth bass | Cold-water trout and warm-water walleye within the same half-hour drive |
| Miami, FL | Biscayne Bay | Tarpon, snook, bonefish, peacock bass, mahi-mahi | Peacock bass in the urban canals and bonefish on the flats, in one city |
| Tampa, FL | Tampa Bay | Snook, redfish, spotted seatrout, tarpon, mangrove snapper | A shallow, sheltered bay where winter is the comfortable season rather than the dead one |
| Chicago, IL | Lake Michigan | Coho and chinook salmon, lake trout, yellow perch, smallmouth bass | Salmon and lake trout in an inland sea, reached from a downtown harbor |
| Wichita, KS | Cheney Reservoir | Walleye, white bass, wiper, black crappie, flathead catfish | Plains reservoirs with a spring white bass run and wipers in early summer |
| Detroit, MI | Detroit River | Walleye, smallmouth bass, muskellunge, yellow perch, northern pike | A connecting river with current, where walleye move through in spring |
| Minneapolis, MN | Lake Minnetonka | Walleye, northern pike, largemouth bass, black crappie, muskellunge | Roughly four months of the year the fishing happens on top of the ice |
| Buffalo, NY | Lake Erie | Smallmouth bass, walleye, steelhead, yellow perch, lake trout | Tributary steelhead that keep the coldest months productive |
| Charleston, SC | Charleston Harbor | Red drum, spotted seatrout, southern flounder, sheepshead, blue catfish | A salt harbor and a big-river blue catfish fishery twenty minutes apart |
| Nashville, TN | J. Percy Priest | Largemouth and smallmouth bass, black crappie, striped bass, bluegill | Three impoundments on one river system, each with its own clarity |
| Dallas, TX | Ray Hubbard | Largemouth bass, white bass, blue catfish, white crappie, spotted bass | Big-reservoir bass fishing plus an early-spring white bass run up the feeder creeks |
| Houston, TX | Galveston Bay | Speckled trout, redfish, southern flounder, largemouth bass, red snapper | Bay fishing on the tide, with freshwater reservoir bass an hour inland |
| Seattle, WA | Puget Sound | Coho and chinook salmon, cutthroat trout, lingcod, Pacific rockfish | Protected salt water and a large city lake, both fished the same week |
The four seasons across the grid
Every season is a fishing season somewhere in this grid, and in most of these cities it is a fishing season at home. Winter is the case people get wrong: it is the peak comfortable season in the southern half of the grid and a distinct, well-documented fishery in the northern half.
| Season | Northern grid cities | Southern grid cities | What it changes about the windows |
|---|---|---|---|
| Spring | Walleye move through the Detroit River; steelhead are still in the Erie tributaries into April | Pre-spawn largemouth peak in the Texas reservoirs; white bass run the feeder creeks | Days lengthen fast, so both majors are more likely to land in fishable light |
| Summer | Long daylight, pike and smallmouth on the Great Lakes; salmon offshore of Chicago | Midday water heats, pushing effort into the dawn and dusk edges; Arizona stops stocking trout between late June and mid-September | The overhead major often falls in the hottest hours and is the weaker of the two |
| Autumn | Muskellunge, perch and arriving steelhead across the northern cities | Redfish school in the Lowcountry marsh and flounder move seaward; October is the strongest inshore month there | Sunset marches earlier, so an evening minor becomes the practical after-work window |
| Winter | Ice covers metro lakes in Minneapolis for months; Erie tributaries hold steelhead from mid-October into April | Sheepshead concentrate on Charleston structure; Arizona stocks city lakes with trout through March | Short days concentrate the choice: a pre-dawn major is a real constraint at 45°N and above |
Two of those winter facts are checkable at the source. New York’s Department of Environmental Conservation puts the bulk of the Lake Erie steelhead run from mid-October through April, and the Arizona Game and Fish stocking schedule runs trout into community waters through March while pausing entirely from late June to mid-September. If trout are the reason you are reading a winter table, the guide on the best time to fish for trout goes deeper than a calendar can; for the Great Lakes cities, how to catch smallmouth bass covers the summer half of the year.
When a solunar forecast is the wrong tool
A calculated bite window loses to moving water, to weather, and to anyone who fished the spot last week. Saying so is not modesty — it is the difference between a planning tool and a claim of precision nobody has earned.
A calculated solunar window
Two hours around each lunar transit, one hour around moonrise and moonset, solved on each city's own coordinates and published sixteen days out with no account to create and no signal needed on the water.
A NOAA tide prediction
Harmonic predictions of high and low water at a specific station, from a century of observations, published by the agency that maintains the gauge.
On tidal salt water, go to the tide first. In front of a passing front, go to the weather. A solunar window is a tiebreaker for the hour, never the reason to pick the day — and it is never a source for seasons, limits or licenses, which belong to your state agency.
Most fishing apps compute this same lunar arithmetic and differ in what they wrap around it; the fishing app comparison sets out what each one actually calculates, including where this site’s own approach is the weaker choice.
If your city is not in the grid yet
Thirty-nine cities are built into the grid and fifteen are catalogued above, so the honest answer for everyone else is a substitution rule rather than a promise. Choose the listed city nearest in longitude: transit times drift about four minutes per degree east or west, which puts a reader 100 miles away within roughly seven minutes of the printed window — well inside the resolution the theory itself supports.
Latitude behaves differently. Moving north or south barely touches the transit times, but it stretches moonrise and moonset, so the minor periods are the numbers to distrust when you borrow a table from far away. Safety and regulation never transfer at all: Minnesota’s Department of Natural Resources asks for four inches of new, clear ice before anyone walks on it and publishes its own ice thickness guidelines, while seasons and limits belong to each state agency, linked from every city page.