A walk through the reefnotes trend chart

A guided tour of the aquarium-detail trend chart: the historical line, the gap break, the cycle forecast, the WC markers, and what the staleness gate does.

Open any aquarium in reefnotes and the trend chart is the first thing that moves. It draws a line through your past test results, then carries that line forward a little way into next month. The forward part looks confident, all smooth and curved, and the natural question is: how much of that should I actually believe? This is a tour of the whole chart, so you know exactly what each line is claiming and where it stops claiming anything at all.

Pick a parameter from the dropdown above the chart. NO₃ is the one most people watch first, because it climbs between water changes and drops when you do one, so its shape is the easiest to read. KH is the second, because it tells you about buffer stability rather than waste. Everything below applies to whichever one you've selected.

The historical line is your data, not a model of it

The solid line through your past tests is drawn straight through the measurements you logged. Nothing is smoothed away. If you tested NO₃ at 18 one week and 24 the next, the line goes through 18 and 24. There's no hidden averaging, no "we think you meant 21". The data is the model.

I labour this because a lot of charting tools quietly fit a tidy curve and show you that instead of your numbers. The result looks calmer than reality, which is the wrong thing when you're trying to spot a problem. A jumpy line means your tank or your testing was jumpy, and that's worth seeing. The curve does soften the corners between points so the line reads as a trajectory and not an engineering plot, but it's a curve that never overshoots: a peak sits exactly on the test that produced it, never a hair above. Where the line is, a test was.

The gap break

There's one place the historical line deliberately stops being a line. When two consecutive tests are more than 30 days apart, the chart breaks the line between them instead of drawing across the gap.

The reason is honesty. A smooth curve bridging a two-month silence would imply you know what happened in those two months, and you don't. Maybe NO₃ climbed and a big water change brought it back down, all unrecorded. Drawing a clean diagonal across that void invents a story. So the chart shows the break for what it is: a stretch with no data, and no pretending otherwise. Read a gap as a nudge to test more often. The chart isn't broken; your record just has a hole in it.

The forecast: a cycle, extrapolated

Past the most recent test, the line turns into the forecast. This is the part people misread most, so here's what it actually is and isn't.

It is cycle extrapolation, not a physical simulation. reefnotes does not model your fish excreting waste, your plants taking it up, and your water change diluting it. We tried that. A mass-balance simulation produces a sawtooth: a slow climb, then a sheer vertical drop on water-change day. It looks terrible on a chart, all teeth and cliffs, and it implies a precision about the exact drop size that nobody actually has.

Instead, the forecast reads the rhythm already in your data. It finds the typical high and the typical low across recent tests, and works out your water-change cadence from your maintenance schedule (or, if you haven't set one, from the spacing of past water-change events). Then it draws a smooth sine wave tuned to that rhythm:

c(t) = mid − amp · cos(2π · (t − refWc) / period)

In plain terms: each trough lands on a scheduled water change, each peak sits halfway between two of them, and the wave's height is set by how far your highs and lows actually spread. The starting point is nudged so the forecast joins your latest measurement smoothly instead of jumping to wherever the ideal cycle would be, which is why it leaves the last real point without a visible kink. The mechanics of the envelope detection, and the two situations where it can mislead you, are in the cycle envelope guide.

So the forecast answers a narrow question well: if your tank keeps doing roughly what it has been, on roughly your current schedule, here's the shape the next few weeks take. It does not predict a tank you're about to change.

The dotted "WC?" markers

Those vertical dotted lines labelled WC? mark where reefnotes expects your next water changes to fall. They come from the same cadence the forecast uses, projected forward from your schedule or your event history. The question mark is deliberate: these are projections, not appointments. They give the forecast troughs something visible to line up against, and they show at a glance when the next swap is due. If your real water-change days drift off the dotted lines, the chart keeps using whatever you actually log.

The confidence band

The forecast line carries a shaded band around it that gets wider the further out you look. Near your last test it's narrow; a few weeks forward it's noticeably broader.

What sets its width is worth a moment. For most forecasts a band tracks how noisy your measurement-to-measurement rate is. That falls apart for cyclic data: the rate flips sign every cycle (climbing, then dropping on water-change day), so a rate-based band would balloon to nonsense almost immediately. Instead the band is tied to your cycle amplitude, the gap between your typical highs and lows. A tank that swings between 10 and 30 gets a wider band than one holding 15 to 20, which is right: the bigger your natural swing, the less precisely any single forward point can be pinned. The band also needs at least four tests before it shows up.

Read the band as "somewhere in here". The middle line is the most likely path; the band is the room around it, and it's deliberately roomy where the data thins out.

The staleness gate, and why the forecast vanishes

Here's the part that surprises people: sometimes there's no forecast at all, just your historical line and a small note. This is on purpose.

Once your most recent test is more than 14 days old, reefnotes drops the forecast entirely. No line, no band, no dotted markers. The chart shows a notice telling you how long it's been ("last measurement 19 days ago" or similar) and stops there. Stale data should not paint confident curves. A forecast built on a two-week-old reading is mostly fiction by then, because a tank can drift a long way in two weeks. The cure is the obvious one: log a fresh test, and the forecast comes straight back.

Even when your data is fresh, the forecast horizon stays short — around three weeks, enough to show a couple of water-change cycles on a weekly schedule and no more. The chart won't paint cycle after cycle marching off toward next quarter. Three weeks is about as far as "if things stay the same" holds as a reasonable assumption; beyond that, too much can change for the curve to mean anything.

Using it

Two things the chart is genuinely good for.

Anticipating the next water change. Find the next dotted WC marker, then look at where the forecast line sits just before it. That's roughly the highest the parameter will reach before you swap. If NO₃ is forecast to reach 35 the day before your scheduled change and you'd rather it never crested 30, that's your signal to move the change earlier or make it bigger. The guide on bigger water changes covers what each option does to the numbers, and the water-change impact calculator lets you try a swap size before you commit to it.

Catching a slow drift. This is Stormy's territory: the watcher's job is the slope you wouldn't notice test by test. If your KH troughs have been creeping down over the last several cycles (every low a touch lower than the one before), the historical line shows it as a gentle downward lean even while each individual reading still looks fine. By the time a single test reads alarmingly low, the drift has been visible on the chart for weeks. Act on the slope, not the surprise.

One habit makes all of this work better: test on a steady rhythm. The forecast, the band, and the gap break all reward regular data and politely refuse to invent anything when you don't give it any. The chart is only ever as good as what you log, and it's built to admit exactly that.

Stormy

Stormy watches the numbers and tells you before something drifts. Inside the app, on every tank you keep.

Open a free reefnotes account →