From 7bc908349db6ee2395acaf15fdcf1f42f8f267df Mon Sep 17 00:00:00 2001
From: Peter Powers <pmpowers@usgs.gov>
Date: Tue, 28 Sep 2021 08:49:29 -0600
Subject: [PATCH] added s1c8abc

---
 .../fault-sources/fault-config.json           |  7 +++
 .../features/set1-case8a.geojson              | 21 ++++++++
 .../fault-sources/mfd-config.json             |  6 +++
 .../active-crust/fault-sources/mfd-map.json   | 13 +++++
 .../set1-case8a/rupture-set.json              |  5 ++
 .../fault-sources/source-tree.json            |  6 +++
 .../active-crust/fault-sources/tree-info.json |  3 ++
 .../Set1-Case8a/active-crust/gmm-config.json  |  5 ++
 .../Set1-Case8a/active-crust/gmm-tree.json    |  3 ++
 etc/peer/models/Set1-Case8a/calc-config.json  | 12 +++++
 etc/peer/models/Set1-Case8a/model-info.json   |  4 ++
 etc/peer/models/Set1-Case8a/sites.csv         |  8 +++
 .../fault-sources/fault-config.json           |  7 +++
 .../features/set1-case8b.geojson              | 21 ++++++++
 .../fault-sources/mfd-config.json             |  6 +++
 .../active-crust/fault-sources/mfd-map.json   | 13 +++++
 .../set1-case8b/rupture-set.json              |  5 ++
 .../fault-sources/source-tree.json            |  6 +++
 .../active-crust/fault-sources/tree-info.json |  3 ++
 .../Set1-Case8b/active-crust/gmm-config.json  |  5 ++
 .../Set1-Case8b/active-crust/gmm-tree.json    |  3 ++
 etc/peer/models/Set1-Case8b/calc-config.json  | 13 +++++
 etc/peer/models/Set1-Case8b/model-info.json   |  4 ++
 etc/peer/models/Set1-Case8b/sites.csv         |  8 +++
 .../fault-sources/fault-config.json           |  7 +++
 .../features/set1-case8c.geojson              | 21 ++++++++
 .../fault-sources/mfd-config.json             |  6 +++
 .../active-crust/fault-sources/mfd-map.json   | 13 +++++
 .../set1-case8c/rupture-set.json              |  5 ++
 .../fault-sources/source-tree.json            |  6 +++
 .../active-crust/fault-sources/tree-info.json |  3 ++
 .../Set1-Case8c/active-crust/gmm-config.json  |  5 ++
 .../Set1-Case8c/active-crust/gmm-tree.json    |  3 ++
 etc/peer/models/Set1-Case8c/calc-config.json  | 13 +++++
 etc/peer/models/Set1-Case8c/model-info.json   |  4 ++
 etc/peer/models/Set1-Case8c/sites.csv         |  8 +++
 .../nshmp/model/peer/PeerTests.java           | 50 ++++++++++---------
 37 files changed, 307 insertions(+), 24 deletions(-)
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/fault-config.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/features/set1-case8a.geojson
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-config.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-map.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/set1-case8a/rupture-set.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/source-tree.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/fault-sources/tree-info.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/gmm-config.json
 create mode 100644 etc/peer/models/Set1-Case8a/active-crust/gmm-tree.json
 create mode 100644 etc/peer/models/Set1-Case8a/calc-config.json
 create mode 100644 etc/peer/models/Set1-Case8a/model-info.json
 create mode 100644 etc/peer/models/Set1-Case8a/sites.csv
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/fault-config.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/features/set1-case8b.geojson
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-config.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-map.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/set1-case8b/rupture-set.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/source-tree.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/fault-sources/tree-info.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/gmm-config.json
 create mode 100644 etc/peer/models/Set1-Case8b/active-crust/gmm-tree.json
 create mode 100644 etc/peer/models/Set1-Case8b/calc-config.json
 create mode 100644 etc/peer/models/Set1-Case8b/model-info.json
 create mode 100644 etc/peer/models/Set1-Case8b/sites.csv
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/fault-config.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/features/set1-case8c.geojson
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-config.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-map.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/set1-case8c/rupture-set.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/source-tree.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/fault-sources/tree-info.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/gmm-config.json
 create mode 100644 etc/peer/models/Set1-Case8c/active-crust/gmm-tree.json
 create mode 100644 etc/peer/models/Set1-Case8c/calc-config.json
 create mode 100644 etc/peer/models/Set1-Case8c/model-info.json
 create mode 100644 etc/peer/models/Set1-Case8c/sites.csv

