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%

Share of an average local day that falls inside some window — 341 of 1,440 minutes, counting only the minutes that land inside the day itself, measured across 14,235 city-days on the 39-city grid. Two majors and two minors would run 360 minutes, or 25%, but only 72% of full-set days keep all of it: the rest lose a window truncated at local midnight.CatchClock engine run, 2026

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.

WindowCentered onWidthNormal count per day
MajorMeridian transit overhead (upper culmination)2 hours1
MajorMeridian transit underfoot (lower culmination)2 hours1
MinorMoonrise1 hour1
MinorMoonset1 hour1

6.8%

Local days carrying one major period instead of two, across a 365-day run of all 39 built city pages — 14,235 city-days. In the same run 3.6% of days had no moonrise and 3.3% no moonset.CatchClock engine run, 2026

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.

  1. 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.

  2. 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.

  3. 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.

  4. 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

Shift in the Moon's meridian transit for every degree of longitude east or west — roughly 53 miles at 40°N. This is the error you accept by reading a neighboring city's table instead of your own.CatchClock, from Earth's rotation of 15° per hour, 2026

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

City-days a year in the grid that are 23 or 25 hours long because clocks shift. Phoenix is the only city in the grid that never shifts, so its table is the only one that never jumps.CatchClock engine run, 2026

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.

CityMain waterSpecies the page tracksWhat makes the local table different
Anchorage, AKShip CreekKing and silver salmon, rainbow trout, Dolly Varden, halibutA king salmon run inside the city limits in June, and under six hours of daylight in late December
Phoenix, AZLake PleasantLargemouth and striped bass, flathead catfish, rainbow troutWinter is trout season here, and this is the one city in the grid whose clocks never shift
Denver, COChatfieldRainbow, brown and cutthroat trout, walleye, smallmouth bassCold-water trout and warm-water walleye within the same half-hour drive
Miami, FLBiscayne BayTarpon, snook, bonefish, peacock bass, mahi-mahiPeacock bass in the urban canals and bonefish on the flats, in one city
Tampa, FLTampa BaySnook, redfish, spotted seatrout, tarpon, mangrove snapperA shallow, sheltered bay where winter is the comfortable season rather than the dead one
Chicago, ILLake MichiganCoho and chinook salmon, lake trout, yellow perch, smallmouth bassSalmon and lake trout in an inland sea, reached from a downtown harbor
Wichita, KSCheney ReservoirWalleye, white bass, wiper, black crappie, flathead catfishPlains reservoirs with a spring white bass run and wipers in early summer
Detroit, MIDetroit RiverWalleye, smallmouth bass, muskellunge, yellow perch, northern pikeA connecting river with current, where walleye move through in spring
Minneapolis, MNLake MinnetonkaWalleye, northern pike, largemouth bass, black crappie, muskellungeRoughly four months of the year the fishing happens on top of the ice
Buffalo, NYLake ErieSmallmouth bass, walleye, steelhead, yellow perch, lake troutTributary steelhead that keep the coldest months productive
Charleston, SCCharleston HarborRed drum, spotted seatrout, southern flounder, sheepshead, blue catfishA salt harbor and a big-river blue catfish fishery twenty minutes apart
Nashville, TNJ. Percy PriestLargemouth and smallmouth bass, black crappie, striped bass, bluegillThree impoundments on one river system, each with its own clarity
Dallas, TXRay HubbardLargemouth bass, white bass, blue catfish, white crappie, spotted bassBig-reservoir bass fishing plus an early-spring white bass run up the feeder creeks
Houston, TXGalveston BaySpeckled trout, redfish, southern flounder, largemouth bass, red snapperBay fishing on the tide, with freshwater reservoir bass an hour inland
Seattle, WAPuget SoundCoho and chinook salmon, cutthroat trout, lingcod, Pacific rockfishProtected 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.

SeasonNorthern grid citiesSouthern grid citiesWhat it changes about the windows
SpringWalleye move through the Detroit River; steelhead are still in the Erie tributaries into AprilPre-spawn largemouth peak in the Texas reservoirs; white bass run the feeder creeksDays lengthen fast, so both majors are more likely to land in fishable light
SummerLong daylight, pike and smallmouth on the Great Lakes; salmon offshore of ChicagoMidday water heats, pushing effort into the dawn and dusk edges; Arizona stops stocking trout between late June and mid-SeptemberThe overhead major often falls in the hottest hours and is the weaker of the two
AutumnMuskellunge, perch and arriving steelhead across the northern citiesRedfish school in the Lowcountry marsh and flounder move seaward; October is the strongest inshore month thereSunset marches earlier, so an evening minor becomes the practical after-work window
WinterIce covers metro lakes in Minneapolis for months; Erie tributaries hold steelhead from mid-October into AprilSheepshead concentrate on Charleston structure; Arizona stocks city lakes with trout through MarchShort 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.

Best for Choosing which hours to fish on a day you have already committed to

Where it falls short Nothing in it is measured. Weather, pressure, water temperature, stocking and drawdowns are all outside the model, and the underlying theory has never been confirmed by controlled study.

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.

Best for Salt water at a pass, an inlet or a jetty, where moving water drives the bite harder than any lunar window

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.

Common questions

How accurate is a solunar fishing forecast?
Solunar forecasts are precise about astronomy and unproven about fish. The Moon's meridian transit is solved to about a second, but the claim that fish feed hardest inside a two-hour window around it is John Alden Knight's 1926 convention, never confirmed by controlled study. Treat the window as a tiebreaker, not a guarantee.
When is a fishing forecast not worth using?
A solunar forecast is the wrong tool on moving salt water, in front of a weather change, and on any water running to a local schedule. Tide stage at a pass, a passing cold front or a reservoir drawdown will each overrule lunar timing, and none of the three is in the calculation.
Which city should I use if mine is not listed?
Pick the listed city closest in longitude rather than closest by road. Lunar transit times shift about four minutes for every degree of longitude, so a city 100 miles due north carries nearly the same major periods, while one 100 miles east or west is off by roughly seven minutes.
Does the fishing forecast change when the weather changes?
No. Bite windows on CatchClock are astronomical and never move with weather: pressure, fronts and water temperature sit outside the model entirely. A fast pressure drop or a ten-degree swing in water temperature changes fishing far more than lunar timing does, so the windows answer when to fish on a chosen day, not which day to choose.
Do the bite windows work for ice fishing in winter?
Yes. Major and minor periods are computed the same way in every season, because ice changes the access rather than the astronomy. Winter is a full season across the grid: ice covers metro lakes in the northern cities for months, Lake Erie tributaries hold steelhead from mid-October into April, and Arizona stocks trout in city lakes through March.