Oemof BDEW heat profiles

I’m using the BDEW profiles from oemof-demand (formerly demandlib) and I’m unsure how the time index should be passed.

1. HeatBuilding: df_index vs. year

HeatBuilding.__init__(self, df_index, **kwargs) builds its DataFrame from df_index, but the docstring only documents a year parameter, which isn’t used in the code. Is the docstring outdated?

2. Naive or localized timestamps?

ElecSlp(year) creates a timezone-naive index internally, and the example in get_scaled_power_profiles shows naive timestamps too. For HeatBuilding the docs don’t mention timezones, but get_sf_values() and get_weekday_parameters() rebuild naive indices from date + hour. So I assume df_index should be timezone-naive. Is that correct?

Suggestion
HeatBuilding allows any start, length and resolution, while ElecSlp only returns one full calendar year. For model periods not starting on Jan 1, we currently cut and append yearly electricity profiles. Would you consider letting ElecSlp accept a df_index as well, and stating in the docs that it should be timezone-naive?

Follow-up Heat Building

  • temperature is assigned via .values, i.e. matched by position. If weather data is in UTC (e.g. ERA5), should it be shifted to local standard time (UTC+1) first?
  • We have the option to keep only every n-th day (time series aggregation). Since weighted_temperature() uses previous days, I assume profiles should be generated for the full year and sliced afterwards. Can you confirm?

Thanks a lot!