function PlotDustFluxPM10Comparison(Struct, Bin, OStruct)
% PlotDustFluxPM10Comparison(Struct, OtherStruct)
% Input Oceano Dust flux "Struct" (unit: kg/m^2/s) within correct bin 
% size "Bin", and measurements from non-sandy soils within PM10 geometric
% diameter "OtherStruct" (unit: ug/m^2/s), plot figures of comparision
% of dust emission flux within the PM10 geometric diameter size range
% (PM_{10,g})

% find mass flux of Oceano within PM_{10,g} size range
PM10_portion_bin7 = (log10(10)-log10(Bin(7)))/(log10(Bin(8))-log10(Bin(7)));

for i = 1:length(Struct.ustar)
    Fd_PM10(i,1) = (sum((Struct.Fd(i,1:6))) + Struct.Fd(i,7)*PM10_portion_bin7)*10^9; % convert kg/m^2/s to ug/m^2/s
    Fd_err_PM10(i,1) = sqrt(sum((Struct.Fd_err(i,1:6)).^2) + Struct.Fd_err(i,7).^2*PM10_portion_bin7)*10^9;  % convert kg/m^2/s to ug/m^2/s
end

% plot mass flux of other non-sany soils
gb04f16_plot = plot(OStruct.gb04f16.ustar, OStruct.gb04f16.Fd,'>'); hold on; % Gillies and Berkofsky (2004)
gb04m20_plot = plot(OStruct.gb04m20.ustar, OStruct.gb04m20.Fd,'>'); hold on;

zp06d63_plot = plot(OStruct.zp06d63.ustar, OStruct.zp06d63.Fd,'<'); hold on; % Zobeck and Van Pelt (2006)
zp06d77_plot = plot(OStruct.zp06d77.ustar, OStruct.zp06d77.Fd,'<'); hold on;

sow09m1_plot = plot(OStruct.sow09m1.ustar, OStruct.sow09m1.Fd,'^'); hold on; % Sow et al. (2009)
sow09c4_plot = plot(OStruct.sow09c4.ustar, OStruct.sow09c4.Fd,'^'); hold on;

sha11al_plot = plot(OStruct.sha11al.ustar, OStruct.sha11al.Fd,'v'); hold on; % Shao et al. (2011)

set(gb04f16_plot,'markerface','none','markeredge',[0.8,0.5,0.4],'markersize',6);
set(gb04m20_plot,'markerface','none','markeredge',[0.8,0.5,0.4],'markersize',6);
set(zp06d63_plot,'markerface','none','markeredge',[1,0.2,0.2],'markersize',6);
set(zp06d77_plot,'markerface','none','markeredge',[1,0.2,0.2],'markersize',6);
set(sow09m1_plot,'markerface','none','markeredge',[0,0.4,0],'markersize',6);
set(sow09c4_plot,'markerface','none','markeredge',[0,0.4,0],'markersize',6);
set(sha11al_plot,'markerface','none','markeredge',[0.4,0.4,0.8],'markersize',6);

% plot mass flux of Oceano dust
ustar = Struct.ustar; 
Oceano = plot(ustar,Fd_PM10,'o'); hold on;
set(Oceano,'markerfacecolor','none','markeredgecolor','k','markersize',7,'linewidth',1);

for i = 1:length(ustar)
   tempxpoint = [ustar(i),ustar(i)]; 
   tempypoint = [Fd_PM10(i)-Fd_err_PM10(i),Fd_PM10(i)+Fd_err_PM10(i)];
   plot(tempxpoint,tempypoint,'k','linewidth',1); hold on;
end

%--- plot scale, axis, tick setting ---
set(gca,'xscale','log');
set(gca,'yscale','log');
axis([0.15,0.6,9*10^(-1),3*10^3]);
set(gca,'xtick',[0.15,0.2,0.3,0.4,0.5,0.6]);
set(gca,'xticklabel',{'0.15','0.2','0.3','0.4','0.5','0.6'});

xlabel('Shear velocity \itu_{*}, \rm\bfm/s','FontSize',14,'FontWeight','bold');
ylabel('Vertical PM_{10,g} dust flux \itF_{d}, \rm\bf\mug/m^{2}/s','FontSize',14,'FontWeight','bold');
legend([gb04f16_plot zp06d63_plot sow09m1_plot sha11al_plot Oceano],{'Gillies and Berkofsky (2004)','Zobeck and Van Pelt (2006)',...
    'Sow et al. (2009)','Shao et al. (2011)','Oceano Dunes'},'location','southwest','FontSize',8,'FontWeight','bold');

end