function varargout = desb_plot_profiles(varargin)
%DESB_PLOT_PROFILES  One line description goes here.
%
%   More detailed description goes here.
%
%   Syntax:
%   varargout = desb_plot_profiles(varargin)
%
%   Input:
%   varargin  =
%
%   Output:
%   varargout =
%
%   Example
%   desb_plot_profiles
%
%   See also

%% Copyright notice
%   --------------------------------------------------------------------
%   Copyright (C) 2011 Delft University of Technology
%       Kees den Heijer
%
%       C.denHeijer@TUDelft.nl
%
%       Faculty of Civil Engineering and Geosciences
%       P.O. Box 5048
%       2600 GA Delft
%       The Netherlands
%
%   This library is free software: you can redistribute it and/or modify
%   it under the terms of the GNU General Public License as published by
%   the Free Software Foundation, either version 3 of the License, or
%   (at your option) any later version.
%
%   This library is distributed in the hope that it will be useful,
%   but WITHOUT ANY WARRANTY; without even the implied warranty of
%   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%   GNU General Public License for more details.
%
%   You should have received a copy of the GNU General Public License
%   along with this library.  If not, see <http://www.gnu.org/licenses/>.
%   --------------------------------------------------------------------

% This tool is part of <a href="http://www.OpenEarth.eu">OpenEarthTools</a>.
% OpenEarthTools is an online collaboration to share and manage data and
% programming tools in an open source, version controlled environment.
% Sign up to recieve regular updates of this function, and to contribute
% your own tools.

%% Version <http://svnbook.red-bean.com/en/1.5/svn.advanced.props.special.keywords.html>
% Created: 08 Sep 2011
% Created with Matlab version: 7.7.0.471 (R2008b)

% $Id$
% $Date$
% $Author$
% $Revision$
% $HeadURL$
% $Keywords: $

%%
OPT = struct(...
    'id', 9011825,...
    'stride', 5);

OPT = setproperty(OPT, varargin{:});

%% read data
tr = jarkus_transects(...
    'id', OPT.id,...
    'url', fullfile(fileparts(which(mfilename)), '..', 'data', 'jarkus.nc'));

ncfile = fullfile(fileparts(which(mfilename)), '..', 'data', 'jarkus_volumes.nc');
csb = nc_varget(ncfile, 'cross_shore_boundary',...
    [find(ismember(nc_varget(ncfile, 'id'), OPT.id))-1 0], [1 -1]);


%% plot actual profiles
ph = jarkus_plot_transect(tr);

% pid = ismember(1:length(ph), unique([1:OPT.stride:length(ph) length(ph)]));
% set(ph(~pid), 'handlevisibility', 'off')
legend off
% legend show
% set(ph(~pid), 'handlevisibility', 'on')

set(ph, 'color', [.7 .7 .7])

figureStyle(@styleThesis)
tightenfigure
[fpath fname] = fileparts(which(mfilename));
figurepath = fullfile(fpath, '..', 'figures');
set(gcf, 'tag', '$HeadURL$ $Revision$')
print(gcf, '-depsc2', fullfile(figurepath, [fname '.eps']))
if ispc
    saveas(gcf, fullfile(figurepath, [fname '.emf']))
end
saveas(gcf, fullfile(figurepath, [fname '.fig']))

%%
% copyobj(get(ph(1), 'parent'), figure)
% set(findobj(gcf), 'handlevisibility', 'on') 
% ph1 = findobj(gcf, 'type', 'line');
for iph = 1:length(ph);
    xdata = get(ph(iph), 'XData');
    ydata = get(ph(iph), 'YData');
    nid = xdata < csb(2) | xdata > csb(3);
    ydata(nid) = NaN; set(ph(iph), 'YData', ydata);
end
hold on
ph1 = jarkus_plot_transect(tr);
set(ph1, 'handlevisibility', 'off')
set(ph1, 'linestyle', ':')
legend off
legend show
vline(csb)
xtext = mean([csb(1:end-1); csb(2:end)]);
ytext = mean([interp1(tr.cross_shore, min(squeeze(tr.altitude)), xtext); repmat(min(get(gca, 'YLim')), 1,3)]);
textcell = {'landward zone' 'intermediate zone', 'seaward zone'};
for i = 1:length(csb)-1
    text(xtext(i), ytext(i), textcell{i},...
        'HorizontalAlignment', 'center',...
        'VerticalAlignment', 'middle');
end

%%
itransect = 1;
nnid = ~isnan(sum(squeeze(tr.altitude(:,itransect,:))));
zm = mean(squeeze(tr.altitude(:,itransect,nnid)))';
x = tr.cross_shore(nnid)';

