diff --git a/s4sim/hardware/config.py b/s4sim/hardware/config.py
index 292b1ac..52f98de 100755
--- a/s4sim/hardware/config.py
+++ b/s4sim/hardware/config.py
@@ -380,14 +380,14 @@ def sim_nominal():
     bnd["low"] = 21.5
     bnd["high"] = 28.0
     bnd["bandpass"] = ""
-    bnd["NET"] = 246.0
+    bnd["NET"] = 214.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.11488
-    bnd["C"] = 0.85083
-    bnd["NET_corr"] = 1.02
-    bnd["pwv_poly"] =  0.933680, 0.063919, 0.002889
+    bnd["A"] = 0.13706
+    bnd["C"] = 0.82200
+    bnd["NET_corr"] = 1.06
+    bnd["pwv_poly"] = 0.920270, 0.076947, 0.003369
     bands["SAT_f030"] = bnd
 
     bnd = OrderedDict()
@@ -395,14 +395,14 @@ def sim_nominal():
     bnd["low"] = 28.0
     bnd["high"] = 45.0
     bnd["bandpass"] = ""
-    bnd["NET"] = 155.0
+    bnd["NET"] = 148.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.21849
-    bnd["C"] = 0.71629
+    bnd["A"] = 0.23230
+    bnd["C"] = 0.69828
     bnd["NET_corr"] = 1.04
-    bnd["pwv_poly"] =  0.984664, 0.015093, 0.000353
+    bnd["pwv_poly"] = 0.983677, 0.016068, 0.000373
     bands["SAT_f040"] = bnd
 
     bnd = OrderedDict()
@@ -470,14 +470,14 @@ def sim_nominal():
     bnd["low"] = 74.8
     bnd["high"] = 95.2
     bnd["bandpass"] = ""
-    bnd["NET"] = 259.0
+    bnd["NET"] = 245.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.26241
-    bnd["C"] = 0.65892
-    bnd["NET_corr"] = 1.02
-    bnd["pwv_poly"] = 0.956092, 0.042784, 0.001444
+    bnd["A"] = 0.27782
+    bnd["C"] = 0.63888
+    bnd["NET_corr"] = 1.04
+    bnd["pwv_poly"] = 0.953624, 0.045185, 0.001529
     bands["SAT_f085"] = bnd
 
     bnd = OrderedDict()
@@ -485,14 +485,14 @@ def sim_nominal():
     bnd["low"] = 129.1
     bnd["high"] = 161.0
     bnd["bandpass"] = ""
-    bnd["NET"] = 311.0
+    bnd["NET"] = 302.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.20697
-    bnd["C"] = 0.73043
+    bnd["A"] = 0.21203
+    bnd["C"] = 0.72385
     bnd["NET_corr"] = 1.01
-    bnd["pwv_poly"] = 0.848750, 0.146717, 0.005639
+    bnd["pwv_poly"] = 0.845158, 0.150156, 0.005818
     bands["SAT_f145"] = bnd
 
     bnd = OrderedDict()
@@ -500,14 +500,14 @@ def sim_nominal():
     bnd["low"] = 83.6
     bnd["high"] = 106.4
     bnd["bandpass"] = ""
-    bnd["NET"] = 240.0
+    bnd["NET"] = 228.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.21106
-    bnd["C"] = 0.72533
-    bnd["NET_corr"] = 1.02
-    bnd["pwv_poly"] = 0.941450, 0.056990, 0.001986
+    bnd["A"] = 0.22131
+    bnd["C"] = 0.71200
+    bnd["NET_corr"] = 1.03
+    bnd["pwv_poly"] = 0.938631, 0.059726, 0.002090
     bands["SAT_f095"] = bnd
 
     bnd = OrderedDict()
@@ -515,16 +515,46 @@ def sim_nominal():
     bnd["low"] = 138.0
     bnd["high"] = 172.1
     bnd["bandpass"] = ""
-    bnd["NET"] = 365.0
+    bnd["NET"] = 345.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.22432
-    bnd["C"] = 0.70785
-    bnd["NET_corr"] = 1.02
-    bnd["pwv_poly"] = 0.801865, 0.192474, 0.007107
+    bnd["A"] = 0.23468
+    bnd["C"] = 0.69439
+    bnd["NET_corr"] = 1.00
+    bnd["pwv_poly"] = 0.792946, 0.200998, 0.007569
     bands["SAT_f155"] = bnd
 
+    bnd = OrderedDict()
+    bnd["center"] = 91.5
+    bnd["low"] = 77.0
+    bnd["high"] = 106.0
+    bnd["bandpass"] = ""
+    bnd["NET"] = 221.0
+    bnd["fknee"] = 50.0
+    bnd["fmin"] = 0.01
+    bnd["alpha"] = 1.0
+    bnd["A"] = 0.22609
+    bnd["C"] = 0.70593
+    bnd["NET_corr"] = 1.03
+    bnd["pwv_poly"] = 0.947923, 0.050705, 0.001751
+    bands["SAT_f090"] = bnd
+
+    bnd = OrderedDict()
+    bnd["center"] = 148.5
+    bnd["low"] = 128.0
+    bnd["high"] = 169.0
+    bnd["bandpass"] = ""
+    bnd["NET"] = 287.0
+    bnd["fknee"] = 50.0
+    bnd["fmin"] = 0.01
+    bnd["alpha"] = 1.0
+    bnd["A"] = 0.22482
+    bnd["C"] = 0.70722
+    bnd["NET_corr"] = 1.03
+    bnd["pwv_poly"] = 0.826483, 0.168378, 0.006407
+    bands["SAT_f150"] = bnd
+
     bnd = OrderedDict()
     bnd["center"] = 227.0
     bnd["low"] = 198.0
