mabuseif commited on
Commit
28d8050
·
verified ·
1 Parent(s): 5dca2c9

Update main.py

Browse files
Files changed (1) hide show
  1. main.py +40 -4
main.py CHANGED
@@ -26,7 +26,7 @@ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
26
  from app.intro import display_intro_page
27
  from app.building_information import display_building_info_page
28
  from app.climate_data import display_climate_page
29
- from app.materials_library import display_materials_page, Material, GlazingMaterial, MaterialCategory
30
  from app.construction import display_construction_page, get_available_constructions
31
  from app.components import display_components_page
32
  from app.internal_loads import display_internal_loads_page
@@ -71,6 +71,11 @@ class BuildSustain:
71
  if 'current_page' not in st.session_state:
72
  st.session_state.current_page = "Intro"
73
 
 
 
 
 
 
74
  # Initialize project data structure if not set
75
  if 'project_data' not in st.session_state:
76
  st.session_state.project_data = {
@@ -115,7 +120,8 @@ class BuildSustain:
115
  "hourly_data": [],
116
  "epw_filename": "",
117
  "typical_extreme_periods": {},
118
- "ground_temperatures": {}
 
119
  },
120
  "materials": {
121
  "library": dict(SAMPLE_MATERIALS),
@@ -149,15 +155,33 @@ class BuildSustain:
149
  "hourly": [],
150
  "peak": 0,
151
  "summary_tables": {},
152
- "charts": {}
 
153
  },
154
  "heating": {
155
  "hourly": [],
156
  "peak": 0,
157
  "summary_tables": {},
158
- "charts": {}
 
159
  }
160
  },
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
161
  "building_energy": {
162
  "hvac_type": "",
163
  "cop": 0.0,
@@ -341,6 +365,18 @@ class BuildSustain:
341
  if key in st.session_state:
342
  st.session_state.pop(key, None)
343
 
 
 
 
 
 
 
 
 
 
 
 
 
344
  # Clear any module-specific rerun flags when changing pages
345
  st.session_state.module_rerun_flags = {}
346
 
 
26
  from app.intro import display_intro_page
27
  from app.building_information import display_building_info_page
28
  from app.climate_data import display_climate_page
29
+ from app.materials_library import display_materials_page, Material, GlazingMaterial, MaterialCategory, MaterialLibrary # Added MaterialLibrary import
30
  from app.construction import display_construction_page, get_available_constructions
31
  from app.components import display_components_page
32
  from app.internal_loads import display_internal_loads_page
 
71
  if 'current_page' not in st.session_state:
72
  st.session_state.current_page = "Intro"
73
 
74
+ # Initialize material library if not set (Added to support hvac_loads.py)
75
+ if 'material_library' not in st.session_state:
76
+ st.session_state.material_library = MaterialLibrary()
77
+ logger.info("Initialized MaterialLibrary in session state")
78
+
79
  # Initialize project data structure if not set
80
  if 'project_data' not in st.session_state:
81
  st.session_state.project_data = {
 
120
  "hourly_data": [],
121
  "epw_filename": "",
122
  "typical_extreme_periods": {},
123
+ "ground_temperatures": {},
124
+ "ground_reflectivity": 0.2 # Added for hvac_loads.py solar calculations
125
  },
126
  "materials": {
127
  "library": dict(SAMPLE_MATERIALS),
 
155
  "hourly": [],
156
  "peak": 0,
157
  "summary_tables": {},
158
+ "charts": {},
159
+ "breakdown": {} # Added to store detailed load components (e.g., conduction, solar)
160
  },
161
  "heating": {
162
  "hourly": [],
163
  "peak": 0,
164
  "summary_tables": {},
165
+ "charts": {},
166
+ "breakdown": {} # Added to store detailed load components
167
  }
168
  },
169
+ "hvac_settings": { # Added to support hvac_loads.py
170
+ "operating_hours": [{"start": 8, "end": 18}],
171
+ "system_type": "Default"
172
+ },
173
+ "sim_period": { # Added to support hvac_loads.py
174
+ "type": "Full Year",
175
+ "start_date": None,
176
+ "end_date": None,
177
+ "base_temp": 18.3
178
+ },
179
+ "indoor_conditions": { # Added to support hvac_loads.py
180
+ "type": "Fixed",
181
+ "cooling_setpoint": {"temperature": 24.0, "rh": 50.0},
182
+ "heating_setpoint": {"temperature": 20.0, "rh": 50.0},
183
+ "schedule": []
184
+ },
185
  "building_energy": {
186
  "hvac_type": "",
187
  "cop": 0.0,
 
365
  if key in st.session_state:
366
  st.session_state.pop(key, None)
367
 
368
+ # Clear HVAC-specific states when leaving the HVAC Loads page (Added to support hvac_loads.py)
369
+ if previous_page == "HVAC Loads":
370
+ keys_to_clear = [
371
+ "hvac_loads_rerun_pending",
372
+ "hvac_loads_form_state",
373
+ "hvac_loads_editor",
374
+ "rerun_trigger"
375
+ ]
376
+ for key in keys_to_clear:
377
+ if key in st.session_state:
378
+ st.session_state.pop(key, None)
379
+
380
  # Clear any module-specific rerun flags when changing pages
381
  st.session_state.module_rerun_flags = {}
382