Newer
Older
function diffTsgSample(hTsgGUI, PARA)
Yves Gouriou
committed
%
% Co-location of sample and TSG measurements
% Compute the sample-TSG difference
%
% Get the tsg and sample structures from the application
% ------------------------------------------------------
tsg = getappdata( hTsgGUI, 'tsg_data');
% Get PROBABLY_GOOD code
% ----------------------
probablyGoodCode = get(tsg.qc.hash, 'PROBABLY_GOOD', 'code');
% Consider only tsg data with NO_CONTROL, GOOD and PROBABLY_GOOD code
% -------------------------------------------------------------------
indTsg = find( tsg.([PARA '_QC']) <= probablyGoodCode );
[m, n] = size(tsg.([PARA '_SPL']));
Yves Gouriou
committed
% Loop on the samples
% -------------------
Yves Gouriou
committed
for i= 1 : m
% Compute the differences between the sample and the time serie
% -------------------------------------------------------------
timeDiff = abs(tsg.DAYD - tsg.DAYD_SPL(i));
% Compute the indice of the TSG measurement the closest to the sample
% taking into account the TSG quality code
% -------------------------------------------------------------------
[timeMin, indMin] = min(timeDiff(indTsg));
indMin = indTsg( indMin );
% Keep the smooth TSG value
% -------------------------
smooth = tsg_average(hTsgGUI, PARA, indMin);
if timeDiff(indMin) < tsg.cst.TSG_WS_TIMEDIFF && ~isnan(smooth)
% The smooth TSG time series (tsg_moveaverage) is
% no more computed : too long
% We now computed a smooth value only at the position of the sample
% -----------------------------------------------------------------
%tsg.([PARA '_SPL_SMOOTH'])(i) = tsg.ssps_smooth(indMin);
tsg.([PARA '_SPL_SMOOTH'])(i) = smooth;
end
Yves Gouriou
committed
end
% Salinity difference : Sample minus smoothed TSG
% -----------------------------------------------
tsg.([PARA '_SPL_DIF']) = tsg.([PARA '_SPL']) - tsg.([PARA '_SPL_SMOOTH']);
Yves Gouriou
committed
% update the sample structures in the application
% ------------------------------------------------
setappdata( hTsgGUI, 'tsg_data', tsg );