You are operating SciREPL Pro on Android. Build and test the following demonstration directly in the current notebook.
Do not merely explain how to build it. Create the cells, run them, fix any errors, and leave the completed dashboard visible.
# Goal
Create a fast, visually compelling conceptual study titled:
Can a Flooded Mine Make Data Centers More Water-Efficient?
The notebook must compare cooling-tower water recovery in hot-dry and hot-humid weather.
This is a fictional educational model—not an engineering design, site assessment, financial analysis, or performance claim.
# Priorities
1. Reliability during a live phone demo
2. Execution in under eight seconds after kernels are ready
3. Clear visual results
4. Physically defensible first-order assumptions
5. Short cells and minimal textual output
Use no network requests, package installation, external data, Matplotlib, Plotly imports, pandas, or unnecessary dependencies.
Use only:
- Bundled NumPy
- Python’s standard library
- SciREPL’s built-in `mplot`
- Bundled SWI-Prolog
- SharedVFS paths under `/shared`
Do not inspect or modify unrelated notebooks, cells, files, or settings.
# Notebook structure
Create exactly four cells in this order:
1. Markdown introduction
2. Python simulation
3. Prolog classification
4. Python dashboard
## Cell 1 — Markdown
Write no more than 100 words.
Explain that the toy system contains:
- A 10 MW data center
- An evaporative cooling tower
- A downstream plume-condensing heat exchanger
- A closed secondary cooling loop
- A flooded mine-water thermal reservoir
- Recovered condensate returned as cooling-tower makeup water
State clearly that mine water never contacts cooling-tower water or recovered condensate.
Mention that the purpose is to explore water-versus-energy trade-offs under different humidity conditions.
## Cell 2 — Python simulation
Use NumPy and the standard library with a fixed random seed.
Create two independent seven-day hourly scenarios with identical:
- IT load
- Dry-bulb temperature
- Cooling-tower design
- Mine-water starting temperature
- Mine-water volume
The scenarios must differ only in atmospheric moisture:
- `hot_dry`: relative humidity approximately 20–35%
- `hot_humid`: relative humidity approximately 55–75%
Use smooth diurnal dry-bulb and IT-load cycles. Do not download weather data.
Implement compact functions for:
- Saturation vapour pressure
- Humidity ratio
- Dew-point temperature
- Wet-bulb temperature using a documented approximation
- Moist-air enthalpy
Model cooling-tower performance using wet-bulb temperature and a calibrated effectiveness:
`tower_effectiveness = (hot_water_temp - cold_water_temp) / (hot_water_temp - wet_bulb_temp)`
Use a constant design effectiveness and water-to-air flow ratio. Do not attempt CFD.
For each hour:
1. Calculate ambient psychrometric conditions.
2. Calculate cooling-water range and cold-water temperature.
3. Calculate the nearly saturated cooling-tower exhaust state using a moist-air mass and energy balance.
4. Calculate evaporation from the increase in humidity ratio.
5. Calculate drift separately.
6. Calculate blowdown using five cycles of concentration.
7. Calculate baseline makeup water.
8. Pass the warm saturated plume through a downstream condenser cooled by the mine-water loop.
9. Condense water only when the plume can be cooled below its dew point.
10. Clamp condensate flow between zero and tower evaporation.
11. Return recovered condensate as makeup water.
12. Transfer both sensible and latent condenser heat into the mine-water reservoir.
13. Update mine-water temperature using a lumped thermal-capacitance model with a small heat-loss term to surrounding rock or groundwater.
14. Include condenser fan and mine-loop pump power.
15. Flag hours when the mine water is too warm to produce condensation.
Treat this as a closed heat-exchanger loop. Do not mix mine water with condensate.
Track for each scenario:
- Ambient dry-bulb temperature
- Relative humidity
- Wet-bulb temperature
- Tower cold-water temperature
- Plume dew point
- Mine-water temperature
- Baseline makeup water
- Makeup water after recovery
- Recovered condensate
- Additional electrical power
- Condensation-available flag
Calculate summary metrics:
- Total baseline makeup water
- Total recovered water
- Percentage reduction in makeup water
- Water Usage Effectiveness in litres per IT-kWh
- Additional energy as a percentage of IT energy
- Maximum mine-water temperature
- Number of hours when condensation was possible
Use plausible illustrative constants, declare them together near the top, and avoid false precision.
Save hourly results for both scenarios to:
`/shared/mine_cooling.csv`
Write concise Prolog facts to:
`/shared/mine_cooling_status.pl`
Use this fact form:
`case_result(Case, WaterSavingPercent, ExtraEnergyPercent, MaxMineTempC, CondensationHours).`
Print no tables and no more than two short summary lines.
## Cell 3 — Prolog classification
Consult:
`/shared/mine_cooling_status.pl`
Define deterministic rules that classify each scenario as exactly one of:
- `no_condensation`
- `thermal_limit`
- `marginal`
- `promising_toy_result`
Use transparent toy thresholds:
- `no_condensation` if condensation occurred for fewer than 5% of simulated hours
- `thermal_limit` if maximum mine-water temperature reached 28°C
- `marginal` if water savings were below 10% or additional energy exceeded 5%
- `promising_toy_result` otherwise
Print exactly one short line per scenario containing:
- Scenario name
- Classification
- Water-saving percentage
- Additional-energy percentage
Make the classification deterministic and prevent duplicate Prolog solutions.
## Cell 4 — Python dashboard
Use the simulation variables already created by Cell 2.
Use SciREPL’s built-in `mplot`; do not import plotting packages.
Create two phone-readable interactive charts:
1. A grouped comparison for `hot_dry` and `hot_humid` showing:
- Baseline makeup water
- Makeup water after recovery
- Recovered condensate
2. An hourly temperature chart showing:
- Ambient wet-bulb temperature
- Plume dew-point temperature
- Mine-water temperature
Use high-contrast colours, concise titles, labelled axes, and legends. Keep the number of traces small enough to read on a phone.
Add a final annotation stating:
“Toy model: results depend on weather, heat-exchanger design, mine hydraulics and long-term thermal recharge.”
# Completion behaviour
- Create the four cells directly.
- Run each cell once in order.
- If a cell fails, make the smallest necessary correction and rerun it.
- Do not add diagnostic cells.
- Do not dump generated code or large arrays into outputs.
- Do not provide a long chat explanation.
- Prefer a working simplified model over adding complexity.
- When everything passes, leave the final dashboard cell visible.
Comments
0 B
|0 👍
/0 👎