Quick start guide and technical reference
Before installing Smart Cool Tech, ensure you have:
# Clone the repository
git clone https://github.com/your-org/smartcooling.git
cd smartcooling
# Create conda environment
conda create -n brick-csc python=3.9
conda activate brick-csc
# Install dependencies
pip install -r requirements.txt
# Verify installation
python -c "import rdflib, brickschema; print('OK')"
Create a configuration profile for your building:
# config/profiles/your_building.yaml
building:
name: "Your Building Name"
location: "City, Country"
influxdb:
url: "http://localhost:8086"
token: "${INFLUX_TOKEN}" # Use environment variable
org: "your_org"
bucket: "hvac"
chillers:
- id: "CH-01"
capacity: 3500 # kW
type: "centrifugal"
cooling_water: "freshwater"
- id: "CH-02"
capacity: 3500
type: "centrifugal"
cooling_water: "freshwater"
Generate a Brick Schema model for your building:
# Generate Brick model from configuration
python -m brick.model_generator --profile your_building
# Validate the model
python -m brick.validator --model models/your_building.ttl
# Output:
# ✓ Brick model validated successfully
# ✓ Found 9 chillers
# ✓ Found 18 temperature sensors
# ✓ All relationships valid
# Train load forecasting model
python -m models.load_forecasting_trainer \
--profile your_building \
--data-range "2024-01-01/2024-12-31"
# Train chiller COP models
python -m models.chiller_model_trainer \
--profile your_building \
--model-type bnn # Bayesian Neural Network
# Output:
# Load Model CVRMSE: 8.3%
# CH-01 COP Model RMSE: 0.042
# CH-02 COP Model RMSE: 0.039
# Models saved to: models/saved_models/
# Single optimization run
python -m cli.main optimize \
--mode single \
--profile your_building
# Batch optimization (hourly for past 7 days)
python -m cli.main batch-optimization \
--profile your_building \
--hours 168
# Schedule automatic optimization (every hour)
python -m cli.main schedule \
--profile your_building \
--interval 3600
# Start the dashboard
streamlit run dashboard/app.py --server.port 8501
# Access at:
# http://localhost:8501
# Default credentials:
# Username: operator
# Password: demo123
Smart Cool Tech uses a two-step approach:
COP measures chiller efficiency: COP = Cooling Load / Power Consumption.
Higher COP means better efficiency. Smart Cool Tech's BNN models predict COP for any
chiller at any load condition with uncertainty quantification.
PLR indicates how heavily a chiller is loaded: PLR = Current Load / Rated Capacity.
Most chillers are most efficient at PLR between 0.5 and 0.8. Smart Cool Tech balances
loads to keep chillers in their efficient operating range.
Bayesian Neural Networks provide not just predictions but also confidence levels (sigma). When sigma exceeds a threshold, Smart Cool Tech automatically switches to the physics-based fallback model for that chiller.
# Retrain with recent data
python -m models.chiller_model_trainer \
--profile your_building \
--incremental \
--data-range "2025-01-01/2025-01-31"
# Export to CSV
python -m cli.main export \
--profile your_building \
--output results.csv \
--date-range "2025-01-01/2025-01-31"
# Run SHACL validation
python -m brick.validator \
--model models/your_building.ttl \
--shapes brick/shapes/chiller_shapes.ttl
# Execute SPARQL query
python -m brick.query \
--model models/your_building.ttl \
--query "SELECT ?chiller ?capacity WHERE { \
?chiller a brick:Chiller . \
?chiller brick:hasCapacity ?capacity \
}"
python -m database.test_connectionmodels/saved_models/tail -f logs/optimization.logSmart Cool Tech provides a Python API for programmatic access:
from optimization.real_time_optimizer import RealTimeOptimizer
# Initialize optimizer
optimizer = RealTimeOptimizer(profile="your_building")
# Run optimization
result = optimizer.optimize()
# Access results
print(f"Recommended chillers: {result['recommended']}")
print(f"Expected savings: {result['energy_saving_pct']:.1f}%")