Newer
Older
function calibration( hMainFig )
%
% Calibrate :
% CNDC ...... Conductivity
% SSJT ...... Jacket temperature
% SSTP ...... Precise temperature
%
% Compute salinity from calibrated conductivity and jacket temperature
%
% Bug :
% 1 - tsg.SSPS_CAL = sw_salt( cond/sw_c3515(),t90TOt68(temp),zeros(size(cond)));
% replaced by
% tsg.SSPS_CAL = sw_salt( cond/sw_c3515(),temp,zeros(size(cond)));
%
% CSIRO toolbox modified sw_salt modified to use temprature ITS90
%
%
% Get tsg application data
% ------------------------
tsg = getappdata( hMainFig, 'tsg_data' );
% Variables
% ---------
PARA = [ 'CNDC'; 'SSJT'; 'SSTP' ];
for i = 1:3
if ~isempty( tsg.(PARA(i,:)) )
para1 = [PARA(i,:) '_LINCOEF'];
para2 = [PARA(i,:) '_CAL'];
% If the Slope = 1 and the offset = 0 : No calibration
% The variable _CAL must be emptied
% ---------------------------------------------------------------------
if abs(1-tsg.(para1)(1)) > .00000001 || abs(0-tsg.(para1)(2)) > .00000001
tsg.(para2) = tsg.(para1)(1) * tsg.(PARA(i,:)) + tsg.(para1)(2);
else
tsg.(para2) = [];
end
elseif strcmp( PARA(i,:), 'CNDC' ) || strcmp( PARA(i,:), 'SSJT' )
msgbox( [ ' No ' PARA(i,:) ' data'],...
'Function ''Calibration''',...
'warn', 'modal');
return
end
end
% Compute salinity - Use CSIRO functions
% --------------------------------------
% Test if Conductivity or temperature has been calibrated
% -------------------------------------------------------
indC = find( isnan( tsg.CNDC_CAL ) == 0 );
indT = find( isnan( tsg.SSJT_CAL ) == 0 );
if ~isempty( indC ) || ~isempty( indT )
% If SSJT has not been calibrated used SSJT and not SSJT_CAL to compute
% SSPS_CAL
% ---------------------------------------------------------------------
temp = tsg.SSJT_CAL;
ind = find( isnan( temp ) == 0 );
if isempty(ind)
temp = tsg.SSJT;
end
% If CNDC has not been calibrated used CNDC and not CNDC_CAL to compute
% SSPS_CAL
% ---------------------------------------------------------------------
cond = tsg.CNDC_CAL;
ind = find( isnan( cond ) == 0 );
if isempty(ind)
cond = tsg.CNDC;
end
if ~isempty( temp ) && ~isempty( cond )
% Modification du 13/02/2009
% tsg.SSPS_CAL = sw_salt( ...
% cond/sw_c3515(), t90TOt68(temp), zeros(size(cond)));
tsg.SSPS_CAL = sw_salt( cond/sw_c3515(), temp, zeros(size(cond)));
end
else
% If CNDC_CAL is empty SSPS_CAL must be also empty
% ------------------------------------------------
tsg.SSPS_CAL = [];
end
% Save tsg application data
% --------------------------
setappdata( hMainFig, 'tsg_data', tsg );
end