Difference between revisions of "Moorea mergeIOP"
Jump to navigation
Jump to search
(Created page with " </function BVal_mergeIOP() %Mfile to merge LISST, SBE25 data and BB9 data. %first lisst date needs to be converted as it is in sepparate columns %day+hr and min+seconds, then...") |
|||
| Line 1: | Line 1: | ||
| − | < | + | <pre> |
| + | function BVal_mergeIOP() | ||
%Mfile to merge LISST, SBE25 data and BB9 data. | %Mfile to merge LISST, SBE25 data and BB9 data. | ||
%first lisst date needs to be converted as it is in sepparate columns | %first lisst date needs to be converted as it is in sepparate columns | ||
| Line 883: | Line 884: | ||
| − | return> | + | return |
| + | </pre> | ||
Latest revision as of 14:23, 27 October 2015
function BVal_mergeIOP()
%Mfile to merge LISST, SBE25 data and BB9 data.
%first lisst date needs to be converted as it is in sepparate columns
%day+hr and min+seconds, then lisst time must be set to zero start. Also
%bb9 must be set to zero start, then bb9 and lisst can be merged. CTD and
%LISST + BB9 will have to be interpolated to match time sample rates
%minilogger sample frequency 1Hz
%lisst sample freq 1Hz
%ctd sample freq 8Hz
%BB9 sample freq 1Hz
%ACS sample freq 4 Hz
pathname = pwd;
dhnumber = pathname(end-2:end);
%=====LISST DATA SET MODULE========
data_lst = load('LISST_indexarr');
lst_depth = .01*data_lst(:,37);
lst_date1 = num2str(data_lst(:,39));
lst_date2 = num2str(data_lst(:,40));
lst_day = str2num(lst_date1(:,1:3));
lst_hrs = str2num(lst_date1(:,4:5));
%when lisst minutes reset every 60 sec
for ml =1:length(lst_date2)
hld = lst_date2(ml,1:2);
char(hld);
hld = str2num(hld);
if isempty(hld)
lst_min(ml) =0;
continue
end
lst_min(ml) = hld;%str2num(lst_date2(ml,1:2))
end
lst_min = (lst_min)';
lst_sec = str2num(lst_date2(:,3:4));
JD = lst_hrs.*3600 + lst_min.*60 + lst_sec; %this is in seconds
%start from zero
JD = JD-JD(1); %lisst time in seconds starting from zero
%======END LISST MODULE========
%=====BB9 MODULE========
% since BB9 time is more accurate, use it for merging
ECOname = strcat('archive_23_ECO.',dhnumber);
%[BB9_data,BB9_HDR] = hdrload('archive_23_ECO.040');
[BB9_data,BB9_HDR] = hdrload(ECOname);
BB9_time = BB9_data(:,1); %(in ms) si
BB9_time = BB9_time - BB9_time(1);
BB9_time = BB9_time./1000;
%====CTD MODULE=======
CTDname = strcat('archive_22_SBE25CTD.',dhnumber)
[CTD_dat,CTD_hdr] = hdrload(CTDname);
%[CTD_dat,CTD_hdr] = hdrload('archive_22_SBE25CTD.040');
ctd_time = CTD_dat(:,1); %ms
ctd_time = ctd_time./1000; %seconds
%ctd_depth = CTD_dat(:,2);
%ctd_temp = CTD_dat(:,3);
%ctd_cond = CTD_dat(:,4);
%ctd_sal = CTD_dat(:,5);
%====ACS MODULE=======
ACSname = strcat('archive_21_ACS.',dhnumber)
[ACS_dat,ACS_hdr] = hdrload(ACSname);
%ACS_D = interp1(nmini30s_T,nmini30s_D,ctd_time);
%=====MERGING MODULE=====
BB_new = interp1(BB9_time,BB9_data,ctd_time);
sample =[];
if issorted(data_lst(:,1)) == 0
issorted(JD)
issorted(ctd_time)
issorted(data_lst(:,1))
issorted(data_lst(:,37))
%at this point CTD and BB9 data is parsed. BB data is matched to CTD time
%======= FILTERING NAN IF TIME RECORDS GO OVER =====
nn= isnan(BB_new);
non= find(nn(:,1) ==1);
CTD_dat(non,:) = [];
BB_new(non,:) = [];
%=====
ctd_time = CTD_dat(:,1); %ms
ctd_time = ctd_time./1000; %seconds
ctd_depth = CTD_dat(:,2);
ctd_temp = CTD_dat(:,3);
ctd_cond = CTD_dat(:,4);
ctd_sal = CTD_dat(:,5);
file = CTDname;
% % % file = input('What is the minilogger file name?','s');
% % % fid = fopen(file)
% % % %fid = fopen('Asc-5264.IOPBVAL9');
% % %
% % % tline = fgetl(fid);
% % % %tline = fgetl(fid); %junk line test
% % % % Split header
% % % A(1,:) = regexp(tline, '\,', 'split');
% % %
% % % % Parse and read rest of file
% % % ctr = 1;
% % % while(~feof(fid))
% % % if ischar(tline)
% % % ctr = ctr + 1;
% % % tline = fgetl(fid);
% % % A(ctr,:) = regexp(tline, '\,', 'split');
% % % else
% % % break;
% % % end
% % % end
% % % fclose(fid);
% % %
% % % %====minilogger parameters======
% % % mini_time = cell2mat(A(:,2));
% % % mni_hr = str2num(mini_time(:,1:2)) + 3; %convert LOCAL BDA to GMT
% % % mni_mn = str2num(mini_time(:,4:5));
% % % mni_sc = str2num(mini_time(:,7:8));
% % % mni_depth = str2num(char(A(:,4)));
% % % mni_temp = str2num(char(A(:,3)));
% % % mini_sc_tot = mni_sc(:,:) + mni_mn.*60 + mni_hr.*3600; %time record from minilogger converted to seconds
% % %
% % %
% % % %=========== laborious part to fix times and depth=========
% % % %get run summary info start time to set CTD absolute start time
% % %
% % % rundir = '/home/eriks/BVAL/BVal47/BV47_IOP/DH-4-113/';
% % % runnum = str2num(dhnumber);
% % % runnumch = num2str(runnum);
% % % runsubdir = strcat('run',runnumch);
% % % sumfile = strcat('/Summary.',dhnumber);
% % %
% % % sumfid = fopen([rundir,runsubdir,sumfile],'r');
% % % ln = fgetl(sumfid);
% % % sumhr = str2num(ln(end-7:end-6));
% % % summin = str2num(ln(end-4:end-3));
% % % sumsec = str2num(ln(end-1:end));
% % %
% % % DH4_sc_total = sumhr*3600 + summin*60 + sumsec %sum total seconds of DH4 start time
% % % mini_DH4_summary = (abs(mini_sc_tot - DH4_sc_total)); %the absolute min time difference between DH4 start
% % % mindex = find(mini_DH4_summary == (min(mini_DH4_summary))); %this is where minilogger time and the DH4 START time intersect.
% % % new_mini_time = mini_sc_tot(mindex:end); %starts minilogger record at DH4 start time
% % % nmini_depth = mni_depth(mindex:end);
% % % nmini_temp = mni_temp(mindex:end);
% % % nmini_time = (new_mini_time-new_mini_time(1)); %sets new minilogger time to start at 0 seconds
% % %
% % % %=== CTD time record starts from zero but is 30 seconds after DH4 is
% % % %plugged in.
% % %
% % % %============== important notes=================
% % % %now add 30 seconds to mini start time and that will be
% % % %start of recorded data.
% % % %Interal LISST time is absolute and will start 10 seconds after time stamp in DH4
% % % %summary file
% % % %LISST files recorded in DH4 will start 30s after sart time in summary file
% % % %to minimize the amount of data altering, get new depths for each
% % % %instrument and process, don't alter data
% % % %start time for everything = nmini_time(1) + 30s
% % %
% % % %==================================================
% % % %==========================================================================
% % % %==================================================
% % % nmini30s_T = nmini_time(30:end);
% % % nmini30s_D = nmini_depth(30:end);
% % % nmini30s_Temp = nmini_temp(30:end);
% % % nmini30s_T = nmini30s_T - nmini30s_T(1); %zeros the mini time in for 30s
set (gcf,'units','inches', 'pos',[2 1 9 5])
% declare variables
u=[]; % holds the points
d=[]; % holds the index's only
cast=0;
plot(ctd_time,-ctd_depth,'.');grid;
cast=cast+1
which=['Selecting points for cast: ',num2str(cast)];
% first point
disp('select the first region')
title(which);
[x,y]=ginput(2);
% zoom to start point of the cast
if y(1)<y(2)
if x(1)<x(2)
axis([x(1),x(2),y(1),y(2)])
else
axis([x(2),x(1),y(1),y(2)])
end
else
if x(1)<x(2)
axis([x(1),x(2),y(2),y(1)])
else
axis([x(2),x(1),y(2),y(1)])
end % end if
end % end if
% pretty the graph
hold on
plot(ctd_time,-ctd_depth,'ro'); grid; title(which);
plot([x(1), x(2)], [0, 0], 'g-.');
hold off;
% find specific start point
disp('click on start of cast')
[x,y]=ginput(1);
% add the points to cast_id array
u=[u;x,y];
% last point
plot(ctd_time,-ctd_depth,'.');grid; title(which);
hold on;
%d=ceil(u(:,1))
d=[];
for id=1:size(u,1),
dd=find(ctd_time<u(id,1));%___________________________
d=[d; dd(end)];%-----------------------------------------
end
for ip=1:2:size(d,1),
plot(u(:,1),u(:,2),'ro');
end
% $$$ plot(mat_in(d(1):d(end),1),...
% $$$ mat_in(d(1):d(end),2),'g',u(:,1),u(:,2),'ro');
disp('select the end region')
[x,y]=ginput(2);
% zoom to end point of the cast
if y(1)<y(2)
if x(1)<x(2)
axis([x(1),x(2),y(1),y(2)])
else
axis([x(2),x(1),y(1),y(2)])
end
else
if x(1)<x(2)
axis([x(1),x(2),y(2),y(1)])
else
axis([x(2),x(1),y(2),y(1)])
end % end if
end % end if
% pretty the graph
hold on
plot(ctd_time,-ctd_depth,'ro');grid; title(which);
plot([x(1), x(2)], [0, 0], 'g-.');
hold off;
% find specific end point
disp('click on end of cast')
[x,y]=ginput(1);
% add the points to cast_id array
u=[u;x,y];
% are we done yet?
axis('auto');
plot(ctd_time,-ctd_depth,'.');grid; title(which);
hold on;
%d=ceil(u(:,1))
d=[];
for id=1:size(u,1),
dd=find(ctd_time<u(id,1));
d=[d; dd(end)];
end
ctd_depth = ctd_depth(d(1):d(2));
ctd_time = ctd_time(d(1):d(2));
CTD30s_D = ctd_depth;%interp1(nmini30s_T,nmini30s_D,ctd_time); %gets a depth dimention relative to 8Hz ctd time (same dimension as ctd data)
CTD_dat = CTD_dat(d(1):d(2),:);
ACS_D = interp1(ctd_time,ctd_depth,.001*ACS_dat(:,1));
BB9_D = interp1(ctd_time,ctd_depth,BB9_time);
CTD_dat(:,2) = ctd_depth;%CTD30s_D; %repair CTD depth column in data
%=========Trim size of all data array to interpolation==========
ACS_dat(isnan(ACS_D),:) = [];
BB9_data(isnan(BB9_D),:) = [];
BB9_D(isnan(BB9_D)) =[];
ACS_D(isnan(ACS_D)) =[];
end
LST_D = interp1(ctd_time,ctd_depth,JD); %size of JD
data_lst(isnan(LST_D),:) = [];
LST_D(isnan(LST_D)) = [];
LISST_new = [data_lst(:,1:32),.01*LST_D];
% % pause
%filter out bad bb data=======
%=============================
%badbb = find(bb440 > (mean(bb440)+3*std(bb440)));
% % for t = 2:(size(BB_new,2))
% % badbb = find(abs(BB_new(:,t)) > (mean(BB_new(:,t)) + 3*std(BB_new(:,t))));
% %
% % ctd_temp(badbb) = [];
% % ctd_depth(badbb) = [];
% % ctd_sal(badbb) = [];
% % ctd_time(badbb) = [];
% % ctd_cond(badbb) = [];
% % %bb440(badbb) = [];
% % BB_new(badbb,:) =[];
% % CTD30s_D(badbb,:) =[];
% % CTD_dat(badbb,:) =[];
% % end
%filter out bad ACS =========
%============================
%TempC(badbb) = [];
%Depth(badbb) = [];
%Sal(badbb) = [];
% ACSC442(badC2,:) = [];
% ACS_dat(badC2,:) =[];
% ACS_D(badC2,:) =[];
for t = 2:(size(ACS_dat,2) -5)
badC2 = find(ACS_dat(:,t) > 2);
ACS_dat(badC2,:) =[];
ACS_D(badC2,:) =[];
end
% for t = 2:(size(ACS_dat,2) -5)
% badC = find(abs(ACS_dat(:,t)) > (mean(ACS_dat(:,t)) + 3*std(ACS_dat(:,t))));
% ACS_dat(badC,:) =[];
% ACS_D(badC,:) =[];
% end
%===filter bad lisst==============
%==============================
for t = 1:32
badC = find(abs(LISST_new(:,t)) > (mean(LISST_new(:,t)) + 3*std(LISST_new(:,t))));
LISST_new(badC,:) =[];
LST_D(badC,:) =[];
end
sm_LISST = smooth(LISST_new(:,:)); %smoothed lisst data
SMLST_D = smooth(LST_D); %smoothed lisst depth
%=============================
%===========================================
%==========================================================================
%==================LISST====================
% % % % % plot(smooth(ctd_temp),smooth(-CTD30s_D))
% % % % % title('ctd temp ctd depth')
% % % % % figure
% % % % % plot(ctd_time,-CTD30s_D)
% % % % % title('ctd time ctd depth')
% % % % % figure
% % % % % plot(smooth(nmini30s_Temp),smooth(-nmini30s_D))
% % % % % title('mini temp mini depth')
% % % % % figure
% % % % % plot(smooth(ctd_sal),smooth(-CTD30s_D))
% % % % % title('ctd sal ctd depth')
% % % % % figure
% % % % % plot(LISST_new(:,9),-LST_D) %moved below filtering section and changed data_lst to LISST_new
% % % % % title('interpolated lisst depth and original data')
% % % % % figure
% % % % % plot(data_lst(:,9),-lst_depth)
% % % % % title('original lisst depth and original data')
% % % % % figure
% % % % % plot(LISST_new_mn(:,9),-nmini30s_D)
% % % % % title('interpolated lisst data and minilogger depth')
% % % % % keyboard
% % % % %
% % % % % for i = 2:size(BB_new,2)
% % % % % plot(BB_new(:,i),-CTD30s_D);
% % % % % axis([0 .01 -110 0])
% % % % % tline = strcat('bbchan',num2str(i));
% % % % % title(tline)
% % % % % figure
% % % % %
% % % % % end
% % % % % %
% % % % % for i = 1:size(ACS_dat,2)
% % % % % plot(smooth(ACS_dat(:,i)),smooth(-ACS_D));
% % % % % axis([-.05 .1 -110 0])
% % % % % tline = strcat('ACSchan',num2str(i));
% % % % % title(tline)
% % % % % figure
% % % % %
% % % % % end
% % % % % for i = 1:size(LISST_new,2)
% % % % % plot(smooth(LISST_new(:,i)),-SMLST_D);
% % % % % tline = strcat('SMLISSTchan',num2str(i));
% % % % % title(tline)
% % % % % figure
% % % % %
% % % % % end
% % % % % pause
% % % % % for i = 1:size(LISST_new,2)
% % % % % plot(LISST_new(:,i),-LST_D);
% % % % % tline = strcat('LISSTchan',num2str(i));
% % % % % title(tline)
% % % % % figure
% % % % %
% % % % % end
% % JD_new = interp1(JD,ctd_time);
%==============End LISST===================
%===========================================
%===========================================
%=========BB9 profile plotting==============
h2 = figure;
q = jet(9);
sepparation_index = find(BB9_D == max(BB9_D)); %where to split cast
sep_ind = sepparation_index(1);
% % % maxd = find(BB9_D == max(BB9_D));
% % % t = maxd(1);
% % % while t>1;%t = maxd:-1:1 %cut out 20m downcast
% % % if abs(BB9_D(t-15)) > abs(BB9_D(t)) && BB9_D(t) < 20 %make sure not a false min
% % % % plot(depth(t:end),data(t:end,1))
% % % break
% % % end
% % % t = t -1;
% % % end
%BB9_downcast = smooth(BB_new(1:sep_ind,:));
%BB9_downcast(blw0,i) = NaN;
subplot(1,4,1)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,4),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,4)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
ylabel('Depth (m)')
title('412');
legend(strcat('mean ',num2str(mean(BB9_data(1:sep_ind,4)))))
axis([-.001 0.002 -Inf 0])
subplot(1,4,2)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,8),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,8)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
%ylabel('Depth (m)')
title('440');
legend(strcat('mean ',num2str(mean(BB9_data(1:sep_ind,8)))))
axis([0 0.002 -Inf 0])
subplot(1,4,3)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,24),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,12)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp 1/m ')
% ylabel('Depth (m)')
title('488');
legend(strcat('mean ',num2str(mean(BB9_data(1:sep_ind,12)))))
axis([0 0.002 -Inf 0])
subplot(1,4,4)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,32),-CTD30s_D);
scatter(smooth(BB9_data(1:sep_ind,16)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
legend(strcat('mean ',num2str(mean(BB9_data(1:sep_ind,16)))))
% ylabel('Depth (m)')
title('510');
axis([0 .002 -Inf 0]) %was .95
suptitle(strcat('BB9 Particle Backscatter',file(end-8:end)));
saveas(gcf, ['BBprofile412to510',file(end-7:end)], 'png')
%====================================
figure
subplot(1,5,1)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,4),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,20)),smooth(-BB9_D(1:sep_ind)),3)
refline(0,mean(BB9_data(1:sep_ind,20)))
xlabel('bbp (1/m)')
ylabel('Depth (m)')
title('532');
axis([-.001 0.002 -Inf 0])
subplot(1,5,2)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,8),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,24)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
%ylabel('Depth (m)')
title('595');
axis([0 0.002 -Inf 0])
subplot(1,5,3)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,24),-CTD30s_D,'o-');
scatter(smooth(BB9_data(1:sep_ind,28)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp 1/m ')
% ylabel('Depth (m)')
title('660');
axis([0 0.002 -Inf 0])
subplot(1,5,4)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,32),-CTD30s_D);
scatter(smooth(BB9_data(1:sep_ind,32)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
% ylabel('Depth (m)')
title('676');
axis([0 .002 -Inf 0]) %was .95
suptitle(strcat('BB9 Particle Backscatter',file(end-8:end)));
subplot(1,5,5)
set(gca, 'ColorOrder', q)
hold on
%plot(BB_new(:,32),-CTD30s_D);
scatter(smooth(BB9_data(1:sep_ind,36)),smooth(-BB9_D(1:sep_ind)),3)
xlabel('bbp (1/m)')
% ylabel('Depth (m)')
title('715');
axis([0 .002 -inf 0]) %was .95
suptitle(strcat('BB9 Particle Backscatter',file(end-8:end)));
saveas(gcf, ['BBprofile532to715',file(end-7:end)], 'png')
% % %
% % %
% % % %=======BB9 spectra plotting=========
% % % sepparation_index = find(CTD30s_D == max(CTD30s_D)); %where to split cast
% % % sep_ind = sepparation_index(1);
% % % BB9_downcast = smooth(BB_new(1:sep_ind,:));
% % %
% % % for i= 1:size(BB9_downcast,2)
% % % blw0 = find(BB9_downcast(:,i) < 0);
% % % if ~isempty(blw0);
% % % BB9_downcast(blw0,i) = NaN;
% % % end
% % % %BB9_downcast(find(BB9_downcast(:,i) < 0),i) = 'NAN'
% % % end
% % % %BB9_downcast < 0 == 'NAN'
% % %
% % % m35_index = find(abs(CTD30s_D(1:sep_ind) -35) == min(abs(CTD30s_D(1:sep_ind) - 35)))
% % % m50_index = find(abs(CTD30s_D(1:sep_ind) -50) == min(abs(CTD30s_D(1:sep_ind) - 50)))
% % % m80_index = find(abs(CTD30s_D(1:sep_ind) -80) == min(abs(CTD30s_D(1:sep_ind) - 80)))
% % % m95_index = find(abs(CTD30s_D(1:sep_ind) -95) == min(abs(CTD30s_D(1:sep_ind) - 95)))
bwindow =5;
[binned,stats,stdev,medi]=databinner(BB9_D(1:sep_ind),BB9_data(1:sep_ind,:),bwindow)
header_std = strcat([' stdbbp','412 '],{' '},['stdbbp','440 '],{' '},['stdbbp','488 '],{' '},['stdbbp','510 '],{' '},['stdbbp','532 '],{' '},['stdbbp','595 '],{' '},['stdbbp','660 '],{' '},['stdbbp','676 '],{' '},['stdbbp','715']);
header_b = strcat(['binbbp','412 '],{' '},['binbbp','440 '],{' '},['binbbp','488 '],{' '},['binbbp','510 '],{' '},['binbbp','532 '],{' '},['binbbp','595 '],{' '},['binbbp','660 '],{' '},['binbbp','676 '],{' '},['binbbp','715']);
header_med = strcat([' median','412 '],{' '},['median','440 '],{' '},['median','488 '],{' '},['median','510 '],{' '},['median','532 '],{' '},['median','595 '],{' '},['median','660 '],{' '},['medianbbp','676 '],{' '},['medianbbp','715']);
header_stat = strcat({' '},['pts'],{' '},['meandepth'])
total_hdr = char(strcat(header_b,header_std,header_med,header_stat));
total_dat = [binned,stdev,medi,stats];
stid = fopen([file(end-7:end),'BB9stats'],'w+');
fprintf(stid,'%s\n',total_hdr);
dlmwrite([file(end-7:end),'BB9stats'],total_dat, '-append','delimiter',' ')
%figure
% for pt = 1:length(stats)
% figure
% plot(412:33.6667:715,binned(pt,4:4:36))%,412:33.6667:715,binned(pt,8),412:33.6667:715,binned(pt,12),412:33.6667:715,binned(pt,16),412:33.6667:715,binned(pt,20),412:33.6667:715,binned(pt,24),412:33.6667:715,binned(pt,28),412:33.6667:715,binned(pt,32),412:33.6667:715,binned(pt,36))
% dph = strcat('depth',num2str(stats(pt,2)));
% title(['BB9 spectra',file(end-7:end)])
% ylabel('bbp data 1/m')
% xlabel('412-715nm');
% legend(strcat('depth',num2str(dph)))
% hold on
%
%
%
% end
clear binned stats stdev medi
%=======end BB9 plotting=============
%=====================================
%=====================================
%========CTD plotting=================
%just downcast after 20m debubble
maxd = find(CTD30s_D == max(CTD30s_D));
t=1;
% % % t = maxd(1);
% % % while t>1;%t = maxd:-1:1 %cut out 20m downcast
% % % if abs(CTD30s_D(t-15)) > abs(CTD30s_D(t)) && CTD30s_D(t) < 20 %make sure not a false min
% % % break
% % % end
% % % t = t -1;
% % % end
sepparation_index = find(CTD30s_D == max(CTD30s_D)); %where to split cast
sep_ind = sepparation_index(1);
ctd_temp = ctd_temp(1:sep_ind);
CTD30s_Df = CTD30s_D(1:sep_ind);
ctd_sal = ctd_sal(1:sep_ind);
ctd_time = ctd_time(1:sep_ind);
ctd_cond = ctd_cond(1:sep_ind);
%plot temp, sal, cond
h2 = figure;
q = jet(8);
subplot(1,3,1)
set(gca, 'ColorOrder', q)
hold on
%plot(ctd_temp(t:sep_ind),-CTD30s_Df(t:sep_ind),'o-');
scatter(ctd_temp(t:sep_ind),-CTD30s_Df(t:sep_ind),3);
xlabel('Temp (C)')
ylabel('Depth (m)')
title('CTD');
axis([15 35 -Inf 0])
subplot(1,3,2)
set(gca, 'ColorOrder', q)
hold on
%plot(smooth(ctd_sal(t:sep_ind)),-CTD30s_Df(t:sep_ind),'o-');
scatter(smooth(ctd_sal(t:sep_ind)),-CTD30s_Df(t:sep_ind),3);
xlabel('Sal (PSU)')
%ylabel('Depth (m)')
title('CTD');
axis([34 38 -Inf 0])
subplot(1,3,3)
set(gca, 'ColorOrder', q)
hold on
%plot(ctd_cond(t:sep_ind),-CTD30s_Df(t:sep_ind),'o-');
scatter(ctd_cond(t:sep_ind),-CTD30s_Df(t:sep_ind),3);
xlabel('Conductivity')
%ylabel('Depth (m)')
title('CTD');
axis([4 7 -Inf 0])
suptitle(strcat('SBE25 Output',file(end-8:end)));
saveas(gcf, ['CTD',file(end-7:end)], 'png')
%========end CTD plotting===============
%=======================================
%=======================================
bwindow =5;
disp('doing CTD binning')
[binned,stats,stdev,medi]=databinner(CTD30s_Df(1:sep_ind),CTD_dat(1:sep_ind,:),bwindow)
header_std = strcat([' std','time(s)'],{' '},['std','Depth(m) '],{' '},['std','Temp(C) '],{' '},['std','Cond '],{' '},['std','Sal(PSU) ']);
header_b = strcat(['bin','time(s) '],{' '},['bin','Depth(m) '],{' '},['bin','Temp(C) '],{' '},['bin','Cond '],{' '},['bin','Sal(PSU) ']);
header_med = strcat([' median','time(s) '],{' '},['median','Depth(m) '],{' '},['median','Temp(C) '],{' '},['median','Cond '],{' '},['median','Sal(PSU) ']);
header_stat = strcat({' '},['pts'],{' '},['meandepth'])
total_hdr = char(strcat(header_b,header_std,header_med,header_stat));
total_dat = [binned,stdev,medi,stats];
stid = fopen([file(end-7:end),'CTDstats'],'w+');
fprintf(stid,'%s\n',total_hdr);
dlmwrite([file(end-7:end),'CTDstats'],total_dat, '-append','delimiter',' ')
%===============================
%===============================
%===============================
%====ACS spectra plotting=======
disp('FIX ACS CHANNELS IN SCRIPT TO CONTINUE WITH ACS PROC, THEN COMMENT THIS return LINE')
continue
sepparation_index = find(ACS_D == max(ACS_D)); %where to split cast
sep_ind = sepparation_index(1);
ACS_downcast = (ACS_dat(1:sep_ind,:));
ACS_D = smooth(ACS_D(1:sep_ind,:));
Tref = 22.6 %(from factory cal)
header_b = ['Time(ms) c400.9 c404.1 c407.3 c410.3 c413.7 c417.1 c420.5 c424.2 c427.9 c431.7 c435.2 c438.6 c442.5 c446.3 c450.0 c454.3 c458.1 c462.2 c466.2 c470.5 c474.5 c478.5 c482.7 c486.7 c490.6 c494.6 c498.6 c502.4 c506.6 c510.7 c514.7 c518.9 c522.7 c526.8 c530.8 c534.6 c538.4 c542.3 c546.1 c549.9 c553.6 c557.4 c561.0 c564.7 c568.1 c571.3 c574.7 c577.8 c581.2 c584.6 c588.3 c591.8 c595.2 c598.9 c602.6 c606.3 c610.2 c613.9 c617.7 c621.5 c625.2 c629.2 c632.9 c636.8 c640.7 c644.3 c648.4 c652.4 c656.0 c660.0 c663.9 c667.8 c671.3 c674.9 c679.1 c682.7 c686.3 c689.7 c693.4 c697.0 c700.5 c703.9 c707.1 c710.7 c714.2 c717.4 c720.8 c724.1 c727.5 c730.5 c734.2 a402.6 a405.9 a408.9 a411.9 a415.3 a418.7 a422.4 a426.0 a429.5 a433.3 a436.8 a440.3 a444.0 a447.9 a452.0 a455.9 a459.9 a463.8 a468.2 a472.2 a476.4 a480.4 a484.5 a488.5 a492.3 a496.1 a500.1 a504.1 a508.3 a512.5 a516.5 a520.3 a524.4 a528.2 a532.3 a536.1 a539.7 a543.9 a547.6 a551.4 a555.2 a558.7 a562.8 a566.2 a569.0 a572.2 a575.6 a579.0 a582.4 a585.8 a589.3 a592.7 a596.4 a599.9 a603.6 a607.3 a611.3 a615.0 a618.9 a622.7 a626.4 a630.2 a634.0 a638.0 a641.8 a645.6 a649.6 a653.5 a657.5 a661.1 a665.0 a668.8 a672.6 a676.3 a680.1 a683.8 a687.1 a690.8 a694.7 a698.1 a701.5 a705.0 a708.4 a711.8 a715.2 a718.5 a721.7 a725.1 a728.4 a731.8 a735.0 iTemp(C) Conduct Depth XTemp Salinity'];
legendvals = regexp(header_b,'\s','split')
channels = legendvals(2:end-5); %generating a list of ACS channels for TScal
for t2 = 2:length(channels)
var = char(channels(t2))
var = var(2:end);
chanlist(t2,:) = str2num(var)
end
TScorrected = ACS_TScal(ACS_downcast,Tref,ctd_time,ctd_sal,chanlist);%doing temperature and salinity correction.
keyboard
ACS_newdncast = [ACS_downcast(:,1),TScorrected,ACS_downcast(:,end-4:end)];
bwindow =5;
disp('doing ACS binning')
[binned,stats,stdev,medi]=databinner(ACS_D(1:sep_ind),ACS_newdncast,bwindow)
%[binned,stats,stdev,medi]=databinner(ACS_D(1:sep_ind),ACS_downcast,bwindow)
for i=1:length(legendvals)
header_std{i} = char([' std',legendvals{i}])';
end
header_std = char(header_std)';
for i=1:length(legendvals)
header_med{i} = char([' median',legendvals{i}])';
end
header_med = char(header_med)';
%header_std = strcat([' stdbbp','412 '],{' '},['stdbbp','440 '],{' '},['stdbbp','488 '],{' '},['stdbbp','510 '],{' '},['stdbbp','532 '],{' '},['stdbbp','595 '],{' '},['stdbbp','660 '],{' '},['stdbbp','676 '],{' '},['stdbbp','715']);
%header_b = strcat(['binACS','412 '],{' '},['binACS','440 '],{' '},['binACS','488 '],{' '},['binACS','510 '],{' '},['binACS','532 '],{' '},['binACS','595 '],{' '},['binACS','660 '],{' '},['binACS','676 '],{' '},['binACS','715']);
%header_med = strcat([' median','412 '],{' '},['median','440 '],{' '},['median','488 '],{' '},['median','510 '],{' '},['median','532 '],{' '},['median','595 '],{' '},['median','660 '],{' '},['medianbbp','676 '],{' '},['medianbbp','715']);
header_stat = strcat({' '},['pts'],{' '},['meandepth'])
total_hdr = char(strcat(header_b,header_std(1,:),header_med,header_stat));
total_dat = [binned,stdev,medi,stats];
stid = fopen([file(end-7:end),'ACSstats'],'w+');
fprintf(stid,'%s\n',total_hdr);
%dlmwrite([file(end-7:end),'ACSstats'],total_dat, '-append','delimiter',' ')
m35_index = find(abs(ACS_D(1:sep_ind) -35) == min(abs(ACS_D(1:sep_ind) - 35)))
m50_index = find(abs(ACS_D(1:sep_ind) -50) == min(abs(ACS_D(1:sep_ind) - 50)))
m80_index = find(abs(ACS_D(1:sep_ind) -80) == min(abs(ACS_D(1:sep_ind) - 80)))
m95_index = find(abs(ACS_D(1:sep_ind) -95) == min(abs(ACS_D(1:sep_ind) - 95)))
figure
plot(400:3.8202:740,ACS_downcast(m35_index(1),2:91),400:3.8202:740,ACS_downcast(m50_index(1),2:91),400:3.8202:740,ACS_downcast(m80_index(1),2:91),400:3.8202:740,ACS_downcast(m95_index(1),2:91))%,400:3.8202:740,avg_spec_001May2012unfilb(:,2:91), 400:3.8202:740,avg_spec_001May2012filc(:,2:91),400:3.8202:740,avg_spec_001May2012unfilc(:,2:91))
title(['ACS 001 spectra',file(end-7:end)])
xlabel('400-740nm');
ylabel('C data 1/m')
legend('35m','50m','80m','95m')%,'May2012-unfilter','May2012-newfilter','May2012-newunfilter','May2012-newfilter runII','May2012-newunfilter runII')
%saveas(gcf, ['ACS001_C',file(end-7:end)], 'png')
figure
plot(400:3.7363:740,ACS_downcast(m35_index(1),92:182),400:3.7363:740,ACS_downcast(m50_index(1),92:182),400:3.7363:740,ACS_downcast(m80_index(1),92:182),400:3.7363:740,ACS_downcast(m95_index(1),92:182))%,400:3.7363:740,avg_spec_001May2012unfilb(:,92:182), 400:3.7363:740,avg_spec_001May2012filc(:,92:182),400:3.7363:740,avg_spec_001May2012unfilc(:,92:182))
title(['ACS 001 spectra',file(end-7:end)])
xlabel('400-740nm');
ylabel('A data 1/m')
legend('35m','50m','80m','95m')%'May2012-unfilter','May2012-newfilter','May2012-newunfilter','May2012-newfilter runII','May2012-newunfilter runII')
%saveas(gcf, ['ACS001_A',file(end-7:end)], 'png')
%TS corrected ACS data
figure
plot(400:3.8202:740,ACS_newdncast(m35_index(1),2:91),400:3.8202:740,ACS_newdncast(m50_index(1),2:91),400:3.8202:740,ACS_newdncast(m80_index(1),2:91),400:3.8202:740,ACS_newdncast(m95_index(1),2:91))%,400:3.8202:740,avg_spec_001May2012unfilb(:,2:91), 400:3.8202:740,avg_spec_001May2012filc(:,2:91),400:3.8202:740,avg_spec_001May2012unfilc(:,2:91))
title(['ACS 001 TScor spectra',file(end-7:end)])
xlabel('400-740nm');
ylabel('C data 1/m')
legend('35m','50m','80m','95m')%,'May2012-unfilter','May2012-newfilter','May2012-newunfilter','May2012-newfilter runII','May2012-newunfilter runII')
%saveas(gcf, ['ACS001TSCOR_C',file(end-7:end)], 'png')
figure
plot(400:3.7363:740,ACS_newdncast(m35_index(1),92:182),400:3.7363:740,ACS_newdncast(m50_index(1),92:182),400:3.7363:740,ACS_newdncast(m80_index(1),92:182),400:3.7363:740,ACS_newdncast(m95_index(1),92:182))%,400:3.7363:740,avg_spec_001May2012unfilb(:,92:182), 400:3.7363:740,avg_spec_001May2012filc(:,92:182),400:3.7363:740,avg_spec_001May2012unfilc(:,92:182))
title(['ACS 001 TScor spectra',file(end-7:end)])
xlabel('400-740nm');
ylabel('A data 1/m')
legend('35m','50m','80m','95m')%'May2012-unfilter','May2012-newfilter','May2012-newunfilter','May2012-newfilter runII','May2012-newunfilter runII')
%saveas(gcf, ['ACS001TSCOR_A',file(end-7:end)], 'png')
%========end ACS plotting=============
%====ACS profile plotting======
% % %
% % %
% % %
% % % h3 = figure;
% % % q = jet(4);
% % %
% % % subplot(1,4,1)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,4),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,6)),-ACS_D,3)
% % % xlabel('c (1/m)')
% % % ylabel('Depth (m)')
% % % title('413.7');
% % % axis([-.1 0.1 -Inf Inf])
% % %
% % % subplot(1,4,2)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,8),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,14)),-ACS_D,3)
% % % xlabel('c (1/m)')
% % % %ylabel('Depth (m)')
% % % title('442.5');
% % % axis([0 0.1 -Inf Inf])
% % %
% % % subplot(1,4,3)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,24),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,54)),-ACS_D,3)
% % % xlabel('c 1/m ')
% % % % ylabel('Depth (m)')
% % % title('595.2');
% % % axis([0 0.1 -Inf Inf])
% % %
% % % subplot(1,4,4)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,32),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,75)),-ACS_D,3)
% % % xlabel('c (1/m)')
% % % % ylabel('Depth (m)')
% % % title('674.9');
% % % axis([0 .1 -Inf Inf]) %was .95
% % % suptitle(strcat('ACS attenuation',file(end-8:end)));
% % % saveas(gcf, ['ACSCprofile',file(end-7:end)], 'png')
% % %
% % % h3 = figure;
% % % q = jet(4);
% % %
% % % subplot(1,4,1)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,4),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,96)),-ACS_D,3)
% % % xlabel('a (1/m)')
% % % ylabel('Depth (m)')
% % % title('411.9');
% % % axis([-.1 0.1 -Inf Inf])
% % %
% % % subplot(1,4,2)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,8),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,105)),-ACS_D,3)
% % % xlabel('a (1/m)')
% % % %ylabel('Depth (m)')
% % % title('444');
% % % axis([0 0.1 -Inf Inf])
% % %
% % % subplot(1,4,3)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,24),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,145)),-ACS_D,3)
% % % xlabel('a 1/m ')
% % % % ylabel('Depth (m)')
% % % title('596.4');
% % % axis([0 0.1 -Inf Inf])
% % %
% % % subplot(1,4,4)
% % % set(gca, 'ColorOrder', q)
% % % hold on
% % % %plot(BB_new(:,32),-CTD30s_D,'o-');
% % % scatter(smooth(ACS_downcast(:,166)),-ACS_D,3)
% % % xlabel('a (1/m)')
% % % % ylabel('Depth (m)')
% % % title('676.3');
% % % axis([0 .1 -Inf Inf]) %was .95
% % % suptitle(strcat('ACS absorption',file(end-8:end)));
% % % saveas(gcf, ['ACSAprofile',file(end-7:end)], 'png')
%======= FINDING/FILTERING NAN IF TIME RECORDS GO OVER =====
nn= isnan(BB_new);
non= find(nn(:,1) ==1);
CTD_dat(non,:) = [];
BB_new(non,:) = [];
return