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,