-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathstructureDataPerDay.m
More file actions
37 lines (26 loc) · 1.51 KB
/
structureDataPerDay.m
File metadata and controls
37 lines (26 loc) · 1.51 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
function [day_string,data_triplet] = structureDataPerDay(Data_struct)
%structureAirs Restructure data as [lat - lon - data] in data_struct output
for ERA5_entry = 1:length(Data_struct)
entries = length(Data_struct.Data.latitude) * length(Data_struct.Data.longitude);% Get size of output vector
data_triplet = zeros(entries,8); % Initialise vector
count = 1; % Initialise counter to load output vector
for lon = 1:length(Data_struct.Data.longitude)
for lat = 1:length(Data_struct.Data.latitude)
data_triplet(count,1) = Data_struct.Data.latitude(lat);
data_triplet(count,2) = Data_struct.Data.longitude(lon);
% Get ERA5 data from 36km altitude
% Corwin confirmed that taking lowest pressure
% level is allowed
data_triplet(count,3) = sum(Data_struct.Data.u(lon,lat,137,:))/8; % Get zonal wind
data_triplet(count,4) = sum(Data_struct.Data.u(lon,lat,100,:))/8; % Get zonal wind
data_triplet(count,5) = sum(Data_struct.Data.u(lon,lat,50,:))/8; % Get zonal wind
data_triplet(count,6) = sum(Data_struct.Data.u(lon,lat,23,:))/8; % Get zonal wind
data_triplet(count,7) = sum(Data_struct.Data.v(lon,lat,137,:))/8; % Meridional wind
data_triplet(count,8) = sum(Data_struct.Data.t(lon,lat,137,:))/8; % Temperature
count = count + 1; % Increment counter
end
end
% Compute day before adding to output structure
day_string = getDay(Data_struct.Data.time(1));
end
end