Collection of dynamic characterization functions for life cycle inventories with temporal information
Project description
dynamic_characterization
This is a collection of dynamic characterization functions for life cycle inventories with temporal information.
Here's an overview of what is currently included:
impact category | metric | covered emissions | source |
---|---|---|---|
climate change | radiative forcing | CO2, CH4 | bw_temporalis |
climate change | radiative forcing | 247 GHGs from IPCC AR6 Ch.7 | bw_timex |
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 characterize_something(series, period: int = 100, cumulative=False) -> pd.DataFrame:
date_beginning: np.datetime64 = series.date.to_numpy()
dates_characterized: np.ndarray = date_beginning + np.arange(
start=0, stop=period, dtype="timedelta64[Y]"
).astype("timedelta64[s]")
# let's assume some simple decay function
decay_multipliers: list = np.array(
[
1.234 * (1 - np.exp(-year / 56.789))
for year in range(period)
]
)
forcing = np.array(series.amount * decay_multipliers, dtype="float64")
if not cumulative:
forcing = np.diff(forcing, prepend=0)
return pd.DataFrame(
{
"date": np.array(dates_characterized, dtype="datetime64[s]"),
"amount": forcing,
"flow": series.flow,
"activity": series.activity,
}
)
Installation
You can install dynamic_characterization
via [pip] from [PyPI]:
$ pip install dynamic_characterization
Alternatively, you can also use conda:
$ conda install -c diepers dynamic_characterization
Contributing
Contributions are very welcome. To learn more, see the Contributor Guide.
License
Distributed under the terms of the BSD 3 Clause license, dynamic_characterization is free and open source software.
Issues
If you encounter any problems, please file an issue along with a detailed description.
Support
If you have any questions or need help, do not hesitate to contact Timo Diepers (timo.diepers@ltt.rwth-aachen.de)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for dynamic_characterization-0.0.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fdd4ea5022f0496e090ae2742e77d8826a9df34f0318bcf7c6699579a69327da |
|
MD5 | e7751479a2e135039dd4392672abd6f9 |
|
BLAKE2b-256 | 24f502b4ef723dc31ee27aec6c72e5e6dbd9164f00ab9bf3d65b99db82ca61ed |
Hashes for dynamic_characterization-0.0.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a11f8df3f75fe28d477e8517e47d1e44848a4a07c122794f59cf2a9a95eea68e |
|
MD5 | 3c90ea00d4ed013b643b629abd06f6fa |
|
BLAKE2b-256 | a86a47a2dabbdb8bdb628a2d9f78dc72040257b9542a80cecd0c4ca15d99d45c |