Skip to content
Snippets Groups Projects
Commit bb36082b authored by jacques.grelet_ird.fr's avatar jacques.grelet_ird.fr
Browse files

Ajout des classes:

hashtable
tsg_nc.m
utilisées pour la gestion des attributs globaux et variables netcdf
tsg_nc est utilisée également pour la gestion dynamique du masque de l'entete des attributs globaux
parent b24d3a99
No related branches found
No related tags found
No related merge requests found
Showing with 453 additions and 0 deletions
% @HASHTABLE
%
% Files
% clear - Clear hash table
% display - Display a hash table object
% elements - Get all hash table elements
% get - Get data from the hash table
% hashtable - Constructor for HashTable class
% isempty - Check to see if the hash is empty
% iskey - Check to see if the hash is currently using a key
% keys - Get all the keys currently being used in the hash
% put - Put data in the hash table
% remove - Remove element from the hash
% values - Get all data contained in the hash table
function hash = clear(hash)
%CLEAR Clear hash table
% hash = clear(hash)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
hash.keys = {};
hash.data = {};
function display(hash)
%DISPLAY Display a hash table object
% display(hash)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
%isLoose = strcmp(get(0,'FormatSpacing'),'loose');
isLoose = 0;
if(length(inputname(1)) ~= 0)
if isLoose, disp(' '), end
disp( sprintf('%s =', inputname(1)) );
end
if isLoose, disp(' '), end
%fprintf('\thashtable\n' );
if isempty(hash)
fprintf('\tEmpty\n\n' );
else
% disp( sprintf('\tElements:') );
display( elements(hash) );
end
function data = elements(hash)
%ELEMENTS Get all hash table elements
% data = values(hash)
%
% Get all hash table elements in a N-by-2 cell matrix where N is the number of
% elements, first column contains the element keys, and second column contains
% the element values.
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
data(:,1) = hash.keys;
data(:,2) = hash.data;
function data = get(hash,key)
%GET Get data from the hash table
% data = get(hash,key)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
index = find(strcmp(hash.keys,key));
if isempty(index)
data = {};
else
data = hash.data{index};
end
function hash = hashtable(varargin)
%HASHTABLE Constructor for hashtable class
% hash = hashtable - Default constructor, empty hash table
% hash = hashtable(keys,data) - keys and data are N-by-1 lists
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
if nargin == 1 && isa(varargin{1},'hashtable')
hash = varargin{1};
return;
elseif nargin == 0
h.keys = {};
h.data = {};
elseif nargin == 2
h.keys = varargin{1};
h.data = varargin{2};
else
error('hashtable:hashtable', 'Invalid arguments.');
end
hash = class(h,'hashtable');
function bool = isempty(hash)
%ISEMPTY Check to see if the hash is empty
% bool = isempty(hash)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
bool = isempty(hash.keys);
function bool = iskey(hash,key)
%ISKEY Check to see if the hash is currently using a key
% bool = iskey(hash,key)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
index = find(strcmp(hash.keys,key));
bool = ~isempty(index);
function keys = keys(hash)
%KEYS Get all the keys currently being used in the hash
% keys = keys(hash)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
keys = hash.keys;
function hash = put(hash,key,data)
%PUT Put data in the hash table
% hash = put(hash,key,data)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
index = find(strcmp(hash.keys,key));
if isempty(index)
if isempty(hash.keys)
hash.keys{1} = key;
hash.data{1} = data;
else
hash.keys{end+1} = key;
hash.data{end+1} = data;
end
else
hash.data{index} = data;
end
function hash = remove(hash,key)
%REMOVE Remove element from the hash
% hash = remove(hash,key)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
index = find(strcmp(hash.keys,key));
if ~isempty(index)
hash.keys = {hash.keys{1:index-1} hash.keys{index+1:end}};
hash.data = {hash.data{1:index-1} hash.data{index+1:end}};
end
function data = values(hash)
%VALUES Get all data contained in the hash table
% data = values(hash)
% Copyright (c) 2004 Matthew Krauski (mkrauski@uci.edu), CNLM, UC Irvine
data = hash.data;
function display(self)
% tsg_ncvar/display
% $Id$
disp(struct(self));
function result = get( self, varargin )
% tsg_ncvar/get -- get structure of "tsg_ncvar" object.
%
% Input
% -----
% self ........... instance of 'tsg_ncvar' object
% key ........... GF3 code
% member ........... attribute member
%
% Output
% ------
% result ........... structure for the key (hastable)
%
% if key dosn't exist, return empty struct
% $Id$
% Test variable argument list
% ---------------------------
switch (nargin)
% Return the list of key
% ----------------------
case 1
result = keys(self);
% Return for a valid key the hash (structure)
% -------------------------------------------
case 2
if ~isempty( find(strcmp(keys(self), varargin{1})))
result = get(self.hashtable, varargin{1});
else
result = {};
end
% Return the hash member value
% ----------------------------
case 3
% call method get for an hashtable object
result = get(self, varargin{1});
% test if third arg is a valid member of the struct in the hash
if ~isempty( find(strcmp(keys(self), varargin{1})) ) && ...
isfield(result,varargin{2})
result = result.(varargin{2});
else
result = {};
end
otherwise
error('Wrong input args');
end
function result = get_fieldnames( self )
% tsg_ncvar/get_fieldnames -- get internal fieldnames of "tsg_ncvar" object.
%
% Input
% -----
% self ........... an instance of 'tsg_ncvar' object
%
% Output
% ------
% result ........... cell with fieldnames
% $Id$
theStruc = get(self,'DAYD');
result = fieldnames(theStruc);
function result = keys(self)
% tsg_ncvar/keys -- Get all the keys currently being used in the internal
% tsg_ncvar hash
% result = keys(self)
% $Id: keys.m 54 2006-03-03 13:44:00Z jgrelet $
result = keys(self.hashtable);
function self = set( self, varargin )
% tsg_ncvar/set -- set new pair key/value for "tsg_ncvar" object.
%
% not implemented yet
% $Id£
function ncv = tsg_ncr( varargin )
% tsg_nc/tsg_nr -- Constructor for "tsg_nc" class.
% tsg_nc(varargin) constructs a 'tsg_nc' object from
% supplied csv 'filename'.
%
% Usage: nca = tsg_ncvar( file )
%
% Input
% -------
% filename ........... csv data filename
%
% Output
% --------
% ncv ........... instance of tsg_ncvar object
%
% See also: methods('tsg_ncvar').
%
% $Id: roscop.m 129 2007-03-16 08:56:31Z jgrelet $
% check varargin
% --------------
switch nargin
case 0 % create default object
error('csv filename not supplied');
case 1
if( isa(varargin{1}, 'char'))
file = varargin{1};
else
error('Wrong input argument');
end
otherwise
error('Wrong number of input arguments');
end
% check csv file validity
% -----------------------
fid = fopen( file, 'r' );
if fid == -1
error(['The specified data file ''%s'' does not exist ...\n' ...
'or is not in the directory which is on the MATLAB search path'],...
file);
end
% create hashtable
% ----------------
data = hashtable;
% read csv file
% -------------
header = textscan(fid,'%s \n %s [^\n]','headerlines', 3 );
members = textscan(header{1}{1},'%s','delimiter',';');
types = textscan(header{2}{1},'%s','delimiter',';');
values = textscan(fid,'%s','delimiter',';');
% populate private structure ncv
% ------------------------------
ncv.file = which( file );
ncv.size = numel(values{1}) / numel(members{1});
ncv.member = numel(members{1});
% loop
% ----
for i=1:ncv.size
for j=2:ncv.member
member = genvarname(members{1}{j});
type = genvarname(types{1}{j});
value = values{1}{j + ncv.member * (i -1)};
key = values{1}{1 + ncv.member * (i -1)};
% dynamically populate structure 'theStruct'
% ------------------------------------------
if isempty(values{1}{j + ncv.member * (i -1)})
theStruct.(member) = [];
else
switch type
case 'char'
theStruct.(member) = value;
case {'integer','double'}
theStruct.(member) = str2double(value);
otherwise
theStruct.(member) = value;
end
end
end
% populate the hashtable
% ----------------------
data = put(data, key, theStruct);
% initialize internal structure
% -----------------------------
theStruct = [];
end
% remove first member in structure, the key
% -----------------------------------------
ncv.member = ncv.member -1;
% bless tsg_ncvar class and inherite from hashtable data
% ------------------------------------------------------
ncv = class(ncv, 'tsg_nc', data );
% definition
% $Id$
%
code;name;uicontrolType;string;value;length;height;horizontalAlignment;comment;
char;char;char;char;integer;integer;integer;char;char;
PLATFORM_NAME;PLATFORM NAME:;edit;;;;;right;Ship name;
SHIP_CALL_SIGN;SHIP CALL SIGN:;edit;;;;;right;Ship call sign;
SHIP_MMSI;SHIP MMSI:;edit;;;;;right;Ship MMSI (ASN) number;
TSG_TYPE;TSG TYPE:;popupmenu;SBE21|SBE45|UNKNO;1;.1;.015;right;Thermosalinograph model number;
TSG_NUMBER;TSG NUMBER:;edit;;;;;right;TSG serial number;
TINT_TYPE;TINT TYPE:;popupmenu;SBE38|SBE3S|UNKNO;1;.1;.015;right;External sea surface temperature sensor;
TINT_NUMBER;TINT NUMBER:;edit;;;;;right;External temperature sensor serial number;
DATA_TYPE;DATA TYPE:;edit;;;;;right;Describe data type contained in file, eg: Thermosilinometer data;
DATA_MODE;DATA MODE:;popupmenu;Delayed mode data|Real time data;1;;;right;Indicate if the file contains real time or delayed mode data;
SAMPLING_PERIOD;SAMPLING PERIOD:;edit;300;;.05;;right;Sampling period in seconds: 6 to 3600;
PROCESSING_STATUS;PROCESSING STATUS:;edit;;;;;right;State of processing;
DATE_START;DATE_START:;edit;;;;;right;Date of first measurements;
DATE_END;DATE END:;edit;;;;;right;Date of last measurements;
SOUTH_LATX;SOUTH LATX:;edit;;;;;right;South limit of measurements;
NORTH_LATX;NORTH LATX:;edit;;;;;right;North limit of measurements;
WEST_LONX;WEST LONX:;edit;;;;;right;West limit of measurements;
EAST_LONX;EAST LONX:;edit;;;;;right;East limit of measurements;
FORMAT_VERSION;FORMAT VERSION:;edit;1.4;;;;right;File format version;
DATE_CREATION;DATE CREATION:;edit;;;;;right;Date and time of file creation, format: YYYYMMDDHHMISS;
DATE_UPDATE;DATE UPDATE:;edit;;;;;right;Date and time of file update, format: YYYYMMDDHHMISS;
DATA_RESTRICTIONS;DATA RESTRICTIONS:;edit;NONE;;;;right;Restriction on use for these data;
CITATION;CITATION:;edit;;;;;right;This citation should be used for publications;
COMMENT;COMMENT:;edit;;;;;right;;
PROJECT_NAME;PROJECT NAME:;edit;;;;;right;Name of project wich operates the TSG line, ex: ORE-SSS;
PI_NAME;PI NAME:;edit;;;;;right;Name of principal investigator in charge of the TSG, ex: IRD or GENAVIR;
DATA_CENTRE;DATA CENTRE:;edit;;;;;right;Code for data center (2 char);
DATA_ACQUISITION;DATA ACQUISITION:;edit;;;;;right;Acquisition data centre, ex: SHOM,IRD,GENAVIR,CNRS,...;
PROCESSING_CENTRE;PROCESSING CENTRE:;edit;;;;;right;Processing data centre, ex: ORE-SSS,CORIOLIS,SISMER,...;
PROCESSING_STATES;PROCESSING STATES:;edit;;;;;right;Need to be defined, IRD action,...;
% tsg_ncvar.csv: definition (14 separators ; actually)
% $Id$
%
code;dimension;long_name;standard_name;units;conventions;valid_min;valid_max;format;FillValue;epic_code;axis;resolution;comment;
char;char;char;char;char;char;integer;integer;char;double;integer;char;double;char;
REFERENCE_DATE_TIME;STRING14;;;;yyyymmddhhmmss;;;;;;;;Reference date for julian days origin;
DATE;DAYD,STRING14;DATE OF MAIN INSTRUMENT MEASUREMENT;;;yyyymmddhhmmss;;;;;;;;This is the original data describing the date, it must not be lost;
DATE_WS;DAYD,STRING14;DATE OF WATER SAMPLE;;;yyyymmddhhmmss;;;;;;;;This is the original data describing the date, it must not be lost;
DATE_EXT;DAYD,STRING14;DATE OF EACH EXTERNAL DATA MEASUREMENT;;;yyyymmddhhmmss;;;;;;;;This is the original data describing the date, it must not be lost;
DAYD;DAYD;DECIMAL JULIAN DAY (UTC) OF EACH MEASUREMENT;time;days since 1950/01/01 00:00:00;Relative julian days with decimal part (as parts of the day);0.0;36600.0;%9.5lf;9999999.;601;t;;Julian day of the measurement;
DAYD_WS;DAYD_WS;DECIMAL JULIAN DAY (UTC) OF EACH WATER SAMPLE;time;days since 1950/01/01 00:00:00;Relative julian days with decimal part (as parts of the day);0.0;36600.0;%9.5lf;9999999.;601;t;;Julian day of the measurement;
DAYD_EXT;DAYD_EXT;DECIMAL JULIAN DAY (UTC) OF EXTERNAL DATA MEASUREMENT;time;Days since 1950/01/01 00:00:00;Relative julian days with decimal part (as parts of the day);0.0;36600.0;%9.5lf;9999999.;601;t;;Julian day of the measurement;
LATX;DAYD;LATITUDE OF EACH MEASUREMENT;latitude;degree_north (decimal);;-90;90;%+8.4lf;999999.;500;;;Latitude of the measurement;
LATX_WS;DAYD_WS;LATITUDE OF WATER SAMPLE;latitude;degree_north (decimal);;-90;90;%+8.4lf;999999.;500;;;Latitude of the measurement;
LATX_EXT;DAYD_EXT;LATITUDE OF EACH EXTERNAL DATA MEASUREMENT;latitude;degree_north (decimal);;-90;90;%+8.4lf;999999.;500;;;Latitude of the measurement;
LONX;DAYD;LONGITUDE OF EACH MEASUREMENT;longitude;degree_east (decimal);;-180;180;%+9.4lf;999999.;501;;;Longitude of the measurement;
LONX_WS;DAYD_WS;LONGITUDE OF WATER SAMPLE;longitude;degree_east (decimal);;-180;180;%+9.4lf;999999.;501;;;Longitude of the measurement;
LONX_EXT;DAYD_EXT;LONGITUDE OF EACH EXTERNAL DATA MEASUREMENT;longitude;degree_east (decimal);;-180;180;%+9.4lf;999999.;501;;;Longitude of the measurement;
SPDC;DAYD;SHIP SPEED COMPUTED FROM NAVIGATION;speed;knots;;0;50;%6.3lf;99999.;;;0.1;Ship speed from GPS (SOG). If SOG not available, derived from last position;
PRES;DAYD;SEA PRESSURE IN TSG;pressure;decibar=10000 pascals;;0;10;%6.1lf;99999.;;;0.1;Pressure inside TSG, this is an indication that pump is working properly;
CNDC;DAYD;ELECTRICAL CONDUCTIVITY;conductivity;mho/meter;;0;7;%5.3lf;99999.;;;0.0001;Conductivity measured by TSG. This data may have been reduced with a media (recommended) or a mean;
CNDC_STD;DAYD;CONDUCTIVITY STANDARD DEVIATION;conductivity;mho/meter;;0;7;%5.3lf;99999.;;;0.0001;Standard deviation of conductivity measured by TSG (CNDC);
CNDC_CAL;DAYD;CONDUCTIVITY CALIBRATED;conductivity calibrated;mho/meter;;0;7;%5.3lf;99999.;;;0.0001;Conductivity calibrated using linearization coefficient;
CNDC_CALCOEF;NCOEF_CAL;CONDUCTIVITY CALIBRATION COEFFICIENTS;;;a,b,c,d,m;;;;99999.;;;;Conductivity linear drift correction coefficient;
CNDC_LINCOEF;NCOEF_LIN;CONDUCTIVITY LINEAR DRIFT CORRECTION COEFFICIENTS;;;a,b;;;;99999.;;;;Conductivity Ocean temperature;
SSJT;DAYD;WATER JACKET TEMPERATURE;temperature in TSG;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Temperature inside TSG (Water Jacket Temperature). Warning, this is not ocean SST temperature. Used for salinity computation;
SSJT_STD;DAYD;WATER JACKET TEMPERATURE STANDARD DEVIATION;temperature std;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;SSJT, Temperature inside TSG standard deviation for data wich have been reduced (with a mean or median);
SSJT_CAL;DAYD;WATER JACKET TEMPERATURE CALIBRATED;temperature cal;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;SSJT, Temperature inside TSG calibrated using linearization coefficient;
SSJT_CALCOEF;NCOEF_CAL;TEMPERATURE CALIBRATION COEFFICIENTS;;;a,b,c,d,f0;;;;99999.;;;;Temperature calibrated using linearization coefficient;
SSJT_LINCOEF;NCOEF_LIN;TEMPERATURE LINEAR DRIFT CORRECTION COEFFICIENTS;;;a,b;;;;99999.;;;;Temperature linear drift correction coefficient;
SSJT_ADJUSTED;DAYD;WATER JACKET TEMPERATURE ADJUSTED;temperature in TSG adjusted;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Adjusted SSJT with external data (CTD,ARGO,XBT,...);
SSJT_ADJUSTED_ERROR;DAYD;ERROR ON ADJUSTED WATER JACKET TEMPERATURE;error temperature in TSG adjusted;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Quality flag applied on adjusted SSJT;
SSJT_ADJUSTED_QC;DAYD;WATER JACKET TEMPERATURE QUALITY FLAG;quality flag applied on temperature in TSG adjusted;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Quality flag applied on adjusted SSJT;
SSJT_ADJUSTED_HIST;DAYD;ADJUSTED WATER JACKET TEMPERATURE PROCESSING HISTORY;temperature in TSG adjusted processing history;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;;
SSPS;DAYD;SEA SURFACE PRACTICAL SALINITY;surface salinity;P.S.U.;;0;40;%6.3lf;99.999;;;0.001;Ocean salinity deduced fron conductivity and jacket TSG temperature;
SSPS_QC;DAYD;SEA SURFACE SALINITY QUALITY FLAG;surface salinity quality;;;0;9;%1d;0;;;;Quality flag applied on salinity values;
SSPS_CAL;DAYD;SEA SURFACE SALINITY CALIBRATED;surface salinity calibrated;P.S.U.;;0;40;%6.3lf;99.999;;;;Calibrated Ocean salinity deduced fron conductivity and jacket tsg temperature;
SSPS_ADJUSTED;DAYD;SEA SURFACE SALINITY ADJUSTED;surface salinity adjusted;P.S.U.;;0;40;%6.3lf;99.999;;;0.001;Adjusted Ocean salinity deduced fron conductivity and jacket tsg temperature;
SSPS_ADJUSTED_ERROR;DAYD;ERROR ON SEA SURFACE SALINITY ADJUSTED;error surface salinity adjusted;P.S.U.;;0;40;%6.3lf;99.999;;;;Error on adjusted Ocean salinity deduced fron conductivity and jacket tsg temperature;
SSPS_ADJUSTED_QC;DAYD;ERROR ON SEA SURFACE SALINITY ADJUSTED QUALITY FLAG;error surface salinity adjusted quality;;;0;9;%1d;0;;;;Quality flag applied on adjusted Ocean salinity deduced fron conductivity and jacket tsg temperature;
SSPS_ADJUSTED_HIST;DAYD;ADJUSTED SEA SURFACE SALINITY PROCESSING HISTORY;surface salinity adjusted processing history;;;;;;;;;;;
SSPS_DEPH;N1;NOMINAL DEPTH OF WATER INTAKE FOR SALINITY MEASUREMENT;depth surface salinity;meter;;0;100;%6.3lf;99999.;;;;;
SSPS_DEPH_MIN;N1;MINIMUM DEPTH OF WATER INTAKE FOR SALINITY MEASUREMENT;min depth surface salinity;meter;;0;100;%6.3lf;99999.;;;;;
SSPS_DEPH_MAX;N1;MAXIMUM DEPTH OF WATER INTAKE FOR SALINITY MEASUREMENT;max depth surface salinity;meter;;0;100;%6.3lf;99999.;;;;;
SSPS_WS;DAYD_WS;SEA SURFACE PRACTICAL SALINIT FROM WATER SAMPLE;surface salinity;P.S.U.;;0;40;%6.3lf;99.999;;;0.001;Sea surface salinity from water sample;
SSPS_WS_QC;DAYD_WS;SEA SURFACE SALINITY QUALITY FLAG;surface salinity quality;;;0;9;%1d;0;;;;Quality flag applied on salinity values from water sample;
SSPS_WS_ANALDATE;DAYD_WS;DATE OF WATER SAMPLE SURFACE SALINITY ANALYSIS;;;yyyymmddhhmmss;;;;;;;;Date of sea surface salinity water sample analysis;
SSPS_WS_BOTTLE;DAYD_WS;SEA SURFACE SALINITY BOTTLE NUMBER;;;;;;;;;;;Number of sea surface salinity water sample;
SSTP;DAYD;SEA SURFACE TEMPERATURE;surface temperature;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Sea Surface Temperature (SST) measure at intake with external instrument. This is ocean SST;
SSTP_QC;DAYD;SEA SURFACE TEMPERATURE QUALITY FLAG;surface temperature quality;;;0;9;%1d;0;;;;Quality flag applied on SST temperature values;
SSTP_CAL;DAYD;SEA SURFACE TEMPERATURE CALIBRATED;surface temperature calibrated;Celsius degree;;-1.5;38;%6.3lf;99.999;;;;Calibrated Ocean temperature;
SSTP_ADJUSTED;DAYD;SEA SURFACE TEMPERATURE ADJUSTED;surface temperature adjusted;Celsius degree;;-1.5;38;%6.3lf;99.999;;;;Adjusted Ocean temperature;
SSTP_ADJUSTED_ERROR;DAYD;ERROR ON SEA SURFACE TEMPERATURE ADJUSTED;error surface temperature adjusted;Celsius degree;;-1.5;38;%6.3lf;99.999;;;;Error on adjusted Ocean temperature;
SSTP_ADJUSTED_QC;DAYD;SEA SURFACE TEMPERATURE ADJUSTED QUALITY FLAG;quality flag on surface temperature adjusted;;;0;9;%1d;0;;;;Quality flag applied on adjusted Ocean temperature;
SSTP_ADJUSTED_HIST;DAYD;ADJUSTED SEA SURFACE TEMPERATURE PROCESSING HISTORY;surface temperature adjusted processing history;;;;;;;;;;;
SSTP_DEPH;N1;NOMINAL DEPTH OF WATER INTAKE FOR TEMPERATURE MEASUREMENT;depth surface temperature;meter;;0;100;%6.3lf;99999;;;;;
SSTP_DEPH_MIN;N1;MINIMUM DEPTH OF WATER INTAKE FOR TEMPERATURE MEASUREMENT;min depth surface temperature;meter;;0;100;%6.3lf;99999;;;;;
SSTP_DEPH_MAX;N1;MAXIMUM DEPTH OF WATER INTAKE FOR TEMPERATURE MEASUREMENT;max depth surface temperature;meter;;0;100;%6.3lf;99999;;;;;
SSTP_CALCOEF;NCOEF_CAL;TEMPERATURE CALIBRATION COEFFICIENTS;;;a,b,c,d,f0;;;;99999.;;;;Temperature calibrated using linearization coefficient;
SSTP_LINCOEF;NCOEF_LIN;TEMPERATURE LINEAR DRIFT CORRECTION COEFFICIENTS;;;a,b;;;;99999.;;;;Temperature linear drift correction coefficient;
SSTP_EXT;DAYD_EXT;SEA SURFACE TEMPERATURE FROM EXTERNAL DATA;surface temperature;Celsius degree;;-1.5;38;%6.3lf;99.999;;;0.001;Sea Surface Temperature (SST) from external data instrument;
SSTP_EXT_QC;DAYD_EXT;SEA SURFACE TEMPERATURE QUALITY FLAG;surface temperature quality;;;0;9;%1d;0;;;;Quality flag applied on external temperature data values;
SSTP_EXT_TYPE;DAYD_EXT;SEA SURFACE TEMPERATURE EXTERNAL INSTRUMENT TYPE;surface temperature type instrument;;;;;;;;;;CTD,ARGO,XBT,...;
SSPS_EXT;DAYD_EXT;SEA SURFACE PRACTICAL SALINIT FROM WATER SAMPLE;surface salinity;P.S.U.;;0;40;%6.3lf;99.999;;;0.001;Sea surface salinity from external instrument;
SSPS_EXT_QC;DAYD_EXT;SEA SURFACE SALINITY QUALITY FLAG;surface salinity quality;;;0;9;%1d;0;;;;Quality flag applied on salinity values from external instrument;
SSPS_EXT_TYPE;DAYD_EXT;SEA SURFACE SALINITY EXTERNAL INSTRUMENT TYPE;surface salinity type instrument;;;;;;;;;;CTD,ARGO,XBT,...;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment