HVAC / app.py
mabuseif's picture
Upload 23 files
903d153 verified
"""
Main application module for the HVAC Load Calculator.
This module provides the main entry point and navigation for the HVAC calculator application.
"""
import streamlit as st
import pandas as pd
import matplotlib.pyplot as plt
from pathlib import Path
import sys
import os
# Add the current directory to the path
sys.path.append(os.path.dirname(os.path.abspath(__file__)))
# Import calculator modules
from pages.cooling_calculator import cooling_calculator
from pages.heating_calculator import heating_calculator
from reference_data import ReferenceData
from utils.scenario_integration import scenario_comparison_page
# Create directories for scenarios if they don't exist
os.makedirs("scenarios/cooling", exist_ok=True)
os.makedirs("scenarios/heating", exist_ok=True)
# Dictionary of available pages
pages = {
"cooling_calculator": cooling_calculator,
"heating_calculator": heating_calculator,
"scenario_comparison": scenario_comparison_page
}
def main():
"""
Main function to run the HVAC Load Calculator application.
"""
st.set_page_config(
page_title="HVAC Load Calculator",
page_icon="🏢",
layout="wide",
initial_sidebar_state="expanded"
)
st.sidebar.title("HVAC Load Calculator")
# Add attribution
st.sidebar.markdown("""
**Created by:** Dr. Majed Abuseif
This tool was created to facilitate HVAC calculation and understanding for Deakin University students, but has been enhanced to cover wider aspects to allow professionals and energy and HVAC enthusiasts to use it.
""")
# Add page selection
page = st.sidebar.radio(
"Select Calculator",
["Cooling Load Calculator", "Heating Load Calculator", "Scenario Comparison"]
)
if page == "Cooling Load Calculator":
cooling_calculator()
elif page == "Heating Load Calculator":
heating_calculator()
elif page == "Scenario Comparison":
scenario_comparison_page()
if __name__ == "__main__":
main()