0001 function [k,kc,Ey,Q] = VMT_ComputeDispCoef(z,A,V)
0002
0003
0004
0005
0006
0007
0008 extrp = 1;
0009 extend_to_banks = 1;
0010 shoretype = 'triangular';
0011
0012
0013
0014
0015 b = [nanmean(nanmean(V.mcsEast,2)) nanmean(nanmean(V.mcsNorth,2)) 0];
0016 for zi = 1:z
0017
0018
0019 a = [A(zi).Nav.totDistEast(end) A(zi).Nav.totDistNorth(end) 0];
0020 c = cross(a,b);
0021 if c(3) > 0
0022 left_start_bank(zi) = 1;
0023 elseif c(3) < 0
0024 left_start_bank(zi) = 0;
0025 else
0026 left_start_bank(zi) = nan;
0027 end
0028
0029
0030 if left_start_bank(zi) == 1
0031 startSDist(zi) = A(zi).Q.startDist(1);
0032 endSDist(zi) = A(zi).Q.endDist(1);
0033 elseif left_start_bank(zi) == 0
0034 startSDist(zi) = A(zi).Q.endDist(1);
0035 endSDist(zi) = A(zi).Q.startDist(1);
0036 else
0037 errordlg('Starting Bank Cannot Be Determined')
0038 end
0039 end
0040 startDist = min(startSDist)
0041 endDist = min(endSDist)
0042
0043
0044
0045 if startDist == 0 | endDist == 0;
0046 disp('Edge Distance of ZERO was detected--Manually enter distances in (m)')
0047 prompt = {'Start Distance (m)','End Distance (m)'};
0048 dlg_title = 'Edge Distances (manual)';
0049 num_lines = 1;
0050 def = {num2str(startDist),num2str(endDist)};
0051 answer = inputdlg(prompt,dlg_title,num_lines,def);
0052 [startDist, status1] = str2num(answer{1});
0053 [endDist, status2] = str2num(answer{2});
0054 end
0055
0056
0057
0058 beddepth = V.mcsBed';
0059 travdist = V.mcsDist(1,:)';
0060 vertdepth = V.mcsDepth(:,1);
0061 downstvel = V.vpSmooth'/100;
0062
0063
0064 indx = find(~isnan(beddepth) & sum(isnan(downstvel),2) ~= length(vertdepth));
0065 addstart = travdist(indx(1));
0066 addend = travdist(end) - travdist(indx(end));
0067 beddepth = beddepth(indx(1):indx(end));
0068 travdist = travdist(indx(1):indx(end));
0069 travdist = travdist - travdist(1);
0070 downstvel = downstvel(indx(1):indx(end),:);
0071
0072
0073 startDist = startDist + addstart;
0074 endDist = endDist + addend;
0075
0076
0077 [k,kc,Ey,Q] = ADCP_DispCoef(beddepth,travdist,vertdepth,downstvel,startDist,endDist,extrp,extend_to_banks,shoretype);
0078
0079