ecoengine 3.0.0__tar.gz → 3.0.2__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 (325) hide show
  1. {ecoengine-3.0.0 → ecoengine-3.0.2}/PKG-INFO +1 -1
  2. ecoengine-3.0.2/README.md +183 -0
  3. {ecoengine-3.0.0 → ecoengine-3.0.2}/pyproject.toml +7 -1
  4. ecoengine-3.0.2/src/ecoengine/data/climate_data/DryBulbTemperatures_ByClimateZone.csv +8761 -0
  5. ecoengine-3.0.2/src/ecoengine/data/climate_data/InletWaterTemperatures_ByClimateZone.csv +13 -0
  6. ecoengine-3.0.2/src/ecoengine/data/climate_data/WeatherStation_ClimateZone_Lookup.csv +78 -0
  7. ecoengine-3.0.2/src/ecoengine/data/climate_data/ZipCode_ClimateZone_Lookup.csv +2709 -0
  8. ecoengine-3.0.2/src/ecoengine/data/climate_data/kGperkWh_ByClimateZone.csv +8761 -0
  9. ecoengine-3.0.2/src/ecoengine/data/load_shapes/apartment.json +56 -0
  10. ecoengine-3.0.2/src/ecoengine/data/load_shapes/elementary_school.json +56 -0
  11. ecoengine-3.0.2/src/ecoengine/data/load_shapes/food_service_a.json +56 -0
  12. ecoengine-3.0.2/src/ecoengine/data/load_shapes/food_service_b.json +56 -0
  13. ecoengine-3.0.2/src/ecoengine/data/load_shapes/junior_high.json +56 -0
  14. ecoengine-3.0.2/src/ecoengine/data/load_shapes/mens_dorm.json +56 -0
  15. ecoengine-3.0.2/src/ecoengine/data/load_shapes/motel.json +56 -0
  16. ecoengine-3.0.2/src/ecoengine/data/load_shapes/multi_family.json +11052 -0
  17. ecoengine-3.0.2/src/ecoengine/data/load_shapes/nursing_home.json +56 -0
  18. ecoengine-3.0.2/src/ecoengine/data/load_shapes/office_building.json +56 -0
  19. ecoengine-3.0.2/src/ecoengine/data/load_shapes/senior_high.json +56 -0
  20. ecoengine-3.0.2/src/ecoengine/data/load_shapes/womens_dorm.json +56 -0
  21. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/maps.json +1566 -0
  22. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_bounds.pkl +0 -0
  23. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_capacity_interpolator.pkl +0 -0
  24. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_power_in_interpolator.pkl +0 -0
  25. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_bounds.pkl +0 -0
  26. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_capacity_interpolator.pkl +0 -0
  27. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_power_in_interpolator.pkl +0 -0
  28. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
  29. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
  30. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
  31. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
  32. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
  33. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
  34. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_bounds.pkl +0 -0
  35. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_capacity_interpolator.pkl +0 -0
  36. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_power_in_interpolator.pkl +0 -0
  37. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
  38. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  39. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  40. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
  41. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  42. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  43. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_bounds.pkl +0 -0
  44. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  45. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  46. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_bounds.pkl +0 -0
  47. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_capacity_interpolator.pkl +0 -0
  48. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_power_in_interpolator.pkl +0 -0
  49. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
  50. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
  51. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
  52. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_bounds.pkl +0 -0
  53. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
  54. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
  55. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_bounds.pkl +0 -0
  56. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
  57. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
  58. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
  59. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  60. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  61. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
  62. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  63. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  64. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_bounds.pkl +0 -0
  65. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_capacity_interpolator.pkl +0 -0
  66. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_power_in_interpolator.pkl +0 -0
  67. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
  68. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  69. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  70. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
  71. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  72. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  73. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_bounds.pkl +0 -0
  74. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_capacity_interpolator.pkl +0 -0
  75. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_power_in_interpolator.pkl +0 -0
  76. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
  77. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
  78. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
  79. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
  80. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
  81. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
  82. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_bounds.pkl +0 -0
  83. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_capacity_interpolator.pkl +0 -0
  84. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_power_in_interpolator.pkl +0 -0
  85. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
  86. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  87. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  88. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
  89. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  90. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  91. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_bounds.pkl +0 -0
  92. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_capacity_interpolator.pkl +0 -0
  93. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_power_in_interpolator.pkl +0 -0
  94. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
  95. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
  96. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
  97. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
  98. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
  99. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
  100. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_bounds.pkl +0 -0
  101. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_capacity_interpolator.pkl +0 -0
  102. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_power_in_interpolator.pkl +0 -0
  103. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
  104. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  105. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  106. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
  107. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  108. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  109. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_bounds.pkl +0 -0
  110. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_capacity_interpolator.pkl +0 -0
  111. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_power_in_interpolator.pkl +0 -0
  112. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
  113. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
  114. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
  115. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
  116. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
  117. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
  118. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_bounds.pkl +0 -0
  119. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
  120. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
  121. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_bounds.pkl +0 -0
  122. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
  123. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
  124. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
  125. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  126. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  127. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
  128. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  129. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  130. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_bounds.pkl +0 -0
  131. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_capacity_interpolator.pkl +0 -0
  132. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_power_in_interpolator.pkl +0 -0
  133. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
  134. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  135. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  136. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
  137. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  138. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  139. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
  140. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  141. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  142. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
  143. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  144. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  145. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_bounds.pkl +0 -0
  146. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
  147. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
  148. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_bounds.pkl +0 -0
  149. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
  150. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
  151. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_bounds.pkl +0 -0
  152. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_capacity_interpolator.pkl +0 -0
  153. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_power_in_interpolator.pkl +0 -0
  154. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_bounds.pkl +0 -0
  155. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_capacity_interpolator.pkl +0 -0
  156. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_power_in_interpolator.pkl +0 -0
  157. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_bounds.pkl +0 -0
  158. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_capacity_interpolator.pkl +0 -0
  159. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_power_in_interpolator.pkl +0 -0
  160. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_bounds.pkl +0 -0
  161. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
  162. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
  163. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_bounds.pkl +0 -0
  164. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
  165. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
  166. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_bounds.pkl +0 -0
  167. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_capacity_interpolator.pkl +0 -0
  168. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_power_in_interpolator.pkl +0 -0
  169. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_bounds.pkl +0 -0
  170. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_capacity_interpolator.pkl +0 -0
  171. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_power_in_interpolator.pkl +0 -0
  172. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_bounds.pkl +0 -0
  173. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_capacity_interpolator.pkl +0 -0
  174. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_power_in_interpolator.pkl +0 -0
  175. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_bounds.pkl +0 -0
  176. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_capacity_interpolator.pkl +0 -0
  177. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_power_in_interpolator.pkl +0 -0
  178. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_bounds.pkl +0 -0
  179. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_capacity_interpolator.pkl +0 -0
  180. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_power_in_interpolator.pkl +0 -0
  181. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_bounds.pkl +0 -0
  182. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_capacity_interpolator.pkl +0 -0
  183. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_power_in_interpolator.pkl +0 -0
  184. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_bounds.pkl +0 -0
  185. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_capacity_interpolator.pkl +0 -0
  186. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_power_in_interpolator.pkl +0 -0
  187. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_bounds.pkl +0 -0
  188. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_capacity_interpolator.pkl +0 -0
  189. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_power_in_interpolator.pkl +0 -0
  190. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_bounds.pkl +0 -0
  191. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_capacity_interpolator.pkl +0 -0
  192. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_power_in_interpolator.pkl +0 -0
  193. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_bounds.pkl +0 -0
  194. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_capacity_interpolator.pkl +0 -0
  195. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_power_in_interpolator.pkl +0 -0
  196. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_bounds.pkl +0 -0
  197. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_capacity_interpolator.pkl +0 -0
  198. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_power_in_interpolator.pkl +0 -0
  199. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_bounds.pkl +0 -0
  200. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_capacity_interpolator.pkl +0 -0
  201. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_power_in_interpolator.pkl +0 -0
  202. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_bounds.pkl +0 -0
  203. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_capacity_interpolator.pkl +0 -0
  204. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_power_in_interpolator.pkl +0 -0
  205. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_bounds.pkl +0 -0
  206. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_capacity_interpolator.pkl +0 -0
  207. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_power_in_interpolator.pkl +0 -0
  208. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_bounds.pkl +0 -0
  209. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_capacity_interpolator.pkl +0 -0
  210. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_power_in_interpolator.pkl +0 -0
  211. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_bounds.pkl +0 -0
  212. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_capacity_interpolator.pkl +0 -0
  213. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_power_in_interpolator.pkl +0 -0
  214. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_bounds.pkl +0 -0
  215. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_capacity_interpolator.pkl +0 -0
  216. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_power_in_interpolator.pkl +0 -0
  217. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_bounds.pkl +0 -0
  218. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_capacity_interpolator.pkl +0 -0
  219. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_power_in_interpolator.pkl +0 -0
  220. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_bounds.pkl +0 -0
  221. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_capacity_interpolator.pkl +0 -0
  222. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_power_in_interpolator.pkl +0 -0
  223. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_bounds.pkl +0 -0
  224. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_capacity_interpolator.pkl +0 -0
  225. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_power_in_interpolator.pkl +0 -0
  226. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_bounds.pkl +0 -0
  227. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_capacity_interpolator.pkl +0 -0
  228. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_power_in_interpolator.pkl +0 -0
  229. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_bounds.pkl +0 -0
  230. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_capacity_interpolator.pkl +0 -0
  231. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_power_in_interpolator.pkl +0 -0
  232. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_bounds.pkl +0 -0
  233. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_capacity_interpolator.pkl +0 -0
  234. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_power_in_interpolator.pkl +0 -0
  235. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_bounds.pkl +0 -0
  236. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_capacity_interpolator.pkl +0 -0
  237. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_power_in_interpolator.pkl +0 -0
  238. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_bounds.pkl +0 -0
  239. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_capacity_interpolator.pkl +0 -0
  240. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_power_in_interpolator.pkl +0 -0
  241. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_bounds.pkl +0 -0
  242. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_capacity_interpolator.pkl +0 -0
  243. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_power_in_interpolator.pkl +0 -0
  244. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_bounds.pkl +0 -0
  245. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_capacity_interpolator.pkl +0 -0
  246. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_power_in_interpolator.pkl +0 -0
  247. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_bounds.pkl +0 -0
  248. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_capacity_interpolator.pkl +0 -0
  249. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_power_in_interpolator.pkl +0 -0
  250. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_bounds.pkl +0 -0
  251. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_capacity_interpolator.pkl +0 -0
  252. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_power_in_interpolator.pkl +0 -0
  253. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_bounds.pkl +0 -0
  254. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_capacity_interpolator.pkl +0 -0
  255. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_power_in_interpolator.pkl +0 -0
  256. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_bounds.pkl +0 -0
  257. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_capacity_interpolator.pkl +0 -0
  258. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_power_in_interpolator.pkl +0 -0
  259. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_bounds.pkl +0 -0
  260. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_capacity_interpolator.pkl +0 -0
  261. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_power_in_interpolator.pkl +0 -0
  262. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_bounds.pkl +0 -0
  263. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_capacity_interpolator.pkl +0 -0
  264. ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_power_in_interpolator.pkl +0 -0
  265. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/EcosizerEngine.py +12 -17
  266. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/Simulator.py +4 -2
  267. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/StratifiedTank.py +3 -8
  268. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/DHWSystem.py +81 -37
  269. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/ParallelLoopSystem.py +0 -1
  270. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingSystem.py +11 -4
  271. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/MultiPassRTPSystem.py +16 -7
  272. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/RTPSystem.py +14 -4
  273. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SinglePassRTPSystem.py +6 -4
  274. ecoengine-3.0.2/src/ecoengine/objects/dhwsystems/utils.py +23 -0
  275. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/simulation/SimulationRun.py +16 -3
  276. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_dhw_system.py +16 -4
  277. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_storage_tanks.py +74 -0
  278. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/PKG-INFO +1 -1
  279. ecoengine-3.0.2/src/ecoengine.egg-info/SOURCES.txt +321 -0
  280. ecoengine-3.0.0/src/ecoengine/objects/dhwsystems/utils.py +0 -20
  281. ecoengine-3.0.0/src/ecoengine.egg-info/SOURCES.txt +0 -59
  282. {ecoengine-3.0.0 → ecoengine-3.0.2}/setup.cfg +0 -0
  283. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/__init__.py +0 -0
  284. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/constants/__init__.py +0 -0
  285. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/constants/constants.py +0 -0
  286. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/__init__.py +0 -0
  287. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/climate_data/__init__.py +0 -0
  288. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/load_shapes/__init__.py +0 -0
  289. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/preformanceMaps/__init__.py +0 -0
  290. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/preformanceMaps/pkls/__init__.py +0 -0
  291. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/__init__.py +0 -0
  292. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/__init__.py +0 -0
  293. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/Building.py +0 -0
  294. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/ClimateZone.py +0 -0
  295. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/UtilityCostTracker.py +0 -0
  296. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/__init__.py +0 -0
  297. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/__init__.py +0 -0
  298. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/Controls.py +0 -0
  299. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/PerformanceMap.py +0 -0
  300. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/WaterHeater.py +0 -0
  301. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/__init__.py +0 -0
  302. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/EnergyTank.py +0 -0
  303. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/MixedStorageTank.py +0 -0
  304. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/SlugOverlayTank.py +0 -0
  305. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/StorageTank.py +0 -0
  306. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/__init__.py +0 -0
  307. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/InstantWHSystem.py +0 -0
  308. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/MPNoRecircSystem.py +0 -0
  309. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/__init__.py +0 -0
  310. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/RecircSystem.py +0 -0
  311. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingERTrdOffSystem.py +0 -0
  312. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/__init__.py +0 -0
  313. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/MP_RTPInSeriesSystem.py +0 -0
  314. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInParallelSystem.py +0 -0
  315. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInSeriesSystem.py +0 -0
  316. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/__init__.py +0 -0
  317. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/simulation/__init__.py +0 -0
  318. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/__init__.py +0 -0
  319. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_buildings.py +0 -0
  320. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_mixing_valve.py +0 -0
  321. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_performance_map.py +0 -0
  322. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_utility_cost_tracker.py +0 -0
  323. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/dependency_links.txt +0 -0
  324. {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/requires.txt +0 -0
  325. {ecoengine-3.0.0 → ecoengine-3.0.2}/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.0.0
3
+ Version: 3.0.2
4
4
  Requires-Python: >=3.11
5
5
  Requires-Dist: numpy
6
6
  Requires-Dist: scipy
@@ -0,0 +1,183 @@
1
+ # EcosizerEngine
2
+
3
+ A Python simulation engine for sizing and simulating domestic hot water (DHW) systems in multi-family and commercial buildings, with a focus on heat pump water heater (HPWH) technology.
4
+
5
+ Requires Python 3.11+. Dependencies: `numpy`, `scipy`, `plotly`.
6
+
7
+ ---
8
+
9
+ ## Installation
10
+
11
+ To make the package available to other local apps without publishing it to PyPI, install it in editable mode from the repo root:
12
+
13
+ ```bash
14
+ pip install -e .
15
+ ```
16
+
17
+ Any app that shares the same Python environment can then import from `ecoengine` directly. Changes made to the source files take effect immediately without reinstalling.
18
+
19
+ ---
20
+
21
+ ## What the engine does
22
+
23
+ The engine performs three core functions:
24
+
25
+ 1. **Sizing** — calculates the minimum heating capacity (kBTU/hr) and storage volume (gallons) needed to meet peak daily demand.
26
+ 2. **3-day design-day simulation** — models system performance at 1-minute timesteps over three consecutive peak-demand days.
27
+ 3. **Annual simulation** — full-year simulation at 10-minute timesteps for cost and efficiency analysis.
28
+
29
+ ---
30
+
31
+ ## Package structure
32
+
33
+ ```
34
+ src/ecoengine/
35
+ ├── __init__.py # Re-exports EcosizerEngine and top-level helpers
36
+
37
+ ├── interfaces/
38
+ │ ├── EcosizerEngine.py # Top-level orchestrator and public API
39
+ │ └── Simulator.py # simulate(), simulate_3day(), simulate_annual()
40
+
41
+ ├── objects/
42
+ │ ├── building/
43
+ │ │ ├── Building.py # Occupancy, daily demand, load shapes
44
+ │ │ ├── ClimateZone.py # Hourly OAT and monthly inlet water temps
45
+ │ │ └── UtilityCostTracker.py
46
+ │ │
47
+ │ ├── components/
48
+ │ │ ├── heating/
49
+ │ │ │ ├── WaterHeater.py # Single HPWH unit with on/off state
50
+ │ │ │ ├── PerformanceMap.py # Capacity/power lookup (nominal, pkl, polynomial)
51
+ │ │ │ └── Controls.py # Aquastat setpoints per operating mode
52
+ │ │ └── storage/
53
+ │ │ ├── StorageTank.py # Abstract base class
54
+ │ │ ├── StratifiedTank.py # Continuous linear temperature profile model
55
+ │ │ ├── MixedStorageTank.py # Fully-mixed single-node model (TM tanks)
56
+ │ │ ├── EnergyTank.py # Energy-based base for MPRTP
57
+ │ │ └── SlugOverlayTank.py # Slug overlay for multi-pass RTP simulation
58
+ │ │
59
+ │ ├── dhwsystems/
60
+ │ │ ├── DHWSystem.py # Base class: sizing, simulation step, sizing curve
61
+ │ │ ├── InstantWHSystem.py # Tankless (no storage)
62
+ │ │ ├── MPNoRecircSystem.py # Multi-pass, no recirculation
63
+ │ │ ├── recirc_systems/
64
+ │ │ │ ├── RecircSystem.py # Base for systems with recirc loops
65
+ │ │ │ ├── ParallelLoopSystem.py # Parallel loop with separate TM tank
66
+ │ │ │ ├── SwingSystem.py # Swing tank system
67
+ │ │ │ └── SwingERTrdOffSystem.py # Swing + ER element trade-off variant
68
+ │ │ └── rtp_systems/
69
+ │ │ ├── RTPSystem.py # Base for return-to-primary systems
70
+ │ │ ├── SinglePassRTPSystem.py # SPRTP: recirc returns to primary tank
71
+ │ │ ├── MultiPassRTPSystem.py # MPRTP: growing-slug sizing and simulation
72
+ │ │ ├── SP_RTPInParallelSystem.py
73
+ │ │ ├── SP_RTPInSeriesSystem.py
74
+ │ │ └── MP_RTPInSeriesSystem.py
75
+ │ │
76
+ │ └── simulation/
77
+ │ └── SimulationRun.py # Per-timestep output accumulator and reporting
78
+
79
+ └── data/
80
+ ├── load_shapes/ # 24-hr normalized DHW demand profiles (JSON)
81
+ ├── climate_data/ # CA climate zone weather data (CSV)
82
+ └── preformanceMaps/ # HPWH performance map pkl and JSON files
83
+ ```
84
+
85
+ ---
86
+
87
+ ## Entry point
88
+
89
+ All normal usage goes through `EcosizerEngine`:
90
+
91
+ ```python
92
+ from ecoengine import EcosizerEngine
93
+
94
+ engine = EcosizerEngine(
95
+ building_type = "multi_family",
96
+ num_units = 100,
97
+ zip_code = 94105,
98
+ supply_temp_f = 120,
99
+ storage_temp_f = 150,
100
+ system_type = "parallel_loop",
101
+ )
102
+
103
+ engine.build()
104
+ engine.size()
105
+ results = engine.get_sizing_results()
106
+ ```
107
+
108
+ Top-level helper functions are also importable directly:
109
+
110
+ ```python
111
+ from ecoengine import get_oat_buckets, get_list_of_models, get_weather_stations
112
+ ```
113
+
114
+ ---
115
+
116
+ ## Simulation example
117
+
118
+ The example below sizes a parallel loop system, runs a 3-day design-day simulation, and writes two HTML files: one with the simulation time-series and one with the sizing curve.
119
+
120
+ ```python
121
+ from ecoengine import EcosizerEngine
122
+
123
+ # 1. Configure and size the system.
124
+ # zip_code_or_climate_zone accepts a CA zip code, a zone ID (int),
125
+ # or a dict of design conditions (design_oat_f, design_inlet_water_temp_f).
126
+ engine = EcosizerEngine(
127
+ building_type = "multi_family",
128
+ magnitude = 100, # people
129
+ zip_code_or_climate_zone = 94105, # San Francisco
130
+ supply_temp_f = 120.0,
131
+ storage_temp_f = 150.0,
132
+ schematic = "parallel_loop",
133
+ gpdpp = 25.0, # gallons per person per day
134
+ max_daily_run_hr = 16.0,
135
+ aquastat_fract = 0.4, # ON sensor at 40% tank height
136
+ off_sensor_fract = 0.2, # OFF sensor at 20% tank height
137
+ on_trigger_t_f = 120.0,
138
+ off_trigger_t_f = 140.0,
139
+ return_flow_gpm = 3.0,
140
+ return_temp_f = 110.0,
141
+ tm_on_temp_f = 115.0,
142
+ tm_off_temp_f = 125.0,
143
+ tm_off_time_hr = 0.5,
144
+ )
145
+
146
+ # 2. Check sizing results.
147
+ sizing = engine.get_sizing_results()
148
+ print(f"Capacity: {sizing['min_capacity_kbtuh']:.1f} kBTU/hr")
149
+ print(f"Storage: {sizing['min_storage_storageT_gal']:.0f} gal")
150
+ print(f"TM tank: {sizing['min_tm_volume_gal']:.0f} gal")
151
+
152
+ # 3. Run the 3-day design-day simulation (1-minute timesteps).
153
+ result = engine.simulate_3day()
154
+
155
+ # 4. Plot the simulation time-series and write to an HTML file.
156
+ fig_sim = result.to_plotly(
157
+ title = "3-Day Simulation — 100-Person Multi-Family Parallel Loop",
158
+ include_temperatures = True,
159
+ )
160
+ fig_sim.write_html("simulation.html")
161
+
162
+ # 5. Plot the sizing curve (capacity vs. storage) and write to an HTML file.
163
+ engine.plot_sizing_curve(
164
+ title = "Sizing Curve — 100-Person Multi-Family Parallel Loop",
165
+ filepath = "sizing_curve.html",
166
+ )
167
+
168
+ print("Saved simulation.html and sizing_curve.html")
169
+ ```
170
+
171
+ Open either HTML file in a browser to view the interactive Plotly chart.
172
+
173
+ **Available schematics:** `"parallel_loop"`, `"swing_tank"`, `"single_pass_rtp"`, `"multi_pass_rtp"`, `"no_recirc"`, `"instant"`.
174
+
175
+ For a full working example including load-shift scheduling across multiple system types, see `demo_3day_sim.py` in the repo root.
176
+
177
+ ---
178
+
179
+ ## Running tests
180
+
181
+ ```bash
182
+ pytest src/ecoengine/tests/
183
+ ```
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "ecoengine"
7
- version = "3.0.0"
7
+ version = "3.0.2"
8
8
  requires-python = ">=3.11"
9
9
  dependencies = ["numpy", "scipy", "plotly"]
10
10
 
@@ -14,5 +14,11 @@ docs = ["sphinx>=6", "furo"]
14
14
  [tool.setuptools.packages.find]
15
15
  where = ["src"]
16
16
 
17
+ [tool.setuptools.package-data]
18
+ "ecoengine.data.climate_data" = ["*.csv"]
19
+ "ecoengine.data.load_shapes" = ["*.json"]
20
+ "ecoengine.data.preformanceMaps" = ["*.json"]
21
+ "ecoengine.data.preformanceMaps.pkls" = ["*.pkl"]
22
+
17
23
  [tool.pytest.ini_options]
18
24
  testpaths = ["src/ecoengine/tests"]