# WWTP model: mechanistic, data-driven, or hybrid? — Data

来源：https://www.kaggle.com/competitions/dynamic-modeling-of-wastewater-treatment-process/data

采集时间：2026-10-19T19:22:23Z

**General description of the WWTP**
Tilburg WWTP (The Netherlands) is located in the south of The Netherlands and is the second largest wastewater treatment plant of Waterschap De Dommel. The plant has a design capacity of 350000 population-equivalent (P.E.), with its current organic load being approximately 360000 P.E. and the wastewater flow rates during dry and wet weather conditions, respectively, 2000 m3/h and 12585 m3/h. The plant has both water and sludge treatment lines and is considered as an "energy factory" converting the produced biogas to energy through combined heat and power (CHP) generation system. The water line is made up of three parallel trains, including primary clarifiers, biological treatment, chemical P-removal, and secondary clarifiers.
 

![](assets/eb633371447b603e5fd39898.png)

**Layout of the WWTP**
The influent goes through the preliminary treatment (including screening and grid chamber) and primary sedimentation tanks (PST) before being introduced to the biological activated sludge treatment process (preliminary and primary treatments are not shown in the figure). After the PST, the influent flows into three parallel biological treatment lanes (AT1, AT2 and AT3). The AT line consists of an aerobic selector (SEL), a denitrification tank (DET), a facultative tank (DNT) and three consecutive aerobic nitrification tanks (NIT). The internal recycle flows from the end of the aerobic zone to the beginning of the denitrification tank where the return activated sludge is also being pumped to. The aeration is controlled through an ammonium-dissolved-oxygen (DO) cascade controller. The MLSS in the aeration tank is kept at around 4.5-5 g/L.

![](assets/94595dce2c8a9f6e3ae72b67.png)


**Volumes and Flows**
Volume of the anoxic tank: 10920 [m3]
Volume of the facultative tank: 10100 [m3]
Volume of each of the three aertion tanks: 11179 [m3]
Average internal recycle from aerobic to anoxic zone (nitrate recycle): 9800 [m3/h]
Average return activated sludge: 1600 [m3/h]
Average wastage flow: 30.5 [m3/h]


**Dataset Description**
There are 2 periods of time for which online/offline datasets are provided:

- Training/validation/testing period complete datasets (9 months from May 2021 to January 2022)
- Evaluation period without output variables (3 months from March 2022 to June 2022). This data is used for the prediction of the output variables to submit here for the competition. 

Training/validation/testing period dataset files include:
1) train_val_test_online_dataset.csv
Online sensor measurements for:
 __INPUT__
	- Q_inf: total influent flow rate coming to the plant [m3/h]
	- Q_air_1: Air flow rate supplied to the aerobic selector tank [m3/h]
	- Q_air_2: Air flow rate supplied to the facultative tank [m3/h]
	- Q_air_3: Air flow rate supplied to the first aerobic tank [m3/h]
	- Q_air_4: Air flow rate supplied to the second aerobic tank [m3/h]
	- Q_air_5: Air flow rate supplied to the third aerobic tank [m3/h]
	- Temp: Temperature at the end of the aerobic zone [degC]
__OUTPUT__
	- DO_1: Dissolved oxygen concentration in the first aerobic tank [mg/L]
	- DO_2: Dissolved oxygen concentration in the second aerobic tank [mg/L]
	- DO_3: Dissolved oxygen concentration in the third aerobic tank [mg/L]
	- NO3: Nitrate concentration at the end of the aerobic zone [mg/L]
	- NH4: Ammonium concentration at the end of the aerobic zone [mg/L]

