Dataset Open Access

Wind tunnel experiment of a micro wind farm model

Bossuyt Juliaan; Meneveau Charles; Meyers Johan


DataCite XML Export

<?xml version='1.0' encoding='utf-8'?>
<resource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://datacite.org/schema/kernel-4" xsi:schemaLocation="http://datacite.org/schema/kernel-4 http://schema.datacite.org/meta/kernel-4.1/metadata.xsd">
  <identifier identifierType="DOI">10.5281/zenodo.1467411</identifier>
  <creators>
    <creator>
      <creatorName>Bossuyt Juliaan</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-8787-1877</nameIdentifier>
      <affiliation>KU Leuven</affiliation>
    </creator>
    <creator>
      <creatorName>Meneveau Charles</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0001-6947-3605</nameIdentifier>
      <affiliation>Johns Hopkins University</affiliation>
    </creator>
    <creator>
      <creatorName>Meyers Johan</creatorName>
      <nameIdentifier nameIdentifierScheme="ORCID" schemeURI="http://orcid.org/">0000-0002-2828-4397</nameIdentifier>
      <affiliation>KU Leuven</affiliation>
    </creator>
  </creators>
  <titles>
    <title>Wind tunnel experiment of a micro wind farm model</title>
  </titles>
  <publisher>Zenodo</publisher>
  <publicationYear>2018</publicationYear>
  <subjects>
    <subject>wind tunnel experiment, wind farm, porous disk, strain gage, layout</subject>
  </subjects>
  <dates>
    <date dateType="Issued">2018-10-19</date>
  </dates>
  <resourceType resourceTypeGeneral="Dataset"/>
  <alternateIdentifiers>
    <alternateIdentifier alternateIdentifierType="url">https://zenodo.org/record/1467411</alternateIdentifier>
  </alternateIdentifiers>
  <relatedIdentifiers>
    <relatedIdentifier relatedIdentifierType="DOI" relationType="IsVersionOf">10.5281/zenodo.1467410</relatedIdentifier>
    <relatedIdentifier relatedIdentifierType="URL" relationType="IsPartOf">https://zenodo.org/communities/wind_energy</relatedIdentifier>
  </relatedIdentifiers>
  <rightsList>
    <rights rightsURI="http://creativecommons.org/licenses/by-nc/4.0/legalcode">Creative Commons Attribution Non Commercial 4.0 International</rights>
    <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
  </rightsList>
  <descriptions>
    <description descriptionType="Abstract">&lt;p&gt;Simultaneous strain gage measurements of sixty porous disk models, in a scaled wind farm with one hundred models, and for fifty-six different layouts.&amp;nbsp;&lt;/p&gt;

&lt;p&gt;For detailed information about the experimental setup and wind farm layouts see:&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Bossuyt, J., Meneveau, C., &amp;amp; Meyers, J. (2018). Effect of layout on asymptotic boundary layer regime in deep wind farms. &lt;em&gt;Physical Review Fluids. See also:&lt;/em&gt;&amp;nbsp;https://arxiv.org/abs/1808.09579 .&lt;/p&gt;

&lt;p&gt;For more information about the experimental design of the porous disk models, see also:&lt;/p&gt;

&lt;p&gt;Bossuyt, J., Howland, M. F., Meneveau, C., &amp;amp; Meyers, J. (2017). Measurement of unsteady loading and power output variability in a micro wind farm model in a wind tunnel.&amp;nbsp;&lt;em&gt;Experiments in Fluids&lt;/em&gt;,&amp;nbsp;&lt;em&gt;58&lt;/em&gt;(1), 1.&amp;nbsp;http://doi.org/10.1007/s00348-016-2278-6&lt;/p&gt;

