ecoengine 3.2.4__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.
Files changed (80) hide show
  1. {ecoengine-3.2.4 → ecoengine-3.2.6}/PKG-INFO +1 -1
  2. {ecoengine-3.2.4 → ecoengine-3.2.6}/pyproject.toml +1 -1
  3. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/PerformanceMap.py +2 -0
  4. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/WaterHeater.py +8 -0
  5. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine.egg-info/PKG-INFO +1 -1
  6. {ecoengine-3.2.4 → ecoengine-3.2.6}/README.md +0 -0
  7. {ecoengine-3.2.4 → ecoengine-3.2.6}/setup.cfg +0 -0
  8. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/__init__.py +0 -0
  9. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/constants/__init__.py +0 -0
  10. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/constants/constants.py +0 -0
  11. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/__init__.py +0 -0
  12. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/DryBulbTemperatures_ByClimateZone.csv +0 -0
  13. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/InletWaterTemperatures_ByClimateZone.csv +0 -0
  14. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/WeatherStation_ClimateZone_Lookup.csv +0 -0
  15. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/ZipCode_ClimateZone_Lookup.csv +0 -0
  16. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/__init__.py +0 -0
  17. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/climate_data/kGperkWh_ByClimateZone.csv +0 -0
  18. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/__init__.py +0 -0
  19. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/apartment.json +0 -0
  20. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/elementary_school.json +0 -0
  21. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/food_service_a.json +0 -0
  22. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/food_service_b.json +0 -0
  23. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/junior_high.json +0 -0
  24. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/mens_dorm.json +0 -0
  25. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/motel.json +0 -0
  26. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/multi_family.json +0 -0
  27. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/nursing_home.json +0 -0
  28. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/office_building.json +0 -0
  29. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/senior_high.json +0 -0
  30. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/load_shapes/womens_dorm.json +0 -0
  31. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/__init__.py +0 -0
  32. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/maps.json +0 -0
  33. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_bounds.pkl +0 -0
  34. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_capacity_interpolator.pkl +0 -0
  35. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH3_SP_power_in_interpolator.pkl +0 -0
  36. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_bounds.pkl +0 -0
  37. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_capacity_interpolator.pkl +0 -0
  38. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/GenericHPWH4_MP_power_in_interpolator.pkl +0 -0
  39. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/data/preformanceMaps/pkls/__init__.py +0 -0
  40. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/interfaces/EcosizerEngine.py +0 -0
  41. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/interfaces/Simulator.py +0 -0
  42. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/interfaces/__init__.py +0 -0
  43. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/__init__.py +0 -0
  44. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/building/Building.py +0 -0
  45. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/building/ClimateZone.py +0 -0
  46. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/building/UtilityCostTracker.py +0 -0
  47. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/building/__init__.py +0 -0
  48. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/__init__.py +0 -0
  49. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/Controls.py +0 -0
  50. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/heating/__init__.py +0 -0
  51. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/EnergyTank.py +0 -0
  52. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/MixedStorageTank.py +0 -0
  53. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/SlugOverlayTank.py +0 -0
  54. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/StorageTank.py +0 -0
  55. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/StratifiedTank.py +0 -0
  56. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/components/storage/__init__.py +0 -0
  57. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/DHWSystem.py +0 -0
  58. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/InstantWHSystem.py +0 -0
  59. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/MPNoRecircSystem.py +0 -0
  60. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/__init__.py +0 -0
  61. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/ParallelLoopSystem.py +0 -0
  62. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/RecircSystem.py +0 -0
  63. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingDualFuelSystem.py +0 -0
  64. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingERTrdOffSystem.py +0 -0
  65. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingSystem.py +0 -0
  66. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/recirc_systems/__init__.py +0 -0
  67. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/MP_RTPInSeriesSystem.py +0 -0
  68. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/MultiPassRTPSystem.py +0 -0
  69. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/RTPSystem.py +0 -0
  70. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInParallelSystem.py +0 -0
  71. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInSeriesSystem.py +0 -0
  72. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/SinglePassRTPSystem.py +0 -0
  73. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/rtp_systems/__init__.py +0 -0
  74. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/dhwsystems/utils.py +0 -0
  75. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/simulation/SimulationRun.py +0 -0
  76. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine/objects/simulation/__init__.py +0 -0
  77. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine.egg-info/SOURCES.txt +0 -0
  78. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine.egg-info/dependency_links.txt +0 -0
  79. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine.egg-info/requires.txt +0 -0
  80. {ecoengine-3.2.4 → ecoengine-3.2.6}/src/ecoengine.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecoengine
3
- Version: 3.2.4
3
+ Version: 3.2.6
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: numpy<3.0,>=2.4
6
6
  Requires-Dist: scipy<2.0,>=1.17
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ecoengine"
7
- version = "3.2.4"
7
+ version = "3.2.6"
8
8
  requires-python = ">=3.11"
9
9
 
10
10
  # Ranges are bounded on purpose, and the shared ones are kept in sync with
@@ -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()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ecoengine
3
- Version: 3.2.4
3
+ Version: 3.2.6
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: numpy<3.0,>=2.4
6
6
  Requires-Dist: scipy<2.0,>=1.17
File without changes
File without changes