Skip to content
Snippets Groups Projects
extract_to_netcdf.m 1.79 KiB
Newer Older
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