Removing Substrate from an Established Tank

I’ve replied to this in Facebook groups a few times, so I decided to write this up to make it easier to share. Unfortunately, I am not planning on doing this soon, so there won’t be any videos or photos. But yes, I have done this before to remove a sand bank from my 600 litre (180 US gal ) planted tank.

This will only work for substrates that are fine and light enough to be siphoned with a hose.

You will need:

  • At least 2 large pails (or any convenient container),
  • A large 200 micron or finer filter sock, and
  • A hose.

This will take some time, so put aside a few hours or an entire day to do this, depending on the amount of substrate you need to remove.

The first step is easy. Just start a siphon into a pail and start to siphon the substrate. Do not use a substrate vacuum attachment. Those are designed to leave the substrate in the tank while the lighter detritus are lifted out. In this case, you want to siphon out both the substrate and detritus. This should leave the water in the tank clean. Be gentle moving that hose around to avoid stirring up the detritus before your siphon gets them. You will also need to adjust how fast/much you siphon up the substrate to avoid choking the hose.

The problem with siphoning out substrate is that you often do not have enough water in the tank to siphon out all the substrate. And you also don’t want to replace all the tank water with new water. So this next step is to make sure we don’t run out of tank water while siphoning the substrate out. When your pail is full, stop the siphon. Let the pail sit and wait for the detritus in the pail to settle. Once they have settled, siphon or scoop the water in the first pail through the filter sock and into the second pail. This should filter out the finest detritus and leave you with pretty clean water in the second pail. Transfer that water back into the tank. Dispose the substrate in the first pail. Repeat from the first step.

If you plan to add new substrate, watch my video on how to add substrate to an existing tank.

Once you are done, do a regular water change to get rid of any detritus that got stirred up. And sediments if you added new substrate.

Some Tips

  • If you have more pails, then you can continue to siphon while the detritus in the previous pail(s) settle. This will save some time.
  • If you have a sieve and time to spare or helpers, sieve out the substrate in the pails (before letting the detritus settle) so that you can recover more tank water.
  • You shouldn’t have to shut down your filter as long as you keep the water level in the tank high enough and you avoid stirring up too much detritus.
  • Do a filter maintenance a few days later as it would have picked up some of the detritus and sediments.
  • If your substrate is planted, you can leave medium/large plants planted, but hold the base of the plants as you siphon the substrate from around and under their roots.
  • For fine carpet plants… I haven’t really thought this through. I can think of a few ways:
    1. Pull up the plants as you siphon. This should work for carpets plants with lots of runners.
    2. Vacuum the substrate first, then gently remove the plants completely before siphoning out the substrate.
    3. Turn off the filter, gently remove the plants, wait for the detritus to settle, then start the siphoning as mentioned.
    4. Siphon the substrate from under them and let them float up as the substrate is removed.

I hope that helps. If you have questions, use the comments below.

How Efficient is a Cerges CO2 Reactor?

I wrote this post some months ago (Feb 2017, I think), but never published it. The measurements will probably be different now, as I’ve made many changes to the tank since then. However, the general conclusion (for my tank) should be the same: CO2 levels remain pretty stable once they reach peak levels.

Since then, I have recently found extra information that explains why my CO2 is stable and not fluctuating (as far as I can tell). I’ll mention that at the end of the post. Everything in the quote block below was my original post.

I had read in various places on the internet that the gases that accumulated in the Cerges CO2 Reactor in the middle of the day could be a combination of injected CO2 and saturated O2 released from the water. This gas accumulation could hamper the efficiency of the reactor.

From previous pH measurements, I know that my tank has enough CO2 at the time of measurement. I decided to check if the levels drop when the gases accumulate.

I decided to measure the pH levels in the tank hourly from the time my CO2 solenoid turns on till a few hours after the gases start to accumulate in the reactor. I started a little later than intended, but the impact is minimal as the purpose was to observe the consistency of CO2 levels throughout the day. The table below shows the measurements:

Time pH CO2
Gas Accumulation
(By estimation of water level in reactor)
0 1038 7.3 9.0 Not observable
1 1100 7.1 14.3 Not observable
2 1200 6.9 22.7 Not observable
3 1300 6.7 36.9 Not observable
4 1400 6.7 36.9 Approximately 1 inch above transparent reactor body (Estimated by movement of bio-balls.)
5 1500 6.6


Approximately 0.5 inch above transparent reactor body
6 1600 6.6 45.2 Approximately 0.25 inch above transparent reactor body
7 1700 6.6 45.2 Slightly above transparent reactor body


  • KH is 6 degrees.
  • CO2 ppm levels are derived from this CO2-KH-pH Chart at
  • BPS is 7.4. The bubble counter is filled with glycerine instead of water.


  1. CO2 level reached an acceptable 20 ppm at about 2 hours, which is 1 hour into my lighting period.
  2. CO2 level reached the desired 30 ppm at 3 hours.
  3. CO2 level peaked at 45.2 ppm at 5 hours.
  4. Gas probably started to accumulate in the reactor from about the 3rd hour.
  5. CO2 level continued to rise despite start of gas accumulation.
  6. CO2 level consistent at 45.2ppm during the last 3 hours despite gas accumulation.
  7. pH dropped by 0.2 units per hour for the first 3 hours.
  8. pH only dropped by 0.1 units per hour after the first 3 hours.


