Pipe Breaks and LOE COE Project Review
1. Project Overview
Project Names
- Pipe Breaks: Original machine learning project for pipe break prediction
- LOE COE: Likelihood-of-Event analysis implementation
Purpose
The project consists of machine learning models focused on:
- Predicting pipe breaks using historical data
- Analyzing likelihood-of-event scenarios
- Implementing transfer learning techniques
Key Components
- Original Pipe Breaks Project
- LOE Application
- Transfer Learning Implementation
2. Repository Structure
Main Repositories
pipe-breaks: Original project repositoryloe-coe-app_deven-fork: Fork of the LOE applicationpipe-breaks-transfer-learning: Transfer learning implementation
Documentation Locations
- Local:
./internal/Pipe Breaks/ - Remote:
https://github.com/gqc/pipe_breaks/tree/master/docs- Sphinx documentation in loe-coe-app (gh-pages branch)
3. Environment Details
Development Machines
- HP Laptop
- MSI
Python Environments
| Environment Name | Python Version | Key Dependencies |
|---|---|---|
| pipe_breaks | 3.8.10 | scikit-learn=1.2.2 |
| pipe-breaks | 3.9.16 | - |
| pipe_breaks_transfer_learning | 3.8.10 | scikit-learn=0.24.2 |
4. Database Information
SQLite Databases
dnv_coe_buildings.db: Buildings databasednv_coe.db: LOE database (needs renaming)
5. Key Files and Directories
Documentation
readme.md: Project overview and setup instructionstraining-and-predictions.md: Model training and prediction documentation02_loe-coe-update_7_29_2024.md: LOE COE update documentation
Implementation
app.py: Streamlit applicationscript_runner.py: Original project implementation
Data
data/directory containing SQLite databases- Configuration files (.toml)
6. Dependencies and Requirements
Python Versions
- 3.8.10
- 3.9.16
Key Packages
- scikit-learn
- streamlit
Version Constraints
- scikit-learn compatibility varies between environments
- Python version dependencies must be carefully managed
7. Known Issues and Notes
Technical Issues
- Streamlit errors may lack detailed descriptions
- Python version compatibility issues with scikit-learn
- Database naming inconsistencies
- Functionality gaps in LOE calculations
Development Notes
- Regular updates to documentation are required
- Environment setup requires careful version management
- Database standardization needed
8. Maintenance and Updates
Documentation Updates
- This document should be updated as new information becomes available
- Version control should be maintained for all documentation changes
Environment Management
- Keep track of package version changes
- Document any new environment setups
- Maintain compatibility matrices
Note: This document serves as a living reference and should be updated as the project evolves.