citylearn.internal.kpi module
- class citylearn.internal.kpi.CityLearnKPIService(env: CityLearnEnv)[source]
Bases:
objectInternal KPI/evaluation service for CityLearnEnv.
- ELECTRICAL_RESIDUAL_EPS_KW = 1e-05
- EV_DEPARTURE_EPS = 1e-06
- EV_DEPARTURE_SERVICE_TOLERANCE_DEFAULT = 0.05
- EV_DEPARTURE_WITHIN_TOLERANCE_DEFAULT = 0.05
- LEGACY_COST_FUNCTIONS = {'all_time_peak_average', 'annual_normalized_unserved_energy_total', 'carbon_emissions_total', 'cost_total', 'daily_one_minus_load_factor_average', 'daily_peak_average', 'discomfort_cold_delta_average', 'discomfort_cold_delta_maximum', 'discomfort_cold_delta_minimum', 'discomfort_cold_proportion', 'discomfort_hot_delta_average', 'discomfort_hot_delta_maximum', 'discomfort_hot_delta_minimum', 'discomfort_hot_proportion', 'discomfort_proportion', 'electricity_consumption_total', 'monthly_one_minus_load_factor_average', 'one_minus_thermal_resilience_proportion', 'power_outage_normalized_unserved_energy_total', 'ramping_average', 'zero_net_energy'}
- SCORECARD_DEFAULT_KPIS: Tuple[str, ...] = ('district_cost_total_control_eur', 'district_cost_total_business_as_usual_eur', 'district_cost_total_delta_to_business_as_usual_eur', 'building_cost_total_control_eur', 'building_cost_total_business_as_usual_eur', 'building_cost_total_delta_to_business_as_usual_eur', 'district_ev_performance_departure_min_acceptable_feasible_ratio', 'district_ev_performance_departure_within_tolerance_feasible_ratio', 'district_electrical_service_phase_violations_energy_total_kwh', 'district_electrical_service_phase_requested_pressure_energy_total_kwh', 'building_ev_performance_departure_min_acceptable_feasible_ratio', 'building_ev_performance_departure_within_tolerance_feasible_ratio', 'building_electrical_service_phase_violations_energy_total_kwh', 'building_electrical_service_phase_requested_pressure_energy_total_kwh', 'district_battery_total_throughput_kwh', 'district_battery_total_throughput_business_as_usual_kwh', 'district_battery_total_throughput_delta_to_business_as_usual_kwh', 'district_ev_total_v2g_export_kwh', 'district_ev_total_v2g_export_business_as_usual_kwh', 'district_ev_total_v2g_export_delta_to_business_as_usual_kwh', 'building_battery_total_throughput_kwh', 'building_battery_total_throughput_business_as_usual_kwh', 'building_battery_total_throughput_delta_to_business_as_usual_kwh', 'building_ev_total_v2g_export_kwh', 'building_ev_total_v2g_export_business_as_usual_kwh', 'building_ev_total_v2g_export_delta_to_business_as_usual_kwh', 'district_solar_self_consumption_ratio_self_consumption_ratio', 'district_solar_self_consumption_ratio_self_consumption_business_as_usual_ratio', 'district_solar_self_consumption_ratio_self_consumption_delta_to_business_as_usual_ratio', 'building_solar_self_consumption_ratio_self_consumption_ratio', 'building_solar_self_consumption_ratio_self_consumption_business_as_usual_ratio', 'building_solar_self_consumption_ratio_self_consumption_delta_to_business_as_usual_ratio', 'district_energy_grid_total_import_control_kwh', 'district_energy_grid_total_import_business_as_usual_kwh', 'district_energy_grid_total_import_delta_to_business_as_usual_kwh', 'district_energy_grid_total_export_control_kwh', 'district_energy_grid_total_export_business_as_usual_kwh', 'district_energy_grid_total_export_delta_to_business_as_usual_kwh', 'district_energy_grid_total_net_exchange_control_kwh', 'district_energy_grid_total_net_exchange_business_as_usual_kwh', 'district_energy_grid_total_net_exchange_delta_to_business_as_usual_kwh', 'building_energy_grid_total_import_control_kwh', 'building_energy_grid_total_import_business_as_usual_kwh', 'building_energy_grid_total_import_delta_to_business_as_usual_kwh', 'building_energy_grid_total_export_control_kwh', 'building_energy_grid_total_export_business_as_usual_kwh', 'building_energy_grid_total_export_delta_to_business_as_usual_kwh', 'building_energy_grid_total_net_exchange_control_kwh', 'building_energy_grid_total_net_exchange_business_as_usual_kwh', 'building_energy_grid_total_net_exchange_delta_to_business_as_usual_kwh', 'district_energy_grid_shape_quality_peak_daily_average_to_business_as_usual_ratio', 'district_energy_grid_shape_quality_peak_all_time_average_to_business_as_usual_ratio', 'district_energy_grid_shape_quality_load_factor_penalty_daily_average_to_business_as_usual_ratio')
- evaluate(control_condition=None, baseline_condition=None, comfort_band: float = None, *, evaluation_condition_cls, dynamics_building_cls) DataFrame[source]
Evaluate cost functions at current time step.