Spaces:
Sleeping
Sleeping
Update data/climate_data.py
Browse files- data/climate_data.py +13 -3
data/climate_data.py
CHANGED
@@ -70,7 +70,7 @@ class ClimateLocation:
|
|
70 |
elif manual_data:
|
71 |
self.winter_design_temp = manual_data.get("winter_temp", -10.0)
|
72 |
self.wind_speed = manual_data.get("wind_speed", 5.0)
|
73 |
-
self.pressure = manual_data.get("pressure", 101325.0)
|
74 |
# Populate other fields from manual data
|
75 |
for key, value in kwargs.items():
|
76 |
setattr(self, key, value)
|
@@ -84,6 +84,8 @@ class ClimateLocation:
|
|
84 |
|
85 |
def adjust_pressure_for_altitude(self, elevation: float) -> float:
|
86 |
"""Calculate atmospheric pressure based on elevation."""
|
|
|
|
|
87 |
return 101325 * (1 - 2.25577e-5 * elevation)**5.25588
|
88 |
|
89 |
def to_dict(self) -> Dict[str, Any]:
|
@@ -401,6 +403,14 @@ class ClimateData:
|
|
401 |
step=0.1,
|
402 |
help="Enter the average wind speed in meters per second"
|
403 |
)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
404 |
|
405 |
# Monthly Data with clear titles (no help added here)
|
406 |
monthly_temps = {}
|
@@ -432,13 +442,13 @@ class ClimateData:
|
|
432 |
manual_data = {
|
433 |
"winter_temp": winter_design_temp,
|
434 |
"wind_speed": wind_speed,
|
435 |
-
"pressure":
|
436 |
}
|
437 |
location = ClimateLocation(
|
438 |
manual_data=manual_data,
|
439 |
id=generated_id,
|
440 |
country=session_state.building_info["country"],
|
441 |
-
state_province="N/A",
|
442 |
city=session_state.building_info["city"],
|
443 |
latitude=latitude,
|
444 |
longitude=longitude,
|
|
|
70 |
elif manual_data:
|
71 |
self.winter_design_temp = manual_data.get("winter_temp", -10.0)
|
72 |
self.wind_speed = manual_data.get("wind_speed", 5.0)
|
73 |
+
self.pressure = manual_data.get("pressure", 101325.0) # Use provided pressure
|
74 |
# Populate other fields from manual data
|
75 |
for key, value in kwargs.items():
|
76 |
setattr(self, key, value)
|
|
|
84 |
|
85 |
def adjust_pressure_for_altitude(self, elevation: float) -> float:
|
86 |
"""Calculate atmospheric pressure based on elevation."""
|
87 |
+
if elevation is None:
|
88 |
+
return 101325.0 # Default sea-level pressure if elevation is None
|
89 |
return 101325 * (1 - 2.25577e-5 * elevation)**5.25588
|
90 |
|
91 |
def to_dict(self) -> Dict[str, Any]:
|
|
|
403 |
step=0.1,
|
404 |
help="Enter the average wind speed in meters per second"
|
405 |
)
|
406 |
+
pressure = st.number_input(
|
407 |
+
"Atmospheric Pressure (Pa)",
|
408 |
+
min_value=50000.0,
|
409 |
+
max_value=120000.0,
|
410 |
+
value=101325.0,
|
411 |
+
step=100.0,
|
412 |
+
help="Enter the average atmospheric pressure in Pascals (e.g., 101325 Pa for sea level)"
|
413 |
+
)
|
414 |
|
415 |
# Monthly Data with clear titles (no help added here)
|
416 |
monthly_temps = {}
|
|
|
442 |
manual_data = {
|
443 |
"winter_temp": winter_design_temp,
|
444 |
"wind_speed": wind_speed,
|
445 |
+
"pressure": pressure # Use user-provided pressure
|
446 |
}
|
447 |
location = ClimateLocation(
|
448 |
manual_data=manual_data,
|
449 |
id=generated_id,
|
450 |
country=session_state.building_info["country"],
|
451 |
+
state_province="N/A",
|
452 |
city=session_state.building_info["city"],
|
453 |
latitude=latitude,
|
454 |
longitude=longitude,
|