diff --git a/py_wake/examples/data/iea34_130rwt/_iea34_130rwt.py b/py_wake/examples/data/iea34_130rwt/_iea34_130rwt.py
index dafb18ca8a3e764bcf9edec362be8f71a4d0a135..aec9f0133884b22202d9cbd7f3b7f9745406aa20 100644
--- a/py_wake/examples/data/iea34_130rwt/_iea34_130rwt.py
+++ b/py_wake/examples/data/iea34_130rwt/_iea34_130rwt.py
@@ -37,7 +37,7 @@ class IEA34_130_PowerCtSurrogate(PowerCtSurrogate):
         return power, ct
 
 
-class TreeRegionLoadSurrogates(FunctionSurrogates):
+class ThreeRegionLoadSurrogates(FunctionSurrogates):
     def __init__(self, function_surrogate_lst, input_parser):
         FunctionSurrogates.__init__(self, function_surrogate_lst, input_parser)
         self.ws_cutin = function_surrogate_lst[0][0].wind_speed_cut_in
@@ -68,35 +68,37 @@ class TreeRegionLoadSurrogates(FunctionSurrogates):
 
 
 class IEA34_130_Base(WindTurbine):
+    load_sensors = ['del_blade_flap', 'del_blade_edge', 'del_tower_bottom_fa', 'del_tower_bottom_ss',
+                    'del_tower_top_torsion']
+    set_names = ['below_cut_in', 'operating', 'above_cut_out']
+
     def __init__(self, powerCtFunction, loadFunction):
         WindTurbine.__init__(self, 'IEA 3.4MW', diameter=130, hub_height=110,
                              powerCtFunction=powerCtFunction,
                              loadFunction=loadFunction)
+        for sensor, fs_lst in zip(self.load_sensors, self.loadFunction.function_surrogate_lst):
+            for fs in fs_lst:
+                fs.output_channel_name = sensor
 
 
 class IEA34_130_1WT_Surrogate(IEA34_130_Base):
 
     def __init__(self):
-        sensors = ['del_blade_flap', 'del_blade_edge', 'del_tower_bottom_fa', 'del_tower_bottom_ss',
-                   'del_tower_top_torsion']
         surrogate_path = Path(example_data_path) / 'iea34_130rwt' / 'one_turbine'
-        set_names = ['below_cut_in', 'operating', 'above_cut_out']
-        loadFunction = TreeRegionLoadSurrogates(
-            [[TensorflowSurrogate(surrogate_path / s, n) for n in set_names] for s in sensors],
-            input_parser=lambda ws, TI_eff=.1, Alpha=0: [TI_eff, ws, Alpha])
+        loadFunction = ThreeRegionLoadSurrogates(
+            [[TensorflowSurrogate(surrogate_path / s, n) for n in self.set_names] for s in self.load_sensors],
+            input_parser=lambda ws, TI_eff=.1, Alpha=0: [ws, TI_eff, Alpha])
         powerCtFunction = IEA34_130_PowerCtSurrogate(
             'one_turbine',
-            input_parser=lambda ws, TI_eff, Alpha=0: [TI_eff, ws, Alpha])
+            input_parser=lambda ws, TI_eff, Alpha=0: [ws, TI_eff, Alpha])
         IEA34_130_Base.__init__(self, powerCtFunction=powerCtFunction, loadFunction=loadFunction)
 
 
 class IEA34_130_2WT_Surrogate(IEA34_130_Base):
     def __init__(self):
-        sensors = ['del_blade_flap']
         surrogate_path = Path(example_data_path) / 'iea34_130rwt' / 'two_turbines'
