Skip to main content
zenodoopen

Wind tunnel experiment of a micro wind farm model

<p>Simultaneous strain gage measurements of sixty porous disk models, in a scaled wind farm with one hundred models, and for fifty-six different layouts.&nbsp;</p> <p>For detailed information about the experimental setup and wind farm layouts see:&nbsp;</p> <p>Bossuyt, J., Meneveau, C., &amp; Meyers, J. (2018). Effect of layout on asymptotic boundary layer regime in deep wind farms. <em>Physical Review Fluids. See also:</em>&nbsp;https://arxiv.org/abs/1808.09579 .</p> <p>For more information about the experimental design of the porous disk models, see also:</p> <p>Bossuyt, J., Howland, M. F., Meneveau, C., &amp; Meyers, J. (2017). Measurement of unsteady loading and power output variability in a micro wind farm model in a wind tunnel.&nbsp;<em>Experiments in Fluids</em>,&nbsp;<em>58</em>(1), 1.&nbsp;http://doi.org/10.1007/s00348-016-2278-6</p> <p>&nbsp;Bossuyt, J., Meneveau, C., &amp; Meyers, J. (2017). Wind farm power fluctuations and spatial sampling of turbulent boundary layers.&nbsp;<em>Journal of Fluid Mechanics</em>,&nbsp;<em>823</em>, 329-344.&nbsp;http://doi.org/10.1017/jfm.2017.328</p> <p>&nbsp;</p> <p>The data contains matrices &#39;WF_U&#39;, &#39;x&#39;, and &#39;y&#39;, and variable &#39;fs&#39; for each layout.&nbsp;<br> The matrix &#39;WF_U&#39; contains the reconstructed velocity signal in m/s measured by each porous disk, and has size ( 20 , 3 , number of time samples), with 20 the number of porous disk rows, and 3 the number of streamwise aligned porous disk columns in the wind farm. Matrices &#39;x&#39;, and &#39;y&#39; have size (20,3) and contain the locations of each instrumented porous disk in units of disk diameter D = 0.03m. It is important to note that the wind farm has one extra column of non-instrumented porous disk models on each side, for a total of 20x5=100 porous disk models.The variable &#39;fs&#39; contains the sampling frequency in Hz, at which all 60 porous disks are simultaneously sampled.</p> <p>--------------------------------------------------------<br> Example code to load data in Matlab :<br> --------------------------------------------------------<br> filename = &nbsp;&#39;U_C1_1.h5&#39;;<br> fileID = H5F.open(filename,&#39;H5F_ACC_RDONLY&#39;,&#39;H5P_DEFAULT&#39;);</p> <p>datasetID = H5D.open(fileID,&#39;WF_U&#39;);<br> WF_U = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> H5D.close(datasetID);</p> <p>datasetID = H5D.open(fileID,&#39;fs&#39;);<br> fs = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> H5D.close(datasetID);</p> <p>datasetID = H5D.open(fileID,&#39;x&#39;);<br> x = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> H5D.close(datasetID);</p> <p>datasetID = H5D.open(fileID,&#39;y&#39;);<br> y = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> H5D.close(datasetID);</p> <p>H5F.close(fileID);</p> <p>--------------------------------------------------------<br> Example code to load data in Python:<br> --------------------------------------------------------<br> import h5py<br> filename = &#39;U_C1_1.h5&#39;<br> f = h5py.File(filename, &#39;r&#39;)</p> <p>U = f[&#39;WF_U&#39;][()]<br> x = f[&#39;x&#39;][()]<br> y = f[&#39;y&#39;][()]<br> fs = f[&#39;fs&#39;][0][0]<br> f.close()</p> <p>--------------------------------------------------------<br> Example code to generate figures 15 and 16 of Bossuyt et al. (2018). Effect of layout on asymptotic boundary layer regime in deep wind farms. Physical Review Fluids, in Matlab<br> --------------------------------------------------------<br> WF_cases_selected = 1:7;</p> <p>folder = &#39;/&#39;;% folder with files</p> <p>WF_cases_l = {&#39;U_C1&#39;;&#39;U_C2&#39;;&#39;NU1_C1&#39;;&#39;NU1_C2&#39;;&#39;NU2_C1&#39;;&#39;NU2_C2&#39;;&#39;NU2_C3&#39;};% name of layout variations<br> WF_cases_n = [6, 7, 11, 8, 11, 7, 6]; % &#39;number of layout variations for each case</p> <p>WF_data.x = cell( length(WF_cases_selected) , 1);% x - coordinates of porous disk locations<br> WF_data.y = cell( length(WF_cases_selected) , 1);% y - coordinates of porous disk locations<br> WF_data.shift = cell( length(WF_cases_selected) , 1);% spanwise shift of layout series<br> WF_data.fs = cell( length(WF_cases_selected) , 1);<br> WF_data.WF_Pm = cell( length(WF_cases_selected) , 1);<br> WF_data.WF_Um = cell( length(WF_cases_selected) , 1);<br> WF_data.WF_U_rms = cell( length(WF_cases_selected) , 1);</p> <p><br> for i = 1 : length(WF_cases_selected)<br> &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; WF_data_case = struct;<br> &nbsp; &nbsp; WF_data_case.x = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.y = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.shift = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.fs = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.WF_Pm = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.WF_Um = &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp; WF_data_case.WF_U_rms = &nbsp; &nbsp; &nbsp; cell( WF_cases_n(i) , 1);<br> &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; for j = 1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; clc<br> &nbsp; &nbsp; &nbsp; &nbsp; i<br> &nbsp; &nbsp; &nbsp; &nbsp; j<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_var = struct;<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; %read the file<br> &nbsp; &nbsp; &nbsp; &nbsp; filename = [folder WF_cases_l{i} &#39;_&#39; num2str(j) &#39;.h5&#39;];<br> &nbsp; &nbsp; &nbsp; &nbsp; fileID = H5F.open(filename,&#39;H5F_ACC_RDONLY&#39;,&#39;H5P_DEFAULT&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; datasetID = H5D.open(fileID,&#39;WF_U&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_var.WF_U = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; H5D.close(datasetID);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; datasetID = H5D.open(fileID,&#39;fs&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.fs{j} = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; H5D.close(datasetID);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; datasetID = H5D.open(fileID,&#39;x&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.x{j} = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; H5D.close(datasetID);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; datasetID = H5D.open(fileID,&#39;y&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.y{j} = H5D.read(datasetID,&#39;H5ML_DEFAULT&#39;,&#39;H5S_ALL&#39;,&#39;H5S_ALL&#39;,&#39;H5P_DEFAULT&#39;);<br> &nbsp; &nbsp; &nbsp; &nbsp; H5D.close(datasetID);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; H5F.close(fileID);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_var.WF_P = WF_data_var.WF_U.^3;</p> <p>&nbsp; &nbsp; &nbsp; &nbsp; % Time averaged power<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.WF_Pm{j} = mean(WF_data_var.WF_P,3);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; % normalize by power in first row: Pi/P1<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.WF_Pm{j} = WF_data_case.WF_Pm{j}./mean(WF_data_case.WF_Pm{j}(1,:));<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; % Time averaged velocity<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.WF_Um{j} = mean(WF_data_var.WF_U,3);<br> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; &nbsp; &nbsp; % u_rms --&gt; TI<br> &nbsp; &nbsp; &nbsp; &nbsp; WF_data_case.WF_U_rms{j} = std(WF_data_var.WF_U,[],3);<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; WF_data.x{i} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= WF_data_case.x;<br> &nbsp; &nbsp; WF_data.y{i} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= WF_data_case.y;<br> &nbsp; &nbsp; WF_data.fs{i} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; = WF_data_case.fs;<br> &nbsp; &nbsp; WF_data.WF_Pm{i} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= WF_data_case.WF_Pm;<br> &nbsp; &nbsp; WF_data.WF_Um{i} &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;= WF_data_case.WF_Um;<br> &nbsp; &nbsp; WF_data.WF_U_rms{i} &nbsp; &nbsp; &nbsp; &nbsp; = WF_data_case.WF_U_rms;<br> &nbsp; &nbsp;&nbsp;<br> &nbsp; &nbsp; %determine spanwise shift for plot legends<br> &nbsp; &nbsp; tmp1 = WF_data.y{i}{j-1};<br> &nbsp; &nbsp; tmp2 = WF_data.y{i}{j};<br> &nbsp; &nbsp; dy = diff( [tmp1(:,1) &nbsp;tmp2(:,1)] ,1,2);<br> &nbsp; &nbsp; dy = max(dy(abs(dy)&gt;0));<br> &nbsp; &nbsp; WF_data.shift{i} &nbsp; = 0:dy:(WF_cases_n(i)-1)*dy;<br> &nbsp; &nbsp;&nbsp;<br> end</p> <p>%%<br> line_tick = {&#39;o-&#39;,&#39;*-&#39;,&#39;+-&#39;,&#39;d-&#39;,&#39;s-&#39;,&#39;^-&#39;,&#39;v-&#39;,&#39;&lt;-&#39;,&#39;&gt;-&#39;,&#39;p-&#39;,&#39;h-&#39;};<br> line_color = [51,160,44; 141,211,199; 31,120,180; 106,61,154; 227,26,28; 177,89,40; 255,127,0; 166,206,227]./255;</p> <p>legend_items = cell(size(WF_cases_selected));<br> for i = 1:length(legend_items)<br> &nbsp; &nbsp; legend_items{i} = strrep(WF_cases_l{i},&#39;_&#39;,&#39;-&#39;);<br> end</p> <p>%% average power entire farm<br> row_start = 1;<br> row_end = 19;<br> f1 = figure;<br> set(gcf,&#39;paperposition&#39;,[0,0,8.4,4.9])<br> hold on</p> <p>for i = 1 : length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_P = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; plot( WF_data.shift{i} , tmp_P, line_tick{i} ,&#39;Color&#39;, line_color(i,:) ,&#39;MarkerFaceColor&#39;, line_color(i,:) )<br> end</p> <p>% manualy plot errorbars<br> for i = 1:length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_P = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; px = WF_data.shift{i} ;<br> &nbsp; &nbsp; py = tmp_P;<br> &nbsp; &nbsp; pw = 0.05;<br> &nbsp; &nbsp; pe = zeros(size(px))+0.01;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&nbsp;<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)+pe(j) &nbsp;py(j)+pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)-pe(j) &nbsp;py(j)-pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j) &nbsp;px(j)],[py(j)-pe(j) &nbsp;py(j)+pe(j)],&#39;:&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; end<br> end<br> xlabel(&#39;\Delta_y [D]&#39;)<br> ylabel(&#39;$\langle P_i &nbsp;/P_1\rangle_{1}^{19}$&#39;,&#39;Interpreter&#39;,&#39;Latex&#39;)<br> box(&#39;on&#39;)<br> ylim([0.35 0.66])<br> xlim([-0.1 2.6])<br> legend1 = legend(legend_items&#39;);<br> set(legend1,&#39;Location&#39;,&#39;southeast&#39;);<br> print(f1, &#39;WF_Pm_all&#39;,&#39;-dpng&#39;,&#39;-r300&#39;)</p> <p>%% &nbsp;average power end of farm<br> row_start = 16;<br> row_end = 19;<br> f2 = figure;<br> set(gcf,&#39;paperposition&#39;,[0,0,8.4,4.9])<br> hold on</p> <p>for i = 1 : length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_P = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; plot( WF_data.shift{i} , tmp_P, line_tick{i} ,&#39;Color&#39;, line_color(i,:) ,&#39;MarkerFaceColor&#39;, line_color(i,:) )<br> end</p> <p>% manualy plot errorbars<br> for i = 1:length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_P = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; px = WF_data.shift{i} ;<br> &nbsp; &nbsp; py = tmp_P;<br> &nbsp; &nbsp; pw = 0.05;<br> &nbsp; &nbsp; pe = zeros(size(px))+0.02; %for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&nbsp;<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)+pe(j) &nbsp;py(j)+pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)-pe(j) &nbsp;py(j)-pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j) &nbsp;px(j)],[py(j)-pe(j) &nbsp;py(j)+pe(j)],&#39;:&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; end<br> end<br> xlabel(&#39;\Delta_y [D]&#39;)<br> ylabel(&#39;$\langle P_i &nbsp;/P_1\rangle_{16}^{19}$&#39;,&#39;Interpreter&#39;,&#39;Latex&#39;)<br> box(&#39;on&#39;)<br> ylim([0.27 0.52])<br> xlim([-0.1 2.6])<br> legend1 = legend(legend_items&#39;);<br> set(legend1,&#39;Location&#39;,&#39;southeast&#39;);<br> print(f2, &#39;WF_Pm_end&#39;, &#39;-dpng&#39;,&#39;-r300&#39;)</p> <p>%% plot average unsteady loading total farm<br> row_start = 1;<br> row_end = 19;<br> f3 = figure;<br> set(gcf,&#39;paperposition&#39;,[0,0,8.4,4.9])<br> hold on<br> for i = 1 : length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_TI = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_TI(j) = &nbsp;mean(mean(WF_data.WF_U_rms{i}{j}(row_start:row_end,:)./WF_data.WF_Um{i}{j}(row_start:row_end,:)))*100;<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; plot( WF_data.shift{i} , tmp_TI , line_tick{i} ,&#39;Color&#39;, line_color(i,:) &nbsp;,&#39;MarkerFaceColor&#39;, line_color(i,:))<br> end</p> <p>% manualy plot errorbars<br> for i = 1:length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_TI = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_TI(j) = &nbsp;mean(mean(WF_data.WF_U_rms{i}{j}(row_start:row_end,:)./WF_data.WF_Um{i}{j}(row_start:row_end,:)))*100;<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; px = WF_data.shift{i} ;<br> &nbsp; &nbsp; py = tmp_TI;<br> &nbsp; &nbsp; pw = 0.05;<br> &nbsp; &nbsp; pe = zeros(size(px))+ 0.004*tmp_TI;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&nbsp;<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)+pe(j) &nbsp;py(j)+pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)-pe(j) &nbsp;py(j)-pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j) &nbsp;px(j)],[py(j)-pe(j) &nbsp;py(j)+pe(j)],&#39;:&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; end<br> end<br> xlabel(&#39;\Delta_y [D]&#39;)<br> ylabel(&#39;$ \langle TI \rangle_{1}^{19} [\%]$&#39;,&#39;Interpreter&#39;,&#39;Latex&#39;)<br> box(&#39;on&#39;)<br> xlim([-0.1 2.6])<br> legend1 = legend(legend_items&#39;);<br> set(legend1,&#39;Location&#39;,&#39;northeast&#39;);<br> print(f3, &#39;WF_TI_all&#39;,&#39;-dpng&#39;,&#39;-r300&#39;)</p> <p>%% plot average unsteady loading end of farm<br> row_start = 16;<br> row_end = 19;<br> f4 = figure;<br> set(gcf,&#39;paperposition&#39;,[0,0,8.4,4.9])<br> hold on<br> for i = 1 : length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_TI = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_TI(j) = &nbsp;mean(mean(WF_data.WF_U_rms{i}{j}(row_start:row_end,:)./WF_data.WF_Um{i}{j}(row_start:row_end,:)))*100;<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; plot( WF_data.shift{i} , tmp_TI , line_tick{i} ,&#39;Color&#39;, line_color(i,:) &nbsp;,&#39;MarkerFaceColor&#39;, line_color(i,:))<br> end</p> <p>% manualy plot errorbars<br> for i = 1:length(WF_cases_selected)<br> &nbsp; &nbsp; tmp_TI = zeros(size(WF_data.shift{i}));<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; tmp_TI(j) = &nbsp;mean(mean(WF_data.WF_U_rms{i}{j}(row_start:row_end,:)./WF_data.WF_Um{i}{j}(row_start:row_end,:)))*100;<br> &nbsp; &nbsp; end<br> &nbsp; &nbsp; px = WF_data.shift{i} ;<br> &nbsp; &nbsp; py = tmp_TI;<br> &nbsp; &nbsp; pw = 0.05;<br> &nbsp; &nbsp; pe = zeros(size(px))+ 0.01*tmp_TI;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&nbsp;<br> &nbsp; &nbsp; for j = &nbsp;1:WF_cases_n(i)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)+pe(j) &nbsp;py(j)+pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j)-pw/2 &nbsp;px(j)+pw/2] , [py(j)-pe(j) &nbsp;py(j)-pe(j)],&#39;-&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; &nbsp; &nbsp; plot( &nbsp;[px(j) &nbsp;px(j)],[py(j)-pe(j) &nbsp;py(j)+pe(j)],&#39;:&#39;, &#39;Color&#39;, line_color(i,:),&#39;LineWidth&#39;,0.5)<br> &nbsp; &nbsp; end<br> end<br> xlabel(&#39;\Delta_y [D]&#39;)<br> ylabel(&#39;$ \langle TI \rangle_{16}^{19} [\%]$&#39;,&#39;Interpreter&#39;,&#39;Latex&#39;)<br> box(&#39;on&#39;)<br> xlim([-0.1 2.6])<br> legend1 = legend(legend_items&#39;);<br> set(legend1,&#39;Location&#39;,&#39;northeast&#39;);<br> print(f4, &#39;WF_TI_end&#39;,&#39;-dpng&#39;,&#39;-r300&#39;)</p> <p>&nbsp;</p>

ShareScore

44/100

Overall dataset sharing score

Score breakdown

These five areas show where the dataset supports — or may limit — practical reuse.

Stewardship
8
Harmonization
8
Access
16
Reuse readiness
8
Engagement
4

Topics