Skip to content
Snippets Groups Projects
Commit ecf7db35 authored by giuliaghirardini's avatar giuliaghirardini Committed by Marco Luigi Gaibotti
Browse files

[weather-forecast-analysis][old] First try with API. Python script to get csv...

[weather-forecast-analysis][old] First try with API. Python script to get csv files on another folder
parent c3307ee0
No related branches found
No related tags found
No related merge requests found
day;time;wind_speed;wind_direction;wind_gust
Sunday, Aug 25;02;4.0;285.77;4.0
Sunday, Aug 25;05;3.0;316.7;4.0
Sunday, Aug 25;08;2.0;339.99;2.0
Sunday, Aug 25;11;4.0;105.21;4.0
Sunday, Aug 25;14;5.0;112.16;6.0
Sunday, Aug 25;17;4.0;57.2;5.0
Sunday, Aug 25;20;2.0;72.84;2.0
Sunday, Aug 25;23;2.0;330.3;3.0
Monday, Aug 26;02;4.0;332.4;4.0
Monday, Aug 26;05;3.0;330.79;4.0
Monday, Aug 26;08;2.0;338.28;3.0
Monday, Aug 26;11;2.0;31.36;3.0
Monday, Aug 26;14;5.0;59.09;5.0
Monday, Aug 26;17;4.0;24.86;5.0
Monday, Aug 26;20;2.0;24.93;2.0
Monday, Aug 26;23;3.0;344.38;3.0
Tuesday, Aug 27;02;3.0;8.88;3.0
Tuesday, Aug 27;05;3.0;339.44;4.0
Tuesday, Aug 27;08;3.0;349.81;4.0
Tuesday, Aug 27;11;5.0;39.39;6.0
Tuesday, Aug 27;14;5.0;32.82;6.0
Tuesday, Aug 27;17;5.0;340.57;6.0
Tuesday, Aug 27;20;3.0;313.55;4.0
Tuesday, Aug 27;23;4.0;358.43;4.0
Wednesday, Aug 28;02;5.0;0.32;5.0
Wednesday, Aug 28;05;3.0;335.42;4.0
Wednesday, Aug 28;08;2.0;4.54;3.0
Wednesday, Aug 28;11;5.0;71.6;5.0
Wednesday, Aug 28;14;3.0;78.88;4.0
Wednesday, Aug 28;17;3.0;323.9;6.0
Wednesday, Aug 28;20;4.0;320.1;4.0
Wednesday, Aug 28;23;2.0;332.15;4.0
Thursday, Aug 29;02;4.0;338.16;4.0
Thursday, Aug 29;05;4.0;337.72;5.0
Thursday, Aug 29;08;3.0;349.06;4.0
Thursday, Aug 29;11;3.0;52.67;4.0
Thursday, Aug 29;14;2.0;64.67;4.0
Thursday, Aug 29;17;2.0;82.81;5.0
Thursday, Aug 29;20;2.0;345.74;2.0
Thursday, Aug 29;23;3.0;332.39;4.0
Friday, Aug 30;02;3.0;324.13;4.0
Friday, Aug 30;05;3.0;320.25;4.0
Friday, Aug 30;08;3.0;333.39;3.0
Friday, Aug 30;11;3.0;61.04;3.0
Friday, Aug 30;14;3.0;58.76;5.0
Friday, Aug 30;17;3.0;56.74;5.0
Friday, Aug 30;20;3.0;32.17;3.0
Friday, Aug 30;23;4.0;336.1;4.0
Saturday, Aug 31;02;4.0;339.13;4.0
Saturday, Aug 31;05;4.0;338.29;5.0
Saturday, Aug 31;08;3.0;347.06;4.0
Saturday, Aug 31;11;5.0;21.35;6.0
Saturday, Aug 31;14;7.0;28.97;7.0
Saturday, Aug 31;17;7.0;24.68;8.0
Saturday, Aug 31;20;3.0;17.17;3.0
Saturday, Aug 31;23;4.0;342.28;4.0
Sunday, Sep 01;02;4.0;335.28;4.0
Sunday, Sep 01;05;4.0;324.39;4.0
Sunday, Sep 01;08;3.0;351.79;3.0
Sunday, Sep 01;11;5.0;59.32;5.0
Sunday, Sep 01;14;4.0;75.12;4.0
Sunday, Sep 01;17;3.0;21.32;4.0
Sunday, Sep 01;20;2.0;16.47;3.0
Sunday, Sep 01;23;3.0;320.53;4.0
Monday, Sep 02;02;2.0;306.49;3.0
Monday, Sep 02;05;2.0;308.53;4.0
Monday, Sep 02;08;2.0;284.31;2.0
Monday, Sep 02;11;1.0;171.63;4.0
Monday, Sep 02;14;2.0;247.05;6.0
Monday, Sep 02;17;7.0;304.23;9.0
Monday, Sep 02;20;5.0;326.09;6.0
Monday, Sep 02;23;1.0;295.95;3.0
Tuesday, Sep 03;02;2.0;299.92;3.0
Tuesday, Sep 03;05;1.0;294.64;3.0
Tuesday, Sep 03;08;1.0;274.63;2.0
Tuesday, Sep 03;11;2.0;197.31;3.0
Tuesday, Sep 03;14;3.0;192.26;5.0
Tuesday, Sep 03;17;1.0;15.31;4.0
Tuesday, Sep 03;20;3.0;322.28;3.0
Tuesday, Sep 03;23;2.0;324.97;3.0
clc
clear
%% Retrieve data
data = readtable('daily_forecasts.csv');
days = unique(data.day, 'stable');
fieldNames = data.Properties.VariableNames;
names = cell(1, length(days));
for i = 1:length(days)
name = strcat(days{i}(end-5:end-3), days{i}(end-1:end));
names{i} = name;
tempStruct = struct();
for j = 1:length(fieldNames)
tempStruct.(fieldNames{j}) = [];
end
assignin('base', name, tempStruct);
end
% Put data.time(1:8) into the 'time' field of the structure for the first day
timeSpan = 0;
if ~isempty(names)
for i = 1:length(names)
forecastDay = names{i};
if evalin('base', ['exist(''' forecastDay ''', ''var'')'])
struct = evalin('base', forecastDay);
for k = 1:length(fieldNames)
if k == 1
% Day name
struct.(fieldNames{k}) = forecastDay;
assignin('base', forecastDay, struct);
end
% Time, Direction, Speed, Gust
struct.(fieldNames{k}) = data.(fieldNames{k})(1+timeSpan:8+timeSpan);
assignin('base', forecastDay, struct);
end
disp(['Updated ' forecastDay]);
else
disp(['Structure ' forecastDay ' does not exist.']);
end
timeSpan = timeSpan + 8;
end
end
%% Mean values
meanSpeed = sum(data.wind_speed(1:end))/length(data.wind_speed);
meanDirection = sum(data.wind_direction(1:end))/length(data.wind_direction);
%% Plot data
close all
figure();
plot(data.wind_speed, '-x', 'LineWidth', 1.2); hold on
plot(data.wind_gust, '*', 'LineWidth', 1.2); hold on
plot(ones(length(data.wind_speed))*meanSpeed, '--k', 'LineWidth', 1.2); hold off
legend('Wind speed','Wind gust', 'Mean speed')
xlabel('days')
ylabel('m/s')
grid('minor')
title('Wind speed and gust')
figure();
plot(data.wind_direction, '-x', 'LineWidth', 1.2); hold on
plot(ones(length(data.wind_direction))*meanDirection, '--k', 'LineWidth', 1.2); hold off
legend('Wind direction','Mean direction')
xlabel('days')
ylabel('deg')
grid('minor')
title('Wind direction')
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment