diff --git a/active-crust/fault/ID/Squaw Creek/README.md b/active-crust/fault/ID/Squaw Creek/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..6a83585c70613a75cc05a4a27fe9e18ec400e761
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/README.md	
@@ -0,0 +1,3 @@
+## Squaw Creek
+
+Magnitudes differ on geodetic branches (7.15) versus 7.03 on geologic branch.
diff --git a/active-crust/fault/ID/Squaw Creek.geojson b/active-crust/fault/ID/Squaw Creek/features/Squaw Creek.geojson
similarity index 54%
rename from active-crust/fault/ID/Squaw Creek.geojson
rename to active-crust/fault/ID/Squaw Creek/features/Squaw Creek.geojson
index 97fe31b785ec30c8e06d1b0e5c30b29ca9839ff7..bb83c9f2c0aac9a7367ed6f3ec5bcd81285e5815 100644
--- a/active-crust/fault/ID/Squaw Creek.geojson	
+++ b/active-crust/fault/ID/Squaw Creek/features/Squaw Creek.geojson	
@@ -19,24 +19,8 @@
     "lower-depth": 15.0,
     "dip": 50.0,
     "rake": -90.0,
+    "rate": 0.1,
     "rate-type": "VERTICAL_SLIP",
-    "length": 48.42027,
-    "rate-map": {
-      "BIRD": {
-        "rate": 0.030641777724759123,
-        "gr-a-value": 0.53319,
-        "single-rate": 2.42E-5
-      },
-      "GEO": {
-        "rate": 0.1,
-        "gr-a-value": 0.99332,
-        "single-rate": 9.43E-5
-      },
-      "ZENG": {
-        "rate": 0.09958577760546715,
-        "gr-a-value": 1.04507,
-        "single-rate": 7.85E-5
-      }
-    }
+    "length": 48.42027
   }
 }
