Skip to content

Releases: jnettels/lpagg

Allow VDI4655 temperature limit settings per building

03 Feb 08:52
Compare
Choose a tag to compare

9044d17 Allow VDI4655 temperature limit settings per building

summer_temperature_limit and winter_temperature_limit can now be defined per building to overwrite their default values (15°C and 5°C, respectively). For large sets of data, this can flatten the 'step' in the aggregated thermal power demand when shifting between the three season types (summer, transition, winter). This applies only to VDI4655 profiles (not BDEW, where the transitions are coded to specific dates).

This feature is only supported when using demandlib (not the internal VDI4655 implementation). For compatibility with lpagg, currently a custom fork of demandlib has to be used: https://github.com/jnettels/demandlib/tree/features/add-vdi-from-lpagg

8a95131 Add result plot that displays the sorted load curves

The new plot helps to visualize the effects of changing the temperature limits.

Full Changelog

0.18.2...0.18.3

Fix icon file location

20 Jan 21:15
Compare
Choose a tag to compare

Improve 'unique profile' workflow

17 Jan 15:21
Compare
Choose a tag to compare

Fix issues with the new 'unique profile' workflow introduced in 0.18.0

Full Changelog: 0.18.0...0.18.1

Implement new profile source and improve workflow

15 Jan 16:35
Compare
Choose a tag to compare

This release implements BDEW profiles from demandlib as a new source and implements a new workflow that potentially allows creating profiles for thousands of buildings, among other things.

The demandlib implementation currently requires a custom fork to work.

Summary of breaking changes

  • house_type for commercial buildings uses the notation 'GHD/G1' (heat type/electricity type) if use_demandlib is True. In this case the profiles themselves change.
  • Profiles are not created for empty or non-existent annual energy values (to let lpagg return the VDI4655 default values for hot water and
    electricity demands, use a string like 'calculate' as the energy demand value
  • The 'adjustment_factors' f_Q_Heiz, f_Q_TWW and f_W are ignored. They allowed the resulting profiles to be scaled, but were not implemented for all profile sources
  • The required pandas version is updated to 2.1

Notes on most important changes

9cd09bb Implement BDEW profiles from demandlib as new source

When the settings option 'use_demandlib' is set to True, commercial profiles are now calculated with the BDEW implementation from
demandlib. Since different building type notations are used for thermal and electrical profiles, the expected notation of the
'house_type' key has changed to the format 'GHD/G1', denoting the respective types to use for the profiles.

For a list of the heat and electricity types, please refer to the demandlib documentation:
https://demandlib.readthedocs.io/en/latest/bdew.html

For single- and multi-family homes the VDI 4655 implementation in demandlib is used, which is faster than the lpagg implementation.

The demandlib implementation currently requires a custom fork to work.

9856707 Implement workflow calculating only the unique profiles

Previously, each profile for each house was calculated individually. However, for scenarios with several thousands of buildings this was
not feasible. Since in those cases many buildings actually share identical profiles (apart from their scaling), a new workflow was
implemented. The actually unique profiles are identified and created, and then applied to each building and scaled to total
annual energy demand.

75f7f9e Make showing and saving plots more consistent

The new settings option 'save_plot_filetypes' expects a list of filetypes like ['png', 'svg', 'pdf']. The various available plots are
saved in the defined formats. The setting 'language' ('de' or 'en') now also affects the axis time label (e.g. month names)

b4b704d Make code more independent of requested energy types

Until now, heat, hot water and electricity profiles had to be created and included in the output. Now lpagg should work even if
only e.g. electricity profiles are requested. Total annual energy values missing from the houses input data (or set to NaN) result in those profiles not being created.

This causes a breaking change:
For households, VDI 4655 provides default values for annual hot water and electricity demands. If missing from the input data, those were automatically calculated. Now those defaults are only calculated if their annual value is a string, e.g. 'calculate'

See this example for the configuration.yaml:

houses:
    EFH:
        Q_Heiz_a: 6000  # Value given, profile is created
        Q_TWW_a: calculate  # VDI4655 default is calculated 
        # W_a:  # electricity profile is not created

3a116d6 Accept transposed Excel houses table as input

Houses can either be defined as a dictionary in the configuration.yaml, and/or the yaml may point to an Excel file containing the table of houses. A new setting 'transpose' has been added, which just transposes the DataFrame directly after loading the Excel file. It can be used with 'True', if the input table contains the buildings as rows (instead of columns).

houses_table_file:
    file: ./VDI_4655_houses_example.xlsx
    transpose: True  # Flip rows and columns of the input table
    kwargs:  # optional keyword arguments for pandas read_excel()
        sheet_name: Example

dfdcbdc Remove implementation of 'adjustment_factors'

The 'adjustment_factors' f_Q_Heiz, f_Q_TWW and f_W are ignored. They allowed the resulting profiles to be scaled, but were not implemented for all profile sources

3d64c01 Improve file dialog window visibility

The file dialog window used when running lpagg from the main method could open hidden in the background, but should open in focus now.

Full Changelog

0.17.0...0.18.0

Fix errors with changes in numeric results

11 Nov 00:35
Compare
Choose a tag to compare

The following commits result in changes to the numeric results:
f2403f2 Fix incorrect usage of zero_summer_heat_demand setting
6c8a363 Remove rounding of cloud cover value
c12d641 Fix usage of holidays package

Full Changelog: 0.16.2...0.17.0

Fix settings used for demandlib

16 Oct 21:31
Compare
Choose a tag to compare

When using demandlib to generate VDI4655 profiles (instead of lpagg) the temperature limits for summer and winter are now correctly transferred to demandlib. This changes the resulting profiles.

Also some deprecations are cleaned up.

Full Changelog: 0.16.1...0.16.2

Minor bugfixes

17 Jun 07:26
Compare
Choose a tag to compare

Fix error resulting in zero dhw demand

Full Changelog: 0.16.0...0.16.1

Return more results from the aggregator

07 Jun 19:26
Compare
Choose a tag to compare

This changes the return value of the 'aggregator_run' function to a dictionary of DataFrames.

Full Changelog: 0.15.3...0.16.0

Publish lpagg as noarch package on conda

19 May 07:48
e1b8fb3
Compare
Choose a tag to compare

With this release, installing lpagg from conda with the command
conda install lpagg -c jnettels -c conda-forge
should work regardless of architecture and installed python version.

Full Changelog: 0.15.1...0.15.3

Fix deprecations in dependencies and other warnings

23 Mar 11:58
Compare
Choose a tag to compare