TL;DR
- To apply the bug fixes, update your local evaluation
requirements.txtfile to useCityLearn==2.1b12and alsopipinstallCityLearn==2.1b12in your local evaluation environment. - The online evaluator has been updated to use
CityLearn==2.1b12. - All submissions to Phase 2 will be rerun with
CityLearn==2.1b12to update the leaderboard by 2023-10-23. - The bug fixes will affect results for control track but not forecast track. However, both tracks participants are advised to make the update.
Summary of bug fixes
We recently made some bug fixes that will affect the KPI values of any Phase 2 local or online evaluation using CityLearn<=2.1b11 in the control track only. These bug fixes are:
-
A bug introduced when transitioning from
CityLearn==2.0.0toCityLearn==2.1b1affected how thedhw_storageandelectrical_storagewere charged. Theround_trip_efficiencywas being multiplied by bothenergy_initandenergyinstead of the latter alone. This caused the charged/discharged energy to be smaller than required which will affectnet_electricity_consumptionin the buildings. This was the original change that caused the bug and this was the change inCityLearn==2.1b10that fixed the bug. Thanks to @rl11 for spotting this bug. -
A bug introduced when transitioning from
CityLearn==2.1b9toCityLearn==2.1b10affected howPOWER_OUTAGE_NORMALIZED_UNSERVED_ENERGY_TOTALwas calculated. In an attempt to avoid a zero division error when calculating this KPI for simulations without a power outage, a bug was introduced that considered unserved energy during both outage and non-outage time steps instead of the former alone. This caused very low KPI values thus, affecting the average score of all KPIs. This was the original change inCityLearn==2.1b10that caused the bug and this was the change inCityLearn==2.1b12that fixed the bug. Thanks to @callum for spotting both the zero division and low value bugs. -
An old bug introduced when transitioning from
CityLearn==1.1.0toCityLearn==1.2.0wherecooling_storage,heating_storageanddhw_storagewere causing slightly overestimated electricity consumption when the energy to be added to any of these storage systems as a result of a charge action exceeded thecapacity. Internally, the storage system models accounted for the excess energy however, thecooling_device,heating_deviceanddhw_deviceused to charge these storage systems used theenergybefore adjustments forcapacitylimits to calculate their own electricity consumption. Note that this bug did not affectelectrical_storage. This was the pull request that fixed the bug. Thanks to @skywuuuu for leading me to back calculatenet_electricity_consumptionthat led to finding this old issue.
What you should do
- To apply the bug fixes, update your local evaluation
requirements.txtfile to useCityLearn==2.1b12and alsopipinstallCityLearn==2.1b12in your local evaluation environment. The online evaluator has been updated to use this new version. - All submissions to Phase 2 will be rerun with
CityLearn==2.1b12to update the leaderboard by 2023-10-23.