dynamic_characterization#
This is a package for the dynamic characterization of Life Cycle Inventories with temporal information. It includes a collection of dynamic characterization functions for various environmental flows. We also provide a simple interface to apply these functions to an existing dynamic LCI (coming from, e.g., bw_temporalis or bw_timex).
The following dynamic characterization functions are currently included:
module |
impact category |
metric |
covered emissions |
source |
|---|---|---|---|---|
ipcc_ar6 |
climate change |
radiative forcing |
247 GHGs |
radiative efficiencies & lifetimes from IPCC AR6 Ch.7 |
original_temporalis_functions |
climate change |
radiative forcing |
CO2, CH4 |
What do dynamic characterization functions do?#
The functions are meant to work with a common input format of the dynamic inventory, collected in a pandas DataFrame that looks like this:
date |
amount |
flow |
activity |
|---|---|---|---|
101 |
33 |
1 |
2 |
312 |
21 |
4 |
2 |
Each function takes one row of this dynamic inventory dataframe (i.e. one emission at one point in time) and transform it according to some metric. The output generated by applying a very simple function to both rows of the input dataframe could look like:
date |
amount |
flow |
activity |
|---|---|---|---|
101 |
33 |
1 |
2 |
102 |
31 |
1 |
2 |
103 |
31 |
1 |
2 |
312 |
21 |
4 |
2 |
313 |
20 |
4 |
2 |
314 |
19 |
4 |
2 |
What do dynamic characterization functions look like?#
Here’s an example of what such a function could look like:
def example_characterization_function(series: namedtuple, period: int = 2) -> namedtuple:
date_beginning: np.datetime64 = series.date.to_numpy()
dates_characterized: np.ndarray = date_beginning + np.arange(
start=0, stop=period, dtype="timedelta64[D]"
).astype("timedelta64[s]")
amount_beginning: float = series.amount
# in reality, this would probably something more complex like an exponential decay function
amount_characterized: np.ndarray = amount_beginning - np.arange(
start=0, stop=period, dtype="int"
)
return namedtuple("CharacterizedRow", ["date", "amount", "flow", "activity"])(
date=np.array(dates_characterized, dtype="datetime64[s]"),
amount=amount_characterized,
flow=series.flow,
activity=series.activity,
)
Support#
If you have any questions or need help, do not hesitate to contact Timo Diepers (timo.diepers@ltt.rwth-aachen.de)