diff --git a/spec/pab/cloison_aval.spec.ts b/spec/pab/cloison_aval.spec.ts
index 48fc8572781193e0ea267f11a650e7409e440d86..d60ba0dd0afe7048f91b704237310a98a0832096 100644
--- a/spec/pab/cloison_aval.spec.ts
+++ b/spec/pab/cloison_aval.spec.ts
@@ -1,11 +1,12 @@
 import { CloisonAval, ParallelStructureParams } from "../../src/pab/cloison_aval";
+import { CloisonsAvalParams } from "../../src/pab/cloison_aval_params";
 import { StructureVanLevLarinier, StructureVanLevParams } from "../../src/structure/structure_vanlev";
 import { StructureVanLevVillemonte } from "../../src/structure/structure_vanlev";
 import { MessageCode } from "../../src/util/message";
 
 function getCloisonAvalTest(Q: number, Z2: number): CloisonAval {
     return new CloisonAval(
-        new ParallelStructureParams(Q, 0, Z2)
+        new CloisonsAvalParams(Q, 0, Z2, 0)
     );
 }
 
diff --git a/spec/pab/pab.spec.ts b/spec/pab/pab.spec.ts
index 5d30b5a5573d6bdf2f45dc613d54109f3a1b8fcc..eb563edec649e059098ee7ff4af2a95346274951 100644
--- a/spec/pab/pab.spec.ts
+++ b/spec/pab/pab.spec.ts
@@ -8,12 +8,12 @@
 
 import { ParamValueMode, Session } from "../../src/index";
 import { CloisonAval } from "../../src/pab/cloison_aval";
+import { CloisonsAvalParams } from "../../src/pab/cloison_aval_params";
 import { Cloisons, CloisonsParams } from "../../src/pab/cloisons";
 import { Pab, PabParams } from "../../src/pab/pab";
 import { ParallelStructureParams } from "../../src/structure/parallel_structure";
 import { RectangularStructureParams } from "../../src/structure/rectangular_structure_params";
 import { StructureVanLevParams, StructureVanLevVillemonte } from "../../src/structure/structure_vanlev";
-// tslint:disable-next-line:max-line-length
 import { StructureWeirSubmergedLarinier } from "../../src/structure/structure_weir_submerged_larinier";
 import { StructureWeirVillemonte } from "../../src/structure/structure_weir_villemonte";
 import { MessageCode } from "../../src/util/message";
