Plot bbp final
Jump to navigation
Jump to search
function [eta, etaf] = plot_bbp_final(cruise) [filename,path] = uigetfile(['home/data65/pb/HYDROSCAT/',cruise,'/final/'],'Choose HS-6 file to plot'); fid = fopen([path filename],'r'); C = textscan(fid,'%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','delimiter',',','HeaderLines',120); % C = textscan(fid,'%s%s%s%s%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f%f','delimiter',','); fclose(fid); %lambda = [ 442 470 510 589 671]; %newlambda = [420 442 470 510 589 700] as of 4/2010 lambda = [420 442 470 510 589 700]; % lambda = [420 700 442 510 470 589]; bbs = [C{69} C{70} C{71} C{72} C{73} C{74}]; %%bbs = [C{69} C{71} C{73} C{72} C{74} C{70}];%re-arrange to match uncorrected 3/7/2011 bbz = [C{75} C{76} C{77} C{78} C{79} C{80}]; %%bbz = [C{75} C{77} C{79} C{78} C{80} C{76}];%re-arrange to match uncorrected 3/7/2011 bbs(bbs==-9.9e+35) = NaN; bbz(bbz==-9.9e+35) = NaN; %after Mobley 3.31 bbw_525 = (16.06/2)*1.46e-4; bbw = bbw_525*((525./lambda).^4.32); bbps = bbs - repmat(bbw,size(bbs,1),1); %plot(1:length(bbps),bbps); depths = C{81}; % s = input('Choose which scattering correction to apply, method 1, 2, or 3; Enter 0 for none?'); % % switch s % case 0 % q = ac9.out.a_corr; % case 1 % q = ac9.out.a_scorr1; % case 2 % q = ac9.out.a_scorr2; % case 3 % q = ac9.out.a_scorr3; % otherwise % end % % qc = ac9.out.c_corr; % qc(qc==-9.9e+35) = NaN; % b = qc-q; plot_spectrum(bbps,'b_b_p',depths,filename,bbw); plot_spectrum(bbz,'b_b\_Zhang',depths,filename,bbw); %plot_spectrum(b,'b',filename); function S = plot_spectrum(q,type,d,filename,bbw) %wl = [ 442 470 510 589 671]; wl = [420 442 470 510 589 700]; % wl = [420 700 442 510 470 589]; % d = 1:220'; % d = d'; %Plot all spectra at once %%q = q(:,[1 6 2 4 3 5]); qd = denan(q); c = jet(size(qd,1)); %%%Calculate eta, using 442, 510 and 589 nm wavelengths eta = []; opts = optimset('fminsearch'); opts = optimset('MaxFunEvals', 5000,'MaxIter',5000, 'TolFun',1e-6,'TolX',1e-4); lambda_for_eta = wl([1 3 4]); %%%%%lambda_for_eta = wl([1 5 4]); lambda_for_eta = lambda_for_eta'; for i = 1:size(q,1) bbp = q(i,[1 3 4])'; %%%% bbp = q(i,[1 5 4])'; temp = ([[ 1 1 1]',log(lambda_for_eta)])\log(bbp); %this regression allows for an intercept - eta(i) = -temp(2); r = corrcoef(bbp,bbp(1)*((lambda_for_eta/lambda_for_eta(1)).^(temp(2)))); eta_R2(i) = r(1,2)^2; if ~any(isnan(q(i,:))) [X,cost] = fminsearch(@cost_eta,[1 0.005],opts,q(i,:),wl); else X = [NaN NaN]; end etaf(i) = X(1); end figure plot(eta,-d,'rx-') hold on plot(eta_R2, -d, 'ko-'); legend({'\eta fit linearly, using 442, 510 , 589 nm channels','R^2 of \eta fit'}); ylabel('Depth, m'); hold on %plot([0.009 0.009],[0 -220], 'k-.'); %plot([0.025 0.025],[0 -220], 'k-.'); title(filename) %%%%%%%%%%%%End of fitting for eta figure hold on set(gca, 'ColorOrder',c) plot(wl,q,'o-') plot(wl,mean(qd),'ko-', 'LineWidth',3) plot(wl, bbw, 'bo-', 'LineWidth', 3) zeroline xlabel('Wavelength, nm') ylabel(type) title('Mean spectrum in black, Morel saltwater bb in blue') %title(filename) %Plot the profiles c = jet(6); figure subplot(131) plot(q(:,1),-d,'Color',c(1,:)) hold on plot(q(:,2),-d,'Color',c(2,:)) zeroline_horizontal axis([-Inf Inf -220 0]) legend({[type,'442'],[type,'470']},'Location','SouthOutside'); legend boxoff subplot(132) plot(q(:,3),-d,'Color',c(3,:)) hold on plot(q(:,4),-d,'Color',c(4,:)) zeroline_horizontal axis([-Inf Inf -220 0]) legend({[type,'510'],[type,'589']},'Location','SouthOutside'); legend boxoff title(filename) subplot(133) %plot(q(:,5),-d,'Color',c(5,:)) plot(q(:,5),-d,'k'); hold on % plot(q(:,6),-d,'Color',c(6,:)) plot(q(:,6),-d,'b'); zeroline_horizontal axis([-Inf Inf -220 0]) legend({[type,'671']},'Location','SouthOutside'); legend boxoff