From 8fce165a1b45a56265bb5c708819b46320491eb7 Mon Sep 17 00:00:00 2001 From: Jacques Grelet <jacques.grelet@ird.fr> Date: Tue, 8 Jan 2008 15:12:30 +0000 Subject: [PATCH] renomme le fichier --- tsg_util/readTsgDataTxt.m | 105 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 105 insertions(+) create mode 100644 tsg_util/readTsgDataTxt.m diff --git a/tsg_util/readTsgDataTxt.m b/tsg_util/readTsgDataTxt.m new file mode 100644 index 0000000..f57c38c --- /dev/null +++ b/tsg_util/readTsgDataTxt.m @@ -0,0 +1,105 @@ +function [error] = readTsgDataTxt( hTsgGUI, filename) +% Function to read the TSG data. Should be a NetCDF file +% +% Input +% ----- +% hTsgGUI ............ Handle to the main user interface +% filename ........... Data filename +% +% Output +% ------ +% error .............. 1: OK - -1 : an error occured +% +% The data are store using setappdata - Variable name : 'tsg_data' +% +% +% Caution : replace the fill-value with NaN +% $Id$ + +% Get the data from the application GUI +% ------------------------------------- +tsg = getappdata( hTsgGUI, 'tsg_data'); + +% Display read file info on console +% --------------------------------- +fprintf('\nREAD_ASCII_FILE\n'); tic; + +% Open the file +% ------------- +fid = fopen( filename, 'r' ); + +% Check file +% ----------- +if fid == -1 + msg_error = ['TSG_GOSUD file_lecture : Open file error : ' filename]; + warndlg( msg_error, 'ASCII error dialog'); + sprintf('...cannot locate %s\n', filename); + error = -1; + return; +end + +% Display more info about read file on console +% -------------------------------------------- +fprintf('...reading %s : ', filename); + +% Read the file +% ------------- +tsgData = fscanf(fid, '%d/%d/%d %d:%d:%d %f %f %f %f %d %f %f', ... + [13 Inf])'; + +% Every variable are put in a structure +% ------------------------------------- +tsg.DAYD = datenum(tsgData(:,3), tsgData(:,2),tsgData(:,1), ... + tsgData(:,4),tsgData(:,5),tsgData(:,6)); + +% save original date +% ------------------ +tsg.DATE = datestr( tsg.DAYD, 'yyyymmddHHMMSS' ); + +% convert with julian day with origin 1950 +% ----------------------------------------- +%% a supprimer !!!!!!! +% tsg.TIME_TSG = datenumToJulian(tsg.TIME_TSG); + +tsg.LATX = tsgData(:,7); +tsg.LONX = tsgData(:,8); +tsg.SSJT = tsgData(:,9); +tsg.SSPS = tsgData(:,10); +tsg.SSPS_QC = tsgData(:,11); +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +tsg.SSPS_ADJ = tsgData(:,12); +tsg.SSPS_ERR = tsgData(:,13); + +% Compute ship velocity from positions if sog not available +% --------------------------------------------------------- +if isempty(tsg.SPDC) + range = m_lldist(tsg.LONX,tsg.LATX); + ind = size(tsg.DAYD); + tsg.SPDC = zeros(size(ind)); + 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 + + +% Save the data in the application GUI +% ------------------------------------ +setappdata( hTsgGUI, 'tsg_data', tsg ); + +% Clear the Workspace +% ------------------- +clear tsgdata + +% Close the file +% -------------- +fclose( fid ); + +% Display time to read file on console +% ------------------------------------ +t = toc; fprintf('...done (%6.2f sec).\n\n',t); + +% Everything OK +% ------------- +error = 1; -- GitLab