@@ -55,7 +55,7 @@ function createModelCloisonTest(): Cloisons {
 
 function createPabTest(): Pab {
     // Création de la cloison aval
-    const downWall = new CloisonAval(new ParallelStructureParams(0, 0, 0));
+    const downWall = new CloisonAval(new CloisonsAvalParams(0, 0, 0, 0));
     const kiviPrms = new RectangularStructureParams (
         0,  // Q
         73.95,        // ZDV
@@ -119,7 +119,6 @@ function checkPabResults(p: Pab, vCalc: number) {
     // Cote de l'eau dernier bassin à l'amont de la cloison aval
     expect(p.downWall.result.vCalc).toBeCloseTo(75.077, 2);
     expect(p.downWall.result.values.DH).toBeCloseTo(0.217, 2);
-    expect(p.downWall.result.values.ZRAM).toBeCloseTo(73.435, 2);
     expect(p.downWall.result.values.Q).toBeCloseTo(0.773, 2);
     expect(p.downWall.result.values.x).toBeCloseTo(3.1 * 14, 2);
     for (let i = 0; i < 14; i++) {
@@ -176,7 +175,7 @@ describe("Class Pab: ", () => {
     describe("Vanne levante sur Cloison aval", () => {
         beforeEach( () => {
             pab = createPabTest();
-            pab.downWall = new CloisonAval(new ParallelStructureParams(0, 0, 0));
+            pab.downWall = new CloisonAval(new CloisonsAvalParams(0, 0, 0, 0));
             pab.downWall.addChild(
                 new StructureVanLevVillemonte(
                     new StructureVanLevParams(0.773, 73, 75.090, 74.86, 0.6, 0.4, 0.217, 73.5, 74)
diff --git a/src/pab/cloison_aval.ts b/src/pab/cloison_aval.ts
index f533640c535afcdb65daa29a92133113b75932f0..0f88fa1515e5b9dba74085af10287f4e0768ac2e 100644
--- a/src/pab/cloison_aval.ts
+++ b/src/pab/cloison_aval.ts
@@ -5,12 +5,13 @@ import { loiAdmissiblesCloisonAval, LoiDebit } from "../structure/structure_prop
 import { StructureVanLevLarinier, StructureVanLevVillemonte } from "../structure/structure_vanlev";
 import { Message, MessageCode } from "../util/message";
 import { Result } from "../util/result";
+import { CloisonsAvalParams } from "./cloison_aval_params";
 
 export { ParallelStructureParams } from "../structure/parallel_structure_params";
 
 export class CloisonAval extends ParallelStructure {
 
-    constructor(prms: ParamsEquation, dbg: boolean = false) {
+    constructor(prms: CloisonsAvalParams, dbg: boolean = false) {
         super(prms, dbg);
         this._calcType = CalculatorType.CloisonAval;
     }
@@ -29,6 +30,10 @@ export class CloisonAval extends ParallelStructure {
         return null;
     }
 
+    public get prms(): CloisonsAvalParams {
+        return this._prms as CloisonsAvalParams;
+    }
+
     /**
      * Returns admissible LoiDebit grouped by StructureType
      * Only one vanne levante is allowed on a CloisonAval
diff --git a/src/pab/cloison_aval_params.ts b/src/pab/cloison_aval_params.ts
new file mode 100644
index 0000000000000000000000000000000000000000..cb7b2ddeb07382a12f50df816e3f80be1cfad259
--- /dev/null
+++ b/src/pab/cloison_aval_params.ts
@@ -0,0 +1,15 @@
+import { ParamDefinition, ParamFamily } from "../param/param-definition";
+import { ParamDomainValue } from "../param/param-domain";
+import { ParallelStructureParams } from "../structure/parallel_structure_params";
+
+export class CloisonsAvalParams extends ParallelStructureParams {
+
+    /** Cote radier amont paroi (m) */
+    public ZRAM: ParamDefinition;
+
+    constructor(rQ: number, rZ1: number, rZ2: number, rZRAM: number) {
+        super(rQ, rZ1, rZ2);
+        this.ZRAM = new ParamDefinition(this, "ZRAM", ParamDomainValue.ANY, "m", rZRAM, ParamFamily.ELEVATIONS);
+        this.addParamDefinition(this.ZRAM);
+    }
+}
diff --git a/src/pab/pab.ts b/src/pab/pab.ts
index 56f47b47bacc443fd3082b11f4d9ff5ef7a31c0e..0fffd368109baf23f562389cbb0149f8e7f020ca 100644
--- a/src/pab/pab.ts
+++ b/src/pab/pab.ts
@@ -11,6 +11,7 @@ import { Message, MessageCode } from "../util/message";
 import { Result } from "../util/result";
 import { ResultElement } from "../util/resultelement";
 import { CloisonAval, ParallelStructureParams } from "./cloison_aval";
+import { CloisonsAvalParams } from "./cloison_aval_params";
 import { Cloisons } from "./cloisons";
 import { PabParams } from "./pab_params";
 
@@ -93,7 +94,9 @@ export class Pab extends Nub {
                 this.addChild(cl);
             } else {
                 // The last wall is a CloisonAval (= Wall only, without basin)
-                const dw = new CloisonAval(new ParallelStructureParams(0, 0, 0));
+                const zram = this.children[this.children.length - 1].prms.ZRMB.singleValue
+                    - this.children[this.children.length - 1].prms.DH.singleValue / 2;
+                const dw = new CloisonAval(new CloisonsAvalParams(0, 0, 0, zram));
                 dw.structures = cl.structures;
                 this.downWall = dw;
             }
@@ -165,9 +168,6 @@ export class Pab extends Nub {
         if (!this.downWall.result.ok) {
             return new Result(new Message(MessageCode.ERROR_PAB_CALC_Z1_CLOISON));
         }
-        this.downWall.result.resultElement.values.ZRAM =
-            this.children[this.children.length - 1].prms.ZRMB.v
-            - this.children[this.children.length - 1].prms.DH.v / 2;
         this.downWall.result.resultElement.values.Q = this.downWall.prms.Q.v;
         this.downWall.result.resultElement.values.x = l;
         this.debug("Downstream wall");
diff --git a/src/session.ts b/src/session.ts
index f340f7433a394b694ede5a63758bb90926a30fc4..1a9eb7bdc4fe2c71f08203e797a5e65c3c4700c8 100644
--- a/src/session.ts
+++ b/src/session.ts
@@ -27,6 +27,7 @@ import { acSection } from "./section/section_type";
 // Classes relatives aux structures
 import { isNumeric } from "./base";
 import { CloisonAval } from "./pab/cloison_aval";
+import { CloisonsAvalParams } from "./pab/cloison_aval_params";
 import { Cloisons } from "./pab/cloisons";
 import { CloisonsParams } from "./pab/cloisons_params";
 import { Pab, PabParams } from "./pab/pab";
@@ -418,10 +419,11 @@ export class Session {
                 break;
 
             case CalculatorType.CloisonAval: {
-                    prms = new ParallelStructureParams(
+                    prms = new CloisonsAvalParams(
                         0.5, // Q
                         102, // Z1
-                        101.5 // Z2
+                        101.5, // Z2
+                        0 // ZRAM
                     );
                     nub = new CloisonAval(prms, dbg);
                     break;