Chapter 3
How a production vessel is configured, mixed, aerated, fed and controlled — and how each of those choices shows up in the WIA-BIO-015 data model.
Chapter 2 treated the cell as the unit of production. This chapter moves up to the vessel, whose job is to hold a handful of variables — temperature, pH, dissolved oxygen, nutrients, mixing — inside narrow windows while the growing culture keeps changing the load on every control loop. Those variables are the critical process parameters (CPPs): parameters whose variability has an impact on a critical quality attribute and which therefore must be monitored or controlled.
WIA-BIO-015 covers this ground in spec §3 (reactor types, operating modes, CPPs) and in the fed-batch feed equation of §2.2.2. On the software side it is represented by three types in api/typescript/src/types.ts: BioreactorConfig for the equipment, OperationMode for the way the vessel is run, and CultureConditions for the live CPP values that end up inside every BioreactorStatus snapshot. Each section explains the engineering, then what the standard captures, what it omits, and where a v1.0 formula needs correcting.
The BioreactorConfig.type field accepts five values: 'stirred-tank', 'wave', 'perfusion', 'airlift' and 'custom'. Strictly speaking these are not five members of one category. "Stirred tank", "wave" and "airlift" describe how energy is put into the liquid; "perfusion" describes how the liquid is exchanged, and in practice most perfusion processes run in a stirred tank with an external cell-retention device. An implementation that must describe such a system should record type: 'stirred-tank' together with mode: 'perfusion', and reserve type: 'perfusion' for purpose-built vessels where retention is integral to the design. v1.0 does not state this convention; we recommend it because it keeps how is it mixed? and how is it fed? in separate fields.
The stirred tank is the workhorse of both microbial fermentation and mammalian cell culture. A cylindrical vessel, usually with a dished bottom, carries one or more impellers on a central shaft, a gas sparger underneath the lowest impeller, and ports for probes, feeds, base and sampling. Spec §3.1.1 gives the working volume as 60–80 % of the total volume; the remaining headspace absorbs foam and gives room for liquid added by feeding. The spec lists lab (1–10 L), pilot (100–500 L) and production (1,000–25,000 L) scales as typical working volumes.
Three optional fields describe the geometry. heightDiameterRatio matters because it controls how long a gas bubble stays in the liquid and how much hydrostatic head sits on the bottom of the vessel; cell-culture tanks are commonly built somewhat taller than they are wide. impellerType separates the radial-flow Rushton turbine, which disperses gas very effectively, from axial-flow pitched-blade and marine impellers, which pump liquid with less local shear for the same power; tall vessels need several (numberOfImpellers). spargerType distinguishes ring or drilled-pipe spargers (larger bubbles, better CO2 stripping) from sintered micro-spargers (fine bubbles, efficient for oxygen but foam-prone and poor at removing CO2).
In a wave bioreactor the culture sits in a pre-sterilised plastic bag on a platform that tilts back and forth. The rocking creates a travelling wave that mixes the liquid and renews the gas–liquid surface, so oxygen enters through the surface rather than through bubbles. Spec §3.1.2 gives rocking angles of 5–12°, rates of 10–40 rocks per minute and bag volumes of 2–500 L. Oxygen transfer is increased by rocking faster or at a steeper angle. The spec lists its advantages: no cleaning validation, gentle mixing and fast turnaround. The ceiling is oxygen transfer through a free surface, so rocking systems serve mainly seed expansion and smaller production volumes. Note that BioreactorConfig has no field for rocking angle or rate; an implementation has to store them under an extension of its own until the model grows one.
A perfusion system continuously removes spent medium while keeping the cells in the vessel. Spec §3.1.3 defines the dilution rate D = F/V with a typical range of 0.5–2.0 day−1 (often expressed in industry as vessel volumes per day, VVD) and a retention efficiency
η = (X_reactor − X_harvest) / X_reactor × 100 % target: η > 99 %
where Xharvest is the viable cell density in the permeate. Retention is achieved with a device outside or inside the vessel: tangential-flow or alternating-tangential-flow filters, acoustic separators, inclined settlers or spin filters. Its failure modes (filter fouling, product retained by the membrane) become part of the reactor's behaviour.
An airlift reactor has no impeller. Gas is injected into one zone (the riser), the aerated liquid becomes less dense and rises, and it returns through a separate zone (the downcomer), so the gas both aerates and circulates the liquid. With no moving parts it is simple and low in shear, but mixing and oxygen transfer cannot be adjusted independently of the gas flow.
type | How energy enters | Strengths | Limits | Spec section |
|---|---|---|---|---|
stirred-tank | Impeller(s) plus sparged gas | Scalable to the largest volumes; independent control of mixing and gassing; well understood | Shear and bubble damage must be managed; cleaning validation for reusable steel vessels | §3.1.1 |
wave | Rocking platform, surface aeration | Single use; no cleaning; gentle | Oxygen transfer limited by free surface; bag volume limited | §3.1.2 |
perfusion | Usually a stirred tank plus retention device | High cell density; product removed continuously | Retention device adds failure modes; large media volumes | §3.1.3 |
airlift | Gas-driven circulation | No moving parts; low shear | Mixing tied to gas flow; less flexible control | (type only; no spec text) |
A minimal BioreactorConfig for a 2,000 L single-use stirred tank running a fed-batch process could look like this (values are an example, not a recommendation):
{
"id": "SUB-2000-03",
"name": "Production SUB, suite 3",
"type": "stirred-tank",
"totalVolume": 2500,
"workingVolume": 2000,
"mode": "fed-batch",
"heightDiameterRatio": 1.5,
"impellerType": "pitched-blade",
"numberOfImpellers": 2,
"spargerType": "drilled-pipe"
}
In fed-batch it is the final volume after feeding that must fit within the working volume. No SDK function consumes BioreactorConfig today (monitorBioreactor reads only conditions and metrics), so it is descriptive metadata, and nothing checks even that workingVolume ≤ totalVolume; implementations should add such validation.
Mixing keeps cells suspended, disperses feeds, base and gas, and carries heat to the jacket; all of this scales with impeller power. For a given impeller in the turbulent regime, dimensional analysis gives the classical relation
P = N_p × ρ × N³ × D⁵ (W)
P/V = N_p × ρ × N³ × D⁵ / V (W/m³)
N_p : power number (dimensionless, depends on impeller geometry)
ρ : liquid density (kg/m³, about 1000 for culture medium)
N : impeller speed (s⁻¹, revolutions per second)
D : impeller diameter (m)
V : liquid volume (m³)
Valid when the impeller Reynolds number Re = ρ N D² / μ is high
(fully turbulent flow, roughly Re > 10⁴), where N_p is nearly constant.
Spec §3.1.1 writes the same relation as P/V = K × N³ × D⁵ / V with V in litres. That form omits the fluid density, so it is not dimensionally a power. For water-like media the missing factor is exactly 1000 kg/m³, and a calculator that implements the spec text literally will under-report power per volume by three orders of magnitude. This book uses the form above; Chapter 8 lists the correction among the proposed v1.1 errata.
Take a 2,000 L (2.0 m3) working volume, a single impeller of diameter D = 0.5 m running at 60 rpm (N = 1.0 s−1), and water-like medium (ρ = 1000 kg/m3, μ ≈ 0.001 Pa·s). The numbers are illustrative.
At the same rpm a Rushton turbine delivers several times the power of a pitched blade, so impeller choice matters as much as speed. The power numbers above are textbook approximations; use the supplier's data for real equipment.
Microbial fermentations tolerate high power input. Mammalian cells lack a cell wall, and fear of impeller shear long kept agitation low; in well-designed vessels, however, much of the physical damage comes from bursting gas bubbles rather than the impeller, which is why protective surfactants such as Pluronic F-68 are standard in cell-culture media. Too little power gives gradients and poor gas dispersion; too much power or gas damages cells and builds foam. The tip speed of the impeller (πND) and P/V are the two quantities most often used to describe where a process sits on that curve.
When a process moves from a 50 L pilot vessel to a 2,000 L production vessel of the same shape, not every mixing property can be kept constant at once. A common rule is to hold P/V constant. With geometric similarity, V is proportional to D3, so P/V is proportional to N3D2, and
N₂ = N₁ × (D₁ / D₂)^(2/3)
Example: 50 L → 2000 L, volume ratio 40, diameter ratio 40^(1/3) ≈ 3.42
N₂ = N₁ / 3.42^(2/3) = N₁ / 2.27 → 200 rpm becomes about 88 rpm
tip speed ratio = 3.42 / 2.27 ≈ 1.51 (tip speed rises by about 50 %)
Holding P/V constant thus raises the tip speed and, because circulation paths get longer, lengthens the mixing time. Holding tip speed constant instead would lower P/V and weaken gas dispersion. No single criterion is "correct"; Section 3.7 shows which drifts cause trouble.
Oxygen is the nutrient that most often limits a high-density culture, because it dissolves poorly in water. Spec §3.3.3 states the transfer equation:
OTR = k_La × (C* − C_L) (mg O₂ / L / h)
k_La : volumetric mass-transfer coefficient (h⁻¹)
C* : oxygen concentration in equilibrium with the gas phase (mg/L)
C_L : actual dissolved oxygen concentration (mg/L)
The cells consume oxygen at the oxygen uptake rate OUR = qO2 × X, where qO2 is the cell-specific uptake rate and X the viable cell density. When the DO controller holds CL constant, the vessel is at a quasi-steady state in which OTR = OUR. The whole of oxygen control is about keeping that balance as X rises by two orders of magnitude over a run.
Probes and the CultureConditions.dissolvedOxygen field report DO in percent of air saturation, not in mg/L. 100 % means the concentration that would be in equilibrium with air at the calibration conditions. For pure water at 37 °C and one atmosphere this is about 6.7 mg/L (roughly 0.21 mmol/L); culture medium holds somewhat less because dissolved salts reduce oxygen solubility. So a DO of 40 % converts to mg/L only if temperature, pressure and medium are known, and after a temperature shift (Section 3.6) the same percentage means a different absolute concentration.
Consider a CHO culture at a peak viable cell density of 2 × 107 cells/mL with an assumed specific oxygen uptake of 0.3 pmol/cell/h. These values are an example for the calculation; real uptake rates must be measured for the cell line and phase.
X = 2 × 10⁷ cells/mL = 2 × 10¹⁰ cells/L
OUR = 0.3 × 10⁻¹² mol/cell/h × 2 × 10¹⁰ cells/L
= 6 × 10⁻³ mol/L/h = 6 mmol/L/h ≈ 192 mg/L/h
Air sparging, DO setpoint 40 % of air saturation:
C* ≈ 6.7 mg/L, C_L = 0.40 × 6.7 ≈ 2.7 mg/L, driving force ≈ 4.0 mg/L
required k_La = 192 / 4.0 ≈ 48 h⁻¹
Pure O₂ sparging (gas-phase O₂ fraction 1.0 instead of 0.21):
C* ≈ 6.7 / 0.21 ≈ 32 mg/L, driving force ≈ 29 mg/L
required k_La = 192 / 29 ≈ 6.6 h⁻¹
Oxygen enrichment multiplies the driving force by nearly five without extra power or gas volume. Back-pressure works the same way. By Henry's law C* is proportional to the partial pressure of oxygen, so raising the head-space pressure from 1.013 bar to 1.513 bar absolute (0.5 bar gauge) raises C* by a factor of about 1.5.
The spec names three ways of controlling DO: agitation speed, air/O2 flow, and back-pressure. They act on different terms of the equation. Agitation and gas flow raise kLa: faster stirring breaks bubbles into smaller ones (more interfacial area a) and thins the liquid film around them (higher kL), and more gas means more bubbles. Empirical correlations for stirred tanks typically take the form kLa = C (P/V)α (us)β, where us is the superficial gas velocity and the constants must be fitted for each vessel. Oxygen enrichment and back-pressure raise C* instead. A common cascade raises agitation up to a shear or foaming limit and then adds oxygen. For the data model, each actuator's output should be recorded: the MonitoringResult advice "Adjust agitation or aeration rate" is only actionable if the operator knows which one is already at its limit.
kLa is measured, not calculated. The most common method is dynamic gassing-out: the vessel is stripped of oxygen with nitrogen, air is switched on, and kLa is obtained from the slope of ln(C* − CL) against time, corrected for probe response time when that is not negligible.
Spec §3.3.3 recommends 30–50 % air saturation for mammalian cells and 20–40 % for microbial cultures, and the SDK's monitorBioreactor uses 30–50 % as its warning band and 20–60 % as its critical band. It is a margin on both sides: too low, and regions of a large vessel may become oxygen-limited while the probe reads normal; too high, and gas and agitation are spent for nothing, with possible oxidative stress. A mid-range setpoint also leaves room to recover from disturbances. The product's actual setpoint belongs in its process description, justified by development data.
The OperationMode type has four values — 'batch', 'fed-batch', 'perfusion', 'continuous' — mirroring spec §3.2. The mode determines how volume, nutrients and product change over time, and therefore what the "normal" trajectory of every monitored value looks like.
Everything is in the vessel at the start; nothing is added except gas, base and antifoam, and nothing is removed except samples. Spec §3.2.1 describes the phases as lag (roughly 0–12 h), exponential (12–72 h), stationary (72–120 h) and death (beyond 120 h); these are the same states that BioreactorStatus.phase encodes, and the timings are an illustration rather than a rule, since they depend on cell line and medium. Batch is simple and robust, but the initial nutrient charge limits final cell mass: more initial glucose also raises osmolality and lactate.
Fed-batch adds concentrated nutrients during the run without removing culture, so volume increases from start to harvest. It is the dominant mode for monoclonal antibody production in mammalian cells. The spec gives three feeding patterns in §3.2.2: exponential, constant-rate and bolus. The mass-balance form in §2.2.2 connects them. If the goal is to supply exactly the substrate needed to sustain a growth rate μset, then
F(t) = μ_set × X(t) × V(t) / (Y_X/S × S_feed)
and because X(t)·V(t) grows as e^(μ_set · t) when μ = μ_set,
F(t) = F₀ × e^(μ_set · t), with F₀ = μ_set × X₀ × V₀ / (Y_X/S × S_feed)
Exponential feeding is therefore not a separate recipe but the open-loop solution of the mass balance. Two cautions: YX/S must use the same biomass unit as X (g/g with dry weight; cells per gram with CellCultureMetrics.cellDensity in cells/mL, plus the mL-to-L conversion), and the formula ignores maintenance and residual substrate, so real processes correct the feed from measured glucose.
A microbial example makes the orders of magnitude visible. Suppose an E. coli fed-batch at X = 10 g/L dry cell weight, V = 5 L, μset = 0.15 h−1, YX/S = 0.5 g/g on glucose and a feed of 500 g/L glucose (illustrative values). Then F = 0.15 × 10 × 5 / (0.5 × 500) = 0.03 L/h, or 30 mL/h, and the rate doubles roughly every 4.6 h (ln 2 / 0.15). μset is deliberately below the maximum growth rate, keeping glucose limiting to curb overflow metabolism and oxygen demand.
Mammalian fed-batch processes more often use bolus feeding — a defined volume of concentrated feed once a day or every other day — or continuous feeding adjusted from at-line glucose measurements. The model has no feed-event type: FermentationParameters holds one feedRate (L/h) and feedConcentration (g/L), enough for a constant feed but not for a profile or bolus schedule, so implementations should log feed events as their own time series.
In perfusion, fresh medium flows in and cell-free harvest flows out at the same rate, while a retention device keeps the cells. The dilution rate D = F/V of 0.5–2.0 day−1 in the spec is much higher than the growth rate of mammalian cells: a CHO line growing at μ = 0.03 h−1 doubles about once a day (0.72 day−1). Without retention, such a culture would wash out. With retention of more than 99 %, the cell density climbs until it is limited by nutrients or oxygen, and operators then hold it at a target by removing a small bleed stream of culture. At steady state the net growth of the cells equals the rate at which cells leave through the bleed and through the small leakage past the retention device.
Perfusion suits unstable products that benefit from short residence time, or a small vessel that must match a larger fed-batch vessel's output. Its costs are large media volumes, a complex retention device and long runs exposed to contamination or equipment failure. Media use is often normalised as a cell-specific perfusion rate, which the current model would have to derive from feedRate, volume and cellDensity.
A chemostat has no cell retention: medium in, culture out. At steady state the time derivatives of X, S and P are zero, and the cell mass balance gives the result in spec §3.2.3: μ = D. The operator sets the growth rate by setting the flow. Volumetric productivity at steady state is Qp = D × Pss. If D is pushed above the maximum growth rate the cells are removed faster than they divide and the culture washes out, so D must stay below μmax. Note the unit mismatch in the spec text: §3.1.3 expresses D per day while §3.2.3 uses D per hour for Qp; an implementation must carry the unit with the value. For mammalian biologics, perfusion with retention is the usual route to continuous operation.
| Batch | Fed-batch | Perfusion | Continuous (chemostat) | |
|---|---|---|---|---|
OperationMode | batch | fed-batch | perfusion | continuous |
| Volume over time | Constant (minus samples) | Increases with each feed | Constant; in-flow = harvest + bleed | Constant; in-flow = out-flow |
| Cells retained? | Yes (closed) | Yes (closed) | Yes, by retention device | No |
| Growth rate set by | Cells and medium | Feed rate (when limiting) | Bleed rate at steady state | Dilution rate (μ = D) |
| Typical duration (mammalian) | Days to about a week | About 10–14 days (spec §3.2.1 harvest criterion) | Weeks or longer | Weeks or longer |
| Titer behaviour | Rises, then plateaus as nutrients run out | Accumulates to harvest; highest concentration in the vessel | Lower concentration in harvest, delivered continuously | Constant at Pss |
| Operational complexity | Low | Moderate | High | High |
| Main productivity formula | Qp = titer / culture time (Ch. 6) | Harvested mass per volume per day | Qp = D × Pss | |
The last row matters when comparing modes with the SDK. calculateProductivity divides a final titer by the total culture time, which is correct for batch and fed-batch but misleading for perfusion, where most of the product has already left the vessel in the harvest stream. Comparing a perfusion run with a fed-batch run using the same function will understate perfusion.
pH affects enzyme activity, membrane transport, growth, metabolism and product quality attributes such as charge variants. Spec §3.3.1 lists optimal ranges of 6.9–7.4 for mammalian cells, 6.5–7.5 for E. coli and 5.0–6.5 for yeast, and three means of control: CO2 sparging lowers pH, NaOH or Na2CO3 addition raises it, and NH4OH raises it while also supplying nitrogen.
Most mammalian media are buffered by the bicarbonate/CO2 system. The Henderson–Hasselbalch equation, pH = pKa + log([HCO3−] / [dissolved CO2]), with a pKa near 6.1, explains the two-sided control. Adding CO2 to the gas lowers the pH. Base neutralises acid — mostly lactic acid produced from glucose — and raises the pH. Stripping CO2 out of the liquid also raises the pH, which is why the sparger design (Section 3.1) indirectly affects pH control. Early in a run, while lactate is still being produced, the controller mostly adds base; later, if the cells switch to consuming lactate, the pH tends to drift up and the controller calls for CO2.
Every litre of base adds sodium and raises osmolality, which can itself inhibit growth and change product quality. At large scale, base entering a poorly mixed region creates a local high-pH zone. Both are reasons to use a deadband (no action within, for example, ±0.05 of setpoint) and to add base below the surface near an impeller. In microbial fermentation ammonium hydroxide also supplies nitrogen, and base consumption becomes an indirect growth signal.
monitorBioreactor raises a critical alarm when pH is below 6.8 or above 7.4, and a warning when it is outside 6.9–7.3. The critical message states the target as "6.9–7.4" although the warning band ends at 7.3, so pH 7.35 warns while inside the stated target — a small inconsistency in the code. More important, the limits are fixed mammalian values applied regardless of CellLine.system: a yeast culture correctly held at pH 5.5 is flagged critical. Non-mammalian implementations should wrap monitorBioreactor with their own limit table rather than suppress alarms.
| Expression system | Optimal pH (spec §3.3.1) | Optimal temperature (spec §3.3.2) | Typical DO setpoint (spec §3.3.3) | SDK monitorBioreactor behaviour |
|---|---|---|---|---|
| Mammalian (e.g. CHO) | 6.9–7.4 | 36–37 °C growth; 30–33 °C production shift | 30–50 % air sat. | Thresholds designed for this case; shift to 30–33 °C still alarms (Section 3.6) |
| E. coli | 6.5–7.5 | 30–37 °C | 20–40 % air sat. | pH 6.5–6.8 and T below 35 °C flagged critical |
| Yeast | 5.0–6.5 | 28–30 °C | 20–40 % air sat. | Every normal reading flagged critical for pH and temperature |
Temperature sets the pace of everything a cell does. Spec §3.3.2 gives 36–37 °C for mammalian cells, 30–37 °C for E. coli and 28–30 °C for yeast. It is usually the tightest-controlled parameter, with a jacket or heating blanket on a PID loop. At large microbial scale, removing metabolic heat can become the limiting design factor, since a dense aerobic culture releases heat roughly in proportion to its oxygen uptake.
Many mammalian fed-batch processes grow the culture at 37 °C and then, once a target cell density is reached, lower the setpoint to 30–33 °C. The spec summarises the reason as improved protein folding and reduced metabolism. In more detail: lower temperature slows growth and cellular metabolism, including glucose consumption and lactate production; it tends to delay the loss of viability and so extends the productive phase; and for many cell lines it raises the specific productivity qp, sometimes with effects on quality attributes such as glycosylation or aggregation. Size and even direction of these effects depend on the cell line, so shift timing and temperature are studied in development experiments (Chapter 8), not copied.
In E. coli, lowering temperature at induction slows synthesis and can reduce insoluble inclusion bodies.
monitorBioreactor treats any temperature below 35 °C or above 38 °C as a critical excursion and anything outside 36–37.5 °C as a warning. A correctly executed shift to 32 °C therefore produces a critical alarm on every snapshot for the rest of the run. The function has no notion of phase-dependent setpoints: BioreactorStatus.phase is available in the input but not used in the checks. A permanent critical alarm teaches operators to ignore alarms. A compliant implementation should evaluate temperature against the setpoint that applies to the current phase — for example, a limit of setpoint ±1 °C — and record the planned shift in the batch record so that the change of limit is itself traceable.
A process that performs well in a 2 L bench reactor does not automatically perform the same at 2,000 L. Surface grows with the square of size and volume with the cube, mixing paths lengthen, and hydrostatic pressure rises with liquid height.
Cells produce CO2 roughly in step with their oxygen uptake, and lactic acid reacting with bicarbonate (including carbonate or bicarbonate added as base) releases more. At small scale it escapes through the large surface and is stripped by gas flow. At large scale the surface is proportionally smaller, the pressure at the bottom of a tall vessel is higher (each metre of liquid adds about 0.098 bar, so a liquid height of 1.5 m adds roughly 0.15 bar), and if oxygen is supplied by enrichment the total gas flow per volume is low. Dissolved CO2 can therefore rise to levels that affect growth, productivity and quality. Larger-bubble spargers and a dedicated stripping gas flow are the usual countermeasures.
The data model records this poorly. CultureConditions.co2 is documented as "CO2 concentration (%)", which does not say whether it is the percentage of CO2 in the inlet gas, in the off-gas, or a dissolved partial pressure. Dissolved CO2 is usually a partial pressure (mmHg or kPa); implementations should document which quantity they store.
Mixing time grows with vessel size even at constant P/V (Section 3.2). A concentrated glucose feed or a base shot entering at one point takes longer to disperse, so cells circulating through the addition zone meet brief excursions in glucose, pH or osmolality that never occur at bench scale. Defences: add near an impeller, split large additions, and test sensitivity in scale-down models that mimic the large vessel's fluctuations.
Keeping P/V and the gas flow per volume (vvm) constant does not keep kLa constant, because bubble behaviour and superficial gas velocity change with scale. A useful check is to state the required kLa from the peak OUR of the process (as in Section 3.3) and compare it with the measured kLa map of the target vessel, including the capacity reserve at maximum agitation and oxygen enrichment. The CO2 stripping requirement must be checked at the same time, because a gassing strategy that meets oxygen demand with pure oxygen at low flow may remove too little CO2. For aeration the data model has CultureConditions.aeration in vvm; for a 2,000 L vessel, 0.01 vvm corresponds to 20 L/min of gas. It has no field for the oxygen fraction of the inlet gas or for kLa, so neither can be reconstructed from a stored snapshot.
The production vessel's performance starts in the seed train. At 1:5 to 1:10 expansion per step (spec §2.3.1) and an inoculation density of 2–5 × 105 cells/mL for mammalian cells (§2.3.2), each step must deliver enough cells, in exponential growth and at high viability, on the day the next vessel is ready. With a doubling time near a day, a one-day delay forces either another passage or a transfer past the seed's best condition, and either changes the starting point of the production culture. Scheduling thus becomes part of process control (see the Chapter 7 scenario).
The table below brings the chapter together from the implementer's side: for each CPP discussed, which field carries it, in what unit, and what the reference monitor does with it. Where the answer is "not represented", the value must be kept in an implementation-specific extension until the model is extended.
| CPP | Field | Unit | Reference monitor rule | Notes |
|---|---|---|---|---|
| Temperature | conditions.temperature | °C | Critical <35 or >38; warning outside 36–37.5 | Not phase-aware; flags a planned shift (§3.6) |
| pH | conditions.pH | – | Critical <6.8 or >7.4; warning outside 6.9–7.3 | Mammalian limits only (§3.5) |
| Dissolved oxygen | conditions.dissolvedOxygen | % air saturation | Critical <20 or >60; warning outside 30–50 | Not convertible to mg/L without T, pressure, medium (§3.3) |
| Agitation | conditions.agitation | rpm | Not checked | P/V needs impeller data not in BioreactorConfig |
| Aeration | conditions.aeration | vvm | Not checked | No field for O2 fraction of inlet gas |
| Pressure | conditions.pressure | bar | Not checked | Gauge or absolute is not specified; state it |
| CO2 | conditions.co2 | % | Not checked | Ambiguous: inlet gas, off-gas or dissolved (§3.7) |
| Feed rate | FermentationParameters.feedRate | L/h | Not checked | Scalar only; no bolus or profile (§3.4) |
| Dilution / perfusion rate | (derived) | day−1 or h−1 | Not checked | Carry the unit with the value (§3.4) |
| Rocking angle / rate | (not represented) | °, rocks/min | – | Needed for type: 'wave' (§3.1) |
In short: spec §3 is sound in outline, but P/V must include fluid density and dilution rates must carry their time unit; monitorBioreactor is a mammalian, single-setpoint default that must become organism- and phase-aware before it can serve as a plant's alarm layer; and kLa, P/V, inlet-gas composition and feed schedules have no place in the v1.0 model yet. Chapters 5 and 8 return to these gaps.
monitorBioreactor that would stop it from raising critical alarms during a planned temperature shift, without hiding genuine excursions.