function maxSSTPQC(hMainFig) % % This function is called after option/preferences menu has been activated % and flag salinity data where SSTP > max as BAD if test is on % % Input % ----- % hMainFig ............ Handle to the main user interface % % $Id: maxSSTPQC.m 543 2010-01-14 13:36:40Z jgrelet $ % Get the data from the application GUI % ------------------------------------- tsg = getappdata( hMainFig, 'tsg_data'); % Get BAD code value % ---------------------- badCode = tsg.qc.hash.BAD.code; sstp_max = tsg.preference.sstp_max_string; % If necessary replace a comma by a point % --------------------------------------- sstp_max = regexprep(sstp_max, ',', '.'); % If bias not a numeric, str2double return a NaN % ---------------------------------------------- sstp_max = str2double( sstp_max ); if isnumeric( sstp_max ) && ~isnan( sstp_max ) % Set salinity QC to BAD for ssps < ssps_max % ----------------------------------------------------- ind = find(tsg.SSTP > sstp_max); if ~isempty( ind ) % store last QC in history for undo % --------------------------------- if (tsg.qc_history_pointer == 0) tsg.qc_history_state = int8(zeros(size(tsg.SSPS_QC,1),tsg.qc_history_size)); end if (tsg.qc_history_pointer == tsg.qc_history_size) tsg.qc_history_state = circshift(tsg.qc_history_state,[0 -1]); else tsg.qc_history_pointer = tsg.qc_history_pointer + 1; end tsg.qc_history_state(:,tsg.qc_history_pointer) = tsg.SSPS_QC; tsg.qc_redo_possible = 0; tsg.SSTP_QC(ind) = castByteQC( badCode, ind ); tsg.SSPS_QC(ind) = castByteQC( badCode, ind ); end % Save tsg structure % ------------------ setappdata( hMainFig, 'tsg_data', tsg); else msgbox('Enter a numeric value in the REFERENCE menu', 'sstp QC',... 'error', 'modal'); end end