Metadata-Version: 2.4
Name: tssm
Version: 0.0.5
Summary: Package to create out of a single load profile a profile for a whole district using the diversity factor
Home-page: https://git.fh-aachen.de/tb5152e/tssm
Author: Tobias Blanke & Dominik Fischer
License: BSD 3-Clause License
Keywords: load,simultaneity factor,scaling,load profile,time series
Platform: unix
Platform: linux
Platform: osx
Platform: win32
Platform: win64
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Development Status :: 3 - Alpha
Classifier: License :: OSI Approved :: BSD License
Classifier: Intended Audience :: Science/Research
Classifier: Natural Language :: English
Classifier: Topic :: Scientific/Engineering :: Mathematics
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: setuptools>=63.2.0
Requires-Dist: pandas>=1.4.2
Requires-Dist: numpy>=1.22.4
Requires-Dist: scipy>=1.8.1
Requires-Dist: levenshtein>=0.20.8
Requires-Dist: ScenarioGUI>=0.2.0
Requires-Dist: matplotlib>=3.7.1
Requires-Dist: detect_delimiter>=0.1.1
Provides-Extra: testing
Requires-Dist: flake8>=4.0.1; extra == "testing"
Requires-Dist: tox>=3.25; extra == "testing"
Requires-Dist: pytest>=7.0; extra == "testing"
Requires-Dist: pytest-cov>=3.0.0; extra == "testing"
Requires-Dist: mypy>=0.961; extra == "testing"
Requires-Dist: pylint>=2.14.5; extra == "testing"
Requires-Dist: isort>=5.10.1; extra == "testing"
Requires-Dist: black>=22.6.0; extra == "testing"
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file
Dynamic: requires-dist

[![Status](https://img.shields.io/pypi/status/tssm)](https://pypi.python.org/pypi/tssm)
[![Version](https://img.shields.io/pypi/v/tssm.svg)](https://pypi.python.org/pypi/tssm)
[![Python Version](https://img.shields.io/pypi/pyversions/tssm)](https://pypi.python.org/pypi/tssm)
[![Wheel](https://img.shields.io/pypi/wheel/tssm)](https://pypi.python.org/pypi/tssm)
[![PyPI - License](https://img.shields.io/pypi/l/tssm)](https://opensource.org/licenses/BSD-3-Clause)

[![Last Commit](https://git.fh-aachen.de/tb5152e/tssm/-/jobs/artifacts/main/raw/public/badges/last_commit.svg?job=badges)](https://git.fh-aachen.de/tb5152e/tssm/-/commits/main)
[![Last Release](https://git.fh-aachen.de/tb5152e/tssm/-/jobs/artifacts/main/raw/public/badges/last_release.svg?job=badges)](https://git.fh-aachen.de/tb5152e/tssm/-/commits/main)
[![Latest Release](https://git.fh-aachen.de/tb5152e/tssm/-/badges/release.svg)](https://git.fh-aachen.de/tb5152e/tssm/-/releases)
[![OpenIssues](https://git.fh-aachen.de/tb5152e/tssm/-/jobs/artifacts/main/raw/public/badges/open_issues.svg?job=badges)](https://git.fh-aachen.de/tb5152e/tssm/-/issues)

[![Documentation Status](https://readthedocs.org/projects/tssm/badge/?version=latest)](https://tssm.readthedocs.io/en/latest/?badge=latest)
[![pipeline status](https://git.fh-aachen.de/tb5152e/tssm/badges/main/pipeline.svg)](https://git.fh-aachen.de/tb5152e/tssm/-/commits/main)
[![coverage report](https://git.fh-aachen.de/tb5152e/tssm/badges/main/coverage.svg)](https://git.fh-aachen.de/tb5152e/tssm/-/commits/main)
[![Pylint](https://git.fh-aachen.de/tb5152e/tssm/-/jobs/artifacts/main/raw/public/pylint/pylint.svg&job=pylint)](https://pylint.pycqa.org/en/latest/)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
[![Imports: isort](https://img.shields.io/badge/%20imports-isort-%231674b1&labelColor=ef8336)](https://pycqa.github.io/isort/)
[![Checked with mypy](https://img.shields.io/badge/mypy-checked-blue)](http://mypy-lang.org/)
[![security: bandit](https://img.shields.io/badge/security-bandit-success.svg)](https://github.com/PyCQA/bandit)
[![made-with-python](https://img.shields.io/badge/Made%20with-Python-1f425f.svg)](https://www.python.org/)


# SIJ | Solar-Institut Jülich 

# Time Series Scaling Module  (TSSM)
<img src="./docs/sources/_static/Logo.svg" width="100" align="left">

**TSSM** is a python package for the up-scaling of time series or load such as electricity, heating, etc. 


**Warning**
```{warning} 
This package is under heavy development!
```

## Getting started

### Install TSSM

Install tssm directly from PyPi as follows: 

```console
pip install tssm
```
Further installation instructions can be found in the [**documentation**](http://tssm.rtfd.io/) under 'Getting started'.

### Usage

example usages can be found in the [**examples'**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples) folder.


#### Basic workflow

A small example how tssm can be used is described as follows:

```python
# import module and Daily period variable
from tssm import TimeSeriesScalingModule

# initialize class with a number of buildings of 202 with a simultaneity factor of 0.786
scaling = TimeSeriesScalingModule(number_of_buildings=202, simultaneity_factor=0.786)
# read profile from data.csv file and use the Electricity and Date column
scaling.data.read_profile_from_csv_with_date(path="./data.csv", column_of_load="Electricity", column_of_date="Date")
# calculate linear scaled values with a daily simultaneity factor and average value
daily_scaled_values = scaling.calculate_using_average_values(period="DAILY")
```

#### Examples
A [**first example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_linear.py) shows the linear approach. It scales the time series between the scaled time series and an average.

A [**second example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_scaling.py) shows the scaling approach. It scales the time series between the scaled time series and a scaling time 
series.

A [**third example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_normal_distribution.py) shows the normal distribution approach. It scales the time series by applying a normal 
distribution to every time step.

A [**fourth example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_normal_distribution_with_reference_profile.py) shows the normal 
distribution with a reference profile approach. It scales the time series by applying a normal distribution to the difference of the original and a reference profile for every time step.

A [**fifth example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_of_different_method_2_import_profiles.py) shows the different ways to import the data.

A [**sixth example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_speed_comparison.py) shows the speed of the different approaches.

A [**seventh example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_reference_bdew_profile.py) shows an example for an BDEW 
electrical profile generation and an [**eighth example**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/examples/example_reference_heat_profile.py) 
example for a heat profile generation.

### License

The module is licensed under BSD 3-Clause License.

Further, License information can be found [**here**](https://git.fh-aachen.de/tb5152e/tssm/-/blob/main/LICENSE).

### Reference

### Acknowledgements


## Content

The documentation of the tssm code can be found [**here**](http://tssm.rtfd.io/).
