All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Renamed various variables. The main user-facing API change is
database_date_dict
->database_dates
. Others are mainly internal, see https://github.com/brightway-lca/bw_timex/commit/991943cd0ea9c0185baace3b84c75abd46b4bd59 and https://github.com/brightway-lca/bw_timex/commit/554a67cc7796264be888840c1c9431f64952fd66. - Added a function to disaggregate the background LCI. This means that the aggregated biosphere flows of the upstream supply chains of temporal markets are distributed back to the original producers from the background database.
- Various speed improvements
- Fixed rounding in dynamic_lcia to avoid duplicate entries in dynamic inventory
- Added rounding to 3 decimal places for interpolation weights
- Added support for passing Node objects to
bw_timex.utils.get_exchange
andbw_timex.utils.add_temporal_distribution_to_exchange
.
- Modified the date rounding behavior: Instead of always rounding off the dates in the timeline (using the resolution specified in temporal_grouping), we now round to the nearest year/month/day/hour (depending on temporal_grouping).
- Fixed interface to dynamic_characterization (see https://github.com/brightway-lca/dynamic_characterization/releases/tag/v1.0.0) and pinned version to >=1.0.0.
- Added optional
starting_datetime
argument toTimexLCA.build_timeline
explicitly. Before, it was buried in *args, which were passed to the underlying graph traversal (#93) - Allow multiple calls of
build_timeline
using the sameTimexLCA
object, e.g., using differentstarting_datetime
(#94) - Fixed unintuitive rounding down of timestamps in dynamic characterization. 2024-12-31 would have been rounded to 2024, whereas 2025 makes more sense here. Now we round to the nearest year (https://github.com/brightway-lca/bw_timex/commit/21fa55bbcafee196447840c6518b5fee49fb6660)
- Added labels and units to the y-axis in
TimexLCA.plot_dynamic_characterized_inventory()
- Fixed functions for creating labelled matrix representations
- Added utility function
utils.add_temporal_distribution_to_exchange()
for easier temporalization of existing models - Added more clarifying docstrings, created a "Getting Started" section in the docs as well as a
getting_started.ipynb
. Also overhauled existing example notebooks. - Changed naming of the different score attributes to be more clear and turned them into a @property:
TimexLCA.base_score
:=TimexLCA.static_lca.score
(no time-explicit information)TimexLCA.static_score
:=TimexLCA.lca.score
(time-explicit LCI w/ static characterization)TimexLCA.dynamic_score
:=TimexLCA.characterized_inventory["amount"].sum()
(time-explicit LCI w/ dynamic characterization, summed overall score)
- Fixed amounts for negative production amounts (#83)
- Allow absolute temporal distributions (#81)
- Moved dynamic characterization functionality completely to dynamic_characterization. In the course of this, it was dynamic characterization was updated and is much faster now. See also brightway-lca/dynamic_characterization#3
- Fixed some dependencies
- Performance improvements
- Added option to calculate the dynamic LCI directly from the timeline without expanding the technosphere matrix
- Refactored dynamic characterization to separate package dynamic_characterization
- Handled emissions occurring outside of fixed time horizon in dynamic characterization #46
- Fix substitution exchanges #53
- Fix non-unitary production exchanges #55
- Renamed repo and package to bw_timex
- Fixed error in dynamic characterization if IDs were stored as flow identifiers in methods
- Update to match Bugfix in bw_temporalis v1.1: static_activity_indices are database IDs instead of matrix IDs
- Improved user-friendliness for SETAC
- Initial version with core functionalities