diff --git a/src/app/calculators/macrorugoremous/config.json b/src/app/calculators/macrorugoremous/config.json
new file mode 100644
index 0000000000000000000000000000000000000000..d9d1769085444f6a55e6a8aefed1a54be96b7fe5
--- /dev/null
+++ b/src/app/calculators/macrorugoremous/config.json
@@ -0,0 +1,87 @@
+[
+    {
+        "id": "fs_pam",
+        "type": "fieldset",
+        "fields": [
+            {
+                "id": "select_target_pam",
+                "type": "select"
+            }
+        ]
+    },
+    {
+        "id": "fs_condlim",
+        "type": "fieldset",
+        "fields": [
+            "Z2"
+        ]
+    },
+    {
+        "id": "fs_param_calc",
+        "type": "fieldset",
+        "fields": [
+            "Dx",
+            {
+                "id": "select_resolution",
+                "type": "select",
+                "property": "methodeResolution",
+                "default": "Trapezes",
+                "help": {
+                    "0": "../methodes_numeriques/integration_trapezes.html",
+                    "1": "../methodes_numeriques/rk4.html",
+                    "2": "../methodes_numeriques/euler_explicite.html"
+                }
+            }
+        ]
+    },
+    {
+        "id": "fs_target_data",
+        "type": "fieldset",
+        "fields": [
+            {
+                "id": "select_target",
+                "type": "select",
+                "help": {
+                    "B": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+                    "P": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+                    "S": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+                    "R": "hsl/section_parametree.html#le-rayon-hydraulique-m",
+                    "Fr": "hsl/section_parametree.html#le-froude",
+                    "V": "hsl/section_parametree.html#la-vitesse-moyenne-ms",
+                    "Yn": "hsl/section_parametree.html#le-tirant-deau-normal-m",
+                    "Yc": "hsl/section_parametree.html#le-tirant-deau-critique-m",
+                    "Ycor": "hsl/section_parametree.html#le-tirant-deau-correspondant-m",
+                    "Ycon": "hsl/section_parametree.html#le-tirant-deau-conjugue-m",
+                    "Hs": "hsl/section_parametree.html#la-charge-specifique-m",
+                    "Hsc": "hsl/section_parametree.html#la-charge-critique-m",
+                    "J": "hsl/section_parametree.html#la-perte-de-charge-mm",
+                    "I-J": "hsl/section_parametree.html#la-variation-lineaire-de-lenergie-specifique-mm",
+                    "Imp": "hsl/section_parametree.html#limpulsion-hydraulique-N",
+                    "Tau0": "hsl/section_parametree.html#la-force-tractrice-pa"
+                }
+            }
+        ]
+    },
+    {
+        "type": "options",
+        "help": "hsl/courbe_remous.html",
+        "resultsHelp": {
+            "B": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+            "P": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+            "S": "hsl/section_parametree.html#largeur-au-miroir-surface-et-perimetre-mouille",
+            "R": "hsl/section_parametree.html#le-rayon-hydraulique-m",
+            "Fr": "hsl/section_parametree.html#le-froude",
+            "V": "hsl/section_parametree.html#la-vitesse-moyenne-ms",
+            "Yn": "hsl/section_parametree.html#le-tirant-deau-normal-m",
+            "Yc": "hsl/section_parametree.html#le-tirant-deau-critique-m",
+            "Ycor": "hsl/section_parametree.html#le-tirant-deau-correspondant-m",
+            "Ycon": "hsl/section_parametree.html#le-tirant-deau-conjugue-m",
+            "Hs": "hsl/section_parametree.html#la-charge-specifique-m",
+            "Hsc": "hsl/section_parametree.html#la-charge-critique-m",
+            "J": "hsl/section_parametree.html#la-perte-de-charge-mm",
+            "I-J": "hsl/section_parametree.html#la-variation-lineaire-de-lenergie-specifique-mm",
+            "Imp": "hsl/section_parametree.html#limpulsion-hydraulique-N",
+            "Tau0": "hsl/section_parametree.html#la-force-tractrice-pa"
+        }
+    }
+]
\ No newline at end of file
diff --git a/src/app/calculators/macrorugoremous/en.json b/src/app/calculators/macrorugoremous/en.json
new file mode 100644
index 0000000000000000000000000000000000000000..2a4de3bbbb01c0b69155b1a8f4fb23bc9eb258e1
--- /dev/null
+++ b/src/app/calculators/macrorugoremous/en.json
@@ -0,0 +1,31 @@
+{
+    "fs_pam": "Target rock-ramp fishpass",
+    
+    "fs_condlim": "Boundary conditions",
+    "Dx": "Discretisation step",
+    
+    "select_resolution": "Resolution method",
+    "RESOLUTION_0": "Integration by trapezoid",
+    "RESOLUTION_1": "Runge Kutta fourth order",
+    "RESOLUTION_2": "Explicit Euler",
+
+    "fs_target_data": "Data to compute",
+    "select_target": "Choice of the data to compute",
+    "TARGET_none": "None",
+    "TARGET_Hs": "Head (m)",
+    "TARGET_Hsc": "Critical head (m)",
+    "TARGET_B": "Surface width (m)",
+    "TARGET_P": "Wetted perimeter (m)",
+    "TARGET_S": "Wet surface (m2)",
+    "TARGET_R": "Hydraulic radius (m)",
+    "TARGET_V": "Average speed (m/s)",
+    "TARGET_Fr": "Froude number",
+    "TARGET_Yc": "Critical depth (m)",
+    "TARGET_Yn": "Normal depth (m)",
+    "TARGET_Ycor": "Corresponding depth (m)",
+    "TARGET_Ycon": "Conjugate depth (m)",
+    "TARGET_J": "Head loss (m)",
+    "TARGET_I-J": "Linear variation of specific head (m/m)",
+    "TARGET_Imp": "Impulse (N)",
+    "TARGET_Tau0": "Tractive force (Pa)"
+}
\ No newline at end of file
diff --git a/src/app/calculators/macrorugoremous/fr.json b/src/app/calculators/macrorugoremous/fr.json
new file mode 100644
index 0000000000000000000000000000000000000000..108fb740b3b2678483c4c14f381802d4ca5c1cc8
--- /dev/null
+++ b/src/app/calculators/macrorugoremous/fr.json
@@ -0,0 +1,31 @@
+{
+    "fs_pam": "Passe à macro-rugosités cible",
+
+    "fs_condlim": "Conditions aux limites",
+    "Dx": "Pas de discrétisation",
+
+    "select_resolution": "Méthode de résolution",
+    "RESOLUTION_0": "Intégration par trapèzes",
+    "RESOLUTION_1": "Runge Kutta d'ordre 4",
+    "RESOLUTION_2": "Euler explicite",
+
+    "fs_target_data": "Donnée à calculer",
+    "select_target": "Choix de la donnée à calculer",
+    "TARGET_none": "Aucune",
+    "TARGET_Hs": "La charge (m)",
+    "TARGET_Hsc": "La charge critique (m)",
+    "TARGET_B": "La largeur au miroir (m)",
+    "TARGET_P": "Le périmètre mouillé (m)",
+    "TARGET_S": "La surface mouillée (m2)",
+    "TARGET_R": "Le rayon hydraulique (m)",
+    "TARGET_V": "La vitesse moyenne (m/s)",
+    "TARGET_Fr": "Le Froude",
+    "TARGET_Yc": "Le tirant d'eau critique (m)",
+    "TARGET_Yn": "Le tirant d'eau normal (m)",
+    "TARGET_Ycor": "Le tirant d'eau correspondant (m)",
+    "TARGET_Ycon": "Le tirant d'eau conjugué (m)",
+    "TARGET_J": "La perte de charge (m)",
+    "TARGET_I-J": "La variation linéaire de l'énergie spécifique (m/m)",
+    "TARGET_Imp": "L'impulsion (N)",
+    "TARGET_Tau0": "La force tractrice (Pa)"
+}
\ No newline at end of file