COPSkcloop
Jump to navigation
Jump to search
function COPSkcloop(infile)
%channels
%={'0Ed412','0Ed443','0Ed490','0Ed510','0Ed555','0Ed665','1Lu412','1Lu443',
%'1Lu490','1Lu510','1Lu555','1Lu665'}; %prr channels
rqfid = fopen('/home/oceancolor/Plumes_and_Blooms/workspace/eriks/C-OPS/Copsrqclist.txt')
chin = 1;
while ~feof(rqfid)
chline = fgets(rqfid);
channels2(chin,:) = {chline(1:6)};
chin = chin + 1;
if chin > 36
break
end
end
channels2 = channels2';
depth_width = [10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10];
%interval = [12,12,12,12,12,10,12,12,12,12,12,10];
% -r 1ed412 1 12
% -r 1ed443 1 12
% -r 1ed490 1 12
% -r 1ed510 1 12
% -r 1ed555 1 12
% -r 1ed665 1 10
% -r 1lu412 1 12
% -r 1lu443 1 12
% -r 1lu490 1 12
% -r 1lu510 1 12
% -r 1lu555 1 12
% -r 1lu665 1 10
%infile = 'bsakrmP101216B.lcd.1';
s = struct('channel',channels2,'depthwidth',depth_width);
valac = [];
donebefore =0;
%=============main loop============
for L = 1:size(depth_width,2)
%vars
%=%bscalcE(s(L).channel,s(L).scale(L),s(L).interval(L),'bananKrqcmmP101216B.l%cd.1')
%-------------end changed 12-4-12
%valac = valac; %changed 12-4-12 from ' to not
%===generate new file and checking what input files to use=======
%========
newfile = strcat('kc',infile);
infp = fopen(newfile,'r+');
if infp ~= -1
infile = newfile;
end
if infp ==-1 && donebefore == 0 %if first time through using "mbs" file
nf = fopen(newfile,'w+'); %open a new file for writing as usual
infp = fopen(infile,'r+'); %open original as usual
else
if infp == -1 && donebefore == 1
newfile = infile;
end
temp = strcat('tempkclcd',newfile); %write stuff to this and then rename... to "kc"
nf = fopen(temp,'w+');%open a temp file that will be renaimed 'kc..'
if donebefore ==1 && L < 2 ;
infile = newfile;%just need to assign this once otherwise infile will keep having an extra kc on it.(kckckc..)
end
infp = fopen(infile,'r+');
end
if donebefore ==1
%disp('done before')
end
donebefore =1;
vars = [];
%=======================================================================
%=====runs the kc stuff=================================================
%=====================================
vars = CPSbopkc(s(L).channel,s(L).depthwidth(L),infile);
vars = vars';% changed 12-4-12
valac = [valac,vars];
%=======================================================================
%=======================================================================
%===========print filters to
while ~feof(infp)
linep = fgets(infp);
if strncmp(linep,'<data>',6) == 1
fprintf(nf,'%s\n',['kcr-',s(L).channel]);
fprintf(nf,'%s\n','<data>');
break
end
fprintf(nf,linep); %moved to after channel print 12-4-12
end
%==========================================================================
%-----open temp data file for reading and add new data columns to it.
%==========================================================================
mname = strcat('temp',infile); %this is the same temp data file generated by bopkc
tn = load(mname);
if L ==1
tempm = [tn,valac]; %added 12-4-12 ' making first line of data to write
else
tempm = [tempm,vars];
end
%disp('keyboard in kcloop')
%keyboard %#===++
dlmwrite(mname,tempm,'delimiter',' ','precision',6); %overwrites data file with new columns
matfile = fopen(mname);
while ~feof(matfile)
nln = fgets(matfile);
fprintf(nf,'%s',nln); %writes matfile to new lcd
end
%------add filters to end of file
while ~feof(infp)
tl = fgets(infp);
if strncmp(tl,'<filters_used>',14) == 1
fprintf(nf,tl);
while ~feof(infp)
npf = fgets(infp);
fprintf(nf,'%s',npf);
end
end
end
%===add stats line==
%for L = 1:size(depth_width,2) commented 12-4-12
fprintf(nf,'%s\n',['bopkc', s(L).channel,' ', num2str(s(L).depthwidth(L)),' ', infile]);
%fprintf(nf,'%s\n',char(valac(L)))
%fprintf(nf,'%s/n')
%end commented 12-4-12
fclose(nf);
fclose(infp);
if donebefore ==1 && L > 1
%movefile(tempname,newfile)
movefile(temp,infile);
end
infile = newfile; %needs to update filename otherwise infile will always be the same.
end
fclose all
back to C-OPS/CERBERUS Mfiles