ecoengine 3.2.3__tar.gz → 3.2.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ecoengine-3.2.3 → ecoengine-3.2.6}/PKG-INFO +1 -1
- {ecoengine-3.2.3 → ecoengine-3.2.6}/pyproject.toml +1 -1
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/PerformanceMap.py +2 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/WaterHeater.py +8 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/MP_RTPInSeriesSystem.py +2 -10
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInParallelSystem.py +11 -17
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInSeriesSystem.py +3 -10
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine.egg-info/PKG-INFO +1 -1
- {ecoengine-3.2.3 → ecoengine-3.2.6}/README.md +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/setup.cfg +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/constants/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/constants/constants.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/DryBulbTemperatures_ByClimateZone.csv +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/InletWaterTemperatures_ByClimateZone.csv +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/WeatherStation_ClimateZone_Lookup.csv +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/ZipCode_ClimateZone_Lookup.csv +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/kGperkWh_ByClimateZone.csv +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/apartment.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/elementary_school.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/food_service_a.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/food_service_b.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/junior_high.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/mens_dorm.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/motel.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/multi_family.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/nursing_home.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/office_building.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/senior_high.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/womens_dorm.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/maps.json +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_bounds.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_capacity_interpolator.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_power_in_interpolator.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_bounds.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_capacity_interpolator.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_power_in_interpolator.pkl +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/interfaces/EcosizerEngine.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/interfaces/Simulator.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/interfaces/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/building/Building.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/building/ClimateZone.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/building/UtilityCostTracker.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/building/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/Controls.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/EnergyTank.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/MixedStorageTank.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/SlugOverlayTank.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/StorageTank.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/StratifiedTank.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/DHWSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/InstantWHSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/MPNoRecircSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/ParallelLoopSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/RecircSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingDualFuelSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingERTrdOffSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/MultiPassRTPSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/RTPSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SinglePassRTPSystem.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/utils.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/simulation/SimulationRun.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/simulation/__init__.py +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine.egg-info/SOURCES.txt +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine.egg-info/dependency_links.txt +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine.egg-info/requires.txt +0 -0
- {ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine.egg-info/top_level.txt +0 -0
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/PerformanceMap.py
RENAMED
|
@@ -339,6 +339,8 @@ class PklPerformanceMap(PerformanceMap):
|
|
|
339
339
|
if self._secondary_hx:
|
|
340
340
|
inlet += self._hx_increase
|
|
341
341
|
outlet += self._hx_increase
|
|
342
|
+
if inlet > self._inlet_max:
|
|
343
|
+
print("Warning: Inlet water temperature simulated exceeds performance map boundaries. Simulation accuracy may be impacted.")
|
|
342
344
|
inlet = min(inlet, self._inlet_max)
|
|
343
345
|
return inlet, outlet
|
|
344
346
|
|
|
@@ -330,6 +330,14 @@ class WaterHeater:
|
|
|
330
330
|
controls = self.get_controls_for_hour(hour_of_day)
|
|
331
331
|
if controls is None:
|
|
332
332
|
raise ValueError(f"No Controls configured for hour {hour_of_day}.")
|
|
333
|
+
|
|
334
|
+
# QPL Alignment block : QPL states Upon change of load shift operation, disable all heaters if “on sensor” is warmer than “on temperature”.
|
|
335
|
+
# To do this in EcosizerEngine, we simply turn off water heaters at the beginning of a mode change
|
|
336
|
+
previous_hour = 23 if hour_of_day == 0 else hour_of_day - 1
|
|
337
|
+
if self.control_schedule[hour_of_day] != self.control_schedule[previous_hour]:
|
|
338
|
+
self.turn_off()
|
|
339
|
+
|
|
340
|
+
# control logic
|
|
333
341
|
if self._active:
|
|
334
342
|
if controls.should_turn_off(storage_tank):
|
|
335
343
|
self.turn_off()
|
|
@@ -234,16 +234,8 @@ class MP_RTPInSeriesSystem(MultiPassRTPSystem):
|
|
|
234
234
|
control_map = control_map,
|
|
235
235
|
drawdown_fract = self.storage_tank.drawdown_fract,
|
|
236
236
|
)
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
"min_storage_storageT_gal": comparison_system._minimum_storage_storageT_gal,
|
|
240
|
-
}
|
|
241
|
-
if result["min_capacity_kbtuh"] >= nominal_capacity_kbtuh and result["min_storage_storageT_gal"] >= nominal_storage_gal:
|
|
242
|
-
# redirect user to base model
|
|
243
|
-
self.fallback_system = comparison_system
|
|
244
|
-
return
|
|
245
|
-
else:
|
|
246
|
-
raise e
|
|
237
|
+
self.fallback_system = comparison_system
|
|
238
|
+
return
|
|
247
239
|
|
|
248
240
|
# ------------------------------------------------------------------
|
|
249
241
|
# Gas backup sizing helpers
|
|
@@ -287,23 +287,17 @@ class SP_RTPInParallelSystem(SinglePassRTPSystem):
|
|
|
287
287
|
control_map = control_map,
|
|
288
288
|
load_shift_fract_total_vol = 1.0,
|
|
289
289
|
)
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
"The primary system is already adequately sized: "
|
|
302
|
-
f"outage duration was {sim_run.outage_minutes} min "
|
|
303
|
-
f"(threshold {self._MIN_OUTAGE_MIN} min) and max temperature deficit "
|
|
304
|
-
f"was {max_deficit_f:.2f} °F (threshold {self._MIN_DEFICIT_F:.1f} °F). "
|
|
305
|
-
"No gas backup is required."
|
|
306
|
-
)
|
|
290
|
+
|
|
291
|
+
self.fallback_system = comparison_system
|
|
292
|
+
return
|
|
293
|
+
|
|
294
|
+
# raise ValueError(
|
|
295
|
+
# "The primary system is already adequately sized: "
|
|
296
|
+
# f"outage duration was {sim_run.outage_minutes} min "
|
|
297
|
+
# f"(threshold {self._MIN_OUTAGE_MIN} min) and max temperature deficit "
|
|
298
|
+
# f"was {max_deficit_f:.2f} °F (threshold {self._MIN_DEFICIT_F:.1f} °F). "
|
|
299
|
+
# "No gas backup is required."
|
|
300
|
+
# )
|
|
307
301
|
|
|
308
302
|
# The amount of storage (supply temp gallons) the gas is able to keep in a worst case scenario
|
|
309
303
|
design_inlet = self._require_design_inlet_temp(building)
|
|
@@ -227,16 +227,9 @@ class SP_RTPInSeriesSystem(SinglePassRTPSystem):
|
|
|
227
227
|
control_map = control_map,
|
|
228
228
|
load_shift_fract_total_vol = 1.0,
|
|
229
229
|
)
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
}
|
|
234
|
-
if result["min_capacity_kbtuh"] >= nominal_capacity_kbtuh and result["min_storage_storageT_gal"] >= nominal_storage_gal:
|
|
235
|
-
# redirect user to base model
|
|
236
|
-
self.fallback_system = comparison_system
|
|
237
|
-
return
|
|
238
|
-
else:
|
|
239
|
-
raise e
|
|
230
|
+
|
|
231
|
+
self.fallback_system = comparison_system
|
|
232
|
+
return
|
|
240
233
|
|
|
241
234
|
|
|
242
235
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/ZipCode_ClimateZone_Lookup.csv
RENAMED
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/kGperkWh_ByClimateZone.csv
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/MixedStorageTank.py
RENAMED
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/SlugOverlayTank.py
RENAMED
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/StratifiedTank.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/RecircSystem.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingSystem.py
RENAMED
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/RTPSystem.py
RENAMED
|
File without changes
|
|
File without changes
|
{ecoengine-3.2.3 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|