diff --git "a/active-crust/fault/ID/Squaw Creek/full-rupture/--\316\264--/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/full-rupture/--\316\264--/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..679a62824fb7b2c7f6643f402d3e9c6aacf7e0e5
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/full-rupture/--\316\264--/rupture-set.json"	
@@ -0,0 +1,5 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-full"
+}
diff --git a/active-crust/fault/ID/Squaw Creek/full-rupture/source-tree.json b/active-crust/fault/ID/Squaw Creek/full-rupture/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..7e181294dcd6d58d7a3db21d95b32b5695c0738b
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/full-rupture/source-tree.json	
@@ -0,0 +1,12 @@
+[
+  {
+    "id": "δ+15°",
+    "weight": 0.2
+  },  {
+    "id": "--δ--",
+    "weight": 0.6
+  },  {
+    "id": "δ-15°",
+    "weight": 0.2
+  }
+]
diff --git "a/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264+15\302\260/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264+15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..fe9c85ec09544270ac618bf63c7f97f143a1b69b
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264+15\302\260/rupture-set.json"	
@@ -0,0 +1,8 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-full",
+  "properties": {
+    "dip": 65.0
+  }
+}
diff --git "a/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264-15\302\260/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264-15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..25bfcf5ca721db1ce0877cf2c2685ae21e837c62
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/full-rupture/\316\264-15\302\260/rupture-set.json"	
@@ -0,0 +1,8 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-full",
+  "properties": {
+    "dip": 35.0
+  }
+}
diff --git a/active-crust/fault/ID/Squaw Creek/mfd-map.json b/active-crust/fault/ID/Squaw Creek/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..c8b2b0aebe8988566a6d3fa7b7bf5b42d637574f
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/mfd-map.json	
@@ -0,0 +1,36 @@
+{
+  "squaw-creek-partial": [
+    {
+      "id": "BIRD : partial-rupture",
+      "weight": 0.1,
+      "value": { "type": "GR", "a": 0.53319, "b": 0.8, "mMin": 6.5, "mMax": 7.15, "Δm": 0.1083 }
+    },
+    {
+      "id": "GEO : partial-rupture",
+      "weight": 0.8,
+      "value": { "type": "GR", "a": 0.99332, "b": 0.8, "mMin": 6.5, "mMax": 7.03, "Δm": 0.0883 }
+    },
+    {
+      "id": "ZENG : partial-rupture",
+      "weight": 0.1,
+      "value": { "type": "GR", "a": 1.04507, "b": 0.8, "mMin": 6.5, "mMax": 7.15, "Δm": 0.1083 }
+    }
+  ],
+  "squaw-creek-full": [
+    {
+      "id": "BIRD : full-rupture",
+      "weight": 0.1,
+      "value": { "type": "SINGLE", "m": 7.15, "rate": 2.42E-5 }
+    },
+    {
+      "id": "GEO : full-rupture",
+      "weight": 0.8,
+      "value": { "type": "SINGLE", "m": 7.03, "rate": 9.43E-5 }
+    },
+    {
+      "id": "ZENG : full-rupture",
+      "weight": 0.1,
+      "value": { "type": "SINGLE", "m": 7.15, "rate": 7.85E-5 }
+    }
+  ]
+}
diff --git "a/active-crust/fault/ID/Squaw Creek/partial-rupture/--\316\264--/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/partial-rupture/--\316\264--/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..ffe2824f9a88ef86169d29e98cbef513863bbdc3
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/partial-rupture/--\316\264--/rupture-set.json"	
@@ -0,0 +1,5 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-partial"
+}
diff --git a/active-crust/fault/ID/Squaw Creek/partial-rupture/source-tree.json b/active-crust/fault/ID/Squaw Creek/partial-rupture/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..7e181294dcd6d58d7a3db21d95b32b5695c0738b
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/partial-rupture/source-tree.json	
@@ -0,0 +1,12 @@
+[
+  {
+    "id": "δ+15°",
+    "weight": 0.2
+  },  {
+    "id": "--δ--",
+    "weight": 0.6
+  },  {
+    "id": "δ-15°",
+    "weight": 0.2
+  }
+]
diff --git "a/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264+15\302\260/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264+15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..ceef7f951cd99b1c7197c7ebd21df1665db227be
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264+15\302\260/rupture-set.json"	
@@ -0,0 +1,8 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-partial",
+  "properties": {
+    "dip": 65.0
+  }
+}
diff --git "a/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264-15\302\260/rupture-set.json" "b/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264-15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..bd7ad0f310cd04cc62a80c3d7ba21e10b4fe9f65
--- /dev/null
+++ "b/active-crust/fault/ID/Squaw Creek/partial-rupture/\316\264-15\302\260/rupture-set.json"	
@@ -0,0 +1,8 @@
+{
+  "name": "Squaw Creek",
+  "id": 2208,
+  "mfd-tree": "squaw-creek-partial",
+  "properties": {
+    "dip": 35.0
+  }
+}
diff --git a/active-crust/fault/ID/Squaw Creek/source-tree.json b/active-crust/fault/ID/Squaw Creek/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..a593dcec245f7ece67c02024e68392b383f5e51c
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/source-tree.json	
@@ -0,0 +1,10 @@
+[
+  {
+    "id": "full-rupture",
+    "weight": 0.667
+  },
+  {
+    "id": "partial-rupture",
+    "weight": 0.333
+  }
+]
diff --git a/active-crust/fault/ID/Squaw Creek/tree-info.json b/active-crust/fault/ID/Squaw Creek/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..73b5503339fd32d537c5098dd3f021a3d61603bc
--- /dev/null
+++ b/active-crust/fault/ID/Squaw Creek/tree-info.json	
@@ -0,0 +1,3 @@
+{
+  "id": 2208
+}
diff --git a/active-crust/fault/MT/Madison/README.md b/active-crust/fault/MT/Madison/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..5c225e2be5bf60e3656950a36fdb2e5c384caa74
--- /dev/null
+++ b/active-crust/fault/MT/Madison/README.md
@@ -0,0 +1,3 @@
+## Madison
+
+Delta-M not computed correctly by new codes; rounding issue from fortran.
diff --git a/active-crust/fault/MT/Madison.geojson b/active-crust/fault/MT/Madison/features/Madison.geojson
similarity index 78%
rename from active-crust/fault/MT/Madison.geojson
rename to active-crust/fault/MT/Madison/features/Madison.geojson
index 4222d6fd0e8faf047a2c3fc169b522f6f74dc5ad..38962fd660293b49c7c70bb7dd1fd3c43e708fd9 100644
--- a/active-crust/fault/MT/Madison.geojson
+++ b/active-crust/fault/MT/Madison/features/Madison.geojson
@@ -56,24 +56,8 @@
     "lower-depth": 15.0,
     "dip": 50.0,
     "rake": -90.0,
+    "rate": 0.4,
     "rate-type": "VERTICAL_SLIP",
-    "length": 110.6685,
-    "rate-map": {
-      "BIRD": {
-        "rate": 0.3906826659906788,
-        "gr-a-value": 1.644,
-        "single-rate": 1.975E-4
-      },
-      "GEO": {
-        "rate": 0.4,
-        "gr-a-value": 1.65423,
-        "single-rate": 2.022E-4
-      },
-      "ZENG": {
-        "rate": 0.3677013326971094,
-        "gr-a-value": 1.61767,
-        "single-rate": 1.859E-4
-      }
-    }
+    "length": 110.6685
   }
 }
