You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
837 B
Matlab
40 lines
837 B
Matlab
7 years ago
|
function [VolumeTotal, Beachwidth] = volumefind(x,z,shore)
|
||
|
% Calculates Volume and Beach Width
|
||
|
% Written by Matthew Phillips 2015
|
||
|
|
||
|
% Define Shoreline Contour and Fixed Landward Column Boundary
|
||
|
ShoreCont = shore; % m AHD
|
||
|
BackCol = 1; % column number
|
||
|
|
||
|
if ~iscolumn(z)
|
||
|
z = z';
|
||
|
end
|
||
|
if ~iscolumn(x)
|
||
|
x = x';
|
||
|
end
|
||
|
|
||
|
if z(end) > z(1)
|
||
|
z = flip(z);
|
||
|
x = flip(x);
|
||
|
end
|
||
|
|
||
|
if x(end) < x(1)
|
||
|
x = -x;
|
||
|
end
|
||
|
|
||
|
xstep = mean(diff(x));
|
||
|
shorecol = find(z>=ShoreCont,1,'last')+1;
|
||
|
|
||
|
% Width at MSL
|
||
|
Beachwidth = interp1(z(shorecol-1:shorecol,1),x(shorecol-1:shorecol,1),ShoreCont);
|
||
|
|
||
|
% Total Volume
|
||
|
Volx = [x(BackCol:shorecol-1); Beachwidth];
|
||
|
Volz = [z(BackCol:shorecol-1); ShoreCont];
|
||
|
VolumeTotal = trapz(Volx,Volz);
|
||
|
end
|
||
|
|
||
|
|
||
|
|
||
|
|