diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a9f7a3125bd0b51e451edf2ad4e8ff51ea9b1d27
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.1,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6a13b46fd427ef13901cc18fe5e36b81a83aad6c
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 200.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..a48cdcc7019419d80f00f8f83dc0eae5d58555a6
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "ASK_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3a-fast/calc-config.json b/etc/peer/models/Set2-Case3a-fast/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/model-info.json b/etc/peer/models/Set2-Case3a-fast/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..07da7d081f527bcddbb86afad8bce6d35a732d8a
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3a-fast",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3a-fast/sites.csv b/etc/peer/models/Set2-Case3a-fast/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a-fast/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d731d0b5e27c6f4a3cd2dc4a5dfda9b68eaaefa
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.05,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3a/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..dfe80f5535a5d8001d7091b5d2f5f443a0feae47
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 500.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3a/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3a/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..a48cdcc7019419d80f00f8f83dc0eae5d58555a6
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "ASK_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3a/calc-config.json b/etc/peer/models/Set2-Case3a/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3a/model-info.json b/etc/peer/models/Set2-Case3a/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..42cd89f3572129d5036a59c69f9a99bb9e1fcea2
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3a",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3a/sites.csv b/etc/peer/models/Set2-Case3a/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3a/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a9f7a3125bd0b51e451edf2ad4e8ff51ea9b1d27
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.1,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6a13b46fd427ef13901cc18fe5e36b81a83aad6c
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 200.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..95803bd18c05fc313a992f15a0eb431493e4cb8f
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "BSSA_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3b-fast/calc-config.json b/etc/peer/models/Set2-Case3b-fast/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/model-info.json b/etc/peer/models/Set2-Case3b-fast/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..bb0c7e5e1656ec429f3a33c96e571e979e697218
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3b-fast",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3b-fast/sites.csv b/etc/peer/models/Set2-Case3b-fast/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b-fast/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d731d0b5e27c6f4a3cd2dc4a5dfda9b68eaaefa
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.05,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3b/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..dfe80f5535a5d8001d7091b5d2f5f443a0feae47
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 500.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3b/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3b/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..95803bd18c05fc313a992f15a0eb431493e4cb8f
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "BSSA_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3b/calc-config.json b/etc/peer/models/Set2-Case3b/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3b/model-info.json b/etc/peer/models/Set2-Case3b/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..f5443c8314ff7f48069ada7ae4c5276e3e66acdb
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3b",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3b/sites.csv b/etc/peer/models/Set2-Case3b/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3b/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a9f7a3125bd0b51e451edf2ad4e8ff51ea9b1d27
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.1,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6a13b46fd427ef13901cc18fe5e36b81a83aad6c
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 200.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..d7804711c697b2b7e98f39f275c082be5a64cf9f
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "CB_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3c-fast/calc-config.json b/etc/peer/models/Set2-Case3c-fast/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/model-info.json b/etc/peer/models/Set2-Case3c-fast/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..21c15e1b383847efd844db9c68e2eb947e066eb0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3c-fast",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3c-fast/sites.csv b/etc/peer/models/Set2-Case3c-fast/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c-fast/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d731d0b5e27c6f4a3cd2dc4a5dfda9b68eaaefa
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.05,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3c/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..dfe80f5535a5d8001d7091b5d2f5f443a0feae47
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 500.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3c/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3c/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..d7804711c697b2b7e98f39f275c082be5a64cf9f
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "CB_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3c/calc-config.json b/etc/peer/models/Set2-Case3c/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3c/model-info.json b/etc/peer/models/Set2-Case3c/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..13a04b53aee8d984dbb0a0960f4430fbd76a00b4
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3c",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3c/sites.csv b/etc/peer/models/Set2-Case3c/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3c/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a9f7a3125bd0b51e451edf2ad4e8ff51ea9b1d27
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.1,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6a13b46fd427ef13901cc18fe5e36b81a83aad6c
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 200.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..3220a64469196a9f2c77fed2ef7d8c66319c41c7
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "CY_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3d-fast/calc-config.json b/etc/peer/models/Set2-Case3d-fast/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/model-info.json b/etc/peer/models/Set2-Case3d-fast/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..0ef2a77cee30d46af9abd639bf8359e9e8e15da1
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3d-fast",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3d-fast/sites.csv b/etc/peer/models/Set2-Case3d-fast/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d-fast/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/fault-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..5d731d0b5e27c6f4a3cd2dc4a5dfda9b68eaaefa
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/fault-config.json
@@ -0,0 +1,7 @@
+{
+  "surface-spacing": 0.05,
+  "rupture-scaling": "PEER",
+  "rupture-floating": "ON",
+  "dip-slip-model": null,
+  "dip-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/features/fault.geojson b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/features/fault.geojson
new file mode 100644
index 0000000000000000000000000000000000000000..392e8898181396f3d6658c229aa4b74ac1864417
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/features/fault.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-65.00000,  0.38221],
+      [-65.00000, -0.38221]
+    ]
+  },
+  "properties": {
+    "name": "Set2 Fault 4",
+    "state": "CA",
+    "upper-depth": 1.0,
+    "lower-depth": 12.0,
+    "dip": 45.0,
+    "rake": 90.0,
+    "rate-type": "RECURRENCE",
+    "length": 85.0
+  }
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..a0def60f99a8bcba9a16458e10af5bef3facaa92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-config.json
@@ -0,0 +1,6 @@
+{
+  "epistemic-tree": null,
+  "aleatory-properties": null,
+  "minimum-magnitude": 5.0,
+  "nshm-bin-model": true
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 0000000000000000000000000000000000000000..7c625227e4abda6962fb0bcae656fc0f8d11bd02
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set2-case3-mfd": [
+    {
+      "id": "set2-case3",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 7.0,
+        "rate": 0.0022360312
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..266c40bc677b85ba01188f95b9ae1f67324d0618
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "source1",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source1/rupture-set.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source1/rupture-set.json
new file mode 100644
index 0000000000000000000000000000000000000000..7559252bccab1142ba0725d609a9c14285ef95f0
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/source1/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set2-Case3",
+  "id": 1,
+  "mfd-tree": "set2-case3-mfd"
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/tree-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..18ee12cf40f0cba8a8107798a74577822f713f8d
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/gmm-config.json b/etc/peer/models/Set2-Case3d/active-crust/gmm-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..dfe80f5535a5d8001d7091b5d2f5f443a0feae47
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/gmm-config.json
@@ -0,0 +1,5 @@
+{
+  "max-distance": 500.0,
+  "epistemic-model": null,
+  "epistemic-tree": null
+}
diff --git a/etc/peer/models/Set2-Case3d/active-crust/gmm-tree.json b/etc/peer/models/Set2-Case3d/active-crust/gmm-tree.json
new file mode 100644
index 0000000000000000000000000000000000000000..3220a64469196a9f2c77fed2ef7d8c66319c41c7
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "CY_14", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set2-Case3d/calc-config.json b/etc/peer/models/Set2-Case3d/calc-config.json
new file mode 100644
index 0000000000000000000000000000000000000000..6172c806383b96ef371ddae1d043f64142024638
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "NONE",
+    "valueFormat": "POISSON_PROBABILITY",
+    "imts": ["PGA"],
+    "customImls": {
+      "PGA": [
+        0.001, 0.01, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35,
+        0.4, 0.45, 0.5, 0.55, 0.6, 0.7, 0.8, 0.9, 1.0]
+    }
+  }
+}
diff --git a/etc/peer/models/Set2-Case3d/model-info.json b/etc/peer/models/Set2-Case3d/model-info.json
new file mode 100644
index 0000000000000000000000000000000000000000..72e9a02e53a9e22be04fc1ee7bf6bf96b7143f92
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set2-Case3d",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set2-Case3d/sites.csv b/etc/peer/models/Set2-Case3d/sites.csv
new file mode 100644
index 0000000000000000000000000000000000000000..f87b4f6c4dcbcc3c5e7fa1083ab095689856a276
--- /dev/null
+++ b/etc/peer/models/Set2-Case3d/sites.csv
@@ -0,0 +1,7 @@
+name,lon,lat,vs30,vsInf,z1p0,z2p5
+PEER S2-Fault3-Site1,-64.91005, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site2,-65.04497, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site3,-65.08995, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site4,-65.13490, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site5,-65.22483, 0.00000,760,false,0.048,0.607
+PEER S2-Fault3-Site6,-65.00900,-0.42718,760,false,0.048,0.607
diff --git a/src/test/java/gov/usgs/earthquake/nshmp/model/peer/PeerTests.java b/src/test/java/gov/usgs/earthquake/nshmp/model/peer/PeerTests.java
index e8fdd73fb18e7b356d2c6f3880438c0b693b3d00..5c8b7109832259936d7f9fe2dce0a53b7a4011de 100644
--- a/src/test/java/gov/usgs/earthquake/nshmp/model/peer/PeerTests.java
+++ b/src/test/java/gov/usgs/earthquake/nshmp/model/peer/PeerTests.java
@@ -41,6 +41,14 @@ import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case2c
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case2c_Fast;
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case2d;
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case2d_Fast;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3a;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3a_Fast;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3b;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3b_Fast;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3c;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3c_Fast;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3d;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set2Case3d_Fast;
 
 class PeerTests {
 
@@ -285,74 +293,66 @@ class PeerTests {
     PeerTest.test(modelName, model, site, expected, TOL, EXEC);
   }
 
-  // @Disabled
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3a.class)
-  // @DisplayName("Set2 Case3a")
-  // final void set2Case3a(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3a_Fast.class)
-  // @DisplayName("Set2 Case3a Fast")
-  // final void set2Case3aF(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @Disabled
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3b.class)
-  // @DisplayName("Set2 Case3b")
-  // final void set2Case3b(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3b_Fast.class)
-  // @DisplayName("Set2 Case3b Fast")
-  // final void set2Case3bF(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @Disabled
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3c.class)
-  // @DisplayName("Set2 Case3c")
-  // final void set2Case3c(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3c_Fast.class)
-  // @DisplayName("Set2 Case3c Fast")
-  // final void set2Case3cF(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @Disabled
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3d.class)
-  // @DisplayName("Set2 Case3d")
-  // final void set2Case3d(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set2Case3d_Fast.class)
-  // @DisplayName("Set2 Case3d Fast")
-  // final void set2Case3dF(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
+  @Disabled
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3a.class)
+  @DisplayName("Set2 Case3a")
+  final void set2Case3a(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3a_Fast.class)
+  @DisplayName("Set2 Case3a Fast")
+  final void set2Case3aF(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @Disabled
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3b.class)
+  @DisplayName("Set2 Case3b")
+  final void set2Case3b(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3b_Fast.class)
+  @DisplayName("Set2 Case3b Fast")
+  final void set2Case3bF(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @Disabled
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3c.class)
+  @DisplayName("Set2 Case3c")
+  final void set2Case3c(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3c_Fast.class)
+  @DisplayName("Set2 Case3c Fast")
+  final void set2Case3cF(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @Disabled
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3d.class)
+  @DisplayName("Set2 Case3d")
+  final void set2Case3d(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set2Case3d_Fast.class)
+  @DisplayName("Set2 Case3d Fast")
+  final void set2Case3dF(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
   // @Disabled
   // @ParameterizedTest(name = "{0}, Site={index}")
   // @ArgumentsSource(Set2Case4a.class)