diff --git "a/active-crust/fault/MT/Madison/full-rupture/--\316\264--/rupture-set.json" "b/active-crust/fault/MT/Madison/full-rupture/--\316\264--/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..f9f5bf7e8637e7ebec382a89504dda7846d82bc6
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/full-rupture/--\316\264--/rupture-set.json"
@@ -0,0 +1,5 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-full"
+}
diff --git a/active-crust/fault/MT/Madison/full-rupture/source-tree.json b/active-crust/fault/MT/Madison/full-rupture/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..7e181294dcd6d58d7a3db21d95b32b5695c0738b
--- /dev/null
+++ b/active-crust/fault/MT/Madison/full-rupture/source-tree.json
@@ -0,0 +1,12 @@
+[
+  {
+    "id": "δ+15°",
+    "weight": 0.2
+  },  {
+    "id": "--δ--",
+    "weight": 0.6
+  },  {
+    "id": "δ-15°",
+    "weight": 0.2
+  }
+]
diff --git "a/active-crust/fault/MT/Madison/full-rupture/\316\264+15\302\260/rupture-set.json" "b/active-crust/fault/MT/Madison/full-rupture/\316\264+15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..d25412d65612fb0d44ecdbc77b18a901cee6ae6d
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/full-rupture/\316\264+15\302\260/rupture-set.json"
@@ -0,0 +1,8 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-full",
+  "properties": {
+    "dip": 65.0
+  }
+}
diff --git "a/active-crust/fault/MT/Madison/full-rupture/\316\264-15\302\260/rupture-set.json" "b/active-crust/fault/MT/Madison/full-rupture/\316\264-15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..0abb2546a8c59f18875b95f43bf1382ae92944fd
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/full-rupture/\316\264-15\302\260/rupture-set.json"
@@ -0,0 +1,8 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-full",
+  "properties": {
+    "dip": 35.0
+  }
+}
diff --git a/active-crust/fault/MT/Madison/mfd-map.json b/active-crust/fault/MT/Madison/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..11ff4741e91a59654e97081adcf5ec605b51cda7
--- /dev/null
+++ b/active-crust/fault/MT/Madison/mfd-map.json
@@ -0,0 +1,36 @@
+{
+  "madison-partial": [
+    {
+      "id": "BIRD : partial-rupture",
+      "weight": 0.1,
+      "value": { "type": "GR", "a": 1.644, "b": 0.8, "mMin": 6.5, "mMax": 7.45, "Δm": 0.1187 }
+    },
+    {
+      "id": "GEO : partial-rupture",
+      "weight": 0.8,
+      "value": { "type": "GR", "a": 1.65423, "b": 0.8, "mMin": 6.5, "mMax": 7.45, "Δm": 0.1187 }
+    },
+    {
+      "id": "ZENG : partial-rupture",
+      "weight": 0.1,
+      "value": { "type": "GR", "a": 1.61767, "b": 0.8, "mMin": 6.5, "mMax": 7.45, "Δm": 0.1187 }
+    }
+  ],
+  "madison-full": [
+    {
+      "id": "BIRD : full-rupture",
+      "weight": 0.1,
+      "value": { "type": "SINGLE", "m": 7.45, "rate": 1.975E-4 }
+    },
+    {
+      "id": "GEO : full-rupture",
+      "weight": 0.8,
+      "value": { "type": "SINGLE", "m": 7.45, "rate": 2.022E-4 }
+    },
+    {
+      "id": "ZENG : full-rupture",
+      "weight": 0.1,
+      "value": { "type": "SINGLE", "m": 7.45, "rate": 1.859E-4 }
+    }
+  ]
+}
diff --git "a/active-crust/fault/MT/Madison/partial-rupture/--\316\264--/rupture-set.json" "b/active-crust/fault/MT/Madison/partial-rupture/--\316\264--/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..eb3c8c5c352fc32c9d5622c1ae32cc86685e6967
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/partial-rupture/--\316\264--/rupture-set.json"
@@ -0,0 +1,5 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-partial"
+}
diff --git a/active-crust/fault/MT/Madison/partial-rupture/source-tree.json b/active-crust/fault/MT/Madison/partial-rupture/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..7e181294dcd6d58d7a3db21d95b32b5695c0738b
--- /dev/null
+++ b/active-crust/fault/MT/Madison/partial-rupture/source-tree.json
@@ -0,0 +1,12 @@
+[
+  {
+    "id": "δ+15°",
+    "weight": 0.2
+  },  {
+    "id": "--δ--",
+    "weight": 0.6
+  },  {
+    "id": "δ-15°",
+    "weight": 0.2
+  }
+]
diff --git "a/active-crust/fault/MT/Madison/partial-rupture/\316\264+15\302\260/rupture-set.json" "b/active-crust/fault/MT/Madison/partial-rupture/\316\264+15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..c0f880598c548bb3009798b82cd1b2dbc8465709
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/partial-rupture/\316\264+15\302\260/rupture-set.json"
@@ -0,0 +1,8 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-partial",
+  "properties": {
+    "dip": 65.0
+  }
+}
diff --git "a/active-crust/fault/MT/Madison/partial-rupture/\316\264-15\302\260/rupture-set.json" "b/active-crust/fault/MT/Madison/partial-rupture/\316\264-15\302\260/rupture-set.json"
new file mode 100644
index 0000000000000000000000000000000000000000..01d7d0f0daddd84d986c1f2678a562140535074d
--- /dev/null
+++ "b/active-crust/fault/MT/Madison/partial-rupture/\316\264-15\302\260/rupture-set.json"
@@ -0,0 +1,8 @@
+{
+  "name": "Madison",
+  "id": 2308,
+  "mfd-tree": "madison-partial",
+  "properties": {
+    "dip": 35.0
+  }
+}
diff --git a/active-crust/fault/MT/Madison/source-tree.json b/active-crust/fault/MT/Madison/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..a593dcec245f7ece67c02024e68392b383f5e51c
--- /dev/null
+++ b/active-crust/fault/MT/Madison/source-tree.json
@@ -0,0 +1,10 @@
+[
+  {
+    "id": "full-rupture",
+    "weight": 0.667
+  },
+  {
+    "id": "partial-rupture",
+    "weight": 0.333
+  }
+]
diff --git a/active-crust/fault/MT/Madison/tree-info.json b/active-crust/fault/MT/Madison/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..43043d688f465233004b1dc9f4fadff008ff69d6
--- /dev/null
+++ b/active-crust/fault/MT/Madison/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2308
+}
diff --git a/active-crust/fault/TX/Caballo/README.md b/active-crust/fault/TX/Caballo/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..0d8fe9aca25273cd6ad6258bd9325a8c7129c049
--- /dev/null
+++ b/active-crust/fault/TX/Caballo/README.md
@@ -0,0 +1,3 @@
+# Caballo
+
+The Caballo logic tree supports erroneus scaling of geologic branch by 1.25 in the legacy XML codes.
diff --git a/active-crust/fault/WY/Teton/README.md b/active-crust/fault/WY/Teton/README.md
index 9c644df9c54a5d49ccb8f767addc879b459c93bd..2e023a1b6160bad665cdc0078784c44e416f95ca 100644
--- a/active-crust/fault/WY/Teton/README.md
+++ b/active-crust/fault/WY/Teton/README.md
@@ -1,3 +1,3 @@
-## Teton
+# Teton
 
 Magnitudes differ on geodetic branches (7.22) versus 7.16 on geologic branch.
