function tsg = tsg_initialisation() %function tsg_initialisation(hTsgGUI) % % Input % ----- % none % % Output % ------ % tsg ............ tsg structure that contain data % % $Id$ % % ------------------------------------------------------------------------- %% Constants for NetCDF DATA FORMAT TSG % ------------------------------------------------------------------------- % netcdf file version % ------------------- NETCDF_FORMAT_VERSION = '1.4'; % date of reference for julian days, is 1st january 1950 % ------------------------------------------------------ REFERENCE_DATE_TIME = '19500101000000'; % get actual date % --------------- date = datestr(now,30); % set default font size % --------------------- tsg.fontSize = 11; % ------------------------------------------------------------------------- %% Levitus field for climatology % ------------------------------------------------------------------------- tsg.levitus.data = []; tsg.levitus.type = 'none'; tsg.levitus.time = 1; % ------------------------------------------------------------------------- %% file field % ------------------------------------------------------------------------- tsg.file.name = []; tsg.file.type = []; % ------------------------------------------------------------------------- %% Smooth TSG time serie field % ------------------------------------------------------------------------- tsg.ssps.smooth.val = []; tsg.ssps.smooth.nval = []; % ------------------------------------------------------------------------- %% Constants for the quality control procedure % ------------------------------------------------------------------------- % Quality flags reference table, see GOSUD, DATA FORMAT TSG V1.4, table 4 % ----------------------------------------------------------------------- % Code Meaning % % 0 No QC was performed % 1 Good data % 2 Probably good data % 3 Bad data that are potentially correctable % 4 Bad data % 5 Value changed % 6 Data acquired in harbour % 7 Not used % 8 Interpolated value % 9 Missing value % Quality definition, we use a hashtable with a definition file % located in @tsg_nc/tsg_quality.csv, % use this file if you want add or modify quality context menu % ------------------------------------------------------------- tsg.qc.hash = tsg_nc('tsg_quality.csv'); % set default code at startup % --------------------------- tsg.qc.active.Code = get(tsg.qc.hash, 'NO_CONTROL', 'code'); tsg.qc.active.Color = get(tsg.qc.hash, 'NO_CONTROL', 'color'); % set empty queue (use for undo/redo) % ----------------------------------- tsg.queue = queue; % ------------------------------------------------------------------------- %% Constants for the Correction procedure % ------------------------------------------------------------------------- % Smoothing of tsg time series over 1 hour interval % 1 hour interval expressed in MATLAB serial Number % ------------------------------------------------- tsg.cst.TSG_DT_SMOOTH = datenum(0, 0, 0, 1, 0 , 0); % Smoothing of tsg time series : % Salinity, in 1 hour interval, should not depart the average for more % than SAL_STD_MAX standard deviation % -------------------------------------------------------------------- tsg.cst.TSG_STDMAX = 0.1; % Correction is estimated by computing the median value of X tsg-sample % differences % Time window in days used to compute the correction % --------------------------------------------------------------------- tsg.cst.COR_TIME_WINDOWS = 10; % Maximum time difference between tsg data and water sample used to % compute the difference : 5 minutes. % ----------------------------------------------------------------- tsg.cst.TSG_WS_TIMEDIFF = datenum(0, 0, 0, 0, 5, 0); % Get variables list codes from class tsg_nc with file 'tsg_ncvar.csv' % -------------------------------------------------------------------- ncv = tsg_nc('tsg_ncvar.csv'); ncv_keys = keys(ncv); % Get global attributes list from class tsg_nc with file 'tsg_ncattr.csv' % ----------------------------------------------------------------------- nca = tsg_nc('tsg_ncattr.csv'); nca_keys = keys(nca); % store tsg NetCDF data structure % ------------------------------- % dimensions % ---------- tsg.DAYD = []; tsg.DAYD_WS = []; tsg.DAYD_EXT = []; % initialise tsg structure from tsg_nc objects % -------------------------------------------- % assign empty matrix to all variables % ------------------------------------ for i=1:numel(ncv_keys) variable = ncv_keys{i}; tsg.(variable) = []; end % assign empty string to all globals attributes % --------------------------------------------- for i=1:numel(nca_keys) global_att = nca_keys{i}; tsg.(global_att) = ''; end % set some fields % --------------- tsg.FORMAT_VERSION = NETCDF_FORMAT_VERSION; tsg.DATE_CREATION = [date(1:8) date(10:15)]; tsg.DATE_UPDATE = tsg.DATE_CREATION; tsg.REFERENCE_DATE_TIME = REFERENCE_DATE_TIME;