From e988eea8b190041e6b7cf6522698ec97564d8a9a Mon Sep 17 00:00:00 2001
From: Mathias Chouet <mathias.chouet@irstea.fr>
Date: Mon, 29 Jun 2020 11:15:13 +0200
Subject: [PATCH] Add new example: PreBarrage

---
 .../calculator-list.component.ts              |   4 +
 .../pb-schema/pb-schema.component.ts          | 118 ---
 src/app/examples/prebarrage.json              | 988 ++++++++++++++++++
 src/locale/messages.en.json                   |   1 +
 src/locale/messages.fr.json                   |   1 +
 5 files changed, 994 insertions(+), 118 deletions(-)
 create mode 100644 src/app/examples/prebarrage.json

diff --git a/src/app/components/calculator-list/calculator-list.component.ts b/src/app/components/calculator-list/calculator-list.component.ts
index f850cdd39..2c23ba423 100644
--- a/src/app/components/calculator-list/calculator-list.component.ts
+++ b/src/app/components/calculator-list/calculator-list.component.ts
@@ -268,6 +268,10 @@ export class CalculatorListComponent implements OnInit {
             {
                 label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PERR"),
                 path: "perr.json"
+            },
+            {
+                label: this.intlService.localizeText("INFO_EXAMPLE_LABEL_PB"),
+                path: "prebarrage.json"
             }
         ];
     }
diff --git a/src/app/components/pb-schema/pb-schema.component.ts b/src/app/components/pb-schema/pb-schema.component.ts
index abc16fc94..3ac6e598c 100644
--- a/src/app/components/pb-schema/pb-schema.component.ts
+++ b/src/app/components/pb-schema/pb-schema.component.ts
@@ -131,19 +131,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         });
     }
 
