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.
- {ecoengine-3.0.0 → ecoengine-3.0.2}/PKG-INFO +1 -1
- ecoengine-3.0.2/README.md +183 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/pyproject.toml +7 -1
- ecoengine-3.0.2/src/ecoengine/data/climate_data/DryBulbTemperatures_ByClimateZone.csv +8761 -0
- ecoengine-3.0.2/src/ecoengine/data/climate_data/InletWaterTemperatures_ByClimateZone.csv +13 -0
- ecoengine-3.0.2/src/ecoengine/data/climate_data/WeatherStation_ClimateZone_Lookup.csv +78 -0
- ecoengine-3.0.2/src/ecoengine/data/climate_data/ZipCode_ClimateZone_Lookup.csv +2709 -0
- ecoengine-3.0.2/src/ecoengine/data/climate_data/kGperkWh_ByClimateZone.csv +8761 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/apartment.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/elementary_school.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/food_service_a.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/food_service_b.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/junior_high.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/mens_dorm.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/motel.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/multi_family.json +11052 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/nursing_home.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/office_building.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/senior_high.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/load_shapes/womens_dorm.json +56 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/maps.json +1566 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/COLMAC_R454B_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA10_VFD_60_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_R513a_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA15_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA20_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA25_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Oversized_Condenser_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_R513a_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxA30_VFD_35_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_45_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV15_VFD_60_Hz_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_CxV5_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_R513a_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Colmac_HPA4_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Droplet_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_460_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Galletti_778_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Laars_eTherm_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Lync_Aegis_500_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Mitsubishi_QAHV_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C125A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C185A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C250A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C25A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C60A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_C90A_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_HT_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Nyle_e360_LT_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135HNU_483_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_135VNU_483_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60HNU_201_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/Rheem_HPHD_60VNU_201_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/SANCO2_GS4_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP140_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP200_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP280_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP350_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Multi_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lochinvar_AHP60_Single_Pass_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a250_simulated_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a350_simulated_power_in_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_bounds.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_capacity_interpolator.pkl +0 -0
- ecoengine-3.0.2/src/ecoengine/data/preformanceMaps/pkls/lync_a500_simulated_power_in_interpolator.pkl +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/EcosizerEngine.py +12 -17
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/Simulator.py +4 -2
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/StratifiedTank.py +3 -8
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/DHWSystem.py +81 -37
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/ParallelLoopSystem.py +0 -1
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingSystem.py +11 -4
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/MultiPassRTPSystem.py +16 -7
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/RTPSystem.py +14 -4
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SinglePassRTPSystem.py +6 -4
- ecoengine-3.0.2/src/ecoengine/objects/dhwsystems/utils.py +23 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/simulation/SimulationRun.py +16 -3
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_dhw_system.py +16 -4
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_storage_tanks.py +74 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/PKG-INFO +1 -1
- ecoengine-3.0.2/src/ecoengine.egg-info/SOURCES.txt +321 -0
- ecoengine-3.0.0/src/ecoengine/objects/dhwsystems/utils.py +0 -20
- ecoengine-3.0.0/src/ecoengine.egg-info/SOURCES.txt +0 -59
- {ecoengine-3.0.0 → ecoengine-3.0.2}/setup.cfg +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/constants/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/constants/constants.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/climate_data/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/load_shapes/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/preformanceMaps/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/data/preformanceMaps/pkls/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/interfaces/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/Building.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/ClimateZone.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/UtilityCostTracker.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/building/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/Controls.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/PerformanceMap.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/WaterHeater.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/heating/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/EnergyTank.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/MixedStorageTank.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/SlugOverlayTank.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/StorageTank.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/components/storage/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/InstantWHSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/MPNoRecircSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/RecircSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/SwingERTrdOffSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/recirc_systems/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/MP_RTPInSeriesSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInParallelSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/SP_RTPInSeriesSystem.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/dhwsystems/rtp_systems/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/objects/simulation/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/__init__.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_buildings.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_mixing_valve.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_performance_map.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine/tests/test_utility_cost_tracker.py +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/dependency_links.txt +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/requires.txt +0 -0
- {ecoengine-3.0.0 → ecoengine-3.0.2}/src/ecoengine.egg-info/top_level.txt +0 -0
|
@@ -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.
|
|
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"]
|