At that BPS, it takes about 3 hours for CO2 level to reach the desired 30ppm. Gas also starts to accumulate from the 3rd hour. But CO2 level continues to rise and only peaks after 5 hours, which is 4 hours into the lighting hours.

Despite the significant accumulation of gases, it does not appear to cause CO2 levels to drop or fluctuate. pH started to drop slower after gas accumulation started, but this is expected. If the water is reaching CO2 saturation, CO2 will not dissolve easily and start to accumulate. pH is not a linear scale, so at lower pH, the same amount of additional CO2 actually causes a smaller drop in pH.

The CO2 level takes too long to peak, but reach acceptable 20+ ppm in 2 hours and the desired 30+ ppm in 3 hours.


Based on the peak of 45 ppm of CO2 above, I decided to lower my BPS to about 6, to see if I can peak at a lower CO2 ppm. Most likely, it’ll probably take longer to build up CO2 which turned out to be true. The next day, I measured the pH at 2pm and the reading was only 6.9 compared to 6.7 the day before. It’s not yet the desired level of CO2, and it already took too long to build up to that level.

Back to the present time.

According to the chart I am actually injecting a lot of CO2. Much higher than the desired 30ppm to 35ppm I was aiming for. At this rate, I am going through one 5 litre cylinder of CO2 every month. It would be nice to lower that.

However, I recently discovered an alternative method to measure CO2 levels in the tank that ignores the pH-KH-CO2 chart. That chart is based on the assumption that carbonates are the only thing affecting your tank KH. The truth is most hobbyists have no idea and no easy/cheap way to find out what’s affecting our KH. The alternative method is to find out the pH of your tank water at ambient CO2 levels and then aim for a 1pH drop to get 30ppm CO2. Bigger pH drop for more CO2. There are many posts in the internet about this, but here’s one: Another CO2 Chart to try.

So, here’s my recent pH measurements:

  • De-gassed tank water: 8.5pH
  • Tank water a few hours of CO2 injection: 6.8pH

According to the alternative method, ambient CO2 levels in water are estimated at 2 to 3ppm. If my de-gassed tank water is about 2ppm, with a 1.7pH drop, I am actually achieving around 90ppm of CO2! If my water’s ambient CO2 is at 3ppm, then I’m achieving around 150ppm!  I think both are way off! Another source suggests that ambient CO2 levels is around 0.6ppm. In that case, I have only about 30ppm of CO2. Not ideal, since it takes quite a while to build up to that. On the other hand, given the accuracy of hobby-grade pH meters and KH test kits, a difference +/- 0.1 pH  and +/- 0.5dKH could make a fair bit of difference in CO2 ppm.

As it is, I don’t think I can push my CO2 levels much higher since my reactor starts to accumulate CO2 halfway through the injection period. For now, I’m going to keep my CO2 injection rate as it is, since I could grow plants nicely before with the same reactor and similar injection rates.

Next, why am I getting stable CO2 levels, if my reactor accumulates gas? First, watch this video by Dennis Huang: Optimizing CO2 in a planted tank.

So, I am able achieve approach A (about the 3:41 mark of the video, but watch from the start for the explanation): high injection rate, high off-gassing rate. High injection rate is easy; just inject lots of gas. High off-gassing rate is achieved because I use a sump for filtration. Furthermore, the gas building up in the reactor should be CO2 according to this thread: What is the gas that builds up inside the Reactor during the day? This. The thread did not confirm it, but the deduction seems sound. The pump that runs my reactor stops 1 hour after I stop CO2 injection, and the built-up gas dissolves completely within that time. So the build-up may make the reactor less efficient, but it is still dissolving CO2 only.

So, that concludes that my CO2 levels are stable. CO2 levels are sufficient since I was able to grow plants well and fast with more lights before. I might tweak to waste less CO2 once I get my tank plants to grow well again, but at the moment I can rule out CO2 issues causing my plant growth and algae issues.

Elatine triandra and nitrates

To get my tank to recover, I am replanting the tank in phases. Starting about 4 weeks ago with Elatine triandra which is fondly known as Ah Pek Plant (APP) in Singapore. Once planted, the Elatine immediately flourished. Elatine is a very fast growing plant and is a nutrient hog. With lots of fertilisers (including CO2) and light, it grows very fast. At the same time, once fertilisers are lacking it melts very fast.

At the second week, I tested my NO3 just to see if it has reduced and it was still in the 40-80 ppm range. From the start of the tank till now, I’ve never had less than 20ppm NO3 in the tank even though I don’t dose NO3 except for a span of a few months last year.

