UC Berkeley · Civil & Environmental Engineering · M.S. Construction Systems
A web-based operational digital twin for UC Berkeley’s campus buildings, centered on the Grimes Engineering Center. The system integrates BIM model analysis, real-time energy metering (BMO), and interactive web visualization — demonstrating a complete “BIM-to-Operations” pipeline at zero infrastructure cost.
Live Demo: doe2park.github.io/Graduate-Project
BMO Obvius Meters (154 devices, 26 online)
→ GitHub Actions (Python, every 15 min)
→ JSON Data Store (live + 24hr history + daily archive + weekly report)
→ GitHub Pages (free HTTPS hosting)
→ 5 Web Interfaces
├── Campus Map (ArcGIS 2D)
├── 3D Viewer (CesiumJS + Google Photorealistic 3D Tiles)
├── Energy Dashboard (Chart.js)
├── Weekly Report
└── Grimes MEP Viewer (Three.js + WebXR)
→ Cloudflare Workers AI (Llama 3.1 chatbot)
| Interface | URL | Technology |
|---|---|---|
| Campus Map | grimes-campus-map-arcgis.html | ArcGIS JS SDK 4.29 |
| 3D Campus View | campus-3d.html | CesiumJS + Google 3D Tiles |
| Energy Dashboard | campus-energy-dashboard.html | Chart.js 4.4 |
| Weekly Report | weekly-report.html | Vanilla JS |
| Grimes MEP Viewer | grimes-xr.html | Three.js + WebXR |
| AI Chatbot | campus-chatbot.ucb-dt.workers.dev | Cloudflare Workers AI |
Interactive 2D satellite map displaying live energy data for 64 UC Berkeley buildings.
Photorealistic 3D visualization of UC Berkeley campus with live energy overlay.
maximumScreenSpaceError: 4, FXAA, device pixel ratio scalingReal-time analytics with 6 interactive charts.
shortName() mapping with 30+ entries and fuzzy matchingAuto-generated 7-day energy summary.
3D MEP (Mechanical, Electrical, Plumbing) walkthrough of Grimes Engineering Center with live energy data.
| Meter | Voltage | Data Points |
|---|---|---|
| Meter #3 (Roof Electric) | 480V | kW, current, voltage, power factor, frequency, kWh delivered, peak demand |
| Meter #76 (HVAC/Lighting) | 480/277V | kW, current, voltage |
| Meter #77 (Outlets/IT) | 208/120V | kW, current, voltage |
| Water meter | — | flow rate (cf/m), total consumption (cf) |
| Steam meter | — | total consumption (gal) |
Derived from analysis of 741,796 BIM elements in the Revit/Navisworks model. 93 electrical panelboards were identified and mapped to BMO meters by floor:
| Floor | Meter Sources | Panelboards | Description |
|---|---|---|---|
| SRV (Roof) | Meter #3 × 100% | 0 (direct AHU feed) | Rooftop air handling units, exhaust fans |
| L3 | Meter #77 × 18% | 11 × 208V | Upper floor outlets, IT equipment |
| L2 | Meter #77 × 35% | 22 × 208V | Mid floor outlets, lab equipment |
| L1 | Meter #76 × 45% + Meter #77 × 31% | 14 × 480V + 19 × 208V | HVAC, lighting, outlets |
| B1 | Meter #76 × 55% + Meter #77 × 16% | 17 × 480V + 10 × 208V | MSB, mechanical room, workshop |
Key finding: 480/277V panelboards (Meter #76) exist only on B1 and L1. L2 and L3 have exclusively 208/120V distribution. Main switchboards (MSB-1, MSB-2) are located on B1.
HVAC, plumbing, and fire protection sensor readings shown on component click are simulated placeholders. These are ready for future BAS (Building Automation System) integration. All simulated values are labeled “SIM” in the UI.
| File | Description | Update Frequency |
|---|---|---|
data/campus_energy.json |
Live snapshot — 26 buildings × kW, cost, CO₂, anomaly flags, prediction | Every 15 min |
data/campus_energy_history.json |
24-hour rolling history — up to 96 data points per building | Every 15 min |
data/daily/YYYY-MM-DD.json |
Permanent daily archive — all readings preserved for trend analysis | Append each cycle |
data/weekly_report.json |
7-day summary — avg/peak/min kW, cost, CO₂ per building | Every 15 min |
dbU216ucberkelF682Deployed as a Cloudflare Worker using Workers AI (free tier, no API key required).
@cf/meta/llama-3.1-8b-instruct)https://campus-chatbot.ucb-dt.workers.devThe Grimes Engineering Center BIM model (Revit → Navisworks NWD) contains 741,796 elements across 48 NWC files from multiple design and construction teams:
| File Code | Firm / Role | Discipline |
|---|---|---|
RT |
Rutherford & Chekene | Electrical design |
FMB |
Mechanical designer | HVAC / plumbing design |
CDC |
Mechanical contractor | HVAC / plumbing construction BIM |
PRIBUSS PRAGMATIC |
Pribuss Engineering + Pragmatic PE | Fire protection design + construction |
SOM |
Skidmore, Owings & Merrill | Architecture |
XL |
— | 3D Grids / coordination |
Electrical: 00/01/02/03-UCBBE-RT-ELEC.nwc (power distribution)
00/01/02/03-UCBBE-RT-ELEC-IW.nwc (internal wiring)
00/01/02/03-UCBBE-RT-ELEC-LTG.nwc (lighting)
RF-UCBBE-RT-ELEC.nwc (roof electrical)
Fire Protection: 00/01/02/03-UCBBE-PRIBUSS PRAGMATIC-FP.nwc
Mechanical: 00/01/02/03/04-UCBBE-FMB-MECH DUCT.nwc
00/01/02/03-UCBBE-FMB-MP.nwc (mechanical piping)
00/01/02/03-UCBBE-FMB-PL.nwc (plumbing)
B1/L1/L2/L3-UCBB-CDC-MF.nwc (mechanical fabrication)
| Component | Technology | Cost |
|---|---|---|
| 2D Campus Map | ArcGIS JS SDK 4.29 | Free (developer tier) |
| 3D Campus View | CesiumJS 1.119 + Google Photorealistic 3D Tiles | Free (Cesium ion) |
| MEP 3D Viewer | Three.js r160 + WebXR | Free (open source) |
| Energy Dashboard | Chart.js 4.4.1 | Free (open source) |
| AI Chatbot | Cloudflare Workers AI (Llama 3.1 8B) | Free (Workers free tier) |
| Data Pipeline | Python 3.12 + GitHub Actions | Free (GitHub free tier) |
| Hosting | GitHub Pages | Free |
| Metering | BMO Obvius | UC Berkeley infrastructure |
| Total monthly cost | $0 |
Graduate-Project/
├── grimes-campus-map-arcgis.html # Campus 2D map with chatbot
├── campus-3d.html # CesiumJS 3D viewer
├── campus-energy-dashboard.html # Chart.js dashboard
├── weekly-report.html # Weekly report viewer
├── grimes-xr.html # Grimes MEP 3D viewer
├── grimes-mep-only.glb # MEP 3D model (1.7MB)
├── grimes-mep-compressed.glb # Full building model (57MB)
├── bmo_fetch_campus.py # BMO data fetcher (26 buildings)
├── generate_weekly_report.py # Weekly report generator
├── data/
│ ├── campus_energy.json # Live energy snapshot
│ ├── campus_energy_history.json # 24hr rolling history
│ ├── weekly_report.json # 7-day summary
│ └── daily/ # Permanent daily archives
│ └── YYYY-MM-DD.json
└── .github/
└── workflows/
└── bmo-campus-energy.yml # 15-min cron job
The following files contain sensitive data and must NOT be committed to the public repository:
.env — BMO credentialsdata/building_data.json — internal building configurationraw_csv/ — raw BMO meter exportsOnly code files and auto-generated output files (e.g., campus_energy.json) are safe to push.
Yoonsung Chung M.S. Construction Systems · UC Berkeley CEE yoonsung_chung@berkeley.edu