diff --git a/active-crust/fault/WY/Teton/mfd-map.json b/active-crust/fault/WY/Teton/mfd-map.json
index b55b823c47d564c2304978349e0fb76004d36db7..bca344f7bc99e096f64d34ea543aad6dabc19251 100644
--- a/active-crust/fault/WY/Teton/mfd-map.json
+++ b/active-crust/fault/WY/Teton/mfd-map.json
@@ -1,17 +1,17 @@
 {
   "teton-partial": [
     {
-      "id": "BIRD: partial-rupture",
+      "id": "BIRD : partial-rupture",
       "weight": 0.1,
       "value": { "type": "GR", "a": 1.77665, "b": 0.8, "mMin": 6.5, "mMax": 7.22, "Δm": 0.09 }
     },
     {
-      "id": "GEO: partial-rupture",
+      "id": "GEO : partial-rupture",
       "weight": 0.8,
       "value": { "type": "GR", "a": 1.89054, "b": 0.8, "mMin": 6.5, "mMax": 7.16, "Δm": 0.11 }
     },
     {
-      "id": "ZENG: partial-rupture",
+      "id": "ZENG : partial-rupture",
       "weight": 0.1,
       "value": { "type": "GR", "a": 1.79617, "b": 0.8, "mMin": 6.5, "mMax": 7.22, "Δm": 0.09 }
     }