-        set_names = ['below_cut_in', 'operating', 'above_cut_out']
-        loadFunction = TreeRegionLoadSurrogates(
-            [[TensorflowSurrogate(surrogate_path / s, n) for n in set_names] for s in sensors],
+        loadFunction = ThreeRegionLoadSurrogates(
+            [[TensorflowSurrogate(surrogate_path / s, n) for n in self.set_names] for s in self.load_sensors],
             input_parser=self.get_input)
         self.max_dist = loadFunction.function_surrogate_lst[0][0].input_scaler.data_max_[4]
         self.max_angle = loadFunction.function_surrogate_lst[0][0].input_scaler.data_max_[3]
@@ -125,6 +127,7 @@ def main():
         import matplotlib.pyplot as plt
 
         u = np.arange(3, 28, .1)
+
         # ===============================================================================================================
         # IEA34_130_1WT_Surrogate
         # ===============================================================================================================
@@ -170,7 +173,7 @@ def main():
         plt.figure()
         site = Hornsrev1Site()
         x, y = [0, 1000], [0, 0]
-        sim_res = NOJ(site, wt, turbulenceModel=STF2017TurbulenceModel())(x, y, ws=np.arange(6, 25), Alpha=.12)
+        sim_res = NOJ(site, wt, turbulenceModel=STF2017TurbulenceModel())(x, y, ws=np.arange(3, 28), Alpha=.12)
         load_wd_averaged = sim_res.loads(normalize_probabilities=True, method='OneWT_WDAvg')
         loads = sim_res.loads(normalize_probabilities=True, method='OneWT')
         loads.DEL.isel(sensor=0, wt=0).plot()
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/extra_data.json
index f1efc2623c3298b49fce9035bbbcf4c7ac05969a..44318afd5f6e14b990eb00ef55755f53ae965a2c 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 309,
             "scale_": [
-                0.003217829437758253
+                0.0009160949060733422
             ],
             "min_": [
-                -2.241711711671581
+                -1.0
             ],
             "data_min_": [
-                385.8848754073917
+                0.0
             ],
             "data_max_": [
-                1007.4218582355832
+                2183.1799159026004
             ],
             "data_range_": [
-                621.5369828281914
+                2183.1799159026004
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 128,
             "scale_": [
-                0.006414867921372538
+                0.0015917827414332383
             ],
             "min_": [
-                -5.543090761343728
+                -1.0
             ],
             "data_min_": [
-                708.2126735933917
+                0.0
             ],
             "data_max_": [
-                1019.9883834777
+                1256.4528738383
             ],
             "data_range_": [
-                311.7757098843083
+                1256.4528738383
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.0021491953622476507
+                0.00032844455911796894
             ],
             "min_": [
-                -11.971056356553449
+                -1.0
             ],
             "data_min_": [
-                5104.727354836558
+                0.0
             ],
             "data_max_": [
-                6035.308182960242
+                6089.3077521849
             ],
             "data_range_": [
-                930.5808281236841
+                6089.3077521849
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_above_cut_out.h5
index c36267d7dfe121e60026408f82242fb87d1c3423..866f5b9c2f3f7a77b4e98480e2c43a96afb1f98a 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_below_cut_in.h5
index b42ae553b7bdfc10433bbdad1aa43afaa600fcf1..e14dc38c27f1c3d53ca481fd29f39f1eab60358d 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_operating.h5
index 8a0cef51f4f89fc97739607f1b48a3053af2e00a..0a490a386f8a50852059298f08923020457c3e4d 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_edge/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/extra_data.json
index 3afac2691a91b6daf80b13e3347c594cef6953b3..397c98af7e485b7a51214bb753e5ccb54b4a803e 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMx Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 309,
             "scale_": [
-                0.0044128736952490375
+                0.0004304624728914839
             ],
             "min_": [
-                -16.790881035417325
+                -1.0
             ],
             "data_min_": [
-                3578.366870644408
+                0.0
             ],
             "data_max_": [
-                4031.586277796992
+                4646.165754161301
             ],
             "data_range_": [
-                453.2194071525837
+                4646.165754161301
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 128,
             "scale_": [
-                0.004608273201192155
+                0.0004876000920352097
             ],
             "min_": [
-                -15.907513088691113
+                -1.0
             ],
             "data_min_": [
-                3234.945594118542
+                0.0
             ],
             "data_max_": [
-                3668.947640586317
+                4101.721949337901
             ],
             "data_range_": [
-                434.002046467775
+                4101.721949337901
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.00032756328073293837
+                0.0002660350733914166
             ],
             "min_": [
-                -1.359284416662768
+                -1.0
             ],
             "data_min_": [
-                1096.839718599875
+                0.0
             ],
             "data_max_": [
-                7202.530184041866
+                7517.8057332967
             ],
             "data_range_": [
-                6105.690465441991
+                7517.8057332967
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_above_cut_out.h5
index cafc0f33ab0bac29561340bc0189c09fb20933bb..9c9b37a9f4ffbf8552b60af3070180be957fc79f 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_below_cut_in.h5
index 067dd9a25cfd784a063275019d584893ed629098..4c9338596f8db5972260fd3160e95d4c61bf4d09 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_operating.h5
index 6196ded97c593712c5c007f476bc60d6df0d9ea8..2970b3e08966e701c464b621a326b87d82cfe7b9 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_blade_flap/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/extra_data.json
similarity index 62%
rename from py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/extra_data.json
rename to py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/extra_data.json
index 1b64008a5fc6fb282f41ce5513d5fcdf5e60cc15..664bc862765fe4a30f25c949d8905196104e60e4 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMz Mbdy:shaft nodenr:   3 coo: shaft  main bearing moment",
@@ -11,35 +11,35 @@
     "input_scalers": {
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -52,21 +52,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.007802703621193679
+                0.005332652310404682
             ],
             "min_": [
-                -1.4325525794302039
+                -1.0
             ],
             "data_min_": [
-                55.43624369575
+                0.0
             ],
             "data_max_": [
-                311.7576544651667
+                375.0478905399
             ],
             "data_range_": [
-                256.3214107694167
+                375.0478905399
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/model_set_operating.h5
similarity index 55%
rename from py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/model_set_operating.h5
rename to py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/model_set_operating.h5
index f7b34cf9c569a1619748601e8fa4e1e1a83c7f1f..e2399b6ff1fed469a19be350baeed9363b584533 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/shaft_torsion/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_shaft_torsion/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/extra_data.json
index 38e5d2c90095067fb8cdad67e5da79215bb35da6..9eca7e07304878d9a88d94658f01df4d220b5cfb 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 309,
             "scale_": [
-                0.0006468022347309646
+                0.0003587610503536167
             ],
             "min_": [
-                -2.4917984877225337
+                -1.0
             ],
             "data_min_": [
-                2306.4213566656003
+                0.0
             ],
             "data_max_": [
-                5398.556622450348
+                5574.741176693174
             ],
             "data_range_": [
-                3092.135265784748
+                5574.741176693174
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 128,
             "scale_": [
-                0.0005535856485690355
+                0.00022954808583201626
             ],
             "min_": [
-                -3.5032795237167074
+                -1.0
             ],
             "data_min_": [
-                4521.937174830017
+                0.0
             ],
             "data_max_": [
-                8134.747595710333
+                8712.7714123637
             ],
             "data_range_": [
-                3612.810420880316
+                8712.7714123637
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.0001684019418641057
+                8.204668240374936e-05
             ],
             "min_": [
-                -2.0006685073252397
+                -1.0
             ],
             "data_min_": [
-                5942.1435183493495
+                0.0
             ],
             "data_max_": [
-                17818.491129672784
+                24376.3664953332
             ],
             "data_range_": [
-                11876.347611323436
+                24376.3664953332
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_above_cut_out.h5
index 9f9483ed2d98c5de9014b948cef24c1382269089..f9b46acb3e1de56fd1583b9cbebd2330da5b52b9 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_below_cut_in.h5
index b29caea567a602cb68857a51f1f9bb4e4cecbadc..1cd121b00f80bfdd35b1fc6f029fb1e76fe2f461 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_operating.h5
index 2219556eef27a9c57c0a16c2f974a95cd6e482f2..89c8e55004e9059fa734643c87d09f81002591a3 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_fa/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/extra_data.json
index 247c729095eb82c35a75154cca8c0c4526050b78..041a46e87e25e5d233d2a08010a3c8418ccd8891 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 309,
             "scale_": [
-                0.0020066052137638992
+                0.0005049187191033845
             ],
             "min_": [
-                -1.8045229722301506
+                -1.0
             ],
             "data_min_": [
-                400.93734767142496
+                0.0
             ],
             "data_max_": [
-                1397.6456120980336
+                3961.033576951799
             ],
             "data_range_": [
-                996.7082644266086
+                3961.033576951799
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 128,
             "scale_": [
-                0.00025960293398094803
+                8.152439630383399e-05
             ],
             "min_": [
-                -4.3665602995688655
+                -1.0
             ],
             "data_min_": [
-                12968.113449041117
+                0.0
             ],
             "data_max_": [
-                20672.18662468087
+                24532.5337037294
             ],
             "data_range_": [
-                7704.0731756397545
+                24532.5337037294
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.00011261258690428557
+                7.304297209770148e-05
             ],
             "min_": [
-                -1.279161046714193
+                -1.0
             ],
             "data_min_": [
-                2478.950660741542
+                0.0
             ],
             "data_max_": [
-                20238.954715171876
+                27381.1421217201
             ],
             "data_range_": [
-                17760.004054430334
+                27381.1421217201
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_above_cut_out.h5
index 987f266d29aca77ab0c42c2d483b93ca621cc819..663bebf12849dc126b11f6737b1381eac1b82649 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_below_cut_in.h5
index 7518673f12e94c041096af46b78996ce2815f789..ebc86eb98ce5dd95af914f36da5d5b35d4fbdc96 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_operating.h5
index 933f9c61eef0ab52f09b8ce71753af2f5f42888d..755dc20f105030ddcbccf3f512151a2d533da80d 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_bottom_ss/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/extra_data.json
index a4048f82604c08f172a15c597450788607a332f9..d5c74872af0e3e2ad3a2028eb66d0899bd2abbf7 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 309,
             "scale_": [
-                0.0018579893948479753
+                0.0006860918045094293
             ],
             "min_": [
-                -1.0520578881822586
+                -1.0
             ],
             "data_min_": [
-                28.01839898904167
+                0.0
             ],
             "data_max_": [
-                1104.45080788535
+                2915.0617845232005
             ],
             "data_range_": [
-                1076.4324088963083
+                2915.0617845232005
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 128,
             "scale_": [
-                0.003485040892285354
+                0.0011332153675268077
             ],
             "min_": [
-                -3.5920339382084996
+                -1.0
             ],
             "data_min_": [
-                743.7599782390917
+                0.0
             ],
             "data_max_": [
-                1317.6413362533667
+                1764.8895852559
             ],
             "data_range_": [
-                573.8813580142751
+                1764.8895852559
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1566,
             "scale_": [
-                0.0009029800725824906
+                0.0004722854881372235
             ],
             "min_": [
-                -1.922451355499918
+                -1.0
             ],
             "data_min_": [
-                1021.5633583825834
+                0.0
             ],
             "data_max_": [
-                3236.4516607125247
+                4234.7267706411
             ],
             "data_range_": [
-                2214.8883023299413
+                4234.7267706411
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_above_cut_out.h5
index 77a94c8acdbbef266392b5f6986a411d1bcb73a1..361e6d14e0c404bd3185d1ef7b610afc7812cfce 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_below_cut_in.h5
index 9a64ef7fdb59e22342e8da75b5bc29d06ad304c3..7d08aebc83fc368f04ac2f1297ed173261d14344 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_operating.h5
index b9e26744bc990556952a51d71960e36cfea16a40..8dc0831b755bfe21803eb87cc206cdb0ded6e56c 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/del_tower_top_torsion/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/extra_data.json
index c5e95e9292d112c2c3357c6691f9b6f75311e558..956e75a2f97e213c39599f46862735d2faada905 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "generator_servo inpvec   2  2: pelec [w]",
@@ -11,35 +11,35 @@
     "input_scalers": {
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -52,21 +52,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                6.35907136744498e-07
+                6.348031534262567e-07
             ],
             "min_": [
-                -1.1620501584102665
+                -1.1583373927550151
             ],
             "data_min_": [
-                254833.05509020717
+                249427.5460044776
             ],
             "data_max_": [
-                3399946.3655633726
+                3400010.508936048
             ],
             "data_range_": [
-                3145113.3104731655
+                3150582.9629315706
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/model_set_operating.h5
index bf98badf63ee1a326930e805083f654c0046a51e..0e5ca9564db4503cec4946842bb49b94aa858751 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/electrical_power/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/extra_data.json b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/extra_data.json
index f147c7922f04b065505d27a76310dcdb899eaf7d..e9ebf24f193f828527d4c1a647ea5a149693a561 100644
--- a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/extra_data.json
@@ -1,7 +1,7 @@
 {
     "input_channel_names": [
-        "ti",
         "ws",
+        "ti",
         "shear"
     ],
     "output_channel_name": "Aero rotor thrust",
@@ -11,103 +11,103 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                4.093931847815023,
-                1.5527559984108794,
-                10.034296914116865
+                2.077667186797471,
+                5.45739665679305,
+                13.37906255215582
             ],
             "min_": [
-                -3.00460564098673,
-                -3.206397077344649,
-                -2.0024497794364287
+                -4.273422763436555,
+                -4.0044113992691726,
+                -2.669933039248572
             ],
             "data_min_": [
-                0.0011249921,
-                0.1329230591,
+                0.1316008479,
+                0.000808334,
                 -0.0994140625
             ],
             "data_max_": [
+                3.9820731713,
                 1.4667087446,
-                3.997020191,
                 0.4985351562
             ],
             "data_range_": [
-                1.4655837525,
-                3.8640971319,
+                3.8504723234,
+                1.4659004106,
                 0.5979492187
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                17.108732300045514,
-                1.2235952583871186,
-                10.058939096267192
+                1.7038105156133243,
+                22.784779731253494,
+                13.411918795022922
             ],
             "min_": [
-                -3.028362517654116,
-                -33.59896481247119,
-                -2.0029469543104126
+                -46.75667134943951,
+                -4.037787449843989,
+                -2.67059593908055
             ],
             "data_min_": [
-                0.0016577802,
-                25.0074234946,
+                25.0947338085,
+                0.0016584514,
                 -0.0991210938
             ],
             "data_max_": [
-                0.3523558854,
-                29.9110057526,
+                29.7900916119,
+                0.3527700309,
                 0.4973632812
             ],
             "data_range_": [
-                0.3506981052,
-                4.903582258,
+                4.6953578034,
+                0.3511115795,
                 0.596484375
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 3,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                11.79559835553993,
-                0.28710421679370607,
-                10.014669925814587
+                0.38140425942903444,
+                15.512396901553764,
+                13.352893234419449
             ],
             "min_": [
-                -3.000817363012889,
-                -4.148878985987874,
-                -2.0014669922476362
+                -5.527767728773947,
+                -4.001077368540846,
+                -2.668622656330182
             ],
             "data_min_": [
-                6.92939e-05,
-                4.0016095856,
+                4.0056388753,
+                6.94521e-05,
                 -0.0997070313
             ],
             "data_max_": [
-                0.5087336125,
-                24.8999442287,
+                24.9807585868,
+                0.5157860142,
                 0.4994140625
             ],
             "data_range_": [
-                0.5086643186,
-                20.8983346431,
+                20.9751197115,
+                0.5157165621,
                 0.5991210938
             ]
         }
@@ -120,21 +120,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 290,
+            "n_samples_seen_": 308,
             "scale_": [
-                0.1424426159776148
+                0.13709055372598483
             ],
             "min_": [
-                1.028076489684283
+                1.0048702552595885
             ],
             "data_min_": [
-                -14.237849226266668
+                -14.624423060299998
             ],
             "data_max_": [
-                -0.1971073719166667
+                -0.0355258267416666
             ],
             "data_range_": [
-                14.040741854350001
+                14.588897233558331
             ]
         },
         "above_cut_out": {
@@ -144,21 +144,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 138,
+            "n_samples_seen_": 127,
             "scale_": [
-                0.4052971246646382
+                0.30061322005685887
             ],
             "min_": [
-                -5.809703771840778
+                -4.363538100692795
             ],
             "data_min_": [
-                11.867105585366666
+                11.188922762800004
             ],
             "data_max_": [
-                16.801756927033335
+                17.841990114999998
             ],
             "data_range_": [
-                4.934651341666669
+                6.653067352199994
             ]
         },
         "operating": {
@@ -168,21 +168,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 1572,
+            "n_samples_seen_": 1565,
             "scale_": [
-                0.0046112884259156784
+                0.004458316175867553
             ],
             "min_": [
-                -1.489720115713352
+                -1.4720886807379039
             ],
             "data_min_": [
-                106.20027863820002
+                105.88945739049996
             ],
             "data_max_": [
-                539.9185402762917
+                554.4893146248999
             ],
             "data_range_": [
-                433.71826163809163
+                448.5998572343999
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_above_cut_out.h5
index 0970ffeee7f694cd690ef662b6e62f40199de66b..5dfea97ab8a14b0274e63ccb7b36c7330aec616b 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_below_cut_in.h5
index bfe88bd00d058efb20365c560971f3693f515aa8..8c5e9ecb9ad11739af1a59edfbb0489697a10e92 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_operating.h5
index 05e74cc8ef905f43c09fcf56ab4fe1d1bf451d07..6d07fae45622a52f6f1bcaff521fa1f7280039b1 100644
Binary files a/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/one_turbine/thrust/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/extra_data.json
new file mode 100644
index 0000000000000000000000000000000000000000..760b31e23af7b5f387e3c6c712f8b3825abff800
--- /dev/null
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/extra_data.json
@@ -0,0 +1,221 @@
+{
+    "input_channel_names": [
+        "ws",
+        "ti",
+        "shear",
+        "wdir",
+        "dist"
+    ],
+    "output_channel_name": "MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1",
+    "wind_speed_cut_in": 4.0,
+    "wind_speed_cut_out": 25.0,
+    "wohler_exponent": 10,
+    "input_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 809,
+            "scale_": [
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
+            ],
+            "min_": [
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
+            ],
+            "data_min_": [
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
+            ],
+            "data_max_": [
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
+            ],
+            "data_range_": [
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 347,
+            "scale_": [
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
+            ],
+            "min_": [
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
+            ],
+            "data_min_": [
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
+            ],
+            "data_max_": [
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
+            ],
+            "data_range_": [
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 3837,
+            "scale_": [
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
+            ],
+            "min_": [
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
+            ],
+            "data_min_": [
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
+            ],
+            "data_max_": [
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
+            ],
+            "data_range_": [
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
+            ]
+        }
+    },
+    "output_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 810,
+            "scale_": [
+                0.0009117544342660221
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                2193.5730991097776
+            ],
+            "data_range_": [
+                2193.5730991097776
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 348,
+            "scale_": [
+                0.00164753811795698
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                1213.932459711517
+            ],
+            "data_range_": [
+                1213.932459711517
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 3838,
+            "scale_": [
+                0.0003100351387651223
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                6450.881690269206
+            ],
+            "data_range_": [
+                6450.881690269206
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_above_cut_out.h5
new file mode 100644
index 0000000000000000000000000000000000000000..607bc1c257c770d77ffc2605e5bb53734111b6c5
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_below_cut_in.h5
new file mode 100644
index 0000000000000000000000000000000000000000..233b1362149af78f0d3351e8dbcf894ca96ef671
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_operating.h5
new file mode 100644
index 0000000000000000000000000000000000000000..da660e66034845acbed6ef1317267d83bba4db06
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_edge/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/extra_data.json
index ff2e284385343f1c614acb01e2389fc86dfeebbd..8208ec5ad2cb7242897b86d84e26fc359982ccbb 100644
--- a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/extra_data.json
@@ -13,134 +13,134 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 554,
+            "n_samples_seen_": 809,
             "scale_": [
-                1.5462200544842188,
-                4.012129994849656,
-                10.060534187255557,
-                0.06686493823099755,
-                0.00791177589454105
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
             ],
             "min_": [
-                -3.167624284306864,
-                -3.0092687288302598,
-                -2.029530267146278,
-                -0.00630410099768941,
-                -3.02388906238842
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
             ],
             "data_min_": [
-                0.108409074,
-                0.0023101766,
-                -0.0964630421,
-                -44.7722824279,
-                3.0194311248
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
             ],
             "data_max_": [
-                3.9888399238,
-                1.4977751809,
-                0.4999267607,
-                44.9608446599,
-                761.3826709304
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
             ],
             "data_range_": [
-                3.8804308498,
-                1.4954650043,
-                0.5963898028,
-                89.7331270878,
-                758.3632398056
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 381,
+            "n_samples_seen_": 347,
             "scale_": [
-                1.2140622644594963,
-                16.960337051014342,
-                10.117679016365761,
-                0.06689106098517267,
-                0.014764621348659447
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
             ],
             "min_": [
-                -33.36063754712874,
-                -3.024813405594229,
-                -2.038527784944238,
-                0.00027280480739033663,
-                -3.0442990108335226
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
             ],
             "data_min_": [
-                25.007479794,
-                0.0014630255,
-                -0.0950289304,
-                -44.8531202917,
-                3.0003485892
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
             ],
             "data_max_": [
-                29.9495656949,
-                0.3552295799,
-                0.4979924523,
-                44.8449636022,
-                409.3771772469
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
             ],
             "data_range_": [
-                4.942085900899997,
-                0.3537665544,
-                0.5930213827,
-                89.6980838939,
-                406.3768286577
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3837,
             "scale_": [
-                0.2858335836605978,
-                11.363857407880912,
-                10.00290919442841,
-                0.06667875163956076,
-                0.006205075461185885
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
             ],
             "min_": [
-                -4.144501554717619,
-                -3.0002574515987326,
-                -1.9998034780112268,
-                -4.013869147279081e-05,
-                -3.018616903917642
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
             ],
             "data_min_": [
-                4.0040835652,
-                2.26553e-05,
-                -0.099990563,
-                -44.9912421505,
-                3.0002703487
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
             ],
             "data_max_": [
-                24.9953188258,
-                0.5280123849,
-                0.4998349361,
-                44.992446093,
-                969.9506382421
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
             ],
             "data_range_": [
-                20.9912352606,
-                0.5279897296,
-                0.5998254991,
-                89.9836882435,
-                966.9503678934
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
             ]
         }
     },
@@ -152,21 +152,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 554,
+            "n_samples_seen_": 810,
             "scale_": [
-                0.004349561028902145
+                0.00039775843949650663
             ],
             "min_": [
-                -16.553393959688357
+                -1.0
             ],
             "data_min_": [
-                3575.8537140503418
+                0.0
             ],
             "data_max_": [
-                4035.670230409192
+                5028.177409715439
             ],
             "data_range_": [
-                459.8165163588501
+                5028.177409715439
             ]
         },
         "above_cut_out": {
@@ -176,21 +176,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 381,
+            "n_samples_seen_": 348,
             "scale_": [
-                0.0034616140545169777
+                0.00047444545132099895
             ],
             "min_": [
-                -11.851005307400136
+                -1.0
             ],
             "data_min_": [
-                3134.6664118262743
+                0.0
             ],
             "data_max_": [
-                3712.431572384901
+                4215.447728356122
             ],
             "data_range_": [
-                577.7651605586266
+                4215.447728356122
             ]
         },
         "operating": {
@@ -200,21 +200,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3838,
             "scale_": [
-                0.00031435293254828794
+                0.00025745517153600786
             ],
             "min_": [
-                -1.3357513527498337
+                -1.0
             ],
             "data_min_": [
-                1068.0713236173126
+                0.0
             ],
             "data_max_": [
-                7430.34694734727
+                7768.342690759578
             ],
             "data_range_": [
-                6362.275623729957
+                7768.342690759578
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_above_cut_out.h5
index 0ba812a0e566b8f8fe83bc6acf01ec827f3ea725..7245d9bcc2f93dca8de41f40334955f1ac626adc 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_below_cut_in.h5
index f48f81bbb77363eb77c01590fc7cd25f6334a6bd..40d4568cb8969901e42a9ddb692d1b00e93ebccd 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_operating.h5
index 1b6b67a8dd5712a82782eff2249bf3aa27f46158..9e114d1c857b1912783219ce8c1fe35f322a304a 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_blade_flap/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/extra_data.json
new file mode 100644
index 0000000000000000000000000000000000000000..a77bbe663923ebf5d222438e50c189ad0cb41d10
--- /dev/null
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/extra_data.json
@@ -0,0 +1,85 @@
+{
+    "input_channel_names": [
+        "ws",
+        "ti",
+        "shear",
+        "wdir",
+        "dist"
+    ],
+    "output_channel_name": "MomentMz Mbdy:shaft nodenr:   3 coo: shaft  main bearing moment",
+    "wind_speed_cut_in": 4.0,
+    "wind_speed_cut_out": 25.0,
+    "wohler_exponent": NaN,
+    "input_scalers": {
+        "operating": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 3837,
+            "scale_": [
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
+            ],
+            "min_": [
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
+            ],
+            "data_min_": [
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
+            ],
+            "data_max_": [
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
+            ],
+            "data_range_": [
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
+            ]
+        }
+    },
+    "output_scalers": {
+        "operating": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 3838,
+            "scale_": [
+                0.00253849302661858
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                787.8690148162889
+            ],
+            "data_range_": [
+                787.8690148162889
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/model_set_operating.h5
new file mode 100644
index 0000000000000000000000000000000000000000..c9cede3ee5294a8eceeb65032a6dbbf7c2120351
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_shaft_torsion/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/extra_data.json
new file mode 100644
index 0000000000000000000000000000000000000000..2ff50d0f6fa138ed2196db9f573b5935afc3d985
--- /dev/null
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/extra_data.json
@@ -0,0 +1,221 @@
+{
+    "input_channel_names": [
+        "ws",
+        "ti",
+        "shear",
+        "wdir",
+        "dist"
+    ],
+    "output_channel_name": "MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment",
+    "wind_speed_cut_in": 4.0,
+    "wind_speed_cut_out": 25.0,
+    "wohler_exponent": 4,
+    "input_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 809,
+            "scale_": [
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
+            ],
+            "min_": [
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
+            ],
+            "data_min_": [
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
+            ],
+            "data_max_": [
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
+            ],
+            "data_range_": [
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 347,
+            "scale_": [
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
+            ],
+            "min_": [
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
+            ],
+            "data_min_": [
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
+            ],
+            "data_max_": [
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
+            ],
+            "data_range_": [
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 3837,
+            "scale_": [
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
+            ],
+            "min_": [
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
+            ],
+            "data_min_": [
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
+            ],
+            "data_max_": [
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
+            ],
+            "data_range_": [
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
+            ]
+        }
+    },
+    "output_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 810,
+            "scale_": [
+                0.0003636787123161356
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                5499.359550804438
+            ],
+            "data_range_": [
+                5499.359550804438
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 348,
+            "scale_": [
+                0.0001902500092474006
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                10512.483063268635
+            ],
+            "data_range_": [
+                10512.483063268635
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 3838,
+            "scale_": [
+                7.060031857030584e-05
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                28328.48407062557
+            ],
+            "data_range_": [
+                28328.48407062557
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_above_cut_out.h5
new file mode 100644
index 0000000000000000000000000000000000000000..b739cac39b0d2650628c2cca72b99d193f00e871
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_below_cut_in.h5
new file mode 100644
index 0000000000000000000000000000000000000000..c231921ccf0942eac8939c2bcfb05f2e60a54671
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_operating.h5
new file mode 100644
index 0000000000000000000000000000000000000000..c53cb4ed93eac014b15ef1700fcfab5b7c68c643
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_fa/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/extra_data.json
new file mode 100644
index 0000000000000000000000000000000000000000..b1fa78afca4e960862ef1aabe92926fdaeebba5a
--- /dev/null
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/extra_data.json
@@ -0,0 +1,221 @@
+{
+    "input_channel_names": [
+        "ws",
+        "ti",
+        "shear",
+        "wdir",
+        "dist"
+    ],
+    "output_channel_name": "MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment",
+    "wind_speed_cut_in": 4.0,
+    "wind_speed_cut_out": 25.0,
+    "wohler_exponent": 4,
+    "input_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 809,
+            "scale_": [
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
+            ],
+            "min_": [
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
+            ],
+            "data_min_": [
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
+            ],
+            "data_max_": [
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
+            ],
+            "data_range_": [
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 347,
+            "scale_": [
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
+            ],
+            "min_": [
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
+            ],
+            "data_min_": [
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
+            ],
+            "data_max_": [
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
+            ],
+            "data_range_": [
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 3837,
+            "scale_": [
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
+            ],
+            "min_": [
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
+            ],
+            "data_min_": [
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
+            ],
+            "data_max_": [
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
+            ],
+            "data_range_": [
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
+            ]
+        }
+    },
+    "output_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 810,
+            "scale_": [
+                0.00048556820584863525
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                4118.885824710389
+            ],
+            "data_range_": [
+                4118.885824710389
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 348,
+            "scale_": [
+                7.651987996581905e-05
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                26136.998658301443
+            ],
+            "data_range_": [
+                26136.998658301443
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 3838,
+            "scale_": [
+                5.645164938835359e-05
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                35428.54853081787
+            ],
+            "data_range_": [
+                35428.54853081787
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_above_cut_out.h5
new file mode 100644
index 0000000000000000000000000000000000000000..85101b2b99db625a1b6cb73c6d0d3fd6228ef909
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_below_cut_in.h5
new file mode 100644
index 0000000000000000000000000000000000000000..a3a18ea78fe0bc46134ba1aba9d8f262bf092b0c
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_operating.h5
new file mode 100644
index 0000000000000000000000000000000000000000..158991ba9abbca8e8973d30a51bd185517169149
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_bottom_ss/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/extra_data.json
new file mode 100644
index 0000000000000000000000000000000000000000..6c4d2145dd401a25120b6a6106809d22875deea1
--- /dev/null
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/extra_data.json
@@ -0,0 +1,221 @@
+{
+    "input_channel_names": [
+        "ws",
+        "ti",
+        "shear",
+        "wdir",
+        "dist"
+    ],
+    "output_channel_name": "MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment",
+    "wind_speed_cut_in": 4.0,
+    "wind_speed_cut_out": 25.0,
+    "wohler_exponent": 7,
+    "input_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 809,
+            "scale_": [
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
+            ],
+            "min_": [
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
+            ],
+            "data_min_": [
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
+            ],
+            "data_max_": [
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
+            ],
+            "data_range_": [
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 347,
+            "scale_": [
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
+            ],
+            "min_": [
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
+            ],
+            "data_min_": [
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
+            ],
+            "data_max_": [
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
+            ],
+            "data_range_": [
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -4.0,
+                4.0
+            ],
+            "copy": true,
+            "n_features_in_": 5,
+            "n_samples_seen_": 3837,
+            "scale_": [
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
+            ],
+            "min_": [
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
+            ],
+            "data_min_": [
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
+            ],
+            "data_max_": [
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
+            ],
+            "data_range_": [
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
+            ]
+        }
+    },
+    "output_scalers": {
+        "below_cut_in": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 810,
+            "scale_": [
+                0.000584454869988813
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                3421.992189128789
+            ],
+            "data_range_": [
+                3421.992189128789
+            ]
+        },
+        "above_cut_out": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 348,
+            "scale_": [
+                0.0011590912867873028
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                1725.4896338177778
+            ],
+            "data_range_": [
+                1725.4896338177778
+            ]
+        },
+        "operating": {
+            "feature_range": [
+                -1.0,
+                1.0
+            ],
+            "copy": true,
+            "n_features_in_": 1,
+            "n_samples_seen_": 3838,
+            "scale_": [
+                0.00044284413700155877
+            ],
+            "min_": [
+                -1.0
+            ],
+            "data_min_": [
+                0.0
+            ],
+            "data_max_": [
+                4516.26166610615
+            ],
+            "data_range_": [
+                4516.26166610615
+            ]
+        }
+    }
+}
\ No newline at end of file
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_above_cut_out.h5
new file mode 100644
index 0000000000000000000000000000000000000000..15cad26e0bad69e5ed8e0c6f552ccbc64abb8d4a
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_below_cut_in.h5
new file mode 100644
index 0000000000000000000000000000000000000000..c8a8a78bc3bc925cd8cb83c1575016e9fabff013
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_operating.h5
new file mode 100644
index 0000000000000000000000000000000000000000..ba8a04f0a90fe1a8ceb3a8b2ca4b786331a90a5a
Binary files /dev/null and b/py_wake/examples/data/iea34_130rwt/two_turbines/del_tower_top_torsion/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/extra_data.json
index 4abc789c872aecd04133722be0e42dcf9e9836d4..40ded26e63ebd18ca727ac589ab58dd5b2e4b728 100644
--- a/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/extra_data.json
@@ -13,46 +13,46 @@
     "input_scalers": {
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3837,
             "scale_": [
-                0.2858335836605978,
-                11.363857407880912,
-                10.00290919442841,
-                0.06667875163956076,
-                0.006205075461185885
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
             ],
             "min_": [
-                -4.144501554717619,
-                -3.0002574515987326,
-                -1.9998034780112268,
-                -4.013869147279081e-05,
-                -3.018616903917642
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
             ],
             "data_min_": [
-                4.0040835652,
-                2.26553e-05,
-                -0.099990563,
-                -44.9912421505,
-                3.0002703487
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
             ],
             "data_max_": [
-                24.9953188258,
-                0.5280123849,
-                0.4998349361,
-                44.992446093,
-                969.9506382421
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
             ],
             "data_range_": [
-                20.9912352606,
-                0.5279897296,
-                0.5998254991,
-                89.9836882435,
-                966.9503678934
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
             ]
         }
     },
@@ -64,21 +64,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3837,
             "scale_": [
-                6.105886657548688e-07
+                6.007325326431047e-07
             ],
             "min_": [
-                -1.075968492046864
+                -1.0424970260948019
             ],
             "data_min_": [
-                124418.44453981868
+                70742.0087735607
             ],
             "data_max_": [
-                3399946.000439348
+                3400010.678809449
             ],
             "data_range_": [
-                3275527.5558995297
+                3329268.6700358884
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/model_set_operating.h5
index 32b9ada26786349ffa38350afbe87ef3a7053f76..c9d1046afcab9b5e56700ec033fbca3a35d9de5f 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/electrical_power/model_set_operating.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/extra_data.json b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/extra_data.json
index 989074eda6e9c6ade78da892c5b7d5478067c57b..c177ff27bf05ea43e0530e7f2450f1785ecbeea8 100644
--- a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/extra_data.json
+++ b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/extra_data.json
@@ -13,134 +13,134 @@
     "input_scalers": {
         "below_cut_in": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 554,
+            "n_samples_seen_": 809,
             "scale_": [
-                1.5462200544842188,
-                4.012129994849656,
-                10.060534187255557,
-                0.06686493823099755,
-                0.00791177589454105
+                2.0520607572483756,
+                5.373857893419336,
+                13.346616528964988,
+                0.08904933641875029,
+                0.010379693962097985
             ],
             "min_": [
-                -3.167624284306864,
-                -3.0092687288302598,
-                -2.029530267146278,
-                -0.00630410099768941,
-                -3.02388906238842
+                -4.206270588809255,
+                -4.026719863974512,
+                -2.6714467317955006,
+                0.00301297591818539,
+                -4.031171799779834
             ],
             "data_min_": [
-                0.108409074,
-                0.0023101766,
-                -0.0964630421,
-                -44.7722824279,
-                3.0194311248
+                0.1005187532,
+                0.004972194,
+                -0.0995423271,
+                -44.9527546965,
+                3.0031521058
             ],
             "data_max_": [
-                3.9888399238,
-                1.4977751809,
-                0.4999267607,
-                44.9608446599,
-                761.3826709304
+                3.9990388003,
+                1.4936606109,
+                0.499860524,
+                44.8850848847,
+                773.7387854696
             ],
             "data_range_": [
-                3.8804308498,
-                1.4954650043,
-                0.5963898028,
-                89.7331270878,
-                758.3632398056
+                3.8985200471000003,
+                1.4886884168999999,
+                0.5994028511,
+                89.8378395812,
+                770.7356333637999
             ]
         },
         "above_cut_out": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 381,
+            "n_samples_seen_": 347,
             "scale_": [
-                1.2140622644594963,
-                16.960337051014342,
-                10.117679016365761,
-                0.06689106098517267,
-                0.014764621348659447
+                1.6295575759017566,
+                22.765982833846216,
+                13.416704696064565,
+                0.08908391001636787,
+                0.015135500726178941
             ],
             "min_": [
-                -33.36063754712874,
-                -3.024813405594229,
-                -2.038527784944238,
-                0.00027280480739033663,
-                -3.0442990108335226
+                -44.79174013292665,
+                -4.064390650186945,
+                -2.677933274668322,
+                7.143032082801426e-05,
+                -4.045464830222451
             ],
             "data_min_": [
-                25.007479794,
-                0.0014630255,
-                -0.0950289304,
-                -44.8531202917,
-                3.0003485892
+                25.0324018839,
+                0.0028283712,
+                -0.0985388555,
+                -44.9022885231,
+                3.0038537241
             ],
             "data_max_": [
-                29.9495656949,
-                0.3552295799,
-                0.4979924523,
-                44.8449636022,
-                409.3771772469
+                29.941709857,
+                0.3542298485,
+                0.4977327463,
+                44.9006848593,
+                531.5625148963
             ],
             "data_range_": [
-                4.942085900899997,
-                0.3537665544,
-                0.5930213827,
-                89.6980838939,
-                406.3768286577
+                4.909307973099999,
+                0.3514014773,
+                0.5962716017999999,
+                89.8029733824,
+                528.5586611721999
             ]
         },
         "operating": {
             "feature_range": [
-                -3.0,
-                3.0
+                -4.0,
+                4.0
             ],
             "copy": true,
             "n_features_in_": 5,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3837,
             "scale_": [
-                0.2858335836605978,
-                11.363857407880912,
-                10.00290919442841,
-                0.06667875163956076,
-                0.006205075461185885
+                0.3811095004271243,
+                15.277965481111076,
+                13.337554618242715,
+                0.08889835364906937,
+                0.008561220781432892
             ],
             "min_": [
-                -4.144501554717619,
-                -3.0002574515987326,
-                -1.9998034780112268,
-                -4.013869147279081e-05,
-                -3.018616903917642
+                -5.524981689358597,
+                -4.0008155118248405,
+                -2.6677115744870976,
+                3.337518002854978e-05,
+                -4.025685906955127
             ],
             "data_min_": [
-                4.0040835652,
-                2.26553e-05,
-                -0.099990563,
-                -44.9912421505,
-                3.0002703487
+                4.0014265917,
+                5.33783e-05,
+                -0.0998900071,
+                -44.9955844061,
+                3.0002621835
             ],
             "data_max_": [
-                24.9953188258,
-                0.5280123849,
-                0.4998349361,
-                44.992446093,
-                969.9506382421
+                24.9927689514,
+                0.5236833086,
+                0.4999200952,
+                44.9948335445,
+                937.4464357187
             ],
             "data_range_": [
-                20.9912352606,
-                0.5279897296,
-                0.5998254991,
-                89.9836882435,
-                966.9503678934
+                20.9913423597,
+                0.5236299303,
+                0.5998101023,
+                89.9904179506,
+                934.4461735351999
             ]
         }
     },
@@ -152,21 +152,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 554,
+            "n_samples_seen_": 809,
             "scale_": [
-                0.14176690898241076
+                0.13221478579422918
             ],
             "min_": [
-                1.0271835608785498
+                1.0064180449185827
             ],
             "data_min_": [
-                -14.299412856141666
+                -15.175443751361108
             ],
             "data_max_": [
-                -0.1917482794374999
+                -0.0485425656444444
             ],
             "data_range_": [
-                14.107664576704167
+                15.126901185716664
             ]
         },
         "above_cut_out": {
@@ -176,21 +176,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 381,
+            "n_samples_seen_": 347,
             "scale_": [
-                0.39849074525006134
+                0.2816830645016472
             ],
             "min_": [
-                -5.718378890162279
+                -4.133983310352102
             ],
             "data_min_": [
-                11.840623518625
+                11.125920246205554
             ],
             "data_max_": [
-                16.859560655408334
+                18.226098609922214
             ],
             "data_range_": [
-                5.018937136783334
+                7.10017836371666
             ]
         },
         "operating": {
@@ -200,21 +200,21 @@
             ],
             "copy": true,
             "n_features_in_": 1,
-            "n_samples_seen_": 4053,
+            "n_samples_seen_": 3837,
             "scale_": [
-                0.00417517689902569
+                0.0038557564725860386
             ],
             "min_": [
-                -1.2550647952593086
+                -1.1764234935677385
             ],
             "data_min_": [
-                61.09077565523751
+                45.7558704296
             ],
             "data_max_": [
-                540.1123951863083
+                564.4608286446112
             ],
             "data_range_": [
-                479.02161953107077
+                518.7049582150112
             ]
         }
     }
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_above_cut_out.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_above_cut_out.h5
index f2bfaf408ef4afc4023ff6f59844d86ca1f49ae3..983029e3548756575501dd745ca542aa135a2de0 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_above_cut_out.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_above_cut_out.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_below_cut_in.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_below_cut_in.h5
index 914123edc3fa40f1cca70a459fd62b8c6ab2c202..0a782eea259cf086e8deab55613484ce10991f48 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_below_cut_in.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_below_cut_in.h5 differ
diff --git a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_operating.h5 b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_operating.h5
index e4e062eaa0e1e3aae38bf995e01e59b7ab0d041b..5767dafa10ab48664f017c6d95ecd443b56e6c56 100644
Binary files a/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_operating.h5 and b/py_wake/examples/data/iea34_130rwt/two_turbines/thrust/model_set_operating.h5 differ
diff --git a/py_wake/tests/test_load_surrogates/test_iea34_surrogates.py b/py_wake/tests/test_load_surrogates/test_iea34_surrogates.py
index 8fd5060f839b9337bb4e960f73ab9edbedc16499..9953a31c0b84957aab8da6d80a1a37484f1f3bc3 100644
--- a/py_wake/tests/test_load_surrogates/test_iea34_surrogates.py
+++ b/py_wake/tests/test_load_surrogates/test_iea34_surrogates.py
@@ -1,93 +1,108 @@
 import numpy as np
+import pandas as pd
+
 from py_wake.examples.data.iea34_130rwt._iea34_130rwt import IEA34_130_1WT_Surrogate, IEA34_130_2WT_Surrogate
 from py_wake.tests import npt
 from py_wake.deficit_models.noj import NOJ
 from py_wake.site.xrsite import UniformSite
 from py_wake.turbulence_models.stf import STF2017TurbulenceModel
+from pathlib import Path
 
 
 def test_one_turbine_case0():
-    ti, ws, shear = 0.0592370641, 9.6833182032, 0.2
+    ws, ti, shear = 9.2984459862, 0.0597870198, 0.2
+
+    if 0:
+        f = r'C:\mmpe\programming\python\Topfarm\iea-3_4-130-rwt\turbine_model\res/'
+        print(pd.concat([pd.read_csv(f + 'stats_one_turbine_mean.csv').iloc[0, [10, 14, 322]],
+                         pd.read_csv(f + 'stats_one_turbine_std.csv').iloc[0, [10, 14, 322]]],
+                        axis=1))
+        # Free wind speed Vy, gl. coo, of gl. pos    0.00...  9.309756e+00       0.401308
+        # Aero rotor thrust                                   5.408776e+02      11.489005
+        # generator_servo inpvec   2  2: pelec [w]            2.931442e+06  116491.192548
+
+        print(pd.read_csv(f + 'stats_one_turbine_del.csv').iloc[0, [28, 29, 1, 2, 9]])
+        # MomentMx Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1      1822.247387
+        # MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1      5795.166623
+        # MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment             4385.405881
+        # MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment             2468.357017
+        # MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment    1183.884786
 
-    # for i in [10, 14, 322]:
-    #     print(sensors[i], mean_values[i], std_values[i])
-    # "Free wind speed Vy gl. coo of gl. pos    0.00   0.00-110.00" 9.704401687125 0.7808578675666666
-    # Aero rotor thrust 532.846421460325 26.557189388525
-    # generator_servo inpvec   2  2: pelec [w] 3197471.4446449564 176585.66727525144
+    ws_ref = 9.309756e+00
+    ws_std_ref = 0.401308
+    power_ref = 2.931442e+06
+    thrust_ref = 5.408776e+02
+    ref_dels = [1822, 5795, 4385, 2468, 1183]
 
     wt = IEA34_130_1WT_Surrogate()
-    assert wt.loadFunction.output_keys[1] == 'MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1'
+    assert wt.loadFunction.output_keys[1] == 'del_blade_edge'
     assert wt.loadFunction.wohler_exponents == [10, 10, 4, 4, 7]
     site = UniformSite(p_wd=[1], ti=ti, ws=ws)
     sim_res = NOJ(site, wt, turbulenceModel=STF2017TurbulenceModel())([0], [0], wd=0, Alpha=shear)
 
-    npt.assert_allclose(ws, 9.7, atol=.02)
-    npt.assert_allclose(ti, 0.78 / 9.7, atol=.022)
-    npt.assert_allclose(sim_res.Power, 3197471, atol=230)
-    npt.assert_allclose(sim_res.CT, 532 * 1e3 / (1 / 2 * 1.225 * (65**2 * np.pi) * 9.7**2), atol=0.006)
-
-    # for i in [28,29,1,2,9]:
-    #     print(del_sensors[i], del_values[i])
-    # MomentMx Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1 2837.2258423768494
-    # MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1 5870.8557931814585
-    # MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment 9154.009617791817
-    # MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment 5184.805475839391
-    # MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment 2204.4440980948084
+    npt.assert_allclose(ws, ws_ref, rtol=.0013)
+    npt.assert_allclose(ti, ws_std_ref / ws_ref, atol=.02)
+    npt.assert_allclose(sim_res.Power, power_ref, rtol=0.003)
+    npt.assert_allclose(sim_res.CT, thrust_ref * 1e3 / (1 / 2 * 1.225 * (65**2 * np.pi) * ws_ref**2), rtol=0.011)
+
     loads = sim_res.loads(method='OneWT')
-    npt.assert_allclose(loads.DEL.squeeze(), [2837, 5870, 9154, 5184, 2204], rtol=.11)
+    npt.assert_allclose(loads.DEL.squeeze(), ref_dels, rtol=.11)
     f = 20 * 365 * 24 * 3600 / 1e7
     m = np.array([10, 10, 4, 4, 7])
     npt.assert_array_almost_equal(loads.LDEL.squeeze(), (loads.DEL.squeeze()**m * f)**(1 / m))
 
     loads = sim_res.loads(method='OneWT_WDAvg')
-    npt.assert_allclose(loads.DEL.squeeze(), [2837, 5870, 9154, 5184, 2204], rtol=.11)
+    npt.assert_allclose(loads.DEL.squeeze(), ref_dels, rtol=.11)
     npt.assert_array_almost_equal(loads.LDEL.squeeze(), (loads.DEL.squeeze()**m * f)**(1 / m))
 
 
 def test_two_turbine_case0():
-    ws, ti, shear, wdir, dist = 11.924050697, 0.2580934242, 0.2536493558, 20.5038383383, 3.8603095881
-
-#     sensors = 'case,shaft_rot angle,shaft_rot angle speed,pitch1 angle,'.split(
-#         ',')
-#     mean_values = np.array("0,180.03464337189587,11.752259992475002,".split(","), dtype=np.float)
-#     std_values = np.array("0,104.04391803126249,0.1227628373541667,".split(","), dtype=np.float)
-#     for i in [10, 14, 322]:
-#         print(sensors[i], mean_values[i], std_values[i])
-    # "Free wind speed Vy gl. coo of gl. pos    0.00   0.00-110.00" 11.107441047808335 0.8527054147583332
-    # Aero rotor thrust 381.01636820417497 37.541737944825
-    # generator_servo inpvec   2  2: pelec [w] 3398038.328107514 13065.24538016912
-    # ref from simulation statistic
-    ws_ref = 11.1
-    ws_std_ref = 0.85
-    power_ref = 3398038
-    thrust_ref = 381
+    if 0:
+        i = 0
+        f = r'C:\mmpe\programming\python\Topfarm\iea-3_4-130-rwt\turbine_model\res/'
+        print(list(pd.DataFrame(eval(Path(f + 'input_two_turbines_dist.json').read_text())).iloc[i]))
+        # [10.9785338191, 0.2623204277, 0.4092031776, -38.4114616871, 5.123719529]
+
+        print(pd.concat([pd.read_csv(f + 'stats_two_turbines_mean.csv').iloc[i, [12, 14, 322]],
+                         pd.read_csv(f + 'stats_two_turbines_std.csv').iloc[i, [12, 14, 322]]],
+                        axis=1))
+        # Free wind speed Abs_vhor, gl. coo, of gl. pos  ...  1.103937e+01     0.914252
+        # Aero rotor thrust                                   4.211741e+02    41.015962
+        # generator_servo inpvec   2  2: pelec [w]            3.399746e+06  3430.717100
+
+        print(pd.read_csv(f + 'stats_two_turbines_del.csv').iloc[i, [28, 29, 1, 2, 9]])
+        # MomentMx Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1       4546.998501
+        # MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1       5931.157693
+        # MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment             11902.153031
+        # MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment              7599.336676
+        # MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment     2407.279074
+
+    ws, ti, shear, wdir, dist = [10.9785338191, 0.2623204277, 0.4092031776, -38.4114616871 % 360, 5.123719529]
+
+    # ref from simulation statistic (not updated yet)
+    ws_ref = 1.103937e+01
+    ws_std_ref = 0.914252
+    thrust_ref = 4.211741e+02
+    power_ref = 3.399746e+06
+    ref_dels = [4546, 5931, 11902, 7599, 2407]
 
     wt = IEA34_130_2WT_Surrogate()
     site = UniformSite(p_wd=[1], ti=ti, ws=ws)
     sim_res = NOJ(site, wt, turbulenceModel=STF2017TurbulenceModel())([0, 0], [0, dist * 130], wd=wdir, Alpha=shear)
 
-    npt.assert_allclose(ws, ws_ref, atol=.9)
-    npt.assert_allclose(ti, ws_std_ref / ws_ref, atol=.19)
-    npt.assert_allclose(sim_res.Power.sel(wt=0), power_ref, atol=1060)
+    npt.assert_allclose(ws, ws_ref, rtol=.006)
+    # npt.assert_allclose(ti, ws_std_ref / ws_ref, atol=.19)
+    npt.assert_allclose(sim_res.Power.sel(wt=0), power_ref, rtol=0.002)
     npt.assert_allclose(sim_res.CT.sel(wt=0), thrust_ref * 1e3 / (1 / 2 * 1.225 * (65**2 * np.pi) * ws_ref**2),
-                        atol=0.06)
-
-    # del_sensors = 'case,MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment,'.split(",")
-    # del_values = np.array("0, 11235.755826844477, 7551.985936926388, ".split(","), dtype=float)
-    # for i in [28, 29, 1, 2, 9]:
-    #     print(del_sensors[i], del_values[i])
-    # MomentMx Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1 3863.6241845634827
-    # MomentMy Mbdy:blade1 nodenr:   1 coo: blade1  blade root moment blade1 5774.294439888724
-    # MomentMx Mbdy:tower nodenr:   1 coo: tower  tower bottom moment 11235.755826844477
-    # MomentMy Mbdy:tower nodenr:   1 coo: tower  tower bottom moment 7551.985936926388
-    # MomentMz Mbdy:tower nodenr:  11 coo: tower  tower top/yaw bearing moment 2384.173023068421
+                        rtol=0.03)
+
     loads = sim_res.loads(method='TwoWT')
-    npt.assert_allclose(loads.DEL.sel(wt=0).squeeze(), [3863], rtol=.12)
+    npt.assert_allclose(loads.DEL.sel(wt=0).squeeze(), ref_dels, rtol=.05)
 
     f = 20 * 365 * 24 * 3600 / 1e7
-    m = 10
+    m = loads.m.values
     npt.assert_array_almost_equal(loads.LDEL.sel(wt=0).squeeze(), (loads.DEL.sel(wt=0).squeeze()**m * f)**(1 / m))
 
     loads = sim_res.loads(method='TwoWT', softmax_base=100)
-    npt.assert_allclose(loads.DEL.sel(wt=0).squeeze(), [3863], rtol=.11)
+    npt.assert_allclose(loads.DEL.sel(wt=0).squeeze(), ref_dels, rtol=.05)
     npt.assert_array_almost_equal(loads.LDEL.sel(wt=0).squeeze(), (loads.DEL.sel(wt=0).squeeze()**m * f)**(1 / m))
diff --git a/py_wake/tests/test_load_surrogates/test_tensorflow_surrogate_utils.py b/py_wake/tests/test_load_surrogates/test_tensorflow_surrogate_utils.py
index de7124dbad7c0a4eea4bdd0d84a818f8230000b8..d30e0b7cc58606c6e108626ee043417547ff83c1 100644
--- a/py_wake/tests/test_load_surrogates/test_tensorflow_surrogate_utils.py
+++ b/py_wake/tests/test_load_surrogates/test_tensorflow_surrogate_utils.py
@@ -9,10 +9,10 @@ from py_wake.tests import npt
 def test_TensorflowSurrogate():
     surrogate = TensorflowSurrogate(example_data_path + "iea34_130rwt/one_turbine/electrical_power", 'operating')
 
-    assert surrogate.input_channel_names == ['ti', 'ws', 'shear']
+    assert surrogate.input_channel_names == ['ws', 'ti', 'shear']
     assert surrogate.output_channel_name == "generator_servo inpvec   2  2: pelec [w]"
-    assert surrogate.input_space == {'ti': (6.92939e-05, 0.5087336125),
-                                     'ws': (4.0016095856, 24.8999442287),
+    assert surrogate.input_space == {'ti': (6.94521e-05, 0.5157860142),
+                                     'ws': (4.0056388753, 24.9807585868),
                                      'shear': (-0.0997070313, 0.4994140625)}
     assert surrogate.wind_speed_cut_in == 4.0
     assert surrogate.wind_speed_cut_out == 25.0
@@ -22,10 +22,10 @@ def test_bounds_warning():
     surrogate = TensorflowSurrogate(example_data_path + "iea34_130rwt/one_turbine/electrical_power", 'operating')
     import warnings
     warnings.filterwarnings('error')
-    with pytest.raises(UserWarning, match='Input, ws, with value, 3.0 outside range 4.0016095856-24.8999442287'):
-        surrogate.predict_output(np.array([.1, 3., .1])[na])
+    with pytest.raises(UserWarning, match='Input, ws, with value, 3.0 outside range 4.0056388753-24.9807585868'):
+        surrogate.predict_output(np.array([3., .1, .1])[na])
 
-    with pytest.raises(UserWarning, match='Input, ws, with value, 25.0 outside range 4.0016095856-24.8999442287'):
-        surrogate.predict_output(np.array([.1, 25., .1])[na])
+    with pytest.raises(UserWarning, match='Input, ws, with value, 25.0 outside range 4.0056388753-24.9807585868'):
+        surrogate.predict_output(np.array([25., .1, .1])[na])
 
-    assert surrogate.predict_output(np.array([.1, 25., .1])[na], bounds='ignore') == 3399945.
+    assert surrogate.predict_output(np.array([25., .1, .1])[na], bounds='ignore') == 3399991.2
diff --git a/py_wake/wind_farm_models/engineering_models.py b/py_wake/wind_farm_models/engineering_models.py
index 7326be5517e74fcd3d09047ac1b2eb4846f6fe45..66bad4f2d99e4c98ff7b8bcb04c85a3f87cd1a70 100644
--- a/py_wake/wind_farm_models/engineering_models.py
+++ b/py_wake/wind_farm_models/engineering_models.py
@@ -220,7 +220,7 @@ class EngineeringWindFarmModel(WindFarmModel):
         d_ijl_keys = ({k for l in self.windTurbines.function_inputs for k in l} &
                       {'dw_ijl', 'hcw_ijl', 'dh_ijl', 'cw_ijl'})
         if d_ijl_keys:
-            d_ijl_dict = {k: lambda: v for k, v in zip(['dw_ijl', 'hcw_ijl', 'dh_ijl'], self.site.distance(wd[na]))}
+            d_ijl_dict = {k: lambda v=v: v for k, v in zip(['dw_ijl', 'hcw_ijl', 'dh_ijl'], self.site.distance(wd[na]))}
             d_ijl_dict['cw_ijl'] = lambda d_ijl_dict=d_ijl_dict: np.sqrt(
                 d_ijl_dict['dw_ijl']**2 + d_ijl_dict['hcw_ijl']**2)
             wt_kwargs.update({k: d_ijl_dict[k]() for k in d_ijl_keys})
diff --git a/py_wake/wind_farm_models/wind_farm_model.py b/py_wake/wind_farm_models/wind_farm_model.py
index e7aa78f656eeb414b50353ec62ac91b62db58889..e3b0db92c34e2d72ab248cbf55620461fc9be459 100644
--- a/py_wake/wind_farm_models/wind_farm_model.py
+++ b/py_wake/wind_farm_models/wind_farm_model.py
@@ -307,8 +307,10 @@ class SimulationResult(xr.Dataset):
                 if softmax_base is None:
                     loads_silk = loads_siilk.max(1)
                 else:
-                    f = loads_siilk.mean((1, 2, 3, 4)) / 10  # factor used to reduce numerical errors in power
-                    loads_silk = np.log((softmax_base**(loads_siilk / f)).sum(1)) / np.log(softmax_base) * f
+                    # factor used to reduce numerical errors in power
+                    f = loads_siilk.mean((1, 2, 3, 4)) / 10
+                    loads_silk = (np.log((softmax_base**(loads_siilk / f[:, na, na, na, na])).sum(1)) /
+                                  np.log(softmax_base) * f[:, na, na, na])
 
             ds = xr.DataArray(
                 loads_silk,