Newer
Older
pierre.rousselot_ird.fr
committed
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
38
39
40
function extract_to_netcdf(fpath_output, mooring, data, statut,d_fillvalue)
%% Write netcdf file
disp('****')
disp('Creating .nc file')
% Input parameters for NETCDF Global Attributes
tc_globAttFilename = fullfile('tools/input_GlobalAttrParameters.xls'); % JLL 2020/12 Il serait judicieux de remonter cette valeur en début du script template_get_adcp_data.m
%% Prepare informations and variables required to create NETCDF file %%
[yr_start , ~, ~] = gregorian(data.inttim(1));
[yr_end, ~, ~] = gregorian(data.inttim(length(data.inttim)));
% Read inputs metadata required for NETCDF Global Attributes
[~,~,cell_ncAttributes] = xlsread(tc_globAttFilename);
% Complete output path and filename
tc_ncFilenam_out = fullfile(fpath_output,['ADCP_',mooring.name,'_',num2str(yr_start),'_',num2str(yr_end),'_' statut '.nc']);
% Assign a "4D-size" (TIME,DEPTH,LATITUDE,LONGITUDE) to the ADCP current variables : UINTFILT, VINTFILT
td_uADCP = ones(numel(data.inttim),numel(data.Z),numel(data.lat),numel(data.lon)) * d_fillvalue;
td_uADCP(:,:,1,1) = data.uintfilt';
td_vADCP = ones(numel(data.inttim),numel(data.Z),numel(data.lat),numel(data.lon)) * d_fillvalue;
td_vADCP(:,:,1,1) = data.vintfilt';
% Flip for convention
data.Z = fliplr(data.Z);
td_uADCP = fliplr(td_uADCP);
td_vADCP = fliplr(td_vADCP);
% Group general ADCP mooring informations and ADCP data to be written in NETCDF file format
struct_dataADCP = struct('mooringName', mooring.name, 'mooringLat', mooring.lat,...
'mooringLon', mooring.lon, 'time', data.inttim, 'depth', data.Z,...
'u', td_uADCP, 'v', td_vADCP);
%% Write netcdf file %%
f_w_ADCP_ncOS(tc_ncFilenam_out,cell_ncAttributes,struct_dataADCP,d_fillvalue);
disp('****')
end