CO2Scape
Procedure

The pH drop method, step by step

Compare your tank water against the same water with the gas driven out of it. Carbonate hardness appears on both sides of the ratio and cancels, which is why this is the one calculation that survives aquasoil, peat and a pH buffer. It also has one precondition no formula can check for you.

The method rests on one identity. At constant alkalinity, the ratio of dissolved carbon dioxide between two samples of the same water is fixed entirely by the difference in their pH:

CO2(tank) / CO2(baseline)  =  10^( pHbaseline − pHtank )

Carbonate hardness has vanished. It was on both sides and it cancelled. That single fact is why this method survives tanks where the chart cannot be used at all: whatever distorts the baseline distorts the tank reading in the same direction and by the same proportion, and the ratio is left intact.

The procedure

  1. Measure the pH of your tank water at the point in the photoperiod you care about, usually late in the light period when injection has been running for hours.
  2. Draw a sample of that same water into an open glass. About 200 ml is plenty.
  3. Drive the gas out. With an air stone run hard, allow about two hours. With the glass simply left standing, allow about a day, because only the still surface is releasing gas.
  4. Let the sample come back to tank temperature and measure its pH again. Both readings must come from the same instrument and the same method.
  5. Take the difference. Each full pH unit is a factor of ten in dissolved carbon dioxide.

The baseline is genuinely disputed

To turn a ratio into a concentration you need to know how much gas is left in the degassed sample. The hobby and the physics disagree, and this page will not pretend the question is settled.

What the two baselines demand for the same target
BaselineAssumed residualDrop for 20 ppmDrop for 30 ppm
Measured, after vigorous aeration
The origin of the familiar rule that one pH unit equals about 30 ppm
about 3 ppm0.821.00
Henry's law equilibrium with air
The physical value at 25 °C, roughly 0.62 mg/L
about 0.6 ppm1.511.68

The gap is not small. Aim for a 1.0 pH drop and you are either at 30 ppm or at about 6, depending on which baseline is right. The honest position is to pick one, write down which one you picked, and compare your own tank against itself over time rather than against somebody else's number.

Two readings that invalidate the run

Carbon dioxide lowers pH, so a properly degassed sample always reads higher than the tank. Two patterns mean the result is worthless, and both are easy to miss because neither looks like an error.

  • The baseline reads at or below the tank. Either the two numbers were swapped or one measurement is wrong. There is no interpretation that rescues this.
  • The two readings sit closer together than your test can resolve. Under about 0.2 pH with a colour comparison drop test, the answer is not small, it is unknown. A strip test needs about 0.3 pH before the difference means anything at all.
The failure nobody catches

Measuring the sample too early is the one mistake this method cannot survive and does not reveal. Twenty minutes of standing gives a baseline that is far too low, a result that is far too low, and a screen that looks entirely normal. That is why the waiting step deserves a timer rather than a guess.

App screen titled Degas a sample, with a choice between an air stone and a glass left standing, an estimate of about two hours, and a button to start the timer.
The app runs the waiting step: pick aeration or standing, start the timer, and it tells you when the sample is ready. It refuses a baseline that reads below the tank and warns when the two readings sit inside the resolution of the pH method you selected.

Run the pH drop method with the timer attached

Enter the two readings, choose which baseline you hold to be correct, and get the result with the same error band as everywhere else in the app. The degassing step is timed rather than estimated.

Download CO2 Calculator: Planted Tank on the App Store Free, with one optional purchase. iPhone and iPad, iOS 17 or later. English and German.