# ASM1 Influent Generator
A Python Module to generate influent data in the Activated Sludge Model 1 (ASM1) format.
This module creates arrays in the format required by the ASM1 model, which is used to simulate the biological processes in wastewater treatment plants. The resulting arrays are resolving to 15 minute time steps and can be used as influent data for the simulation of wastewater treatment plants.
## Getting started
### Installation
Simply install the package with pip:
```bash
pip install asm1-influent-generator
```
### Usage
#### Command Line
There are different ways to use the module. The easiest way is to just call it from the command line:
```bash
asm1-influent-generator 1
```
This will generate one array with 50 days of influent data. The resulting array will be saved as a CSV file in the current working directory.
#### Python
You can also use the module in your own Python code:
```python
from asm1_influent_generator import ASM1Generator
gen = ASM1Generator()
arr = gen.generate(5)
```
This example will generate one array with 5 samples of 50 days of influent data.
The resulting `numpy` array has the shape `(n_samples, n_timesteps, n_components)`.
### Limitations
The module is currently limited to a 50 day generation period. Also, the time step is fixed to 15 minutes.
This is due to the fact, that the underlying Generative Adversarial Network (GAN) was trained on 50 days of 15 minute time steps.
## The Model
We use [`gretel-synthetics`] to generate synthetic data. The model is a [DoppelGANger] model. It was trained on data from the [IWA Benchmark Simulation Model No. 2 (BSM2) influent dataset](https://iwaponline.com/ebooks/book-pdf/650794/wio9781780401171.pdf) which originally features 609 days of influent data. It was trained for 200.000 epochs.
## Credits
The development of this package was done in the context of the [KLĂ„FFIZIENT] project. The project is funded by the German Federal Ministry for Economic Affairs and Climate Action ([BMWK]) and is part of the 7th Energy Research Program of the Federal Government.
[`gretel-synthetics`]: https://github.com/gretelai/gretel-synthetics
[DoppelGANger]: http://arxiv.org/abs/1909.13403
[KLĂ„FFIZIENT]: https://www.evt.tf.fau.de/forschung/schwerpunktekarl/ag-energiesysteme/bmwi-projekt-klaeffizient/
[BMWK]: http://bmwk.de/
Raw data
{
"_id": null,
"home_page": null,
"name": "asm1-influent-generator",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "ASM1, BSM2, activated sludge model, generator, influent, simulation, wastewater",
"author": null,
"author_email": "Jonas Miederer <ttronas@live.de>",
"download_url": "https://files.pythonhosted.org/packages/f2/53/afbb7bde66286fa89485492b6e0a63a43ac18b9149f4a854276f6710b806/asm1_influent_generator-0.0.6.tar.gz",
"platform": null,
"description": "# ASM1 Influent Generator\n\nA Python Module to generate influent data in the Activated Sludge Model 1 (ASM1) format.\nThis module creates arrays in the format required by the ASM1 model, which is used to simulate the biological processes in wastewater treatment plants. The resulting arrays are resolving to 15 minute time steps and can be used as influent data for the simulation of wastewater treatment plants.\n\n\n## Getting started\n\n### Installation\nSimply install the package with pip:\n\n```bash\npip install asm1-influent-generator\n```\n\n### Usage\n#### Command Line\nThere are different ways to use the module. The easiest way is to just call it from the command line:\n\n```bash\nasm1-influent-generator 1\n```\nThis will generate one array with 50 days of influent data. The resulting array will be saved as a CSV file in the current working directory.\n\n#### Python\nYou can also use the module in your own Python code:\n\n```python\nfrom asm1_influent_generator import ASM1Generator\n\ngen = ASM1Generator()\narr = gen.generate(5)\n```\n\nThis example will generate one array with 5 samples of 50 days of influent data.\nThe resulting `numpy` array has the shape `(n_samples, n_timesteps, n_components)`.\n\n### Limitations\nThe module is currently limited to a 50 day generation period. Also, the time step is fixed to 15 minutes.\nThis is due to the fact, that the underlying Generative Adversarial Network (GAN) was trained on 50 days of 15 minute time steps.\n\n\n## The Model\n\nWe use [`gretel-synthetics`] to generate synthetic data. The model is a [DoppelGANger] model. It was trained on data from the [IWA Benchmark Simulation Model No. 2 (BSM2) influent dataset](https://iwaponline.com/ebooks/book-pdf/650794/wio9781780401171.pdf) which originally features 609 days of influent data. It was trained for 200.000 epochs.\n\n## Credits\nThe development of this package was done in the context of the [KL\u00c4FFIZIENT] project. The project is funded by the German Federal Ministry for Economic Affairs and Climate Action ([BMWK]) and is part of the 7th Energy Research Program of the Federal Government.\n\n\n\n[`gretel-synthetics`]: https://github.com/gretelai/gretel-synthetics\n[DoppelGANger]: http://arxiv.org/abs/1909.13403\n[KL\u00c4FFIZIENT]: https://www.evt.tf.fau.de/forschung/schwerpunktekarl/ag-energiesysteme/bmwi-projekt-klaeffizient/\n[BMWK]: http://bmwk.de/\n",
"bugtrack_url": null,
"license": "BSD-3-Clause",
"summary": "A Python Module to generate Arrays in the Activated Sludge Model 1 (ASM1) format.",
"version": "0.0.6",
"project_urls": {
"Documentation": "https://gitlab.rrze.fau.de/evt/klaeffizient/asm1-influent-generator",
"Source": "https://gitlab.rrze.fau.de/evt/klaeffizient/asm1-influent-generator"
},
"split_keywords": [
"asm1",
" bsm2",
" activated sludge model",
" generator",
" influent",
" simulation",
" wastewater"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "98168fffd0b39b62abd8bb5b5e2e884d42fde853a7c2eb8a853dd58116e647e2",
"md5": "9cb1d73251776c670e58945d00a0ca84",
"sha256": "b57c5e3c6f405f3d382ba878ff928c04f98bc0d20c52f62a39146b3235cb4d30"
},
"downloads": -1,
"filename": "asm1_influent_generator-0.0.6-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9cb1d73251776c670e58945d00a0ca84",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 43480799,
"upload_time": "2024-05-12T10:11:44",
"upload_time_iso_8601": "2024-05-12T10:11:44.869291Z",
"url": "https://files.pythonhosted.org/packages/98/16/8fffd0b39b62abd8bb5b5e2e884d42fde853a7c2eb8a853dd58116e647e2/asm1_influent_generator-0.0.6-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "f253afbb7bde66286fa89485492b6e0a63a43ac18b9149f4a854276f6710b806",
"md5": "878f125671b800176235f88551552fc6",
"sha256": "19501394f87b81bb8e72dad866e6c7a73974791303b2c6a4099036ee0b37f9dc"
},
"downloads": -1,
"filename": "asm1_influent_generator-0.0.6.tar.gz",
"has_sig": false,
"md5_digest": "878f125671b800176235f88551552fc6",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 43485226,
"upload_time": "2024-05-12T10:12:46",
"upload_time_iso_8601": "2024-05-12T10:12:46.088722Z",
"url": "https://files.pythonhosted.org/packages/f2/53/afbb7bde66286fa89485492b6e0a63a43ac18b9149f4a854276f6710b806/asm1_influent_generator-0.0.6.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-12 10:12:46",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "asm1-influent-generator"
}