Where the Coolant Went When Nothing Leaked
Contraction, air, a leak, or a vessel that lost its gas charge: four reasons a CDU asks for makeup, and what to log to tell them apart.
At 03:40 the CDU raises "Check Fluid Make Up Level." The servers on the loop have been idle since the maintenance window opened, the makeup container is lower than at handover, and nothing on the floor is wet. Nothing has to be. A sealed loop can take liters of makeup without losing a drop of coolant.
The alarm is honest about what it saw. On a Vertiv CoolChip CDU 121 it means the fill pump ran for more than five seconds after return pressure fell below the fill threshold. It says nothing about why.
Before topping up and clearing it, find out what the loop did with the fluid.
Four things lower the pressure in a sealed loop, and only one of them is coolant leaking out. The others are thermal contraction, air leaving through the vents, and one that is rarely on anyone's list: gas leaving the expansion vessel.
Telling them apart takes two readings the alarm does not give you, logged beside the makeup volume: how cold the loop was when the fill pump ran, and where the hot end lands at the next full load.
The gas cushion sets the loop's pressure
A sealed loop has nowhere for its coolant to go when it warms. A glycol solution expands like any liquid. Steel pipe barely stretches, so the only compressible thing in the circuit is the gas behind the diaphragm in the expansion vessel.
ASHRAE calls that tank the reference pressure point of a closed system, "analogous to a ground." While its gas stays put, the tank's pressure moves only when coolant is pushed in or drawn out. In a sealed loop with nothing added or lost, only temperature does that.
Loop pressure therefore follows loop temperature along a curve set by five numbers: the gas precharge, the vessel volume, the loop volume, and the pressure and temperature at fill. The CoolChip CDU 600 ships with two 8 liter vessels precharged to 0.8 bar, and commissioning fills the loop to a static 1.0 bar.
A healthy cycle, in numbers
Put those two vessels on an assumed 400 liter loop, filled to 1.0 bar at 20 °C. Pressures here are gauge, and the gas is treated as isothermal, as ASHRAE does.
Filling compresses the 16 liters of gas from its 0.8 bar charge into 14.4 liters by Boyle's law, worked in absolute pressure, so the vessels hold about 1.6 liters of coolant.
A 25 percent by volume propylene glycol solution is about 1.2 percent less dense at 45 °C than at 20 °C. Warming the loop to a 45 °C average at full load, less a small allowance for pipe growth, pushes about 4.4 liters into the vessels and squeezes the gas to 10 liters, at about 1.9 bar.
Animated diagram: a section through the expansion vessels, drawn as one, with a diaphragm between gas and coolant, beside a chart of pressure at the vessel connection against loop temperature. As the loop warms from 20 to 45 degrees Celsius, coolant rises in the vessels and the pressure climbs from 1.00 to 1.89 bar gauge. With the gas charge at 0.4 bar, the pressure first drops to 0.56 bar, the fill pump adds 3.2 liters, and full load reaches 2.30 bar.
Shown: full load with the charge at 0.8 bar. The 0.4 bar curve is the same loop after the fill pump has restored 1.00 bar(g) at 20 °C.
Idle at 20 °C, filled to 1.00 bar(g).
Show the numbers
| Loop | 0.8 bar charge | 0.4 bar charge |
|---|---|---|
| 15 °C | 0.90 | 0.88 |
| 20 °C | 1.00 | 1.00 |
| 25 °C | 1.11 | 1.15 |
| 30 °C | 1.25 | 1.33 |
| 35 °C | 1.42 | 1.57 |
| 40 °C | 1.63 | 1.88 |
| 45 °C | 1.89 | 2.30 |
| Charge | Step | Loop | Pressure | In the vessels | Makeup |
|---|---|---|---|---|---|
| 0.8 bar | idle | 20 °C | 1.00 bar(g) | 1.6 L | 0.0 L |
| 0.8 bar | full load | 45 °C | 1.89 bar(g) | 6.0 L | 0.0 L |
| 0.8 bar | back to idle | 20 °C | 1.00 bar(g) | 1.6 L | 0.0 L |
| 0.4 bar | gas charge falls | 20 °C | 0.56 bar(g) | 1.6 L | 0.0 L |
| 0.4 bar | fill pump runs | 20 °C | 1.00 bar(g) | 4.8 L | 3.2 L |
| 0.4 bar | full load | 45 °C | 2.30 bar(g) | 9.2 L | 3.2 L |
| 0.4 bar | back to idle | 20 °C | 1.00 bar(g) | 4.8 L | 3.2 L |
Cool the loop back to 20 °C and the pressure returns to 1.0 bar. Nothing was added, nothing was lost, and the fill pump never ran. The same vessels on an 800 liter loop would have reached about 4.2 bar, which is why the loop volume belongs in the commissioning record.
Four reasons the fill pump runs
All four look the same on the pressure channel; they separate on temperature and in the makeup log.
Colder than at fill
Coolant colder than at fill takes up less room, so the vessels give some back. In the example loop, idling at 15 °C draws 0.7 liters out of them and the pressure sags to about 0.9 bar. If that is below the fill threshold, the fill pump adds fluid and the alarm can fire. Nothing leaked.
But the loop now carries 0.7 liters more, so when load returns the hot end sits higher: about 2.1 bar at 45 °C instead of 1.9. Every cold top-up ratchets the hot end up a little.
Air is still leaving
A newly filled loop goes on shedding air after commissioning. Air trapped at fill percolates out through the automatic vents, and the fill pump re-activates to replace it. Makeup from this cause should taper toward zero from one check to the next.
If it does not, investigate beyond commissioning air.
Coolant is leaving
A real loss shifts the whole curve down: one liter out of the example loop gives 0.87 bar cold and 1.62 bar hot instead of 1.00 and 1.89. Then the fill pump restores 1.0 bar, and the curve is exactly the healthy one again because the inventory is back.
That is the awkward part of automatic makeup: a slow leak leaves no trace on the pressure channel. Its trace is in the makeup log, reconciled against vents, drains and sampling, then against the heat exchanger, where a pinhole can move coolant into the facility loop without a drip.
Gas is leaving the vessel
Gas can leave the dry side of the vessel through a leaking charging valve or a damaged diaphragm. When the example vessels' charge falls from 0.8 to 0.4 bar, nothing changes on the wet side, yet the pressure at the vessel connection drops to about 0.56 bar.
The fill pump responds the only way it can: it pushes 3.2 liters of coolant into the vessels until the sensor reads 1.0 bar again. The container is lower by exactly that much and no coolant has left the loop, yet full load now reaches about 2.3 bar instead of 1.9, because less gas is doing the cushioning.
The CDU 121's actions for a secondary over-pressure alarm include checking that the vessel bladder has not ruptured, the same mechanism taken to its end. Between the makeup alarm and the over-pressure alarm, a loop can go on swapping gas for coolant while everyone refills the container and looks for a leak.
Makeup that does not taper, with no cold excursion to explain it, and a hot end above its settled baseline at the same temperature: that is the signature of a vessel losing its gas charge.
Checking the charge
A tire gauge on the vessel's charging valve while the vessel is connected reads the loop, not the charge. The diaphragm is in equilibrium, so the gas pressure equals the coolant pressure whether 0.8 bar of charge is behind it or 0.4.
On the CDU 121 the vessel's valve is turned to drain, and only once the coolant has discharged is the gas measured. Low means a recharge to 0.8 bar; zero means possible damage. A reading above 0.8 bar points to the three-way valve still connecting the vessel to the unit piping, so the gauge is still reading the loop.
Amtrol adds the condition that matters: check at ambient temperature, because a tank cannot be properly precharged at any other.
The point the pump cannot move
The pressure at the vessel connection does not change when the pump starts or stops. The CDU 600 puts both vessels on the pump's suction side, so the pump's head appears downstream of them, and the static fill pressure is the one pressure the circulating pump cannot move.
That pressure is the floor of the circuit; only height takes a point lower, about 0.1 bar per meter. At fill temperature, with a 1.5 bar pump rise and the rack manifolds 3 meters up, the example loop runs lowest at the rack outlet, at 0.9 bar.
What to log at 03:40
Top up the container, because the loop needs its pressure, and log four things before the alarm is cleared.
- Loop temperature at the fill request, and the return pressure just before the pump ran.
- Makeup volume, from the container level before the top-up.
- Hot-end pressure at a stated temperature at the next full load, beside the value recorded once the loop stopped shedding air.
- Date and result of the last isolated, drained charge check.
What the log says
| The log shows | Points to | Next |
|---|---|---|
| Makeup while colder than at fill | Contraction | Review the fill threshold, not the fluid |
| Makeup tapering check by check on a young loop | Air leaving | Keep logging the trend |
| Steady makeup; hot end unchanged at the same temperature | Coolant leaving | Reconcile vents, drains and sampling, then the heat exchanger |
| Steady makeup, no cold excursion; hot end above baseline | Gas leaving the vessel | Isolated, drained charge check before the next load cycle |
Reliability Engine's Virtual Chemist does not measure a vessel's gas charge or find leaks; it can hold a makeup event beside the CDU temperature and pressure that explain it.
Back at 03:40, the container is topped up and the alarm clears, as it should. The difference is those two numbers, written beside the volume. The loop was telling the truth about its pressure. The log says what it traded for the coolant.
References
Page numbers for the two Vertiv guides are the PDF viewer's page index; the numbers printed in the guides' footers run four lower.
- ASHRAE: 2024 ASHRAE Handbook, HVAC Systems and Equipment, Chapter 13, Hydronic Heating and Cooling. Expansion chamber as the reference pressure point; with the air isothermal, its pressure changes only by displacement; the pressure at the tank connection unchanged when the pump starts or stops, with the pump's pressure appearing on the discharge side of a suction-side tank. The example keeps the chapter's isothermal assumption; vessel gas that warms with the cabinet would push the hot-end values a little higher.
- ASHRAE: 2021 ASHRAE Handbook, Fundamentals, Chapter 31, Physical Properties of Secondary Coolants, Table 10. Density of inhibited propylene glycol solutions by temperature (Dow 2001 data), used for the 20 to 45 °C expansion; the 25 percent values are read midway between the table's 20 and 30 percent columns.
- Vertiv: CoolChip CDU 600 Installation and Commissioning Guide, SL-07625 Rev C, August 2025. Two 8 liter vessels at 0.8 bar, and trapped air percolating out through the automatic air vents (page 30); static fill pressure 1.0 bar (page 45); fill pump re-activating as air purges (page 49); piping schematic with the vessels on the pump suction side (page 62).
- Vertiv: CoolChip CDU 121 Operation and Maintenance Guide, SL-80278, Rev A, October 2025. Fill request and A30 alarm (page 37); secondary over-pressure alarm action (page 49); yearly chamber pressure table (page 61); expansion vessel service and the 0.8 bar preset (page 63).
- Amtrol: EXTROL L Series Installation and Operation Instructions, 9017-094, January 2019. Checking the precharge on a filled system: cool to ambient, isolate, drain, gauge; an unsealed valve cap loses precharge.
- Georgia State University, HyperPhysics: Ideal Gas Law. Boyle's law as the constant-temperature case of the ideal gas law, used for the vessel gas.
- Reliability Engine: Virtual Chemist. Signals read in one context: CDU telemetry, rack pressure and temperature, service events.
- Reliability Engine: The Heat Exchanger Leak That Leaves No Puddle. Cross-leak as a route for coolant to leave without a puddle.
Related reading
Subscribe to updates
Get the latest engineering perspectives sent straight to your inbox.