function varargout  = sample_struct
% SAMPLE_STRUCT - return an empty data structure with required fields
%
% AOML/PhOD CTDCalibration toolbox.
%
% USAGE:  sample_data = sample_struct
% 
% INPUT: None
% 
% OUTPUT: cond: a structure containing the required fields for conductivity calibration
% using the CTDCalib toolbox.
% 
% DESCRIPTION: The data sturcture used here follows the WOCE 
% Hydrographic Program naming conventions.
% 
% SEE ALSO: 
% 
% DEPENDENCIES: None
%
% EXAMPLES:
% >> btl = sample_struct % returns the empty structure
% >> sample_struct % displays the necessary fields at the terminal.
%

% AUTHORS: Derrick Snowden
%          NOAA/AOML/PhOD
%          Carlos Fonseca
%          UM/CIMAS
%         Wed May 12 16:31:39 EDT 2004
% 
% 
% VERSION: 
%	$Revision: 1.5 $
%	$Date: 2008/02/18 19:45:29 $
%	$Id: sample_struct.m,v 1.5 2008/02/18 19:45:29 duncombe Exp duncombe $
%
% CHANGELOG: 
% 

% REFERENCES: WOCE Data Reporting Requirements (Rev. 2, Feb 1998)
% http://whpo.ucsd.edu/  http://woce.nodc.noaa.gov/


units = struct('cruiseid','None',...
'stnnbr','None', ...
'castnbr','None',...
'sampnbr','None',...
'btlnbr','None',...
'niskinbtlpos','None' ,...% AOML addition
'fireorder','None',...
'btlsal','psu',...
'btloxy','ml/l',...
'btlcon1','User defined',...% AOML/Carlos addition
'btlcon2','User defined',...% AOML/Carlos addition
'ctdraw','dbar',...
'ctdprs','dbar',...
'ctdtemp1','degC',...% AOML/Carlos addition
'ctdtemp2','degC',...% AOML/Carlos addition
'ctdsal1','psu',...% AOML/Carlos addition
'ctdsal2','psu',...% AOML/Carlos addition
'ctdcon1','User defined',... % AOML/Carlos addition
'ctdcon2','User defined',...% AOML/Carlos addition
'dcdp1','User defined',...% AOML/Carlos addition
'dcdp2','User defined' );% AOML/Carlos addition
description = struct('cruiseid','Character array identifying cruise e.g. file naming etc.',...
'stnnbr','Station number', ...
'castnbr','Cast number if there are multiple casts per station',...
'sampnbr','Cell array with the alphanumeric label on the sample bottle',...
'btlnbr','Permanent unique serial number on the sample bottle',...
'niskinbtlpos','The position of the Niskin bottle on the rosette.',...% AOML addition
'fireorder','The order in which the bottle was fired.', ... ;% AOML addition
'btlsal','Bottle sample salinity PSS-78',...
'btlcon1','Bottle conductivity based on salinity/primary ctd temperature',...% AOML/Carlos addition
'btlcon2','Bottle conductivity based on salinity/secondary ctd temperature',...% AOML/Carlos addition
'ctdraw','Optional: nominal ctd pressure recorded at bottle closure. Uncalibrated pressure.',...
'ctdprs','Pressure ',...
'ctdtmp1','Temperature in ITS-90 (Primary Sensor)',...% AOML/Carlos addition
'ctdtmp2','Temperature in ITS-90 (Secondary Sensor)',...% AOML/Carlos addition
'ctdsal1','Salinity PSS-78 (Primary Sensor)',... % AOML/Carlos addition
'ctdsal2','Salinity PSS-78 (Secondary Sensor)',... % AOML/Carlos addition
'ctdcon1','CTD Conductivity (Primary Sensor)',...% AOML/Carlos addition
'ctdcon2','CTD Conductivity (Secondary Sensor)',... % AOML/Carlos addition
'dcdp1','CTD Pressure rate of change in conductivity  (Primary Sensor)',...% AOML/Carlos addition
'dcdp2','CTD Pressure rate of change in conductivity  (Secondary Sensor)' ); % AOML/Carlos addition
out = struct('cruiseid', [NaN], ...
'stnnbr', [NaN], ...
'castnbr', [NaN],...
'sampnbr',{NaN},...
'btlnbr', [NaN],...
'niskinbtlpos', [NaN],...% AOML addition
'fireorder', [NaN],...
'btlsal', [NaN],...
'btlcon1', [NaN],...% AOML/Carlos addition
'btlcon2', [NaN],...% AOML/Carlos addition
'ctdraw', [NaN],...
'ctdprs', [NaN],...
'ctdtmp1', [NaN],... % AOML/Carlos addition
'ctdtmp2', [NaN],... % AOML/Carlos addition
'ctdsal1', [NaN],...  % AOML/Carlos addition
'ctdsal2', [NaN],...  % AOML/Carlos addition
'ctdcon1', [NaN],...% AOML/Carlos addition
'ctdcon2', [NaN],...% AOML/Carlos addition
'dcdp1', [NaN],...% AOML/Carlos addition
'dcdp2', [NaN],...% AOML/Carlos addition
'units',units,...
'description',description) ;% AOML addition


if nargout ~= 1
	assignin('caller','ans',out)
	disp(out.description)
	return
else
	varargout{1} = out;
	return
end


