RAS Biofilter Simulator: Recirculating Aquaculture System Design

simulator advanced ~15 min
Loading simulation...
TAN ≈ 0.8 mg/L — biofilter maintains safe ammonia levels at 25 kg/day feed

A 100 m³ RAS with 5 m³ of biofilter media at 10 m³/h flow rate maintains steady-state TAN at 0.8 mg/L when feeding 25 kg/day — safe for intensive fish production.

Formula

TAN_removal_rate = media_SSA × media_volume × k_nitr × TAN / (K_m + TAN)
Steady_TAN = TAN_production / (flow_rate × removal_efficiency + exchange_rate × volume)
Alkalinity_consumption = 7.14 × TAN_removed (mg CaCO₃ per mg NH₃-N nitrified)

Closing the Loop

Recirculating aquaculture systems represent the most intensive, controlled form of fish production. By treating and reusing 95–99% of water, RAS enables fish farming in locations far from natural water sources — urban warehouses, arid deserts, even arctic regions. But this control comes at a cost: every biological process that nature handles freely in an open pond must be engineered, powered, and maintained mechanically.

The Biofilter: Heart of the System

The biological filter is the most critical and most failure-prone component of any RAS. It must harbor enough nitrifying bacteria to convert all ammonia produced by the fish before it reaches toxic concentrations. Biofilter media provides the surface area for bacterial colonization — modern MBBR (moving bed biofilm reactor) media offers 500+ m² per m³, supporting bacterial densities sufficient to process several grams of ammonia-nitrogen per m² per day.

Flow Dynamics and Turnover

Water must cycle through the biofilter frequently enough that ammonia never accumulates to dangerous levels between passes. A typical design target is 1–2 complete system turnovers per hour. Too slow, and ammonia spikes between filtration events. Too fast, and energy costs escalate while hydraulic shear can strip bacteria from media surfaces. The balance between treatment efficiency and energy cost defines the economic viability of every RAS facility.

Alkalinity: The Hidden Constraint

Nitrification is an acid-producing process — each gram of ammonia-nitrogen oxidized consumes 7.14 grams of alkalinity as CaCO₃ and produces hydrogen ions that lower pH. Without alkalinity supplementation (typically sodium bicarbonate or calcium carbonate), pH will crash within days, halting nitrification and triggering cascading system failure. This simulation tracks the alkalinity budget alongside ammonia dynamics to reveal this critical but often overlooked constraint.

FAQ

What is a recirculating aquaculture system (RAS)?

A RAS continuously filters, treats, and reuses water within a closed system, requiring only 1–5% daily water replacement compared to 100%+ in flow-through systems. Key components include mechanical filtration (solids removal), biological filtration (nitrification), aeration/oxygenation, and temperature control.

How does a biofilter work in aquaculture?

Biofilter media provides surface area for nitrifying bacteria to colonize. As ammonia-laden water flows over the media, Nitrosomonas and Nitrobacter bacteria convert toxic ammonia first to nitrite, then to nitrate. Effective biofilters provide 200–500 m² of surface area per m³ of media — plastic media types include moving bed (MBBR), trickling filters, and submerged fixed beds.

How much biofilter media does a RAS need?

A common design rule is 1 m² of biofilter surface area per gram of daily ammonia production, or roughly 0.2–0.5 m³ of media per kg of daily feed. Under-sizing the biofilter is the most common RAS design failure — it is better to oversize by 50% than to operate at the margin.

What are the main costs of running a RAS?

Energy (pumping, aeration, heating/cooling) accounts for 15–25% of operating costs, supplemented by feed (40–50%), labor (10–15%), and consumables like biofilter media, buffers, and replacement parts. RAS capital costs are 5–10× higher than pond systems but offer year-round production and biosecurity advantages.

Sources

Embed

<iframe src="https://homo-deus.com/lab/aquaculture/recirculating-system/embed" width="100%" height="400" frameborder="0"></iframe>
View source on GitHub