0001 function [z,A,V,zmin,zmax] = VMT_PlotXSContMultiPlot(z,A,V,var,exag)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 disp(['Plotting Mean Cross Section Contour Plot: ' var])
0017
0018
0019
0020
0021
0022
0023
0024 if isempty(z) & isempty(A) & isempty(V)
0025 [zPathName,zFileName,zf] = VMT_SelectFiles;
0026 eval(['load ' zPathName '\' zFileName{1}]);
0027 end
0028
0029
0030
0031
0032 clvls = 60;
0033
0034
0035 binwidth = diff(V.mcsDist,1,2);
0036 binwidth = horzcat(binwidth(:,1), binwidth);
0037 binheight = diff(V.mcsDepth,1,1);
0038 binheight = vertcat(binheight, binheight(1,:));
0039 flux = nansum(nansum(V.u./100.*binwidth.*binheight));
0040
0041
0042
0043
0044
0045
0046
0047
0048 if flux < 0;
0049 flipxs = 1;
0050 else
0051 flipxs = 0;
0052 end
0053
0054 if flipxs
0055 disp(['Streamwise Flow Direction (Perp. to mean XS; deg) = ' num2str(V.phi - 180)])
0056 disp(['Primary Flow Direction (deg) = ' num2str(V.phisp - 180)])
0057 else
0058 disp(['Streamwise Flow Direction (Perp. to mean XS; deg) = ' num2str(V.phi)])
0059 disp(['Primary Flow Direction (deg) = ' num2str(V.phisp)])
0060 end
0061 disp(['Deviation from Streamwise Direction (deg) = ' num2str(V.alphasp)])
0062
0063 switch var
0064 case{'streamwise'}
0065 if flipxs
0066 wtp=['-V.uSmooth'];
0067 zmin=floor(nanmin(nanmin(-V.uSmooth)));
0068 zmax=ceil(nanmax(nanmax(-V.uSmooth)));
0069 else
0070 wtp=['V.uSmooth'];
0071 zmin=floor(nanmin(nanmin(V.uSmooth)));
0072 zmax=ceil(nanmax(nanmax(V.uSmooth)));
0073 end
0074 zinc = (zmax - zmin) / clvls;
0075 zlevs = zmin:zinc:zmax;
0076 case{'transverse'}
0077 wtp=['V.vSmooth'];
0078 zmax=ceil(max(abs(nanmin(nanmin(V.vSmooth))),abs(nanmax(nanmax(V.vSmooth)))));
0079 zmin=-zmax;
0080 zinc = (zmax - zmin) / clvls;
0081 zlevs = zmin:zinc:zmax;
0082 case{'vertical'}
0083 wtp=['V.wSmooth'];
0084 zmax=ceil(max(abs(nanmin(nanmin(V.wSmooth))),abs(nanmax(nanmax(V.wSmooth)))));
0085 zmin=-zmax;
0086 zinc = (zmax - zmin) / clvls;
0087 zlevs = zmin:zinc:zmax;
0088 case{'mag'}
0089 wtp=['V.mcsMagSmooth'];
0090 zmin=floor(nanmin(nanmin(V.mcsMagSmooth)));
0091 zmax=ceil(nanmax(nanmax(V.mcsMagSmooth)));
0092 zinc = (zmax - zmin) / clvls;
0093 zlevs = zmin:zinc:zmax;
0094 case{'primary_zsd'}
0095 if flipxs
0096 wtp=['-V.vpSmooth'];
0097 zmin=floor(nanmin(nanmin(-V.vpSmooth)));
0098 zmax=ceil(nanmax(nanmax(-V.vpSmooth)));
0099 else
0100 wtp=['V.vpSmooth'];
0101 zmin=floor(nanmin(nanmin(V.vpSmooth)));
0102 zmax=ceil(nanmax(nanmax(V.vpSmooth)));
0103 end
0104 zinc = (zmax - zmin) / clvls;
0105 zlevs = zmin:zinc:zmax;
0106 case{'secondary_zsd'}
0107 wtp=['V.vsSmooth'];
0108 zmax=ceil(max(abs(nanmin(nanmin(V.vsSmooth))),abs(nanmax(nanmax(V.vsSmooth)))));
0109 zmin=-zmax;
0110 zinc = (zmax - zmin) / clvls;
0111 zlevs = zmin:zinc:zmax;
0112 case{'primary_roz'}
0113
0114
0115
0116
0117 if flipxs
0118 wtp=['-V.Roz.upSmooth'];
0119 zmin=floor(nanmin(nanmin(-V.Roz.upSmooth)));
0120 zmax=ceil(nanmax(nanmax(-V.Roz.upSmooth)));
0121 else
0122 wtp=['V.Roz.upSmooth'];
0123 zmin=floor(nanmin(nanmin(V.Roz.upSmooth)));
0124 zmax=ceil(nanmax(nanmax(V.Roz.upSmooth)));
0125 end
0126 zinc = (zmax - zmin) / clvls;
0127 zlevs = zmin:zinc:zmax;
0128 case{'secondary_roz'}
0129 wtp=['V.Roz.usSmooth'];
0130 zmax=ceil(max(abs(nanmin(nanmin(V.Roz.usSmooth))),abs(nanmax(nanmax(V.Roz.usSmooth)))));
0131 zmin=-zmax;
0132 zinc = (zmax - zmin) / clvls;
0133 zlevs = zmin:zinc:zmax;
0134 case{'primary_roz_x'}
0135
0136
0137
0138
0139 if flipxs
0140 wtp=['-V.Roz.upxSmooth'];
0141 zmin=floor(nanmin(nanmin(-V.Roz.upxSmooth)));
0142 zmax=ceil(nanmax(nanmax(-V.Roz.upxSmooth)));
0143 else
0144 wtp=['V.Roz.upxSmooth'];
0145 zmin=floor(nanmin(nanmin(V.Roz.upxSmooth)));
0146 zmax=ceil(nanmax(nanmax(V.Roz.upxSmooth)));
0147 end
0148 zinc = (zmax - zmin) / clvls;
0149 zlevs = zmin:zinc:zmax;
0150 case{'primary_roz_y'}
0151 wtp=['V.Roz.upySmooth'];
0152 zmin=floor(nanmin(nanmin(V.Roz.upySmooth)));
0153 zmax=ceil(nanmax(nanmax(V.Roz.upySmooth)));
0154
0155
0156
0157
0158
0159
0160
0161
0162
0163
0164 zinc = (zmax - zmin) / clvls;
0165 zlevs = zmin:zinc:zmax;
0166 case{'secondary_roz_x'}
0167 wtp=['V.Roz.usxSmooth'];
0168 zmax=ceil(max(abs(nanmin(nanmin(V.Roz.usxSmooth))),abs(nanmax(nanmax(V.Roz.usxSmooth)))));
0169 zmin=-zmax;
0170 zinc = (zmax - zmin) / clvls;
0171 zlevs = zmin:zinc:zmax;
0172 case{'secondary_roz_y'}
0173 wtp=['V.Roz.usySmooth'];
0174 zmax=ceil(max(abs(nanmin(nanmin(V.Roz.usySmooth))),abs(nanmax(nanmax(V.Roz.usySmooth)))));
0175 zmin=-zmax;
0176 zinc = (zmax - zmin) / clvls;
0177 zlevs = zmin:zinc:zmax;
0178 case{'backscatter'}
0179 wtp=['V.mcsBackSmooth'];
0180 zmin=floor(nanmin(nanmin(V.mcsBackSmooth)));
0181 zmax=ceil(nanmax(nanmax(V.mcsBackSmooth)));
0182 zinc = (zmax - zmin) / clvls;
0183 zlevs = zmin:zinc:zmax;
0184 case{'flowangle'}
0185 wtp=['V.Roz.theta_degSmooth'];
0186 zmin=floor(nanmin(nanmin(V.Roz.theta_degSmooth)));
0187 zmax=ceil(nanmax(nanmax(V.Roz.theta_degSmooth)));
0188 zinc = (zmax - zmin) / clvls;
0189 zlevs = zmin:zinc:zmax;
0190
0191
0192
0193
0194
0195
0196
0197
0198
0199 end
0200
0201
0202 figure(3); clf
0203 contour(V.mcsDist,V.mcsDepth,eval(wtp(1,:)),zlevs,'Fill','on','Linestyle','none'); hold on
0204 plot(V.mcsDist(1,:),V.mcsBed,'w', 'LineWidth',2); hold on
0205
0206 switch var
0207 case{'streamwise'}
0208 title('Streamwise Velocity (cm/s)')
0209 case{'transverse'}
0210 title('Transverse Velocity (cm/s)')
0211 case{'vertical'}
0212 title('Vertical Velocity (cm/s)')
0213 case{'mag'}
0214 title('Velocity Magnitude (Streamwise and Transverse) (cm/s)')
0215 case{'primary_zsd'}
0216 title('Primary Velocity (Zero Secondary Discharge Definition) (cm/s)')
0217 case{'secondary_zsd'}
0218 title('Secondary Velocity (Zero Secondary Discharge Definition) (cm/s)')
0219 case{'primary_roz'}
0220 title('Primary Velocity (Rozovskii Definition) (cm/s)')
0221 case{'secondary_roz'}
0222 title('Secondary Velocity (Rozovskii Definition) (cm/s)')
0223 case{'primary_roz_x'}
0224 title('Primary Velocity (Rozovskii Definition; Downstream Component) (cm/s)')
0225 case{'primary_roz_y'}
0226 title('Primary Velocity (Rozovskii Definition; Cross-Stream Component) (cm/s)')
0227 case{'secondary_roz_x'}
0228 title('Secondary Velocity (Rozovskii Definition; Downstream Component) (cm/s)')
0229 case{'secondary_roz_y'}
0230 title('Secondary Velocity (Rozovskii Definition; Cross-Stream Component) (cm/s)')
0231 case{'backscatter'}
0232 title('Backscatter Intensity (dB)')
0233 case{'flowangle'}
0234 title('Flow Angle (deg)')
0235
0236
0237 end
0238 hdl = colorbar; hold all
0239 caxis([zmin zmax])
0240 xlim([nanmin(nanmin(V.mcsDist)) nanmax(nanmax(V.mcsDist))])
0241 ylim([0 max(V.mcsBed)])
0242 set(gca,'YDir','reverse')
0243 if flipxs
0244 set(gca,'XDir','reverse')
0245 end
0246 ylabel('Depth (m)','Color','w')
0247 xlabel('Distance (m)','Color','w')
0248 set(gca,'DataAspectRatio',[exag 1 1],'PlotBoxAspectRatio',[exag 1 1])
0249
0250 set(gca,'FontSize',14)
0251 set(get(gca,'Title'),'FontSize',14,'Color','w')
0252
0253 set(gca,'XColor','w')
0254 set(gca,'YColor','w')
0255 set(gca,'ZColor','w')
0256 set(gcf,'InvertHardCopy','off')
0257 set(gcf,'Color',[0.2 0.2 0.2])
0258 set(gca,'Color',[0.3 0.3 0.3])
0259
0260
0261