Newer
Older
function tsg_initialisation(hTsgGUI, hQcCmenu)
%
% Input
% -----
% hTsgGUI ............ Handel to the main user interface
Yves Gouriou
committed
% hQcCmenu ........... Handel to the QC code context menu
%
% -------------------------------------------------------------------------
% 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);
% -------------------------------------------------------------------------
% Levitus field for climatology
% -------------------------------------------------------------------------
tsg.levitus.data = [];
tsg.levitus.type = [];
% -------------------------------------------------------------------------
% file field
% -------------------------------------------------------------------------
tsg.file.name = [];
tsg.file.type = [];
% -------------------------------------------------------------------------
% Constants for the quality control procedure
% -------------------------------------------------------------------------
% Quality Code and color
tsg.qc.Color.NO_CONTROL = 'k';
tsg.qc.Color.GOOD = 'b';
tsg.qc.Color.PROBABLY_GOOD = 'g';
tsg.qc.Color.PROBABLY_BAD = 'm';
tsg.qc.Color.BAD = 'r';
tsg.qc.Color.HARBOUR = 'c';
% 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
tsg.qc.Code.NO_CONTROL = 0;
tsg.qc.Code.GOOD = 1;
tsg.qc.Code.PROBABLY_GOOD = 2;
tsg.qc.Code.PROBABLY_BAD = 3;
tsg.qc.Code.BAD = 4;
tsg.qc.Code.HARBOUR = 6;
tsg.qc.Code.ACTIVE = tsg.qc.Code.NO_CONTROL;
tsg.qc.Color.ACTIVE = tsg.qc.Color.NO_CONTROL;
% -------------------------------------------------------------------------
% Constants for the Correction procedure
% -------------------------------------------------------------------------
% Smoothing of tsg time series over 1 hour interval
% 1 hour interval expressed in MATLAB serial Number
% -------------------------------------------------
Yves Gouriou
committed
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
% -----------------------------------------------------------------------
Yves Gouriou
committed
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
% ---------------------------------------------------------------------
Yves Gouriou
committed
cst.COR_TIME_WINDOWS = 10;
% store the 'const' structure as an application data
% --------------------------------------------------
Yves Gouriou
committed
setappdata( hTsgGUI, 'constante', cst);
% 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
% ------------------
for i=1:numel(nca_keys)
global_att = nca_keys{i};
tsg.(global_att) = '';
end
% tsg.PLATFORM_NAME = '';
% tsg.SHIP_CALL_SIGN = '';
% tsg.SHIP_MMSI = '';
% tsg.TSG_TYPE = '';
% tsg.TSG_NUMBER = '';
% tsg.TINT_TYPE = '';
% tsg.TINT_NUMBER = '';
% tsg.DATA_TYPE = '';
% tsg.DATA_MODE = '';
% tsg.SAMPLING_PERIOD = '';
% tsg.PROCESSING_STATUS = '';
% tsg.DATE_START = '';
% tsg.DATE_END = '';
% tsg.SOUTH_LATX = '';
% tsg.NORTH_LATX = '';
% tsg.WEST_LONX = '';
% tsg.EAST_LONX = '';
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;
% tsg.DATA_RESTRICTIONS = '';
% tsg.CITATION = '';
% tsg.COMMENT = '';
% tsg.PROJECT_NAME = '';
% tsg.PI_NAME = '';
% tsg.DATA_CENTRE = '';
% tsg.DATA_ACQUISITION = '';
% tsg.PROCESSING_CENTRE = '';
% tsg.PROCESSING_STATES = '';
% variables describing TSG installation (Salinity, SSPS et Jacket
% Temperature SSJT)
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
% tsg.SSPS_DEPH = [];
% tsg.SSPS_DEPH_MIN = [];
% tsg.SSPS_DEPH_MAX = [];
% tsg.CNDC_CALCOEF = [];
% tsg.CNDC_LINCOEF = [];
% tsg.SSJT_CALCOEF = [];
% tsg.SSJT_LINCOEF = [];
%
% % variables describing Temperature sensor at intake (SSJT) installation
% tsg.SSTP_DEPH = [];
% tsg.SSTP_DEPH_MIN = [];
% tsg.SSTP_DEPH_MAX = [];
% tsg.SSTP_CALCOEF = [];
% tsg.SSTP_LINCOEF = [];
%
% % Coordinates
% tsg.DATE = [];
% tsg.DAYD = [];
% tsg.LATX = [];
% tsg.LONX = [];
% tsg.POSITION_QC = [];
% tsg.SPDC = [];
% tsg.REFERENCE_DATE_TIME = REFERENCE_DATE_TIME;
%
% % variables
% tsg.PRES = [];
% tsg.SSJT = [];
% tsg.SSJT_STD = [];
% tsg.SSJT_CAL = [];
% tsg.SSJT_ADJUSTED = [];
% tsg.SSJT_ADJUSTED_ERROR = [];
% tsg.SSJT_ADJUSTED_QC = [];
% tsg.SSJT_ADJUSTED_HIST = [];
% tsg.CNDC = [];
% tsg.CNDC_STD = [];
% tsg.CNDC_CAL = [];
%
% %% a verifier !!!!!
% tsg.SSTP = [];
% tsg.SSTP_QC = [];
% tsg.SSTP_CAL = [];
% tsg.SSTP_ADJUSTED = [];
% tsg.SSTP_ADJUSTED_ERROR = [];
% tsg.SSTP_ADJUSTED_QC = [];
% tsg.SSTP_ADJUSTED_HIST = [];
%
% tsg.SSPS = [];
% tsg.SSPS_QC = [];
% tsg.SSPS_CAL = [];
% tsg.SSPS_ADJUSTED = [];
% tsg.SSPS_ADJUSTED_ERROR = [];
% tsg.SSPS_ADJUSTED_QC = [];
% tsg.SSPS_ADJUSTED_HIST = [];
%
% % Water Sample Coordinates
% tsg.DATE_WS = [];
% tsg.DAYD_WS = [];
% tsg.LATX_WS = [];
% tsg.LONX_WS = [];
%
% % Water Sample variables
% tsg.SSPS_WS = [];
% tsg.SSPS_WS_QC = [];
% %tsg.SSPS_WS_DIF = [];
% %tsg.SSPS_WS_SMOOTH = []; % a verifier
% tsg.SSPS_WS_ANALDATE = [];
% tsg.SSPS_WS_BOTTLE = [];
%
% % External data coordinates
% tsg.DATE_EXT = [];
% tsg.DAYD_EXT = [];
% tsg.LATX_EXT = [];
% tsg.LONX_EXT = [];
%
% % External data variables
% tsg.SSTP_EXT = [];
% tsg.SSTP_EXT_QC = [];
% tsg.SSTP_EXT_TYPE = [];
% tsg.SSPS_EXT = [];
% tsg.SSPS_EXT_QC = [];
% tsg.SSPS_EXT_TYPE = [];
% Save structure tsg
setappdata( hTsgGUI, 'tsg_data', tsg);