From 7a6825a80e1c8f472a88168cb5860cc979425719 Mon Sep 17 00:00:00 2001
From: "p.vanderwilt"
Date: Mon, 4 Aug 2025 11:45:00 +0200
Subject: [PATCH] Add flows document
---
flows/asm3_flows.json | 1763 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 1763 insertions(+)
create mode 100644 flows/asm3_flows.json
diff --git a/flows/asm3_flows.json b/flows/asm3_flows.json
new file mode 100644
index 0000000..7f6d216
--- /dev/null
+++ b/flows/asm3_flows.json
@@ -0,0 +1,1763 @@
+[
+ {
+ "id": "31bba0914516dd85",
+ "type": "tab",
+ "label": "Flow 2",
+ "disabled": true,
+ "info": "",
+ "env": []
+ },
+ {
+ "id": "0abdac5260d9553e",
+ "type": "tab",
+ "label": "Flow 1",
+ "disabled": false,
+ "info": "",
+ "env": []
+ },
+ {
+ "id": "394f713d4e71366c",
+ "type": "tab",
+ "label": "Flow 4",
+ "disabled": true,
+ "info": "",
+ "env": []
+ },
+ {
+ "id": "2c8bcaa0046b4323",
+ "type": "ui-theme",
+ "name": "Default",
+ "colors": {
+ "surface": "#ffffff",
+ "primary": "#0094ce",
+ "bgPage": "#eeeeee",
+ "groupBg": "#ffffff",
+ "groupOutline": "#cccccc"
+ },
+ "sizes": {
+ "density": "default",
+ "pagePadding": "12px",
+ "groupGap": "12px",
+ "groupBorderRadius": "4px",
+ "widgetGap": "12px"
+ }
+ },
+ {
+ "id": "ac25cd90dc999a5a",
+ "type": "ui-base",
+ "name": "UI Name",
+ "path": "/dashboard",
+ "appIcon": "",
+ "includeClientData": true,
+ "acceptsClientConfig": [
+ "ui-notification",
+ "ui-control"
+ ],
+ "showPathInSidebar": false,
+ "headerContent": "page",
+ "navigationStyle": "default",
+ "titleBarStyle": "default",
+ "showReconnectNotification": true,
+ "notificationDisplayTime": 1,
+ "showDisconnectNotification": true,
+ "allowInstall": true
+ },
+ {
+ "id": "ec4a923c5ead6278",
+ "type": "ui-page",
+ "name": "Dashboard",
+ "ui": "ac25cd90dc999a5a",
+ "path": "/page1",
+ "icon": "home",
+ "layout": "grid",
+ "theme": "2c8bcaa0046b4323",
+ "breakpoints": [
+ {
+ "name": "Default",
+ "px": "0",
+ "cols": "3"
+ },
+ {
+ "name": "Tablet",
+ "px": "576",
+ "cols": "6"
+ },
+ {
+ "name": "Small Desktop",
+ "px": "768",
+ "cols": "9"
+ },
+ {
+ "name": "Desktop",
+ "px": "1024",
+ "cols": "12"
+ }
+ ],
+ "order": -1,
+ "className": "",
+ "visible": "true",
+ "disabled": "false"
+ },
+ {
+ "id": "58b5e9368ec5774b",
+ "type": "ui-group",
+ "name": "Group 1",
+ "page": "ec4a923c5ead6278",
+ "width": 6,
+ "height": 1,
+ "order": -1,
+ "showTitle": true,
+ "className": "",
+ "visible": "true",
+ "disabled": "false",
+ "groupType": "default"
+ },
+ {
+ "id": "14172c57f4c6ff14",
+ "type": "ui-group",
+ "name": "Group 2",
+ "page": "ec4a923c5ead6278",
+ "width": 6,
+ "height": 1,
+ "order": -1,
+ "showTitle": true,
+ "className": "",
+ "visible": "true",
+ "disabled": "false",
+ "groupType": "default"
+ },
+ {
+ "id": "ca564642bfc5606c",
+ "type": "ui-page",
+ "name": "PFR",
+ "ui": "ac25cd90dc999a5a",
+ "path": "/page2",
+ "icon": "home",
+ "layout": "grid",
+ "theme": "2c8bcaa0046b4323",
+ "breakpoints": [
+ {
+ "name": "Default",
+ "px": "0",
+ "cols": "3"
+ },
+ {
+ "name": "Tablet",
+ "px": "576",
+ "cols": "6"
+ },
+ {
+ "name": "Small Desktop",
+ "px": "768",
+ "cols": "9"
+ },
+ {
+ "name": "Desktop",
+ "px": "1024",
+ "cols": "12"
+ }
+ ],
+ "order": -1,
+ "className": "",
+ "visible": "true",
+ "disabled": "false"
+ },
+ {
+ "id": "ae38454098a37db0",
+ "type": "ui-group",
+ "name": "Group 3",
+ "page": "ca564642bfc5606c",
+ "width": 6,
+ "height": 1,
+ "order": -1,
+ "showTitle": true,
+ "className": "",
+ "visible": "true",
+ "disabled": "false",
+ "groupType": "default"
+ },
+ {
+ "id": "de8b029d69f26c0e",
+ "type": "ui-group",
+ "name": "Group 4",
+ "page": "ca564642bfc5606c",
+ "width": 6,
+ "height": 1,
+ "order": -1,
+ "showTitle": true,
+ "className": "",
+ "visible": "true",
+ "disabled": "false",
+ "groupType": "default"
+ },
+ {
+ "id": "f7803caf86a911f6",
+ "type": "inject",
+ "z": "31bba0914516dd85",
+ "name": "",
+ "props": [
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ }
+ ],
+ "repeat": "1",
+ "crontab": "",
+ "once": true,
+ "onceDelay": 0.1,
+ "topic": "clock",
+ "x": 200,
+ "y": 340,
+ "wires": [
+ [
+ "5266f4e09e7b919b"
+ ]
+ ]
+ },
+ {
+ "id": "98f5ffa4bed3b99f",
+ "type": "inject",
+ "z": "31bba0914516dd85",
+ "name": "Influx composition",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "5",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":1000,\"C\":[0,30,100,16,0,0,5,25,75,30,0,0,125]}",
+ "payloadType": "json",
+ "x": 170,
+ "y": 260,
+ "wires": [
+ [
+ "5266f4e09e7b919b"
+ ]
+ ]
+ },
+ {
+ "id": "f1b3cffbd2d38473",
+ "type": "ui-chart",
+ "z": "31bba0914516dd85",
+ "group": "14172c57f4c6ff14",
+ "name": "Effluent",
+ "label": "Effluent",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1420,
+ "y": 300,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "fc4aa2928bdbe228",
+ "type": "function",
+ "z": "31bba0914516dd85",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1220,
+ "y": 300,
+ "wires": [
+ [
+ "f1b3cffbd2d38473"
+ ]
+ ]
+ },
+ {
+ "id": "e955d0c2d3246c4b",
+ "type": "ui-chart",
+ "z": "31bba0914516dd85",
+ "group": "58b5e9368ec5774b",
+ "name": "Anoxic reactor",
+ "label": "Anoxic reactor",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1040,
+ "y": 180,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "59f0787fadf99939",
+ "type": "function",
+ "z": "31bba0914516dd85",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO},\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 820,
+ "y": 180,
+ "wires": [
+ [
+ "e955d0c2d3246c4b"
+ ]
+ ]
+ },
+ {
+ "id": "bb63e864735f963f",
+ "type": "ui-chart",
+ "z": "31bba0914516dd85",
+ "group": "14172c57f4c6ff14",
+ "name": "Sludge composition",
+ "label": "Sludge composition",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1450,
+ "y": 340,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "ca96bcb7f32f011f",
+ "type": "function",
+ "z": "31bba0914516dd85",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1220,
+ "y": 340,
+ "wires": [
+ [
+ "bb63e864735f963f"
+ ]
+ ]
+ },
+ {
+ "id": "9327869b411c3063",
+ "type": "ui-chart",
+ "z": "31bba0914516dd85",
+ "group": "58b5e9368ec5774b",
+ "name": "Aerobic reactor",
+ "label": "Aerobic reactor / recirculation",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1440,
+ "y": 260,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "3cb7fec9537ac405",
+ "type": "function",
+ "z": "31bba0914516dd85",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO},\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1220,
+ "y": 260,
+ "wires": [
+ [
+ "9327869b411c3063"
+ ]
+ ]
+ },
+ {
+ "id": "640ecab878ee623a",
+ "type": "debug",
+ "z": "31bba0914516dd85",
+ "name": "Sludge removal",
+ "active": true,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 1160,
+ "y": 420,
+ "wires": []
+ },
+ {
+ "id": "8e1117ff307f949b",
+ "type": "debug",
+ "z": "31bba0914516dd85",
+ "name": "Sludge recirculation",
+ "active": true,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 930,
+ "y": 420,
+ "wires": []
+ },
+ {
+ "id": "d9e3b28718762905",
+ "type": "debug",
+ "z": "31bba0914516dd85",
+ "name": "Effluent",
+ "active": true,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 680,
+ "y": 420,
+ "wires": []
+ },
+ {
+ "id": "9534da473265bb6a",
+ "type": "recirculation-pump",
+ "z": "31bba0914516dd85",
+ "name": "",
+ "F2": "50",
+ "inlet": "2",
+ "x": 930,
+ "y": 340,
+ "wires": [
+ [
+ "ca96bcb7f32f011f",
+ "640ecab878ee623a"
+ ],
+ [
+ "8e1117ff307f949b",
+ "5266f4e09e7b919b"
+ ]
+ ]
+ },
+ {
+ "id": "038a9d67ce069678",
+ "type": "settling-basin",
+ "z": "31bba0914516dd85",
+ "name": "",
+ "TS_set": "5400",
+ "inlet": "1",
+ "x": 700,
+ "y": 340,
+ "wires": [
+ [
+ "fc4aa2928bdbe228",
+ "d9e3b28718762905"
+ ],
+ [
+ "9534da473265bb6a"
+ ]
+ ]
+ },
+ {
+ "id": "1cb62ce7d6e2b362",
+ "type": "recirculation-pump",
+ "z": "31bba0914516dd85",
+ "name": "",
+ "F2": "3000",
+ "inlet": 1,
+ "x": 470,
+ "y": 340,
+ "wires": [
+ [
+ "038a9d67ce069678"
+ ],
+ [
+ "5266f4e09e7b919b"
+ ]
+ ]
+ },
+ {
+ "id": "2ac1635a77880b09",
+ "type": "advancedReactor",
+ "z": "31bba0914516dd85",
+ "name": "Aerobic 2",
+ "reactor_type": "CSTR",
+ "volume": "400",
+ "length": "",
+ "resolution_L": "",
+ "alpha": "",
+ "n_inlets": 1,
+ "kla": "7500",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": 0.001,
+ "X_TS_init": 125.0009,
+ "x": 960,
+ "y": 260,
+ "wires": [
+ [
+ "3cb7fec9537ac405",
+ "1cb62ce7d6e2b362"
+ ],
+ [],
+ []
+ ]
+ },
+ {
+ "id": "5f39b76fc9528f75",
+ "type": "advancedReactor",
+ "z": "31bba0914516dd85",
+ "name": "Aerobic 1",
+ "reactor_type": "CSTR",
+ "volume": "400",
+ "length": "",
+ "resolution_L": "",
+ "alpha": "",
+ "n_inlets": 1,
+ "kla": "7500",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": "30",
+ "X_TS_init": "132",
+ "x": 780,
+ "y": 260,
+ "wires": [
+ [],
+ [],
+ [
+ "2ac1635a77880b09"
+ ]
+ ]
+ },
+ {
+ "id": "b38f1a7b0ab6a7c7",
+ "type": "advancedReactor",
+ "z": "31bba0914516dd85",
+ "name": "Anoxic 2",
+ "reactor_type": "CSTR",
+ "volume": "400",
+ "length": "",
+ "resolution_L": "",
+ "alpha": "",
+ "n_inlets": 1,
+ "kla": "",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": 0.001,
+ "X_TS_init": 125.0009,
+ "x": 600,
+ "y": 260,
+ "wires": [
+ [
+ "59f0787fadf99939"
+ ],
+ [],
+ [
+ "5f39b76fc9528f75"
+ ]
+ ]
+ },
+ {
+ "id": "5266f4e09e7b919b",
+ "type": "advancedReactor",
+ "z": "31bba0914516dd85",
+ "name": "Anoxic 1",
+ "reactor_type": "CSTR",
+ "volume": "400",
+ "length": "",
+ "resolution_L": "",
+ "alpha": "",
+ "n_inlets": "3",
+ "kla": "",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": 0.001,
+ "X_TS_init": 125.0009,
+ "x": 420,
+ "y": 260,
+ "wires": [
+ [],
+ [],
+ [
+ "b38f1a7b0ab6a7c7"
+ ]
+ ]
+ },
+ {
+ "id": "5865699f68c9aa64",
+ "type": "inject",
+ "z": "0abdac5260d9553e",
+ "name": "",
+ "props": [
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ }
+ ],
+ "repeat": "1",
+ "crontab": "",
+ "once": true,
+ "onceDelay": 0.1,
+ "topic": "clock",
+ "x": 300,
+ "y": 260,
+ "wires": [
+ [
+ "5ba082534d7b491e"
+ ]
+ ]
+ },
+ {
+ "id": "061920b87a45057d",
+ "type": "inject",
+ "z": "0abdac5260d9553e",
+ "name": "Influx composition 1",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "5",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":6600,\"C\":[0,30,100,16,0,0,5,25,75,30,0,0,125]}",
+ "payloadType": "json",
+ "x": 260,
+ "y": 180,
+ "wires": [
+ [
+ "5ba082534d7b491e"
+ ]
+ ]
+ },
+ {
+ "id": "c2338b164df519f6",
+ "type": "debug",
+ "z": "0abdac5260d9553e",
+ "name": "Sludge removal",
+ "active": false,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 1260,
+ "y": 340,
+ "wires": []
+ },
+ {
+ "id": "724aa3442b6fc5fc",
+ "type": "debug",
+ "z": "0abdac5260d9553e",
+ "name": "Sludge recirculation",
+ "active": false,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 1030,
+ "y": 340,
+ "wires": []
+ },
+ {
+ "id": "fd2e755a96891ec3",
+ "type": "debug",
+ "z": "0abdac5260d9553e",
+ "name": "Effluent",
+ "active": false,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "payload",
+ "targetType": "msg",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 780,
+ "y": 340,
+ "wires": []
+ },
+ {
+ "id": "c509ace161289789",
+ "type": "recirculation-pump",
+ "z": "0abdac5260d9553e",
+ "name": "",
+ "F2": "1000",
+ "inlet": "2",
+ "x": 1030,
+ "y": 260,
+ "wires": [
+ [
+ "c2338b164df519f6",
+ "c2fd7710c8b22ffa"
+ ],
+ [
+ "724aa3442b6fc5fc",
+ "5ba082534d7b491e",
+ "edbda618f142adfa"
+ ]
+ ]
+ },
+ {
+ "id": "b914e9abe9d60945",
+ "type": "settling-basin",
+ "z": "0abdac5260d9553e",
+ "name": "",
+ "TS_set": "5400",
+ "inlet": "1",
+ "x": 800,
+ "y": 260,
+ "wires": [
+ [
+ "fd2e755a96891ec3"
+ ],
+ [
+ "c509ace161289789"
+ ]
+ ]
+ },
+ {
+ "id": "dc2d2c985e2fdff6",
+ "type": "recirculation-pump",
+ "z": "0abdac5260d9553e",
+ "name": "",
+ "F2": "1100",
+ "inlet": 1,
+ "x": 570,
+ "y": 260,
+ "wires": [
+ [
+ "b914e9abe9d60945"
+ ],
+ [
+ "5ba082534d7b491e"
+ ]
+ ]
+ },
+ {
+ "id": "7f94060aa59d6c3a",
+ "type": "advancedReactor",
+ "z": "0abdac5260d9553e",
+ "name": "Aerobic 1",
+ "reactor_type": "PFR",
+ "volume": "1470",
+ "length": "20",
+ "resolution_L": "20",
+ "alpha": "0",
+ "n_inlets": 1,
+ "kla": "7500",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": "30",
+ "X_TS_init": "132",
+ "enableLog": true,
+ "logLevel": "debug",
+ "positionVsParent": "atEquipment",
+ "x": 1060,
+ "y": 180,
+ "wires": [
+ [
+ "dc2d2c985e2fdff6",
+ "a5d1282993a362c9",
+ "368215b8dd484211"
+ ],
+ [],
+ []
+ ]
+ },
+ {
+ "id": "5ba082534d7b491e",
+ "type": "advancedReactor",
+ "z": "0abdac5260d9553e",
+ "name": "Anoxic 1",
+ "reactor_type": "PFR",
+ "volume": "730",
+ "length": "10",
+ "resolution_L": "10",
+ "alpha": "0",
+ "n_inlets": "3",
+ "kla": "",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": 0.001,
+ "X_TS_init": 125.0009,
+ "enableLog": true,
+ "logLevel": "debug",
+ "positionVsParent": "atEquipment",
+ "x": 540,
+ "y": 180,
+ "wires": [
+ [
+ "4874a8564327e7ab"
+ ],
+ [],
+ [
+ "7f94060aa59d6c3a"
+ ]
+ ]
+ },
+ {
+ "id": "4874a8564327e7ab",
+ "type": "function",
+ "z": "0abdac5260d9553e",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO},\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 800,
+ "y": 120,
+ "wires": [
+ [
+ "ac91a2c6413414f8"
+ ]
+ ]
+ },
+ {
+ "id": "ac91a2c6413414f8",
+ "type": "ui-chart",
+ "z": "0abdac5260d9553e",
+ "group": "ae38454098a37db0",
+ "name": "Anoxic reactor",
+ "label": "Anoxic reactor",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1020,
+ "y": 120,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "a5d1282993a362c9",
+ "type": "function",
+ "z": "0abdac5260d9553e",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO},\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1260,
+ "y": 180,
+ "wires": [
+ [
+ "e61130eff38ee89a"
+ ]
+ ]
+ },
+ {
+ "id": "e61130eff38ee89a",
+ "type": "ui-chart",
+ "z": "0abdac5260d9553e",
+ "group": "ae38454098a37db0",
+ "name": "Aerobic reactor",
+ "label": "Aerobic reactor / recirculation",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1480,
+ "y": 180,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "c2fd7710c8b22ffa",
+ "type": "function",
+ "z": "0abdac5260d9553e",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"S_O\", \"Y\": S_O},\n { \"Series\": \"S_I\", \"Y\": S_I},\n { \"Series\": \"S_S\", \"Y\": S_S},\n { \"Series\": \"S_NH\", \"Y\": S_NH},\n { \"Series\": \"S_N2\", \"Y\": S_N2},\n { \"Series\": \"S_NO\", \"Y\": S_NO},\n { \"Series\": \"S_HCO\", \"Y\": S_HCO}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1260,
+ "y": 240,
+ "wires": [
+ [
+ "6cfb58885cf36b74"
+ ]
+ ]
+ },
+ {
+ "id": "6cfb58885cf36b74",
+ "type": "ui-chart",
+ "z": "0abdac5260d9553e",
+ "group": "de8b029d69f26c0e",
+ "name": "Effluent",
+ "label": "Effluent",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1460,
+ "y": 240,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "edbda618f142adfa",
+ "type": "function",
+ "z": "0abdac5260d9553e",
+ "name": "Data_converter",
+ "func": "if (msg.topic != \"Fluent\") {\n return;\n}\n\nconst [S_O, S_I, S_S, S_NH, S_N2, S_NO, S_HCO, X_I, X_S, X_H, X_STO, X_A, X_TS] = msg.payload.C;\n\nmsg = {payload: [\n { \"Series\": \"X_I\", \"Y\": X_I},\n { \"Series\": \"X_S\", \"Y\": X_S},\n { \"Series\": \"X_H\", \"Y\": X_H},\n { \"Series\": \"X_STO\", \"Y\": X_STO},\n { \"Series\": \"X_A\", \"Y\": X_A},\n { \"Series\": \"X_TS\", \"Y\": X_TS}\n ]};\n\nreturn msg;",
+ "outputs": 1,
+ "timeout": 0,
+ "noerr": 0,
+ "initialize": "",
+ "finalize": "",
+ "libs": [],
+ "x": 1260,
+ "y": 280,
+ "wires": [
+ [
+ "95dc5302c82d6bcb"
+ ]
+ ]
+ },
+ {
+ "id": "95dc5302c82d6bcb",
+ "type": "ui-chart",
+ "z": "0abdac5260d9553e",
+ "group": "de8b029d69f26c0e",
+ "name": "Sludge composition",
+ "label": "Sludge composition",
+ "order": 9007199254740991,
+ "chartType": "line",
+ "category": "Series",
+ "categoryType": "property",
+ "xAxisLabel": "",
+ "xAxisProperty": "",
+ "xAxisPropertyType": "timestamp",
+ "xAxisType": "time",
+ "xAxisFormat": "",
+ "xAxisFormatType": "auto",
+ "xmin": "",
+ "xmax": "",
+ "yAxisLabel": "",
+ "yAxisProperty": "Y",
+ "yAxisPropertyType": "property",
+ "ymin": "",
+ "ymax": "",
+ "bins": 10,
+ "action": "append",
+ "stackSeries": false,
+ "pointShape": "circle",
+ "pointRadius": 4,
+ "showLegend": true,
+ "removeOlder": "8",
+ "removeOlderUnit": "3600",
+ "removeOlderPoints": "2000",
+ "colors": [
+ "#0095ff",
+ "#ff0000",
+ "#ff7f0e",
+ "#2ca02c",
+ "#a347e1",
+ "#d62728",
+ "#ff9896",
+ "#9467bd",
+ "#c5b0d5"
+ ],
+ "textColor": [
+ "#666666"
+ ],
+ "textColorDefault": true,
+ "gridColor": [
+ "#e5e5e5"
+ ],
+ "gridColorDefault": true,
+ "width": 6,
+ "height": 8,
+ "className": "",
+ "interpolation": "linear",
+ "x": 1490,
+ "y": 280,
+ "wires": [
+ []
+ ]
+ },
+ {
+ "id": "cb4329d4882d3b10",
+ "type": "inject",
+ "z": "0abdac5260d9553e",
+ "name": "",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ }
+ ],
+ "repeat": "",
+ "crontab": "",
+ "once": true,
+ "onceDelay": 0.1,
+ "topic": "Dispersion",
+ "payload": "10000",
+ "payloadType": "num",
+ "x": 290,
+ "y": 340,
+ "wires": [
+ [
+ "5ba082534d7b491e",
+ "7f94060aa59d6c3a"
+ ]
+ ]
+ },
+ {
+ "id": "4b5a1cb582ce04a5",
+ "type": "inject",
+ "z": "0abdac5260d9553e",
+ "name": "Influx composition 2",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "480",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":8000,\"C\":[0,50,125,20,0,0,6.25,10,50,11,0,0,81.5]}",
+ "payloadType": "json",
+ "x": 260,
+ "y": 140,
+ "wires": [
+ [
+ "5ba082534d7b491e"
+ ]
+ ]
+ },
+ {
+ "id": "68ba512b76ed980a",
+ "type": "inject",
+ "z": "0abdac5260d9553e",
+ "name": "Influx composition 3",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "960",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":6600,\"C\":[0,25,95,12.8,0,0,4,25,75,40,0,0,134]}",
+ "payloadType": "json",
+ "x": 260,
+ "y": 100,
+ "wires": [
+ [
+ "5ba082534d7b491e"
+ ]
+ ]
+ },
+ {
+ "id": "368215b8dd484211",
+ "type": "debug",
+ "z": "0abdac5260d9553e",
+ "name": "debug 1",
+ "active": true,
+ "tosidebar": true,
+ "console": false,
+ "tostatus": false,
+ "complete": "false",
+ "statusVal": "",
+ "statusType": "auto",
+ "x": 1280,
+ "y": 100,
+ "wires": []
+ },
+ {
+ "id": "b5dde0cd3e3b7a9e",
+ "type": "inject",
+ "z": "394f713d4e71366c",
+ "name": "Influx composition 3",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "960",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":1000,\"C\":[0,25,95,12.8,0,0,4,25,75,40,0,0,134]}",
+ "payloadType": "json",
+ "x": 220,
+ "y": 140,
+ "wires": [
+ [
+ "818dbe32cad9fa42"
+ ]
+ ]
+ },
+ {
+ "id": "74fa10e5ad6ac925",
+ "type": "inject",
+ "z": "394f713d4e71366c",
+ "name": "Influx composition 2",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "480",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":1200,\"C\":[0,50,125,20,0,0,6.25,10,50,11,0,0,81.5]}",
+ "payloadType": "json",
+ "x": 220,
+ "y": 180,
+ "wires": [
+ [
+ "818dbe32cad9fa42"
+ ]
+ ]
+ },
+ {
+ "id": "ad54f09b8bb12e39",
+ "type": "inject",
+ "z": "394f713d4e71366c",
+ "name": "Influx composition 1",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ },
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ }
+ ],
+ "repeat": "1440",
+ "crontab": "",
+ "once": true,
+ "onceDelay": "5",
+ "topic": "Fluent",
+ "payload": "{\"inlet\":0,\"F\":1000,\"C\":[0,30,100,16,0,0,5,25,75,30,0,0,125]}",
+ "payloadType": "json",
+ "x": 220,
+ "y": 220,
+ "wires": [
+ [
+ "818dbe32cad9fa42"
+ ]
+ ]
+ },
+ {
+ "id": "2776f6ebd3205e51",
+ "type": "inject",
+ "z": "394f713d4e71366c",
+ "name": "",
+ "props": [
+ {
+ "p": "timestamp",
+ "v": "",
+ "vt": "date"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ }
+ ],
+ "repeat": "1",
+ "crontab": "",
+ "once": true,
+ "onceDelay": 0.1,
+ "topic": "clock",
+ "x": 260,
+ "y": 300,
+ "wires": [
+ [
+ "818dbe32cad9fa42"
+ ]
+ ]
+ },
+ {
+ "id": "8538c18935bee1bf",
+ "type": "inject",
+ "z": "394f713d4e71366c",
+ "name": "",
+ "props": [
+ {
+ "p": "payload"
+ },
+ {
+ "p": "topic",
+ "vt": "str"
+ }
+ ],
+ "repeat": "",
+ "crontab": "",
+ "once": true,
+ "onceDelay": 0.1,
+ "topic": "Dispersion",
+ "payload": "3000",
+ "payloadType": "num",
+ "x": 240,
+ "y": 380,
+ "wires": [
+ [
+ "818dbe32cad9fa42",
+ "c3d507ed7b05c089"
+ ]
+ ]
+ },
+ {
+ "id": "818dbe32cad9fa42",
+ "type": "advancedReactor",
+ "z": "394f713d4e71366c",
+ "name": "Anoxic 1",
+ "reactor_type": "PFR",
+ "volume": "800",
+ "length": "30",
+ "resolution_L": "20",
+ "alpha": "0",
+ "n_inlets": "3",
+ "kla": "",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": 0.001,
+ "X_TS_init": 125.0009,
+ "enableLog": false,
+ "logLevel": "info",
+ "positionVsParent": "downstream",
+ "x": 600,
+ "y": 220,
+ "wires": [
+ [],
+ [],
+ [
+ "c3d507ed7b05c089"
+ ]
+ ]
+ },
+ {
+ "id": "c3d507ed7b05c089",
+ "type": "advancedReactor",
+ "z": "394f713d4e71366c",
+ "name": "Aerobic 1",
+ "reactor_type": "PFR",
+ "volume": "800",
+ "length": "30",
+ "resolution_L": "20",
+ "alpha": "0",
+ "n_inlets": 1,
+ "kla": "7500",
+ "S_O_init": 0,
+ "S_I_init": 30,
+ "S_S_init": 100,
+ "S_NH_init": 16,
+ "S_N2_init": 0,
+ "S_NO_init": 0,
+ "S_HCO_init": 5,
+ "X_I_init": 25,
+ "X_S_init": 75,
+ "X_H_init": 30,
+ "X_STO_init": 0,
+ "X_A_init": "30",
+ "X_TS_init": "132",
+ "enableLog": false,
+ "logLevel": "info",
+ "positionVsParent": "upstream",
+ "x": 1020,
+ "y": 220,
+ "wires": [
+ [],
+ [],
+ []
+ ]
+ }
+]
\ No newline at end of file