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()
date_characterized: np.ndarray = date_beginning + np.arange(
start=0, stop=period, dtype="timedelta64[Y]"
).astype("timedelta64[s]")
decay_multipliers: list = np.array(
[
1.234 * (1 - np.exp(-year / 56.789))
for year in range(period)
]
)
forcing = pd.Series(data=series.amount * decay_multipliers, dtype="float64")
if not cumulative:
forcing = forcing.diff(periods=1).fillna(0)
return pd.DataFrame(
{
"date": pd.Series(data=date_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.
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
File details
Details for the file dynamic_characterization-0.0.2.tar.gz
.
File metadata
- Download URL: dynamic_characterization-0.0.2.tar.gz
- Upload date:
- Size: 9.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2b5e4f8071223fe2abc7f4dba4d45e0ed74cbe4bf4b05187719627d3f5ea4c36 |
|
MD5 | c322512d12e17447b18b8bfd825078bd |
|
BLAKE2b-256 | 1b6c8a68eeece05de191c902032221884e7fb111ea3916551aa3ef20d9cb414e |
File details
Details for the file dynamic_characterization-0.0.2-py3-none-any.whl
.
File metadata
- Download URL: dynamic_characterization-0.0.2-py3-none-any.whl
- Upload date:
- Size: 9.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.0 CPython/3.12.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 931230b87db5e6b6a67c4654473b9636c4753b47816cbd272a3c832c05a1983e |
|
MD5 | a9fd7c4fbc135192fa4b3bce353e290f |
|
BLAKE2b-256 | b5cc1a79a422594f7b583dba53eeb52bb192d4fa0de83138c5451784a12f4fba |