From 8f56122e003441da11a3b0208f76062469da36e7 Mon Sep 17 00:00:00 2001 From: Jacques Grelet <jacques.grelet@ird.fr> Date: Wed, 16 Jan 2008 16:57:51 +0000 Subject: [PATCH] =?UTF-8?q?creation=20dynamique=20de=20la=20structure=20ts?= =?UTF-8?q?g=20a=20partir=20des=20objets=20tsg=5Fnc=20Renumerotation=20des?= =?UTF-8?q?=20codes=20de=20qualit=C3=A9s=20suivant=20le=20document=20GOSUD?= =?UTF-8?q?=201.4=20Ajout=20d'un=20code=20(6),=20HARBOUR?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tsg_util/tsg_initialisation.m | 283 ++++++++++++++++++++-------------- 1 file changed, 166 insertions(+), 117 deletions(-) diff --git a/tsg_util/tsg_initialisation.m b/tsg_util/tsg_initialisation.m index a9ee58f..5247147 100644 --- a/tsg_util/tsg_initialisation.m +++ b/tsg_util/tsg_initialisation.m @@ -14,11 +14,17 @@ function tsg_initialisation(hTsgGUI, hQcCmenu) % 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 % ------------------------------------------------------------------------- @@ -41,12 +47,29 @@ 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'; -tsg.qc.Code.NO_CONTROL = 1; -tsg.qc.Code.GOOD = 2; -tsg.qc.Code.PROBABLY_GOOD = 3; -tsg.qc.Code.PROBABLY_BAD = 4; -tsg.qc.Code.BAD = 5; +% 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; @@ -75,130 +98,156 @@ cst.COR_TIME_WINDOWS = 10; % -------------------------------------------------- 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 % ------------------------------- -% get actual date -date = datestr(now,30); % dimensions -tsg.DAYD = 0; -tsg.DAYD_WS = 0; -tsg.DAYD_EXT = 0; +% ---------- +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 -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 = ''; +% ------------------ +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.DATA_RESTRICTIONS = ''; -tsg.CITATION = ''; -tsg.COMMENT = ''; -tsg.PROJECT_NAME = ''; -tsg.PI_NAME = ''; -tsg.DATA_CENTRE = ''; -tsg.DATA_ACQUISITION = ''; -tsg.PROCESSING_CENTRE = ''; -tsg.PROCESSING_STATES = ''; +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) -tsg.SSPS_DEPH = 0; -tsg.SSPS_DEPH_MIN = 0; -tsg.SSPS_DEPH_MAX = 0; -tsg.CNDC_CALCOEF = [99999 99999 99999 99999 99999]; -tsg.CNDC_LINCOEF = [99999 99999]; -tsg.SSJT_CALCOEF = [99999 99999 99999 99999 99999]; -tsg.SSJT_LINCOEF = [99999 99999]; - -% variables describing Temperature sensor at intake (SSJT) installation -tsg.SSTP_DEPH = 0; -tsg.SSTP_DEPH_MIN = 0; -tsg.SSTP_DEPH_MAX = 0; -tsg.SSTP_CALCOEF = [99999 99999 99999 99999 99999]; -tsg.SSTP_LINCOEF = [99999 99999]; - -% 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 = []; +% 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); -- GitLab