2) train_val_test_lab_dataset.xlsx
Offline lab measurements at:
__INPUT__
	- Influent:
		- COD: Total chemical oxygen demand [mg/L]
		- BOD5: 5-day biological oxygen demand [mg/L]
		- TKN: Total Kjeldahl nitrogen [mg/L]
		- Ntot: Total nitrogen [mg/L]
		- TSS: Total suspended solids [mg/L]
		- Q: Daily influent flow rate [m3/d]
 __OUTPUT__
	- Effluent:
		- COD: Total chemical oxygen demand [mg/L]
		- BOD5: 5-day biological oxygen demand [mg/L]
		- TKN: Total Kjeldahl nitrogen [mg/L]
		- NH4: Ammonium [mg/L]
		- NOx: Nitrogen oxides [mg/L]
		- Ntot: Total nitrogen [mg/L]
		- TSS: Total suspended solids [mg/L]
		- Q: Daily influent flow rate [m3/d]

3) train_val_test_dynamic_influent.csv
A dynamic influent data generated by an influent generator based on average flow, COD, TKN, and TSS concentrations (from lab analysis). The dynamic influent dataset is already fractionated into ASM1 state variables. The influent fractionation was calibrated specifically for the Tilburg wastewater characteristics. The purpose of this dynamic influent dataset is to be used as input for the provided mechanistic model. 


Evaluation period dataset files include:
1) evaluation_online_dataset.csv
Online sensor measurements for:
 __INPUT__
	- Q_inf: total influent flow rate coming to the plant [m3/h]
	- Q_air_1: Air flow rate supplied to the aerobic selector tank [m3/h]
	- Q_air_2: Air flow rate supplied to the facultative tank [m3/h]
	- Q_air_3: Air flow rate supplied to the first aerobic tank [m3/h]
	- Q_air_4: Air flow rate supplied to the second aerobic tank [m3/h]
	- Q_air_5: Air flow rate supplied to the third aerobic tank [m3/h]
	- Temp: Temperature at the end of the aerobic zone [degC]
__OUTPUT__
	Not provided

2) evaluation_lab_dataset.xlsx
Offline lab measurements at:
__INPUT__
	- Influent:
		- COD: Total chemical oxygen demand [mg/L]
		- BOD5: 5-day biological oxygen demand [mg/L]
		- TKN: Total Kjeldahl nitrogen [mg/L]
		- Ntot: Total nitrogen [mg/L]
		- TSS: Total suspended solids [mg/L]
		- Q: Daily influent flow rate [m3/d]
 __OUTPUT__
	Not provided

3) evaluation_dynamic_influent.csv
A dynamic influent data generated by an influent generator based on average flow, COD, TKN, and TSS concentrations (from lab analysis). The dynamic influent dataset is already fractionated into ASM1 state variables. The influent fractionation was calibrated specifically for the Tilburg wastewater characteristics. The purpose of this dynamic influent dataset is to be used as input for the provided mechanistic model. 

**NOTE 1**: All lab data are 24-h flow-proportioned composite samples.

**NOTE 2**: on the influent flow rate data:
The influent flow rate data is provided in all 3 datasets. While the ones reported in "train_val_test_online_dataset.csv" and "train_val_test_dynamic_influent.csv" files are from the online sensor measurement and they are practically the same, the one reported in "train_val_test_lab_dataset.xlsx" file is calculated daily flow rates based on the operating hours of the influent pumps. Looking at both online and offline together, it is observed that the calculated daily values start to shift from ~October 2021 onward compared to the average online values while for the rest of the data they follow each other in a reasonable way. After discussion with the plant's operators it is now verified that the reason for this pattern is basically unreliable data for the calculated daily flows in that period. Therefore, it is recommended to take only the online influent flow rate data as the reliable one for the mentioned period.


**Mechanistic model**
We recommend [PeePyPoo ](https://gitlab.com/datinfo/PeePyPoo) as a referenced mechanical model. We provide you with a [script](https://gitlab.com/sbrml/kagglecompetition/) of an uncalibrated mechanistic model in python with the activated sludge model (ASM) number 1. You are free to use this one, make your own implementation or not use a mechanistic part at all. We however would like to warn you that the dataset, which you get for training and testing does not contain all seasonalities and rain events of the evaluation dataset used for scoring the competition, therefore, you might want to consider including a mechanistic part. 