By the third week, I had to trim the Elatine as they had started to overgrow my low rocks and looking rather unsightly.  Hopefully, trimming would encourage more side shoots and creeping growth rather than the upward growth till then. Algae on the glass had also noticeable reduced. But, I noticed that the old leaves were starting to yellow and melt. It was still minor, so I decided to just wait and watch. Maybe it’s just new tank syndrome? The symptoms indicated either N or P deficiency. I dose P, so that was eliminated. My tank supposedly has high N, so I disregarded that. I have already maxed the dissolution capability of my CO2 reactor, so that’s not option anymore… plus growth was excellent before, so can’t be CO2.

This last weekend, the fourth week, the Elatine looked really bad. Large patches had melted completely. This 2 days, they continue to melt…

I dose everything (P, K, CO2, trace and Fe) that the plants need to grow well, except N. So today I tested for NO3 again… lo and behold, ZERO nitrates! And it correlates with the symptoms of yellowing leaves melting from tip to stem. The Elatine sucked up all the NO3 that has been above the 20ppm range all this time in about 4 weeks.

Admittingly, I may have been an accomplice. In trying to fix things with the tank, I have in the last 2 months, progressively made major changes and done major cleaning in the tank:

  • Removed the white sand foreground.
  • Vacuumed and trimmed the algae infested plants, especially the big dirt trap mass of Java fern.

I further suspect that my tap water which used to come with about 20ppm NO3 may not have NO3 anymore. This needs testing to confirm.

Fortunately, I still have my NO3 solution in my cabinet and quickly made a dose. Let’s see what happens to the remaining Elatine in the coming weeks. It should recover quickly as it’s a very fast growing plant and I still have about 60% of the lawn still viable.

In the medium term, I will replace them with Staurogyne repens, but might keep a small patch as the proverbial “canary in a coal mine” for nutrient issues. It’ll be helpful as a indicator plant when the tank stabilises and I start tweaking my fertiliser dosages down.

Arowana-proof snails… almost

When I started this tank, I added Nerite snails as part of the algae crew. The was some concerns that they will end up as Arowana snacks as I’ve seen my previous Arowana chomping on something and saw what I thought was snail shell fragments dropping from its mouth. Still I decided to try out the Nerites as they are somewhat larger then the pest snails in my previous tank and have much ticket shells. Unfortunately, I never got to find out as the snails died before the Arowana was introduced. Thinking that my tank conditions were not suitable for snails, I never got new snails till now.

Septaria porcellana
Septaria porcellana (Abalone snail) – one of many in GC’s display tanks.

During a  visit to Green Chapter (GC) about a week and a half ago, I noticed that had a new species of snails in their display tanks. They had flat shells, like half a clam. That really got my interest as this would mean the Arowana, if it wanted to, would have a really hard time trying to grab them.

I asked Ron, GC’s ever friendly Dept. of Customer Delight representative, about the snails. He gleefully gushed how they have completed cleaned the glass of the tanks and… this is the best part… showed me how, at the slightest disturbance, they would lockdown and were almost impossible to move by hand. Perfect! The means that it is near impossible for the Arowana to grab them… or so I thought.

So, I got 5 to test in my tank.

These are Septaria porcellana (common name: Abalone snail). So far, they have done a pretty decent job of cleaning algae. The first photo below shows my rocks with half the brownish algae eaten up. The next photo shows the same rocks almost completely clean 2 days later.

Rocks half cleaned by Septaria porcellana
Rocks cleaned by Septaria porcellana
After (2 days later)

They seem to be nocturnal in my tank. I do not seen much of them when my tank lights are on, but the next day they would have eaten some more of the algae on the rocks. They also seem to prefer to be near or buried in the substrate. When I do find them, they are mostly buried in the substrate.

Septaria porcellana half burrowed into the substrate.
Septaria porcellana half burrowed into the substrate.

They seem to be nocturnal in my tank. I do not seen much of them when my tank lights are on, but the next day they would have eaten some more of the algae on the rocks. They also seem to prefer to be near or buried in the substrate. When I do find them, they are mostly buried in the substrate.

At GC, they were all over the tank glass even though the tank lights were on. Maybe they had to ventured out to find more algae to eat.

Septaria porcellana shell fragments
Septaria porcellana shell fragment

Unfortunately, they are not as Arowana proof as I thought. On day 3, my wife noticed some violent movement in the tank in her peripheral vision. She looked up only to see the Arowana chomping on something. She could hear crunching sounds and saw a few slivers drop out. The slivers were too small  to identify in tank, so had to wait for me to fish them out when I got home. And they turned out to be shell fragments of the Septaria porcellana. Sigh! Is there any algae crew that this hungry monster won’t/can’t eat?

Not sure what happened. Did the Arowana get lucky and did a quick enough snatch? Maybe the snail was on a soft surface, like a leaf or on the substrate? Or maybe it was on an uneven surface? Haven’t figured it out yet. At this point in time, I think I still have 3 left. We have confirmed 2 visually. I think 3 because of the 2 confirmed, 1 is working on the front glass, and the other is working on one of the rocks. I think the 3rd is working on the other rock. The 4th and 5th was last seen working on the back glass, but they’re now hidden behind the plants back there, if either are still alive. So which of the unconfirmed got eaten?

If the remaining ones do not die from the water conditions in another week or two, I’ll get another 15 or 20 more and hopefully they’ll help me clean the glass like the GC ones.