function tpws_Display(tpwsData, varargin)
% Description:      Displays the tpws data structure in a table format with
%                   corresponding units
% -------------------------------------------------------------------------
% Syntax:           tpws_Display(tpwsData, tpwsData2)
%                   tpwsData    Data structure for the properties of water
%                   tpwsData2   Data structure for the additional phase 
%                               when the water is saturated (optional) 

global tpwsUnits

satData = length(varargin);

% Format for numerical tpws Data
displayFormat = '%15.8f';

% Format for units
displayFormatB = '%-10s';

% Format for phase
displayFormatC = '%15s';

fprintf('\n')
disp('Thermodynamic Properties of Water and Steam');
disp('-----------------------------------------------------------------------');
% -------------------------------------------------------------------------
fprintf('Temperature             ')
    fprintf(displayFormat,tpwsData.T)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.T)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.T)
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Pressure                ')
    fprintf(displayFormat,tpwsData.p)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.p)  
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.p)  
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Specific Volume         ')
    fprintf(displayFormat,tpwsData.v)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.v)    
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.v)   
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Internal Energy         ')
    fprintf(displayFormat,tpwsData.u)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.u)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.e) 
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Enthalpy                ')
    fprintf(displayFormat,tpwsData.h)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.h)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.e)  
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Entropy                 ')
    fprintf(displayFormat,tpwsData.s)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.s)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.e2)    
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Isobaric Heat Capacity  ')
    fprintf(displayFormat,tpwsData.c_p)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.c_p)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.e2)    
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('Isochoric Heat Capacity ')
    fprintf(displayFormat,tpwsData.c_v)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormat,varargin{1}.c_v)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,tpwsUnits.e2)    
    fprintf('\n')
% -------------------------------------------------------------------------
fprintf('State                   ')
    fprintf(displayFormatC,tpwsData.state)
if (satData > 0)
    fprintf('%s','  ')
    fprintf(displayFormatC,varargin{1}.state)
end
    fprintf('%s',' ')
    fprintf(displayFormatB,' ')
    fprintf('\n')   
disp('-----------------------------------------------------------------------');
fprintf('\n')