diff --git a/functions/forecastAnalysis/storical/euroc/flightWindowEuroc.m b/functions/forecastAnalysis/storical/euroc/flightWindowEuroc.m index c90545b312bfa50b69d0b1e59cc0b06dbe7debe5..320517cea4cd027489cd360b47db3816882048a5 100644 --- a/functions/forecastAnalysis/storical/euroc/flightWindowEuroc.m +++ b/functions/forecastAnalysis/storical/euroc/flightWindowEuroc.m @@ -1,10 +1,10 @@ function flightWindowEuroc(time) -k = 14; % shifting hours according to samples -% e.g.: first data of timestamp is at 22:00 -% flight window at 12:00 -> +14 h -fw = 6; +k = 10; % shifting hours according to samples +% e.g.: first data of timestamp is at 23:00 +% flight window at 9:00 -> +10 h +fw = 8; % flight window in hours -% e.g: from 12:00 to 18:00 -> 6 h +% e.g: from 9:00 to 17:00 -> 8 h for i = 1:(length(time))-fw if (i+fw)+k <= 180 xregion([time(i+k),time((i+fw)+k)]); hold off; diff --git a/functions/forecastAnalysis/storical/euroc/storicalAnalysisEuroc.m b/functions/forecastAnalysis/storical/euroc/storicalAnalysisEuroc.m index d16edbe7ab8abaf52a90d18ca066ea67099201ec..96a2be8d98ee67f187f7d1bbd1bb845397f7ec9b 100644 --- a/functions/forecastAnalysis/storical/euroc/storicalAnalysisEuroc.m +++ b/functions/forecastAnalysis/storical/euroc/storicalAnalysisEuroc.m @@ -134,7 +134,7 @@ title('Bar chart distribution of wind gusts over the years') subtitle('ECMWF IFS') %%% wind direction - 4 main directions -y = []; +yDir = []; fieldString = "wind_direction_10m (°)"; yearString = 2017:1:2023; figure(); @@ -153,10 +153,10 @@ for k = 1:yearSamples westNorth = [westNorth data.(structName).(fieldString)(i)]; end end - y = [y; length(northEast) length(eastSouth) ... + yDir = [yDir; length(northEast) length(eastSouth) ... length(southWest) length(westNorth)]; end -bar(yearString,y); hold on +bar(yearString,yDir); hold on legend('North-East','East-South','South-West','West-North') ylabel('Samples') xlabel('Years') @@ -164,6 +164,17 @@ grid('minor') title('Bar chart distribution of wind gusts over the years') subtitle('ECMWF IFS') +%% evaluated frequences of wind directions +totalSamples = sum(sum(yDir)); % 168 samples * 7 years = 1176 +elaboration.directionFreq.northEast = sum(yDir(:,1))/totalSamples * 100; +elaboration.directionFreq.eastSouth = sum(yDir(:,2))/totalSamples * 100; +elaboration.directionFreq.southWest = sum(yDir(:,3))/totalSamples * 100; +elaboration.directionFreq.westNorth = sum(yDir(:,4))/totalSamples * 100; + +T = struct2table(elaboration.directionFreq); +[elaboration.directionFreq.maxVal, iter] = max(T.Variables); +elaboration.directionFreq.maxName = char(T(1,iter).Properties.VariableNames); + %% Gaussian curve %%% wind speed muv = []; sv = []; gxv = []; @@ -199,28 +210,6 @@ for i = 1:yearSamples elaboration.gusts.s = sv; end -%% printing results -clc - -fprintf(['Wind speed minimum value: ',num2str(elaboration.speed.minval),' m/s\n']); -fprintf(['Wind speed maximum value: ',num2str(elaboration.speed.maxval),' m/s\n']); -fprintf(['\nWind gust minimum value: ',num2str(elaboration.gusts.minval),' m/s\n']); -fprintf(['Wind gust maximum value: ',num2str(elaboration.gusts.maxval),' m/s\n']); - -fprintf('\nWIND SPEED MEAN VALUE m/s\n') -fprintf('2017 2018 2019 2020 2021 2022 2023') -fprintf(['\n',num2str(elaboration.speed.mu)]) -fprintf('\nWIND GUSTS MEAN VALUE m/s\n') -fprintf('2017 2018 2019 2020 2021 2022 2023') -fprintf(['\n',num2str(elaboration.gusts.mu)]) - -fprintf('\n\nWIND SPEED STANDARD DEVIATION m/s\n') -fprintf('2017 2018 2019 2020 2021 2022 2023') -fprintf(['\n',num2str(elaboration.speed.s)]) -fprintf('\nWIND GUSTS STANDARD DEVIATION m/s\n') -fprintf('2017 2018 2019 2020 2021 2022 2023') -fprintf(['\n',num2str(elaboration.gusts.s),'\n']) - %% Plots %%% WIND SPEED figure; @@ -355,11 +344,42 @@ subtitle({'Time constraint: from 12:00 to 18:00', ... 'Years: from 2017 to 2023'}) %% print results +fprintf('VALUES OVER THE YEARD 2017-2023\n') +fprintf(['Wind speed minimum value: ',num2str(elaboration.speed.minval),' m/s\n']); +fprintf(['Wind speed maximum value: ',num2str(elaboration.speed.maxval),' m/s\n']); +fprintf(['\nWind gust minimum value: ',num2str(elaboration.gusts.minval),' m/s\n']); +fprintf(['Wind gust maximum value: ',num2str(elaboration.gusts.maxval),' m/s\n']); + +fprintf('\n\nWIND SPEED MEAN VALUE m/s\n') +fprintf('2017 2018 2019 2020 2021 2022 2023') +fprintf(['\n',num2str(elaboration.speed.mu)]) +fprintf('\nWIND GUSTS MEAN VALUE m/s\n') +fprintf('2017 2018 2019 2020 2021 2022 2023') +fprintf(['\n',num2str(elaboration.gusts.mu)]) + +fprintf('\n\nWIND SPEED STANDARD DEVIATION m/s\n') +fprintf('2017 2018 2019 2020 2021 2022 2023') +fprintf(['\n',num2str(elaboration.speed.s)]) +fprintf('\nWIND GUSTS STANDARD DEVIATION m/s\n') +fprintf('2017 2018 2019 2020 2021 2022 2023') +fprintf(['\n',num2str(elaboration.gusts.s),'\n']) + fprintf('\n\nGaussian distribution of all data over years from 2017 to 2023\n'); fprintf(['mu = ',num2str(muGlobal),' m/s s = ',num2str(sGlobal),' m/s\n']); -fprintf('\n\nGaussian distribution of all data over years from 2017 to 2023 with time window\n'); +fprintf('Gaussian distribution of all data over years from 2017 to 2023 with time window\n'); fprintf(['mu = ',num2str(muTimeWindow),' m/s s = ',num2str(sTimeWindow),' m/s\n']); -fprintf('\n\nGaussian distribution mean data\n'); +fprintf('Gaussian distribution mean data\n'); fprintf(['mu = ',num2str(mu),' m/s s = ',num2str(s),' m/s\n']); -fprintf('\n\nGaussian distribution of mean data with time window\n'); -fprintf(['mu = ',num2str(muTimeWindow2),' m/s s = ',num2str(sTimeWindow2),' m/s\n']); \ No newline at end of file +fprintf('Gaussian distribution of mean data with time window\n'); +fprintf(['mu = ',num2str(muTimeWindow2),' m/s s = ',num2str(sTimeWindow2),' m/s\n']); + +fprintf('\n\nWIND DIRECTION FREQUENCIES') +fprintf(['\nNorth-East ',num2str(elaboration.directionFreq.northEast),' %%']); +fprintf(['\nEast-South ',num2str(elaboration.directionFreq.eastSouth),' %%']); +fprintf(['\nSouth-West ',num2str(elaboration.directionFreq.southWest),' %%']); +fprintf(['\nWest-North ',num2str(elaboration.directionFreq.westNorth),' %%']); + +fprintf('\n\nFINAL DATA FOR GROUND WIND') +fprintf(['\nmu = ',num2str(muTimeWindow),' m/s s = ',num2str(sTimeWindow),' m/s']); +fprintf(['\nMost frequent direction: ', elaboration.directionFreq.maxName]); +fprintf(['\nFrequency: ',num2str(elaboration.directionFreq.maxVal),' %%\n']) \ No newline at end of file