TL;DR
- To apply the bug fixes, update your local evaluation
requirements.txt
file to useCityLearn==2.1b12
and alsopip
installCityLearn==2.1b12
in 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.1b12
to 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.0
toCityLearn==2.1b1
affected how thedhw_storage
andelectrical_storage
were charged. Theround_trip_efficiency
was being multiplied by bothenergy_init
andenergy
instead of the latter alone. This caused the charged/discharged energy to be smaller than required which will affectnet_electricity_consumption
in the buildings. This was the original change that caused the bug and this was the change inCityLearn==2.1b10
that fixed the bug. Thanks to @rl11 for spotting this bug. -
A bug introduced when transitioning from
CityLearn==2.1b9
toCityLearn==2.1b10
affected howPOWER_OUTAGE_NORMALIZED_UNSERVED_ENERGY_TOTAL
was 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.1b10
that caused the bug and this was the change inCityLearn==2.1b12
that 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.0
toCityLearn==1.2.0
wherecooling_storage
,heating_storage
anddhw_storage
were 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_device
anddhw_device
used to charge these storage systems used theenergy
before adjustments forcapacity
limits 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_consumption
that led to finding this old issue.
What you should do
- To apply the bug fixes, update your local evaluation
requirements.txt
file to useCityLearn==2.1b12
and alsopip
installCityLearn==2.1b12
in 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.1b12
to update the leaderboard by 2023-10-23.