function tsg_initialisation(hTsgGUI) % % Input % ----- % hTsgGUI ............ Handel to the main user interface % hQcCmenu ........... Handel to the QC code context menu % % Output % ------ % $Id$ % % ------------------------------------------------------------------------- %% Constants for NetCDF DATA FORMAT TSG % ------------------------------------------------------------------------- % netcdf file version % ------------------- 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 = 'annual'; 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 one 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 % Amount of days used to compute the correction % --------------------------------------------------------------------- tsg.cst.COR_TIME_WINDOWS = 10; % 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 % -------------------------------------------- % variables % --------- for i=1:numel(ncv_keys) variable = ncv_keys{i}; tsg.(variable) = []; end % globals attributes % ------------------ for i=1:numel(nca_keys) global_att = nca_keys{i}; tsg.(global_att) = ''; end % set some fields % --------------- tsg.FORMAT_VERSION = FORMAT_VERSION; tsg.DATE_CREATION = [date(1:8) date(10:15)]; tsg.DATE_UPDATE = tsg.DATE_CREATION; tsg.REFERENCE_DATE_TIME = REFERENCE_DATE_TIME; % Save structure tsg % ------------------ setappdata( hTsgGUI, 'tsg_data', tsg); end