-    // debug
-    private createStructure(l: LoiDebit, v: number[]): Structure {
-        const s: Structure = CreateStructure(l);
-        s.prms.Q.singleValue = v[0];
-        s.prms.ZDV.singleValue = v[1];
-        s.prms.Z1.singleValue = v[2];
-        s.prms.Z2.singleValue = v[3];
-        s.getParameter("L").singleValue = v[4];
-        s.getParameter("CdGR").singleValue = v[5];
-        s.prms.W.singleValue = v[6];
-        return s;
-    }
-
     /**
      * Builds a Mermaid graph text definition, using Nodes
      * to represent basins as well as walls; sorts connexions
@@ -163,111 +150,6 @@ export class PbSchemaComponent implements AfterViewInit, AfterContentInit, OnIni
         def.push("classDef basin fill:#e0f3fb,stroke:#003A80;"); // irstea-ocean 50 / 500
         def.push("classDef node-highlighted fill:#4DBBE9;"); // irstea-ocean (material "accent"), 300
 
-        // debug
-        if (this.model.children.length === 0) {
-            // EXEMPLE 1 (petit)
-            /* const b1 = new PbBassin(new PbBassinParams(0.1, 42));
-            this.model.addChild(b1);
-            const b2 = new PbBassin(new PbBassinParams(0.15, 38));
-            this.model.addChild(b2);
-            this.model.addChild(new PbCloison(undefined, b1));
-            this.model.addChild(new PbCloison(b1, b2));
-            this.model.addChild(new PbCloison(b2, undefined));
-            this.model.addChild(new PbCloison(b1, undefined)); */
-
-            // EXEMPLE 2 (grand)
-            this.model.addChild(new PbBassin(new PbBassinParams(13.80, 95)));
-            this.model.addChild(new PbBassin(new PbBassinParams(15.40, 94.70)));
-            this.model.addChild(new PbBassin(new PbBassinParams(16.20, 94.70)));
-            this.model.addChild(new PbBassin(new PbBassinParams(17.50, 94.40)));
-            this.model.addChild(new PbBassin(new PbBassinParams(32.10, 94.25)));
-            this.model.addChild(new PbBassin(new PbBassinParams(35.00, 94.10)));
-            this.model.addChild(new PbCloison(undefined, this.model.children[0] as PbBassin));
-            // Session.getInstance().createNub(p, this.currentNub as ParallelStructure) as Structure
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.30, 0, 0, 0.4, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 4.40, 1.04 ])
-            );
-            //  Wall between upstream and basin 2
-            this.model.addChild(new PbCloison(undefined, this.model.children[1] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.00, 0, 0, 1.00, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.00, 0.91 ])
-            );
-            // Wall between upstream and basin 5
-            this.model.addChild(new PbCloison(undefined, this.model.children[4] as PbBassin));
-             this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.50, 0.99 ])
-            );
-            // Wall between upstream and basin 6
-            this.model.addChild(new PbCloison(undefined, this.model.children[5] as PbBassin));
-             this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 3.60, 0.99 ])
-            );
-            // Wall between basin 1 & 3
-            this.model.addChild(new PbCloison(this.model.children[0] as PbBassin, this.model.children[2] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.00, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 96.25, 0, 0, 5.20, 0.99 ])
-            );
-            // Wall between basin 2 & 3
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[2] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 4.38, 0.91 ])
-            );
-            // Wall between basin 2 & 4
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[3] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.85, 0, 0, 3.00, 0.99 ])
-            );
-            // Wall between basin 2 & 5
-            this.model.addChild(new PbCloison(this.model.children[1] as PbBassin, this.model.children[4] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.50, 0, 0, 1.00, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.75, 0, 0, 3.00, 0.99 ])
-            );
-            // Wall between basin 3 & 4
-            this.model.addChild(new PbCloison(this.model.children[2] as PbBassin, this.model.children[3] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.70, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.65, 0, 0, 5.74, 0.99 ])
-            );
-            // Wall between basin 4 & 5
-            this.model.addChild(new PbCloison(this.model.children[3] as PbBassin, this.model.children[4] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.40, 0, 0, 0.40, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.35, 0, 0, 6.00, 0.99 ])
-            );
-            // Wall between basin 5 & 6
-            this.model.addChild(new PbCloison(this.model.children[4] as PbBassin, this.model.children[5] as PbBassin));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.25, 0, 0, 0.70, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 95.05, 0, 0, 9.50, 0.99 ])
-            );
-            // Wall between basin 6 & downstream
-            this.model.addChild(new PbCloison(this.model.children[5] as PbBassin, undefined));
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.10, 0, 0, 0.95, 1.04 ])
-            );
-            this.model.children[this.model.children.length - 1].addChild(
-                this.createStructure(LoiDebit.WeirCunge80, [ 0, 94.75, 0, 0, 10.20, 0.99 ])
-            );
-        }
-
         const sortedWalls: PbCloison[] = [];
         for (const c of this.model.children) {
             if (c instanceof PbBassin) {
diff --git a/src/app/examples/prebarrage.json b/src/app/examples/prebarrage.json
new file mode 100644
index 000000000..273cd986d
--- /dev/null
+++ b/src/app/examples/prebarrage.json
@@ -0,0 +1,988 @@
+{
+    "header": {
+        "source": "jalhyd",
+        "format_version": "1.3",
+        "created": "2020-06-29T08:37:22.109Z"
+    },
+    "settings": {
+        "precision": 1e-7,
+        "maxIterations": 100,
+        "displayPrecision": 3
+    },
+    "documentation": "",
+    "session": [
+        {
+            "uid": "b2kxNm",
+            "props": {
+                "calcType": "PreBarrage"
+            },
+            "meta": {
+                "title": "Prébarrages"
+            },
+            "children": [
+                {
+                    "uid": "Zjczdz",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 13.8
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 95
+                        }
+                    ]
+                },
+                {
+                    "uid": "dWJrZX",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 15.4
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.7
+                        }
+                    ]
+                },
+                {
+                    "uid": "dzMxN2",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 16.2
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.7
+                        }
+                    ]
+                },
+                {
+                    "uid": "ZXZua2",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 17.5
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.4
+                        }
+                    ]
+                },
+                {
+                    "uid": "YmR5aD",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 32.1
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.25
+                        }
+                    ]
+                },
+                {
+                    "uid": "bDN2OW",
+                    "props": {
+                        "calcType": "PbBassin"
+                    },
+                    "children": [],
+                    "parameters": [
+                        {
+                            "symbol": "S",
+                            "mode": "SINGLE",
+                            "value": 35
+                        },
+                        {
+                            "symbol": "ZF",
+                            "mode": "SINGLE",
+                            "value": 94.1
+                        }
+                    ]
+                },
+                {
+                    "uid": "MWxycH",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "Zjczdz"
+                    },
+                    "children": [
+                        {
+                            "uid": "MmZ2aG",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.3
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "eW9jZH",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 4.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "c3Zpb2",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "dWJrZX"
+                    },
+                    "children": [
+                        {
+                            "uid": "bTQ2cG",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "N24zM2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "MG4wNG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "azV4dj",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3.5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "YjJra2",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "",
+                        "downstreamBasin": "bDN2OW"
+                    },
+                    "children": [
+                        {
+                            "uid": "aDd4Y3",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3.6
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "enE4cn",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "Zjczdz",
+                        "downstreamBasin": "dzMxN2"
+                    },
+                    "children": [
+                        {
+                            "uid": "ZHczZ2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "aXRjZ3",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 96.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5.2
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "NXNoNG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "dzMxN2"
+                    },
+                    "children": [
+                        {
+                            "uid": "eXFqeH",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.85
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 4.38
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "bGhodG",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "ZXZua2"
+                    },
+                    "children": [
+                        {
+                            "uid": "b3Z3OD",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.85
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "MDZ3aH",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dWJrZX",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "NTBzZm",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.5
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "b3pjZX",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.75
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 3
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "emZ2bX",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "dzMxN2",
+                        "downstreamBasin": "ZXZua2"
+                    },
+                    "children": [
+                        {
+                            "uid": "cGllNj",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.7
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "aWFseW",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.65
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 5.74
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "bG1ucj",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "ZXZua2",
+                        "downstreamBasin": "YmR5aD"
+                    },
+                    "children": [
+                        {
+                            "uid": "MDJsaD",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.4
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.4
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "ZzY2bT",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.35
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 6
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "dGNnZz",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "YmR5aD",
+                        "downstreamBasin": "bDN2OW"
+                    },
+                    "children": [
+                        {
+                            "uid": "dnNqeX",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.25
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.7
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "ODFkZ2",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 95.05
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 9.5
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                },
+                {
+                    "uid": "amprcm",
+                    "props": {
+                        "calcType": "PbCloison",
+                        "upstreamBasin": "bDN2OW",
+                        "downstreamBasin": ""
+                    },
+                    "children": [
+                        {
+                            "uid": "OG02MT",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.1
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 0.95
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        },
+                        {
+                            "uid": "MHVxZn",
+                            "props": {
+                                "calcType": "Structure",
+                                "loiDebit": "WeirCunge80",
+                                "structureType": "SeuilRectangulaire"
+                            },
+                            "children": [],
+                            "parameters": [
+                                {
+                                    "symbol": "ZDV",
+                                    "mode": "SINGLE",
+                                    "value": 94.75
+                                },
+                                {
+                                    "symbol": "L",
+                                    "mode": "SINGLE",
+                                    "value": 10.2
+                                },
+                                {
+                                    "symbol": "CdCunge",
+                                    "mode": "SINGLE",
+                                    "value": 1
+                                }
+                            ]
+                        }
+                    ],
+                    "parameters": [
+                        {
+                            "symbol": "Q",
+                            "mode": "CALCUL"
+                        },
+                        {
+                            "symbol": "Z1",
+                            "mode": "SINGLE",
+                            "value": 0
+                        },
+                        {
+                            "symbol": "Z2",
+                            "mode": "SINGLE",
+                            "value": 0
+                        }
+                    ]
+                }
+            ],
+            "parameters": [
+                {
+                    "symbol": "Q",
+                    "mode": "SINGLE",
+                    "value": 1
+                },
+                {
+                    "symbol": "Z1",
+                    "mode": "CALCUL"
+                },
+                {
+                    "symbol": "Z2",
+                    "mode": "SINGLE",
+                    "value": 100
+                }
+            ]
+        }
+    ]
+}
\ No newline at end of file
diff --git a/src/locale/messages.en.json b/src/locale/messages.en.json
index fe62870ce..b74de9221 100644
--- a/src/locale/messages.en.json
+++ b/src/locale/messages.en.json
@@ -610,6 +610,7 @@
     "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Standard fish ladder",
     "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Triangular weirs fish ladder",
     "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Canal critical slope",
+    "INFO_EXAMPLE_LABEL_PB": "Pre-dam",
     "INFO_EXAMPLE_LABEL_PERR": "Rock-ramp fish pass",
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Weir jet length",
     "INFO_EXAMPLES_TITLE": "Examples",
diff --git a/src/locale/messages.fr.json b/src/locale/messages.fr.json
index 2eb5001d8..3047fac2a 100644
--- a/src/locale/messages.fr.json
+++ b/src/locale/messages.fr.json
@@ -611,6 +611,7 @@
     "INFO_EXAMPLE_LABEL_PAB_COMPLETE": "Passe à bassins type",
     "INFO_EXAMPLE_LABEL_PAB_ECH_TRIANG": "Passe à bassins à échancrures triangulaires",
     "INFO_EXAMPLE_LABEL_PENTE_CRITIQUE_CANAL": "Pente critique d'un canal",
+    "INFO_EXAMPLE_LABEL_PB": "Pré-barrage",
     "INFO_EXAMPLE_LABEL_PERR": "Passe à enrochements régulièrement répartis",
     "INFO_EXAMPLE_LABEL_WEIR_JET_LENGTH": "Longueur de jet d'un déversoir",
     "INFO_EXAMPLES_TITLE": "Exemples",
-- 
GitLab