&lt;p&gt;&amp;nbsp;Bossuyt, J., Meneveau, C., &amp;amp; Meyers, J. (2017). Wind farm power fluctuations and spatial sampling of turbulent boundary layers.&amp;nbsp;&lt;em&gt;Journal of Fluid Mechanics&lt;/em&gt;,&amp;nbsp;&lt;em&gt;823&lt;/em&gt;, 329-344.&amp;nbsp;http://doi.org/10.1017/jfm.2017.328&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;The data contains matrices &amp;#39;WF_U&amp;#39;, &amp;#39;x&amp;#39;, and &amp;#39;y&amp;#39;, and variable &amp;#39;fs&amp;#39; for each layout.&amp;nbsp;&lt;br&gt;
The matrix &amp;#39;WF_U&amp;#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 &amp;#39;x&amp;#39;, and &amp;#39;y&amp;#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 &amp;#39;fs&amp;#39; contains the sampling frequency in Hz, at which all 60 porous disks are simultaneously sampled.&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------&lt;br&gt;
Example code to load data in Matlab :&lt;br&gt;
--------------------------------------------------------&lt;br&gt;
filename = &amp;nbsp;&amp;#39;U_C1_1.h5&amp;#39;;&lt;br&gt;
fileID = H5F.open(filename,&amp;#39;H5F_ACC_RDONLY&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;/p&gt;

&lt;p&gt;datasetID = H5D.open(fileID,&amp;#39;WF_U&amp;#39;);&lt;br&gt;
WF_U = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
H5D.close(datasetID);&lt;/p&gt;

&lt;p&gt;datasetID = H5D.open(fileID,&amp;#39;fs&amp;#39;);&lt;br&gt;
fs = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
H5D.close(datasetID);&lt;/p&gt;

&lt;p&gt;datasetID = H5D.open(fileID,&amp;#39;x&amp;#39;);&lt;br&gt;
x = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
H5D.close(datasetID);&lt;/p&gt;

&lt;p&gt;datasetID = H5D.open(fileID,&amp;#39;y&amp;#39;);&lt;br&gt;
y = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
H5D.close(datasetID);&lt;/p&gt;

&lt;p&gt;H5F.close(fileID);&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------&lt;br&gt;
Example code to load data in Python:&lt;br&gt;
--------------------------------------------------------&lt;br&gt;
import h5py&lt;br&gt;
filename = &amp;#39;U_C1_1.h5&amp;#39;&lt;br&gt;
f = h5py.File(filename, &amp;#39;r&amp;#39;)&lt;/p&gt;

&lt;p&gt;U = f[&amp;#39;WF_U&amp;#39;][()]&lt;br&gt;
x = f[&amp;#39;x&amp;#39;][()]&lt;br&gt;
y = f[&amp;#39;y&amp;#39;][()]&lt;br&gt;
fs = f[&amp;#39;fs&amp;#39;][0][0]&lt;br&gt;
f.close()&lt;/p&gt;

&lt;p&gt;--------------------------------------------------------&lt;br&gt;
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&lt;br&gt;
--------------------------------------------------------&lt;br&gt;
WF_cases_selected = 1:7;&lt;/p&gt;

&lt;p&gt;folder = &amp;#39;/&amp;#39;;% folder with files&lt;/p&gt;

&lt;p&gt;WF_cases_l = {&amp;#39;U_C1&amp;#39;;&amp;#39;U_C2&amp;#39;;&amp;#39;NU1_C1&amp;#39;;&amp;#39;NU1_C2&amp;#39;;&amp;#39;NU2_C1&amp;#39;;&amp;#39;NU2_C2&amp;#39;;&amp;#39;NU2_C3&amp;#39;};% name of layout variations&lt;br&gt;
WF_cases_n = [6, 7, 11, 8, 11, 7, 6]; % &amp;#39;number of layout variations for each case&lt;/p&gt;

&lt;p&gt;WF_data.x = cell( length(WF_cases_selected) , 1);% x - coordinates of porous disk locations&lt;br&gt;
WF_data.y = cell( length(WF_cases_selected) , 1);% y - coordinates of porous disk locations&lt;br&gt;
WF_data.shift = cell( length(WF_cases_selected) , 1);% spanwise shift of layout series&lt;br&gt;
WF_data.fs = cell( length(WF_cases_selected) , 1);&lt;br&gt;
WF_data.WF_Pm = cell( length(WF_cases_selected) , 1);&lt;br&gt;
WF_data.WF_Um = cell( length(WF_cases_selected) , 1);&lt;br&gt;
WF_data.WF_U_rms = cell( length(WF_cases_selected) , 1);&lt;/p&gt;

&lt;p&gt;&lt;br&gt;
for i = 1 : length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case = struct;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.x = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.y = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.shift = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.fs = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.WF_Pm = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.WF_Um = &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data_case.WF_U_rms = &amp;nbsp; &amp;nbsp; &amp;nbsp; cell( WF_cases_n(i) , 1);&lt;br&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = 1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; clc&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; i&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; j&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_var = struct;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; %read the file&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; filename = [folder WF_cases_l{i} &amp;#39;_&amp;#39; num2str(j) &amp;#39;.h5&amp;#39;];&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; fileID = H5F.open(filename,&amp;#39;H5F_ACC_RDONLY&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datasetID = H5D.open(fileID,&amp;#39;WF_U&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_var.WF_U = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; H5D.close(datasetID);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datasetID = H5D.open(fileID,&amp;#39;fs&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.fs{j} = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; H5D.close(datasetID);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datasetID = H5D.open(fileID,&amp;#39;x&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.x{j} = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; H5D.close(datasetID);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; datasetID = H5D.open(fileID,&amp;#39;y&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.y{j} = H5D.read(datasetID,&amp;#39;H5ML_DEFAULT&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5S_ALL&amp;#39;,&amp;#39;H5P_DEFAULT&amp;#39;);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; H5D.close(datasetID);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; H5F.close(fileID);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_var.WF_P = WF_data_var.WF_U.^3;&lt;/p&gt;

&lt;p&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % Time averaged power&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.WF_Pm{j} = mean(WF_data_var.WF_P,3);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % normalize by power in first row: Pi/P1&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.WF_Pm{j} = WF_data_case.WF_Pm{j}./mean(WF_data_case.WF_Pm{j}(1,:));&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % Time averaged velocity&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.WF_Um{j} = mean(WF_data_var.WF_U,3);&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; % u_rms --&amp;gt; TI&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WF_data_case.WF_U_rms{j} = std(WF_data_var.WF_U,[],3);&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.x{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= WF_data_case.x;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.y{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= WF_data_case.y;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.fs{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = WF_data_case.fs;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.WF_Pm{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= WF_data_case.WF_Pm;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.WF_Um{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;= WF_data_case.WF_Um;&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.WF_U_rms{i} &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; = WF_data_case.WF_U_rms;&lt;br&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; %determine spanwise shift for plot legends&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp1 = WF_data.y{i}{j-1};&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp2 = WF_data.y{i}{j};&lt;br&gt;
&amp;nbsp; &amp;nbsp; dy = diff( [tmp1(:,1) &amp;nbsp;tmp2(:,1)] ,1,2);&lt;br&gt;
&amp;nbsp; &amp;nbsp; dy = max(dy(abs(dy)&amp;gt;0));&lt;br&gt;
&amp;nbsp; &amp;nbsp; WF_data.shift{i} &amp;nbsp; = 0:dy:(WF_cases_n(i)-1)*dy;&lt;br&gt;
&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;%%&lt;br&gt;
line_tick = {&amp;#39;o-&amp;#39;,&amp;#39;*-&amp;#39;,&amp;#39;+-&amp;#39;,&amp;#39;d-&amp;#39;,&amp;#39;s-&amp;#39;,&amp;#39;^-&amp;#39;,&amp;#39;v-&amp;#39;,&amp;#39;&amp;lt;-&amp;#39;,&amp;#39;&amp;gt;-&amp;#39;,&amp;#39;p-&amp;#39;,&amp;#39;h-&amp;#39;};&lt;br&gt;
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;&lt;/p&gt;

&lt;p&gt;legend_items = cell(size(WF_cases_selected));&lt;br&gt;
for i = 1:length(legend_items)&lt;br&gt;
&amp;nbsp; &amp;nbsp; legend_items{i} = strrep(WF_cases_l{i},&amp;#39;_&amp;#39;,&amp;#39;-&amp;#39;);&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;%% average power entire farm&lt;br&gt;
row_start = 1;&lt;br&gt;
row_end = 19;&lt;br&gt;
f1 = figure;&lt;br&gt;
set(gcf,&amp;#39;paperposition&amp;#39;,[0,0,8.4,4.9])&lt;br&gt;
hold on&lt;/p&gt;

&lt;p&gt;for i = 1 : length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_P = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; plot( WF_data.shift{i} , tmp_P, line_tick{i} ,&amp;#39;Color&amp;#39;, line_color(i,:) ,&amp;#39;MarkerFaceColor&amp;#39;, line_color(i,:) )&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;% manualy plot errorbars&lt;br&gt;
for i = 1:length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_P = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; px = WF_data.shift{i} ;&lt;br&gt;
&amp;nbsp; &amp;nbsp; py = tmp_P;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pw = 0.05;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pe = zeros(size(px))+0.01;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)+pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)-pe(j) &amp;nbsp;py(j)-pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j) &amp;nbsp;px(j)],[py(j)-pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;:&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
end&lt;br&gt;
xlabel(&amp;#39;\Delta_y [D]&amp;#39;)&lt;br&gt;
ylabel(&amp;#39;$\langle P_i &amp;nbsp;/P_1\rangle_{1}^{19}$&amp;#39;,&amp;#39;Interpreter&amp;#39;,&amp;#39;Latex&amp;#39;)&lt;br&gt;
box(&amp;#39;on&amp;#39;)&lt;br&gt;
ylim([0.35 0.66])&lt;br&gt;
xlim([-0.1 2.6])&lt;br&gt;
legend1 = legend(legend_items&amp;#39;);&lt;br&gt;
set(legend1,&amp;#39;Location&amp;#39;,&amp;#39;southeast&amp;#39;);&lt;br&gt;
print(f1, &amp;#39;WF_Pm_all&amp;#39;,&amp;#39;-dpng&amp;#39;,&amp;#39;-r300&amp;#39;)&lt;/p&gt;

&lt;p&gt;%% &amp;nbsp;average power end of farm&lt;br&gt;
row_start = 16;&lt;br&gt;
row_end = 19;&lt;br&gt;
f2 = figure;&lt;br&gt;
set(gcf,&amp;#39;paperposition&amp;#39;,[0,0,8.4,4.9])&lt;br&gt;
hold on&lt;/p&gt;

&lt;p&gt;for i = 1 : length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_P = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; plot( WF_data.shift{i} , tmp_P, line_tick{i} ,&amp;#39;Color&amp;#39;, line_color(i,:) ,&amp;#39;MarkerFaceColor&amp;#39;, line_color(i,:) )&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;% manualy plot errorbars&lt;br&gt;
for i = 1:length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_P = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_P(j) = mean(mean( WF_data.WF_Pm{i}{j}(row_start:row_end,:)));&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; px = WF_data.shift{i} ;&lt;br&gt;
&amp;nbsp; &amp;nbsp; py = tmp_P;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pw = 0.05;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pe = zeros(size(px))+0.02; %for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)+pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)-pe(j) &amp;nbsp;py(j)-pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j) &amp;nbsp;px(j)],[py(j)-pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;:&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
end&lt;br&gt;
xlabel(&amp;#39;\Delta_y [D]&amp;#39;)&lt;br&gt;
ylabel(&amp;#39;$\langle P_i &amp;nbsp;/P_1\rangle_{16}^{19}$&amp;#39;,&amp;#39;Interpreter&amp;#39;,&amp;#39;Latex&amp;#39;)&lt;br&gt;
box(&amp;#39;on&amp;#39;)&lt;br&gt;
ylim([0.27 0.52])&lt;br&gt;
xlim([-0.1 2.6])&lt;br&gt;
legend1 = legend(legend_items&amp;#39;);&lt;br&gt;
set(legend1,&amp;#39;Location&amp;#39;,&amp;#39;southeast&amp;#39;);&lt;br&gt;
print(f2, &amp;#39;WF_Pm_end&amp;#39;, &amp;#39;-dpng&amp;#39;,&amp;#39;-r300&amp;#39;)&lt;/p&gt;

&lt;p&gt;%% plot average unsteady loading total farm&lt;br&gt;
row_start = 1;&lt;br&gt;
row_end = 19;&lt;br&gt;
f3 = figure;&lt;br&gt;
set(gcf,&amp;#39;paperposition&amp;#39;,[0,0,8.4,4.9])&lt;br&gt;
hold on&lt;br&gt;
for i = 1 : length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_TI = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_TI(j) = &amp;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;&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; plot( WF_data.shift{i} , tmp_TI , line_tick{i} ,&amp;#39;Color&amp;#39;, line_color(i,:) &amp;nbsp;,&amp;#39;MarkerFaceColor&amp;#39;, line_color(i,:))&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;% manualy plot errorbars&lt;br&gt;
for i = 1:length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_TI = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_TI(j) = &amp;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;&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; px = WF_data.shift{i} ;&lt;br&gt;
&amp;nbsp; &amp;nbsp; py = tmp_TI;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pw = 0.05;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pe = zeros(size(px))+ 0.004*tmp_TI;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)+pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)-pe(j) &amp;nbsp;py(j)-pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j) &amp;nbsp;px(j)],[py(j)-pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;:&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
end&lt;br&gt;
xlabel(&amp;#39;\Delta_y [D]&amp;#39;)&lt;br&gt;
ylabel(&amp;#39;$ \langle TI \rangle_{1}^{19} [\%]$&amp;#39;,&amp;#39;Interpreter&amp;#39;,&amp;#39;Latex&amp;#39;)&lt;br&gt;
box(&amp;#39;on&amp;#39;)&lt;br&gt;
xlim([-0.1 2.6])&lt;br&gt;
legend1 = legend(legend_items&amp;#39;);&lt;br&gt;
set(legend1,&amp;#39;Location&amp;#39;,&amp;#39;northeast&amp;#39;);&lt;br&gt;
print(f3, &amp;#39;WF_TI_all&amp;#39;,&amp;#39;-dpng&amp;#39;,&amp;#39;-r300&amp;#39;)&lt;/p&gt;

&lt;p&gt;%% plot average unsteady loading end of farm&lt;br&gt;
row_start = 16;&lt;br&gt;
row_end = 19;&lt;br&gt;
f4 = figure;&lt;br&gt;
set(gcf,&amp;#39;paperposition&amp;#39;,[0,0,8.4,4.9])&lt;br&gt;
hold on&lt;br&gt;
for i = 1 : length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_TI = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_TI(j) = &amp;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;&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; plot( WF_data.shift{i} , tmp_TI , line_tick{i} ,&amp;#39;Color&amp;#39;, line_color(i,:) &amp;nbsp;,&amp;#39;MarkerFaceColor&amp;#39;, line_color(i,:))&lt;br&gt;
end&lt;/p&gt;

&lt;p&gt;% manualy plot errorbars&lt;br&gt;
for i = 1:length(WF_cases_selected)&lt;br&gt;
&amp;nbsp; &amp;nbsp; tmp_TI = zeros(size(WF_data.shift{i}));&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; tmp_TI(j) = &amp;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;&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
&amp;nbsp; &amp;nbsp; px = WF_data.shift{i} ;&lt;br&gt;
&amp;nbsp; &amp;nbsp; py = tmp_TI;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pw = 0.05;&lt;br&gt;
&amp;nbsp; &amp;nbsp; pe = zeros(size(px))+ 0.01*tmp_TI;%for uncertainty value see Bossuyt et al. (2018) Physical Review Fluids.&amp;nbsp;&lt;br&gt;
&amp;nbsp; &amp;nbsp; for j = &amp;nbsp;1:WF_cases_n(i)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)+pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j)-pw/2 &amp;nbsp;px(j)+pw/2] , [py(j)-pe(j) &amp;nbsp;py(j)-pe(j)],&amp;#39;-&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; plot( &amp;nbsp;[px(j) &amp;nbsp;px(j)],[py(j)-pe(j) &amp;nbsp;py(j)+pe(j)],&amp;#39;:&amp;#39;, &amp;#39;Color&amp;#39;, line_color(i,:),&amp;#39;LineWidth&amp;#39;,0.5)&lt;br&gt;
&amp;nbsp; &amp;nbsp; end&lt;br&gt;
end&lt;br&gt;
xlabel(&amp;#39;\Delta_y [D]&amp;#39;)&lt;br&gt;
ylabel(&amp;#39;$ \langle TI \rangle_{16}^{19} [\%]$&amp;#39;,&amp;#39;Interpreter&amp;#39;,&amp;#39;Latex&amp;#39;)&lt;br&gt;
box(&amp;#39;on&amp;#39;)&lt;br&gt;
xlim([-0.1 2.6])&lt;br&gt;
legend1 = legend(legend_items&amp;#39;);&lt;br&gt;
set(legend1,&amp;#39;Location&amp;#39;,&amp;#39;northeast&amp;#39;);&lt;br&gt;
print(f4, &amp;#39;WF_TI_end&amp;#39;,&amp;#39;-dpng&amp;#39;,&amp;#39;-r300&amp;#39;)&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;</description>
    <description descriptionType="Other">{"references": ["Bossuyt, J., Meneveau, C., &amp; Meyers, J. (2018). Effect of layout on asymptotic boundary layer regime in deep wind farms. Physical Review Fluids.", "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.\u00a0Experiments in Fluids,\u00a058(1), 1.\u00a0http://doi.org/10.1007/s00348-016-2278-6", "Bossuyt, J., Meneveau, C., &amp; Meyers, J. (2017). Wind farm power fluctuations and spatial sampling of turbulent boundary layers.\u00a0Journal of Fluid Mechanics,\u00a0823, 329-344.\u00a0http://doi.org/10.1017/jfm.2017.328"]}</description>
  </descriptions>
  <fundingReferences>
    <fundingReference>
      <funderName>European Commission</funderName>
      <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/501100000780</funderIdentifier>
      <awardNumber awardURI="info:eu-repo/grantAgreement/EC/FP7/306471/">306471</awardNumber>
      <awardTitle>Active Wind Farms: Optimization and Control of Atmospheric Energy Extraction in Gigawatt Wind Farms</awardTitle>
    </fundingReference>
    <fundingReference>
      <funderName>National Science Foundation</funderName>
      <funderIdentifier funderIdentifierType="Crossref Funder ID">10.13039/100000001</funderIdentifier>
      <awardNumber awardURI="info:eu-repo/grantAgreement/NSF/Office+of+the+Director/1243482/">1243482</awardNumber>
      <awardTitle>PIRE: USA/Europe Partnership for Integrated Research and Education in Wind Energy Intermittency: From Wind Farm Turbulence to Economic Management</awardTitle>
    </fundingReference>
  </fundingReferences>
</resource>
298
288
views
downloads
All versions This version
Views 298298
Downloads 288288
Data volume 68.6 GB68.6 GB
Unique views 276276
Unique downloads 2929

Share

Cite as