Drawings reference TBP0064A for the expansion tank properties but no information regarding the dimensions of the tank is given. All that the drawing notes is that the capacity of the expansion tank is 20 L. Instead, use dimensions measured by hand (see calculations below).
import numpy as np
metersPerInch = 25.4 / 1000
litersPerCubicMeter = 1000
# All units in SI unless otherwise stated in variable names.
timePoint0 = "Jul 12"
timePoint1 = "Jul 25"
timePoint2 = "Aug 03"
waterLevel0 = 0.375
waterLevel1 = 0.328
waterLevel2 = 0.222
# Use external dimensions of the expansion tank to gauge internal volume.
tankDiameter = 12 * metersPerInch # Measured tank outter diameter to be 1'.
tankHeight = 18 * metersPerInch # Measured tank height to be 1.5'.
tankCrossSectionArea = np.pi * tankDiameter**2 / 4
totalLeakedAmount = (waterLevel0 - waterLevel2) * tankCrossSectionArea
totalLeakedAmountLiters = totalLeakedAmount * litersPerCubicMeter
print(f"The total amount leaked from July 12 is {totalLeakedAmountLiters:.2f} L.\n")
peakLeakRateTimeDifferenceDays = 9 # from July 25 to Aug 03.
peakLeakRatePerDay = (waterLevel1 - waterLevel2) * tankCrossSectionArea / peakLeakRateTimeDifferenceDays
peakLeakRateLitersPerDay = peakLeakRatePerDay * litersPerCubicMeter
print(f"The peak leak rate prior to the trip is {peakLeakRateLitersPerDay:.2f} L/day.")
The total amount leaked from July 12 is 11.16 L. The peak leak rate prior to the trip is 0.86 L/day.
print(f"Peak leak rate is equivalent to {peakLeakRateLitersPerDay * 1/24/60*1000:.2f} mL/min.\n")
print(f"Peak leak rate is equivalent to {peakLeakRateLitersPerDay * 1/24*1000:.2f} mL/hour.")
Peak leak rate is equivalent to 0.60 mL/min. Peak leak rate is equivalent to 35.81 mL/hour.
metersOfWaterLevelPerCubicMeter = 1 / tankCrossSectionArea
centimetersOfWaterPerLiter = metersOfWaterLevelPerCubicMeter * 100 / litersPerCubicMeter
print(f"One liter of water in the expansion tank corresponds to {centimetersOfWaterPerLiter:.2f} cm of water level.\n")
One liter of water in the expansion tank corresponds to 1.37 cm of water level.
updatedLeakRateCentimetersPerHour = 0.2 / 3
updatedLeakRateMililetersPerHour = updatedLeakRateCentimetersPerHour / centimetersOfWaterPerLiter * 1000
print(f"The leak rate after re-filling the expansion tank is {updatedLeakRateMililetersPerHour:.2f} mL/hour.")
The leak rate after re-filling the expansion tank is 48.64 mL/hour.
timepoint3 = "8:00AMAug03"
timepoint4 = "8:00AMAug04"
timeDifference34Days = 1
timeDifference34Minutes = timeDifference34Days * 24 * 60
waterLevel3 = 39.2 / 100
waterLevel4 = 37.6 / 100
totalLeakedAmount34 = (waterLevel3 - waterLevel4) * tankCrossSectionArea
totalLeakedAmount34Liters = totalLeakedAmount34 * litersPerCubicMeter
print(f"Total leaked amount since re-filling is approximately {totalLeakedAmount34Liters:.2f} L.\n")
leakRate34LitersPerMinute = totalLeakedAmount34Liters / timeDifference34Minutes
print(f"This equates to an approximate average leak rate of {leakRate34LitersPerMinute * 1000 * 60:.2f} mL/hour.")
Total leaked amount since re-filling is approximately 1.17 L. This equates to an approximate average leak rate of 48.64 mL/hour.
See image below for the expansion tank level at T2(red) and T1(green) from 2020-2023
The resin in T2 was last exchanged in 2021 so the sudden dip we saw in 2023 Jul-Aug is an anomaly.
The main thing that changed with the cooling system this year was the valve replacement. This creates potential failure points in the newly joined valves as well as in the introduction of air into the drained parts of the cooling system.
The same is true for T1, we don't see any behavior where the water level suddenly nosedives down.
The fact that vacuum at BL1A remains nominal means that if there is a leak, it would have occurred outside of the vacuum volume (i.e. at the cooling package).
From the over the weekend data, it seems like the leak 'is' developing.
timepoint4 = "9:00AMAug10"
timepoint5 = "9:00AMAug11"
timeDifference45Days = 1
timeDifference45Minutes = timeDifference45Days * 24 * 60
waterLevel4 = 42.7 / 100
waterLevel5 = 34.5 / 100
totalLeakedAmount45 = (waterLevel4 - waterLevel5) * tankCrossSectionArea
totalLeakedAmount45Liters = totalLeakedAmount45 * litersPerCubicMeter
print(f"Total leaked amount since re-filling on Aug 10 is approximately {totalLeakedAmount45Liters:.2f} L.\n")
leakRate45LitersPerMinute = totalLeakedAmount45Liters / timeDifference45Minutes
print(f"This equates to an approximate average leak rate of {leakRate45LitersPerMinute * 1000 * 60:.2f} mL/hour.")
Total leaked amount since re-filling on Aug 10 is approximately 5.98 L. This equates to an approximate average leak rate of 249.30 mL/hour.
According to the reference above, it seems our leak rate will stabilize to a puddle approximately 2 m by 3 m in size.