@@ -590,14 +620,14 @@ def sim_nominal():
     bnd["low"] = 198.0
     bnd["high"] = 256.0
     bnd["bandpass"] = ""
-    bnd["NET"] = 731.0
+    bnd["NET"] = 720.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.29945
-    bnd["C"] = 0.61031
+    bnd["A"] = 0.30314
+    bnd["C"] = 0.60552
     bnd["NET_corr"] = 1.01
-    bnd["pwv_poly"] = 0.731418, 0.255791, 0.014788
+    bnd["pwv_poly"] = 0.728284, 0.258698, 0.015039
     bands["SAT_f220"] = bnd
 
     bnd = OrderedDict()
@@ -605,21 +635,21 @@ def sim_nominal():
     bnd["low"] = 256.0
     bnd["high"] = 315.0
     bnd["bandpass"] = ""
-    bnd["NET"] = 1845.0
+    bnd["NET"] = 1817.0
     bnd["fknee"] = 50.0
     bnd["fmin"] = 0.01
     bnd["alpha"] = 1.0
-    bnd["A"] = 0.36317
-    bnd["C"] = 0.52786
-    bnd["NET_corr"] = 1.01
-    bnd["pwv_poly"] = 0.662106, 0.316561, 0.023882
+    bnd["A"] = 0.36697
+    bnd["C"] = 0.52293
+    bnd["NET_corr"] = 1.00
+    bnd["pwv_poly"] = 0.658761, 0.319594, 0.024221
     bands["SAT_f280"] = bnd
 
     cnf["bands"] = bands
 
     wafers = OrderedDict()
 
-    wtypes = ["CHLAT_ULF","SPLAT_ULF", "CHLAT_LF", "SPLAT_LF", "SAT_LF", "CHLAT_MF", "SPLAT_MF", "SAT_MFL", "SAT_MFH", "CHLAT_HF", "SPLAT_HF", "SAT_HF"]
+    wtypes = ["CHLAT_ULF","SPLAT_ULF", "CHLAT_LF", "SPLAT_LF", "SAT_LF", "CHLAT_MF", "SPLAT_MF", "SAT_MFL", "SAT_MFH", "SAT_MF", "CHLAT_HF", "SPLAT_HF", "SAT_HF"]
     wcnt = {
         "CHLAT_ULF": 4*2,
         "SPLAT_ULF": 4,
@@ -628,8 +658,9 @@ def sim_nominal():
         "SAT_LF": (12) * 1,
         "CHLAT_MF": 54*2,
         "SPLAT_MF": 54,
-        "SAT_MFL": (12) * 3,
-        "SAT_MFH": (12) * 3,
+        "SAT_MFL": 0,
+        "SAT_MFH": 0,
+        "SAT_MF": (12) * 6,
         "CHLAT_HF": 19*2,
         "SPLAT_HF": 18,
         "SAT_HF": (12) * 2,
@@ -644,6 +675,7 @@ def sim_nominal():
         "SPLAT_MF": "RP",
         "SAT_MFL": "HP",
         "SAT_MFH": "HP",
+        "SAT_MF": "RP",
         "CHLAT_HF": "HP",
         "SPLAT_HF": "HP",
         "SAT_HF": "HP",
@@ -653,11 +685,12 @@ def sim_nominal():
         "SPLAT_ULF": 27,
         "CHLAT_LF": 48,
         "SPLAT_LF": 48,
-        "SAT_LF": 19,
+        "SAT_LF": 37,
         "CHLAT_MF": 432,
         "SPLAT_MF": 432,
         "SAT_MFL": 217,
         "SAT_MFH": 271,
+        "SAT_MF": 432,
         "CHLAT_HF": 469,
         "SPLAT_HF": 469,
         "SAT_HF": 469,
@@ -667,11 +700,12 @@ def sim_nominal():
         "SPLAT_ULF": 21.1,
         "CHLAT_LF": 16.1,
         "SPLAT_LF": 16.1,
-        "SAT_LF": 26.0,
+        "SAT_LF": 19.1,
         "CHLAT_MF": 5.3,
         "SPLAT_MF": 5.3,
         "SAT_MFL": 7.65,
         "SAT_MFH": 6.85,
+        "SAT_MF": 5.3,
         "CHLAT_HF": 5.2,
         "SPLAT_HF": 5.2,
         "SAT_HF": 5.2,
@@ -686,6 +720,7 @@ def sim_nominal():
         "SPLAT_MF": 0.71,
         "SAT_MFL": 1.273,
         "SAT_MFH": 0.71,
+        "SAT_MF": 0.71,
         "CHLAT_HF": 0.71,
         "SPLAT_HF": 0.71,
         "SAT_HF": 0.71,
@@ -700,6 +735,7 @@ def sim_nominal():
         "SPLAT_MF": ["SPLAT_f090", "SPLAT_f150"],
         "SAT_MFL": ["SAT_f085", "SAT_f145"],
         "SAT_MFH": ["SAT_f095", "SAT_f155"],
+        "SAT_MF": ["SAT_f090", "SAT_f150"],
         "CHLAT_HF": ["CHLAT_f220", "CHLAT_f280"],
         "SPLAT_HF": ["SPLAT_f220", "SPLAT_f280"],
         "SAT_HF": ["SAT_f220", "SAT_f280"],
@@ -715,6 +751,7 @@ def sim_nominal():
         "SPLAT_MF": [210,220],
         "SAT_MFL": [0,127],
         "SAT_MFH": [0,169],
+        "SAT_MF": [210,220],
         "CHLAT_HF": [0,331],
         "SPLAT_HF": [0,331],
         "SAT_HF": [0,331],
@@ -751,6 +788,7 @@ def sim_nominal():
         "SPLAT_MF": 0,
         "SAT_MFL": 0,
         "SAT_MFH": 0,
+        "SAT_MF": 0,
         "CHLAT_HF": 0,
         "SPLAT_HF": 0,
         "SAT_HF": 0,
@@ -1308,14 +1346,14 @@ def sim_nominal():
         tubes[nm] = tb
 
     stubes = [
-        "SAT_MFL",
-        "SAT_MFH",
+        "SAT_MF",
+        "SAT_MF",
         "SAT_HF",
-        "SAT_MFL",
-        "SAT_MFH",
+        "SAT_MF",
+        "SAT_MF",
         "SAT_HF",
-        "SAT_MFL",
-        "SAT_MFH",
+        "SAT_MF",
+        "SAT_MF",
         "SAT_LF",
     ]
     stube_toasthex_pos = [0, 0, 0, 0, 0, 0, 0, 0, 0]
@@ -1352,7 +1390,7 @@ def sim_nominal():
             ]
             # 30 deg, 10008 detectors/band
             tb["platescale"] = 0.070093/0.9909