diff --git a/etc/peer/models/Set1-Case8a/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/fault-config.json
new file mode 100644
index 000000000..a9f7a3125
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/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/Set1-Case8a/active-crust/fault-sources/features/set1-case8a.geojson b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/features/set1-case8a.geojson
new file mode 100644
index 000000000..665633643
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/features/set1-case8a.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-122.00000, 38.22480],
+      [-122.00000, 38.00000]
+    ]
+  },
+  "properties": {
+    "name": "Set1-Case8a fault",
+    "state": "CA",
+    "upper-depth": 0.0,
+    "lower-depth": 12.0,
+    "dip": 90.0,
+    "rake": 0.0,
+    "rate-type": "RECURRENCE",
+    "length": 25.0
+  }
+}
diff --git a/etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 000000000..a0def60f9
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/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/Set1-Case8a/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 000000000..c6acf9800
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set1-case8a-mfd": [
+    {
+      "id": "set1-case8a",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 6.0,
+        "rate": 0.016042517
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set1-Case8a/active-crust/fault-sources/set1-case8a/rupture-set.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/set1-case8a/rupture-set.json
new file mode 100644
index 000000000..77584e2b8
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/set1-case8a/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set1-Case8a",
+  "id": 1,
+  "mfd-tree": "set1-case8a-mfd"
+}
diff --git a/etc/peer/models/Set1-Case8a/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/source-tree.json
new file mode 100644
index 000000000..803f0bf2e
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "set1-case8a",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set1-Case8a/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/tree-info.json
new file mode 100644
index 000000000..18ee12cf4
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set1-Case8a/active-crust/gmm-config.json b/etc/peer/models/Set1-Case8a/active-crust/gmm-config.json
new file mode 100644
index 000000000..6a13b46fd
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/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/Set1-Case8a/active-crust/gmm-tree.json b/etc/peer/models/Set1-Case8a/active-crust/gmm-tree.json
new file mode 100644
index 000000000..8392687bb
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "SADIGH_97", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set1-Case8a/calc-config.json b/etc/peer/models/Set1-Case8a/calc-config.json
new file mode 100644
index 000000000..a337705d0
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/calc-config.json
@@ -0,0 +1,12 @@
+{
+  "hazard": {
+    "exceedanceModel": "TRUNCATION_OFF",
+    "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/Set1-Case8a/model-info.json b/etc/peer/models/Set1-Case8a/model-info.json
new file mode 100644
index 000000000..abb6a5ec2
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set1-Case8a",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set1-Case8a/sites.csv b/etc/peer/models/Set1-Case8a/sites.csv
new file mode 100644
index 000000000..a52a1da8a
--- /dev/null
+++ b/etc/peer/models/Set1-Case8a/sites.csv
@@ -0,0 +1,8 @@
+name, lon, lat
+PEER S1-Fault-Site1, -122.0,   38.113
+PEER S1-Fault-Site2, -122.114, 38.113
+PEER S1-Fault-Site3, -122.57,  38.111
+PEER S1-Fault-Site4, -122.0,   38.0
+PEER S1-Fault-Site5, -122.0,   37.91
+PEER S1-Fault-Site6, -122.0,   38.225
+PEER S1-Fault-Site7, -121.886, 38.113
diff --git a/etc/peer/models/Set1-Case8b/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/fault-config.json
new file mode 100644
index 000000000..5d731d0b5
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/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/Set1-Case8b/active-crust/fault-sources/features/set1-case8b.geojson b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/features/set1-case8b.geojson
new file mode 100644
index 000000000..a39b6c732
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/features/set1-case8b.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-122.00000, 38.22480],
+      [-122.00000, 38.00000]
+    ]
+  },
+  "properties": {
+    "name": "Set1-Case8b fault",
+    "state": "CA",
+    "upper-depth": 0.0,
+    "lower-depth": 12.0,
+    "dip": 90.0,
+    "rake": 0.0,
+    "rate-type": "RECURRENCE",
+    "length": 25.0
+  }
+}
diff --git a/etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 000000000..a0def60f9
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/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/Set1-Case8b/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 000000000..a5f5b6096
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set1-case8b-mfd": [
+    {
+      "id": "set1-case8b",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 6.0,
+        "rate": 0.016042517
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set1-Case8b/active-crust/fault-sources/set1-case8b/rupture-set.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/set1-case8b/rupture-set.json
new file mode 100644
index 000000000..c14ffcab0
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/set1-case8b/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set1-Case8b",
+  "id": 1,
+  "mfd-tree": "set1-case8b-mfd"
+}
diff --git a/etc/peer/models/Set1-Case8b/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/source-tree.json
new file mode 100644
index 000000000..e6f34672b
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "set1-case8b",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set1-Case8b/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/tree-info.json
new file mode 100644
index 000000000..18ee12cf4
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set1-Case8b/active-crust/gmm-config.json b/etc/peer/models/Set1-Case8b/active-crust/gmm-config.json
new file mode 100644
index 000000000..6a13b46fd
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/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/Set1-Case8b/active-crust/gmm-tree.json b/etc/peer/models/Set1-Case8b/active-crust/gmm-tree.json
new file mode 100644
index 000000000..8392687bb
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "SADIGH_97", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set1-Case8b/calc-config.json b/etc/peer/models/Set1-Case8b/calc-config.json
new file mode 100644
index 000000000..22745632b
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/calc-config.json
@@ -0,0 +1,13 @@
+{
+  "hazard": {
+    "exceedanceModel": "TRUNCATION_UPPER_ONLY",
+    "truncationLevel": 2.0,
+    "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/Set1-Case8b/model-info.json b/etc/peer/models/Set1-Case8b/model-info.json
new file mode 100644
index 000000000..4aad25644
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set1-Case8b",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set1-Case8b/sites.csv b/etc/peer/models/Set1-Case8b/sites.csv
new file mode 100644
index 000000000..a52a1da8a
--- /dev/null
+++ b/etc/peer/models/Set1-Case8b/sites.csv
@@ -0,0 +1,8 @@
+name, lon, lat
+PEER S1-Fault-Site1, -122.0,   38.113
+PEER S1-Fault-Site2, -122.114, 38.113
+PEER S1-Fault-Site3, -122.57,  38.111
+PEER S1-Fault-Site4, -122.0,   38.0
+PEER S1-Fault-Site5, -122.0,   37.91
+PEER S1-Fault-Site6, -122.0,   38.225
+PEER S1-Fault-Site7, -121.886, 38.113
diff --git a/etc/peer/models/Set1-Case8c/active-crust/fault-sources/fault-config.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/fault-config.json
new file mode 100644
index 000000000..5d731d0b5
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/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/Set1-Case8c/active-crust/fault-sources/features/set1-case8c.geojson b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/features/set1-case8c.geojson
new file mode 100644
index 000000000..1fa517f94
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/features/set1-case8c.geojson
@@ -0,0 +1,21 @@
+{
+  "type": "Feature",
+  "id": 1,
+  "geometry": {
+    "type": "LineString",
+    "coordinates": [
+      [-122.00000, 38.22480],
+      [-122.00000, 38.00000]
+    ]
+  },
+  "properties": {
+    "name": "Set1-Case8c fault",
+    "state": "CA",
+    "upper-depth": 0.0,
+    "lower-depth": 12.0,
+    "dip": 90.0,
+    "rake": 0.0,
+    "rate-type": "RECURRENCE",
+    "length": 25.0
+  }
+}
diff --git a/etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-config.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-config.json
new file mode 100644
index 000000000..a0def60f9
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/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/Set1-Case8c/active-crust/fault-sources/mfd-map.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-map.json
new file mode 100644
index 000000000..91d141d4d
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/mfd-map.json
@@ -0,0 +1,13 @@
+{
+  "set1-case8c-mfd": [
+    {
+      "id": "set1-case8c",
+      "weight": 1.0,
+      "value": {
+        "type": "SINGLE",
+        "m": 6.0,
+        "rate": 0.016042517
+      }
+    }
+  ]
+}
diff --git a/etc/peer/models/Set1-Case8c/active-crust/fault-sources/set1-case8c/rupture-set.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/set1-case8c/rupture-set.json
new file mode 100644
index 000000000..829f5c62f
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/set1-case8c/rupture-set.json
@@ -0,0 +1,5 @@
+{
+  "name": "PEER Set1-Case8c",
+  "id": 1,
+  "mfd-tree": "set1-case8c-mfd"
+}
diff --git a/etc/peer/models/Set1-Case8c/active-crust/fault-sources/source-tree.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/source-tree.json
new file mode 100644
index 000000000..9e8613e9e
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/source-tree.json
@@ -0,0 +1,6 @@
+[
+  {
+    "id": "set1-case8c",
+    "weight": 1.0
+  }
+]
diff --git a/etc/peer/models/Set1-Case8c/active-crust/fault-sources/tree-info.json b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/tree-info.json
new file mode 100644
index 000000000..18ee12cf4
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/fault-sources/tree-info.json
@@ -0,0 +1,3 @@
+{
+  "id": 2
+}
diff --git a/etc/peer/models/Set1-Case8c/active-crust/gmm-config.json b/etc/peer/models/Set1-Case8c/active-crust/gmm-config.json
new file mode 100644
index 000000000..6a13b46fd
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/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/Set1-Case8c/active-crust/gmm-tree.json b/etc/peer/models/Set1-Case8c/active-crust/gmm-tree.json
new file mode 100644
index 000000000..8392687bb
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/active-crust/gmm-tree.json
@@ -0,0 +1,3 @@
+[
+  { "id": "SADIGH_97", "weight": 1.0 }
+]
diff --git a/etc/peer/models/Set1-Case8c/calc-config.json b/etc/peer/models/Set1-Case8c/calc-config.json
new file mode 100644
index 000000000..ea889a1fa
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/calc-config.json
@@ -0,0 +1,13 @@
+{
+  "hazard": {
+    "exceedanceModel": "TRUNCATION_UPPER_ONLY",
+    "truncationLevel": 3.0,
+    "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/Set1-Case8c/model-info.json b/etc/peer/models/Set1-Case8c/model-info.json
new file mode 100644
index 000000000..4aad25644
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/model-info.json
@@ -0,0 +1,4 @@
+{
+  "name": "PEER Set1-Case8b",
+  "site-class-vs30": { "BC": 760 }
+}
diff --git a/etc/peer/models/Set1-Case8c/sites.csv b/etc/peer/models/Set1-Case8c/sites.csv
new file mode 100644
index 000000000..a52a1da8a
--- /dev/null
+++ b/etc/peer/models/Set1-Case8c/sites.csv
@@ -0,0 +1,8 @@
+name, lon, lat
+PEER S1-Fault-Site1, -122.0,   38.113
+PEER S1-Fault-Site2, -122.114, 38.113
+PEER S1-Fault-Site3, -122.57,  38.111
+PEER S1-Fault-Site4, -122.0,   38.0
+PEER S1-Fault-Site5, -122.0,   37.91
+PEER S1-Fault-Site6, -122.0,   38.225
+PEER S1-Fault-Site7, -121.886, 38.113
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 72fd9fa16..7569f4907 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
@@ -26,6 +26,9 @@ import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case6;
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case6_Fast;
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case7;
 import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case7_Fast;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case8a;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case8b;
+import gov.usgs.earthquake.nshmp.model.peer.PeerTestArgumentProviders.Set1Case8c;
 
 class PeerTests {
 
@@ -170,30 +173,29 @@ class PeerTests {
     PeerTest.test(modelName, model, site, expected, TOL, EXEC);
   }
 
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set1Case8a.class)
-  // @DisplayName("Set1 Case8a")
-  // final void set1Case8a(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set1Case8b.class)
-  // @DisplayName("Set1 Case8b")
-  // final void set1Case8b(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
-  // @ParameterizedTest(name = "{0}, Site={index}")
-  // @ArgumentsSource(Set1Case8c.class)
-  // @DisplayName("Set1 Case8c")
-  // final void set1Case8c(String modelName, HazardModel model, Site
-  // site, double[] expected) {
-  // PeerTest.test(modelName, model, site, expected, TOL, EXEC);
-  // }
-  //
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set1Case8a.class)
+  @DisplayName("Set1 Case8a")
+  final void set1Case8a(String modelName, HazardModel model, Site site,
+      double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set1Case8b.class)
+  @DisplayName("Set1 Case8b")
+  final void set1Case8b(String modelName, HazardModel model, Site site,
+      double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
+  @ParameterizedTest(name = "{0}, Site={index}")
+  @ArgumentsSource(Set1Case8c.class)
+  @DisplayName("Set1 Case8c")
+  final void set1Case8c(String modelName, HazardModel model, Site site, double[] expected) {
+    PeerTest.test(modelName, model, site, expected, TOL, EXEC);
+  }
+
   // @Disabled
   // @ParameterizedTest(name = "{0}, Site={index}")
   // @ArgumentsSource(Set1Case10.class)
-- 
GitLab