Skip to content
Snippets Groups Projects
updateTsgStruct.m 2.29 KiB
Newer Older
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
function updateTsgStruct(hTsgGUI)
%
% This function is called after reading data and update tsg structure
% with common values
%
% Input
% -----
% hTsgGUI ............ Handel to the main user interface
%
% $Id$

% Get the data from the application GUI
% -------------------------------------
tsg = getappdata( hTsgGUI, 'tsg_data');

% get min and max values for position and set to globals attributes
% -----------------------------------------------------------------
tsg.SOUTH_LATX = min(tsg.LATX);
tsg.NORTH_LATX = max(tsg.LATX);
tsg.WEST_LONX  = min(tsg.LONX);
tsg.EAST_LONX  = max(tsg.LONX);

% get date start and end value and set to globals attributes
% -----------------------------------------------------------------
date           = datestr(min(tsg.DAYD),30);
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
tsg.DATE_START = [date(1:8) date(10:15)];
date           = datestr(max(tsg.DAYD),30);
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
tsg.DATE_END   = [date(1:8) date(10:15)];

% Compute ship velocity from positions if sog not available
% ---------------------------------------------------------
if isempty(tsg.SPDC)
  range    = m_lldist(tsg.LONX,tsg.LATX);
  ind      = size(tsg.DAYD);
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
  tsg.SPDC = zeros(size(ind));
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
  for i=1:length(tsg.DAYD)-1
    tsg.SPDC(i) = range(i) / ((tsg.DAYD(i+1)-tsg.DAYD(i)) * 24 * 1.854);
  end
  tsg.SPDC = [tsg.SPDC';0];
end

% Initialise ADJUSTED variables if empty
% --------------------------------------
if isempty( tsg.SSPS_ADJUSTED ) && ~isempty( tsg.SSPS )
  tsg.SSPS_ADJUSTED       = tsg.SSPS;
  tsg.SSPS_ADJUSTED_QC    = tsg.SSPS_QC;
  tsg.SSPS_ADJUSTED_ERROR = NaN * ones( size( tsg.SSPS ));

elseif isempty( tsg.SSPS )

  msgbox('You must initialise the tsg.SSPS variable',...
    'function ''updateTsgStruct''', ....
    'warn', 'modal');
end

if isempty( tsg.SSJT_ADJUSTED ) && ~isempty( tsg.SSJT )
  tsg.SSJT_ADJUSTED       = tsg.SSJT;
  tsg.SSJT_ADJUSTED_QC    = tsg.SSJT_QC;
  tsg.SSJT_ADJUSTED_ERROR = NaN * ones( size( tsg.SSJT ));

elseif isempty( tsg.SSJT )

  msgbox('You must initialise the tsg.SSJT variable',...
    'function ''updateTsgStruct''', ....
    'warn', 'modal');
end

Yves Gouriou's avatar
Yves Gouriou committed
if isempty( tsg.SSTP_ADJUSTED ) && ~isempty( tsg.SSTP )
  tsg.SSTP_ADJUSTED       = tsg.SSTP;
  tsg.SSTP_ADJUSTED_QC    = tsg.SSTP_QC;
  tsg.SSTP_ADJUSTED_ERROR = NaN * ones( size( tsg.SSTP ));
jacques.grelet_ird.fr's avatar
jacques.grelet_ird.fr committed
% Save tsg structure 
% ------------------
setappdata( hTsgGUI, 'tsg_data', tsg);