-            tb["FOV_cut"] = 30.0
+            tb["FOV_cut"] = 34.9
         elif ttyp == "SAT_MFL":
             for tw in range(12):
                 off = 0
@@ -1407,6 +1445,33 @@ def sim_nominal():
             # 30 deg, 3552 det/band
             tb["platescale"] = 0.070093/0.9931
             tb["FOV_cut"] = 30.0
+        elif ttyp == "SAT_MF":
+            for tw in range(12):
+                off = 0
+                for w, props in cnf["wafers"].items():
+                    if props["type"] == ttyp:
+                        if off == woff[ttyp]:
+                            tb["wafers"].append(w)
+                            woff[ttyp] += 1
+                            break
+                        off += 1
+            tb["wafer_angle"] = [ # Degrees
+                0.0,
+                0.0,
+                0.0,
+                -60.0,
+                -60.0,
+                0.0,
+                0.0,
+                60.0,
+                60.0,
+                180.0,
+                180.0,
+                0.0,
+            ]
+            # 30 deg, 3552 det/band
+            tb["platescale"] = 0.070093/0.9931
+            tb["FOV_cut"] = 34.9
         else:
             for tw in range(12):
                 off = 0
@@ -1433,7 +1498,7 @@ def sim_nominal():
             ]
             # 30 deg, 252 det/band
             tb["platescale"] = 0.070093/0.9855
-            tb["FOV_cut"] = 30.0
+            tb["FOV_cut"] = 34.9
         tb["toast_hex_pos"] = stube_toasthex_pos[tindx]
         tubes[nm] = tb
 
@@ -1747,14 +1812,16 @@ def sim_nominal():
 
     #SAT beams
     sfwhm = OrderedDict()
-    sfwhm["SAT_f030"] = 100.9
-    sfwhm["SAT_f040"] = 74.4
-    sfwhm["SAT_f085"] = 29.5
-    sfwhm["SAT_f145"] = 18.1
-    sfwhm["SAT_f095"] = 26.4
-    sfwhm["SAT_f155"] = 16.9
-    sfwhm["SAT_f220"] = 11.3
-    sfwhm["SAT_f280"] = 10.1
+    sfwhm["SAT_f030"] = 79.2
+    sfwhm["SAT_f040"] = 56.6
+    sfwhm["SAT_f085"] = 22.9
+    sfwhm["SAT_f145"] = 14.2
+    sfwhm["SAT_f095"] = 20.6
+    sfwhm["SAT_f155"] = 13.5
+    sfwhm["SAT_f090"] = 21.4
+    sfwhm["SAT_f150"] = 14.0
+    sfwhm["SAT_f220"] = 9.4
+    sfwhm["SAT_f280"] = 7.8
 
     tele = OrderedDict()
     tele["tubes"] = ["ST0", "ST1", "ST2"]