Spaces:
Sleeping
Sleeping
Update utils/cooling_load.py
Browse files- utils/cooling_load.py +13 -15
utils/cooling_load.py
CHANGED
@@ -700,7 +700,7 @@ class CoolingLoadCalculator:
|
|
700 |
if self.debug_mode:
|
701 |
logger.debug(f"Month converted: {month} -> {month_int}")
|
702 |
|
703 |
-
# Convert string latitude to numerical for
|
704 |
try:
|
705 |
lat_value = float(latitude.replace('N', ''))
|
706 |
except ValueError:
|
@@ -708,12 +708,12 @@ class CoolingLoadCalculator:
|
|
708 |
logger.error(f"Invalid latitude format: {latitude}. Defaulting to 32.0")
|
709 |
lat_value = 32.0
|
710 |
|
711 |
-
# Initialize CLTDCalculator with
|
712 |
cltd_calculator = CLTDCalculator(
|
713 |
indoor_temp=indoor_temp,
|
714 |
outdoor_max_temp=outdoor_temp,
|
715 |
outdoor_daily_range=11.7, # Default from drapery.py
|
716 |
-
latitude=
|
717 |
month=month_int
|
718 |
)
|
719 |
|
@@ -738,14 +738,13 @@ class CoolingLoadCalculator:
|
|
738 |
cltd = cltd_calculator.get_cltd_window(
|
739 |
glazing_type=glazing_key,
|
740 |
orientation=window.orientation.value,
|
741 |
-
hour=hour
|
742 |
-
latitude=lat_value # Pass numerical latitude
|
743 |
)
|
744 |
if self.debug_mode:
|
745 |
-
logger.debug(f"CLTD from CLTDCalculator: {cltd} for glazing_type={glazing_key}, latitude={
|
746 |
except Exception as e:
|
747 |
if self.debug_mode:
|
748 |
-
logger.error(f"get_cltd_window failed for glazing_type={glazing_key}, latitude={
|
749 |
logger.warning("Using default CLTD=8.0°C")
|
750 |
cltd = 8.0
|
751 |
|
@@ -765,7 +764,7 @@ class CoolingLoadCalculator:
|
|
765 |
if self.debug_mode:
|
766 |
logger.debug(f"Using shading coefficient: {effective_shading_coefficient} (adjusted_shgc={adjusted_shgc}, drapery={'enabled' if hasattr(window, 'drapery') and window.drapery and window.drapery.enabled else 'disabled'})")
|
767 |
|
768 |
-
# Solar load with latitude
|
769 |
try:
|
770 |
latitudes = [24, 32, 40, 48, 56]
|
771 |
lat1 = max([lat for lat in latitudes if lat <= lat_value], default=24)
|
@@ -863,7 +862,7 @@ class CoolingLoadCalculator:
|
|
863 |
if self.debug_mode:
|
864 |
logger.debug(f"Month converted: {month} -> {month_int}")
|
865 |
|
866 |
-
# Convert string latitude to numerical for
|
867 |
try:
|
868 |
lat_value = float(latitude.replace('N', ''))
|
869 |
except ValueError:
|
@@ -871,12 +870,12 @@ class CoolingLoadCalculator:
|
|
871 |
logger.error(f"Invalid latitude format: {latitude}. Defaulting to 32.0")
|
872 |
lat_value = 32.0
|
873 |
|
874 |
-
# Initialize CLTDCalculator with
|
875 |
cltd_calculator = CLTDCalculator(
|
876 |
indoor_temp=indoor_temp,
|
877 |
outdoor_max_temp=outdoor_temp,
|
878 |
outdoor_daily_range=11.7, # Default from drapery.py
|
879 |
-
latitude=
|
880 |
month=month_int
|
881 |
)
|
882 |
|
@@ -900,14 +899,13 @@ class CoolingLoadCalculator:
|
|
900 |
glazing_key = glazing_type if glazing_type in ['Single Clear', 'Double Tinted', 'Low-E', 'Reflective'] else 'SingleClear'
|
901 |
cltd = cltd_calculator.get_cltd_skylight(
|
902 |
glazing_type=glazing_key,
|
903 |
-
hour=hour
|
904 |
-
latitude=lat_value # Pass numerical latitude
|
905 |
)
|
906 |
if self.debug_mode:
|
907 |
-
logger.debug(f"CLTD from CLTDCalculator: {cltd} for glazing_type={glazing_key}, latitude={
|
908 |
except Exception as e:
|
909 |
if self.debug_mode:
|
910 |
-
logger.error(f"get_cltd_skylight failed for glazing_type={glazing_key}, latitude={
|
911 |
logger.warning("Using default CLTD=8.0°C")
|
912 |
cltd = 8.0
|
913 |
|
|
|
700 |
if self.debug_mode:
|
701 |
logger.debug(f"Month converted: {month} -> {month_int}")
|
702 |
|
703 |
+
# Convert string latitude to numerical for SCL interpolation only
|
704 |
try:
|
705 |
lat_value = float(latitude.replace('N', ''))
|
706 |
except ValueError:
|
|
|
708 |
logger.error(f"Invalid latitude format: {latitude}. Defaulting to 32.0")
|
709 |
lat_value = 32.0
|
710 |
|
711 |
+
# Initialize CLTDCalculator with string latitude
|
712 |
cltd_calculator = CLTDCalculator(
|
713 |
indoor_temp=indoor_temp,
|
714 |
outdoor_max_temp=outdoor_temp,
|
715 |
outdoor_daily_range=11.7, # Default from drapery.py
|
716 |
+
latitude=latitude, # Use string latitude
|
717 |
month=month_int
|
718 |
)
|
719 |
|
|
|
738 |
cltd = cltd_calculator.get_cltd_window(
|
739 |
glazing_type=glazing_key,
|
740 |
orientation=window.orientation.value,
|
741 |
+
hour=hour
|
|
|
742 |
)
|
743 |
if self.debug_mode:
|
744 |
+
logger.debug(f"CLTD from CLTDCalculator: {cltd} for glazing_type={glazing_key}, latitude={latitude}")
|
745 |
except Exception as e:
|
746 |
if self.debug_mode:
|
747 |
+
logger.error(f"get_cltd_window failed for glazing_type={glazing_key}, latitude={latitude}: {str(e)}")
|
748 |
logger.warning("Using default CLTD=8.0°C")
|
749 |
cltd = 8.0
|
750 |
|
|
|
764 |
if self.debug_mode:
|
765 |
logger.debug(f"Using shading coefficient: {effective_shading_coefficient} (adjusted_shgc={adjusted_shgc}, drapery={'enabled' if hasattr(window, 'drapery') and window.drapery and window.drapery.enabled else 'disabled'})")
|
766 |
|
767 |
+
# Solar load with latitude Interpolation
|
768 |
try:
|
769 |
latitudes = [24, 32, 40, 48, 56]
|
770 |
lat1 = max([lat for lat in latitudes if lat <= lat_value], default=24)
|
|
|
862 |
if self.debug_mode:
|
863 |
logger.debug(f"Month converted: {month} -> {month_int}")
|
864 |
|
865 |
+
# Convert string latitude to numerical for SCL interpolation only
|
866 |
try:
|
867 |
lat_value = float(latitude.replace('N', ''))
|
868 |
except ValueError:
|
|
|
870 |
logger.error(f"Invalid latitude format: {latitude}. Defaulting to 32.0")
|
871 |
lat_value = 32.0
|
872 |
|
873 |
+
# Initialize CLTDCalculator with string latitude
|
874 |
cltd_calculator = CLTDCalculator(
|
875 |
indoor_temp=indoor_temp,
|
876 |
outdoor_max_temp=outdoor_temp,
|
877 |
outdoor_daily_range=11.7, # Default from drapery.py
|
878 |
+
latitude=latitude, # Use string latitude
|
879 |
month=month_int
|
880 |
)
|
881 |
|
|
|
899 |
glazing_key = glazing_type if glazing_type in ['Single Clear', 'Double Tinted', 'Low-E', 'Reflective'] else 'SingleClear'
|
900 |
cltd = cltd_calculator.get_cltd_skylight(
|
901 |
glazing_type=glazing_key,
|
902 |
+
hour=hour
|
|
|
903 |
)
|
904 |
if self.debug_mode:
|
905 |
+
logger.debug(f"CLTD from CLTDCalculator: {cltd} for glazing_type={glazing_key}, latitude={latitude}")
|
906 |
except Exception as e:
|
907 |
if self.debug_mode:
|
908 |
+
logger.error(f"get_cltd_skylight failed for glazing_type={glazing_key}, latitude={latitude}: {str(e)}")
|
909 |
logger.warning("Using default CLTD=8.0°C")
|
910 |
cltd = 8.0
|
911 |
|