disp('CALNEX_mailbox_daily'); %process mailbox .raw files clear all; close all s2=['D:\CALNEX_2010\Atlantis\radiometer\Mailbox\raw\*00.raw']; ls([s2]) mday =input('Input yearmonthday to evaluate (100401....): ','s'); % 0705 is YYMM fname=[mday '*.raw']; %%%%%%%%%%% Read parameters %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% read_parameters_CalNEX_2010; %reads the parameters for the cruise. s1=[way_raw_data_mb, fname]; s=way_raw_data_mb; % s1=['D:\CALNEX_2010\Atlantis\radiometer\Mailbox\raw\' fname]; % s='D:\CALNEX_2010\Atlantis\radiometer\Mailbox\raw\'; ls([s1]) dr=dir(s1); [n m]=size(dr); mx=n; j=1; nj=1; kx=1; % counts number of 10-min blocks of data min=0:6; % 10-min parts of an hour jdmx=min/6/24; % 10-min fraction of hour %mx=2*24; for i=1:mx k=1; clear dath; flnm=dr(i).name; raw = (['Reading Mailbox raw file ', s, flnm]); disp(raw); % if flnm(10:12)=='raw'; fid=fopen([s flnm],'r'); while feof(fid)==0 ; %080315121249 10 90.000000 2.125750 1.699500 %2.992390 3.717628 3.426014 4.146404 6.729728 0.542291 247.533508 121.615807 0.000000 %2.763138 3.397741 3.199832 3.830880 6.759455 0.659315 189.985535 139.104370 0.000000 stux1=fscanf(fid,'%02d%02d%02d%02d%02d%02d %d %f %f %f',[10,1]); stux2=fscanf(fid,'%g %g %g %g %g %g %g %g %g',[9,1]); stux3=fscanf(fid,'%g %g %g %g %g %g %g %g %g',[9,1]); if (isempty(stux1)) break else datx(j,1)=datenum(2000+stux1(1),stux1(2),stux1(3),stux1(4),stux1(5),stux1(6))-datenum(2000+stux1(1)-1,12,31); %For CALNEX MB was oriented ~ 45deg off beam if (length(stux2)==9) &(length(stux3)==9) datx(j,2)=stux2(9);%vapor datx(j,3)=stux3(9);%liquid datx(j,4)=stux2(6);%tau 20 datx(j,5)=stux2(8);%tb 20 datx(j,6)=stux3(6);%tau 30 datx(j,7)=stux3(8);%tb 30 datx(j,8)=stux1(7);%mode datx(j,9)=stux1(8);%angle datx(j,10)=stux2(7);%cf20 datx(j,11)=stux3(7);%cf30 datx(j,12)=stux2(1);%sky20 datx(j,13)=stux2(2);%nsky20 datx(j,14)=stux2(3);%bb20 datx(j,15)=stux2(4);%nbb20 datx(j,16)=stux2(5);%tbb20 datx(j,17)=stux3(1);%sky30 datx(j,18)=stux3(2);%nsky30 datx(j,19)=stux3(3);%bb30 datx(j,20)=stux3(4);%nbb30 datx(j,21)=stux3(5);%tbb30 datx(j,22)=stux1(9);%pitch datx(j,23)=stux1(10);%roll else datx(j,1:23)=NaN; end; dath(k,1)=datx(j,1); dath(k,2)=datx(j,2); dath(k,3)=datx(j,3); j=j+1; k=k+1; end;%isempty end;%while feof fclose(fid); if k>1 [a b]=size(dath); ii=find(dath(:,2)<-1 | dath(:,2)>8); [nz mz]=size(ii); dath(ii,2)=NaN; dath(ii,3)=NaN; jdd=dath(:,1); jd0=floor(jdd(1)); % first Julian Day of data series jj=find(isfinite(dath(:,2))); if isempty(jj) dathr(nj,1)=datx(j-a,1); dathr(nj,2)=NaN; dathr(nj,3)=NaN; dathr(nj,4)=0; dathr(nj,5)=NaN; dathr(nj,6)=NaN; else kk=1; % if hourly data exists start 10-min calc. pp=jdd-floor(jdd); % fractional part of day while kk<7 kj=find(pp>(pp(1)+jdmx(kk)) & pp<(pp(1)+jdmx(kk+1))); % select 10-min section if isempty(kj) datmn(kx,1)=dath(1,1)+jdmx(kk); datmn(kx,2)=NaN; datmn(kx,3)=NaN; datmn(kx,4)=NaN; datmn(kx,5)=NaN; datmn(kx,6)=NaN; else datmn(kx,1)=dath(kj(1),1); kkj=find(~isnan(dath(kj,2)));%skip tip cals if isempty(kkj) datmn(kx,2)=NaN; datmn(kx,3)=NaN; else datmn(kx,2)=median(dath(kj(kkj),2)); datmn(kx,3)=median(dath(kj(kkj),3)); end; y1=dath(kj,2); y=sort(y1); [ny my]=size(y); j1=max(floor(ny*.16),1);j2=max(floor(ny*.84),1); datmn(kx,4)=ny; datmn(kx,5)=(y(j2)-y(j1))/2; y2=dath(kj,3); y=sort(y2); datmn(kx,6)=(y(j2)-y(j1))/2; end; %end if isempty kj %jdmin(kx)=jd0+jdx(jj)+jdmx(kk); % integrate timestep kk=kk+1; kx=kx+1; end %while kk dathr(nj,1)=dath(1,1); dathr(nj,2)=median(dath(jj,2)); dathr(nj,3)=median(dath(jj,3)); y1=dath(jj,2); y=sort(y1); [ny my]=size(y); j1=max(floor(ny*.16),1);j2=max(floor(ny*.84),1); dathr(nj,4)=ny; dathr(nj,5)=(y(j2)-y(j1))/2; y2=dath(jj,3); y=sort(y2); dathr(nj,6)=(y(j2)-y(j1))/2; end; nj=nj+1; end; % end;%if filename end;%for i %NaN out the tip cals ii=find(datx(:,2)<-1 | datx(:,2)>8); datx(ii,2)=NaN; datx(ii,3)=NaN; % daty=sortrows(datx,1); dathry=sortrows(dathr,1); datmny=sortrows(datmn,1); prt_it=1; %set to 0 to print to screen, 1 to print to a file (i.e., make ascii file) if prt_it==1 % ss='D:\CALNEX_2010\Atlantis\radiometer\Mailbox\Processed\'; ss=way_proc_data_mb; %ss=s; e=[ss 'CALNEX_2010_micro_sb.txt']; flist1=fopen([ss 'CALNEX_2010_micro_s.txt'],'a+'); flist2=fopen([ss 'CALNEX_2010_micro_h.txt'],'a+'); flist3=fopen([ss 'CALNEX_2010_micro_m.txt'],'a+'); else flist1=1;flist2=1; end; %fprintf(flist1,'%12.6f %10.5f %10.5f \r',daty'); fprintf(flist1,'%12.6f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f %10.5f \r',daty'); % jd vap liq tau20 tb30 tau30 tb30 mode angle cf20 cf30 sky20 nsky20 bb20 nbb20 tbb20 sky30 nsky30 bb30 nbb30 tbb30 pitch roll % 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 fprintf(flist2,'%12.6f %10.5f %10.5f %5d %10.5f %10.5f \r',dathry'); % jd vap liq #obs sigv sigl fprintf(flist3,'%12.6f %10.5f %10.5f %5d %10.5f %10.5f \r',datmny'); % jd vap liq #obs sigv sigl fclose('all'); %save e datx -ascii; [ld c]= size(daty); %ejd = daty(ld,1); %bjd = daty(1,1); % Changed due to error May 9th 2008 CALNEX data DEW ejd = jd0+1; bjd = jd0; % Plot if 1 % s='d:\CALNEX_2010\Atlantis\radiometer\mailbox\Raw_images\'; s=way_raw_images_mb; figure(1);plot(daty(:,1),daty(:,2));axis([bjd ejd 0 8]); xlabel('Year Day (UTC)');ylabel('Integrated atmospheric water vapor (cm)'); title('CALNEX 2010') print_buffer = [s 'CALNEX_2010_mwr_vap_' fname(1:2) '_' fname(3:4) '_' fname(5:6) '.png']; print('-dpng ', print_buffer); figure(2);plot(daty(:,1),daty(:,3)*1e3);axis([bjd ejd -10 500]); xlabel('Year Day (UTC)');ylabel('Integrated cloud liquid content (g/m^2)'); title('CALNEX 2010') print_buffer = [s 'CALNEX_2010_mwr_liq_' fname(1:2) '_' fname(3:4) '_' fname(5:6) '.png']; print('-dpng ', print_buffer); figure(3) plot(daty(:,1),daty(:,5)); %axis([bjd ejd 0 8]); hold plot(daty(:,1),daty(:,7),'r'); axis([bjd ejd -10 300]); title('CALNEX 2010') ylabel('TBs') xlabel('Year Day (UTC)') legend('20 GHz','30GHz') print_buffer = [s 'CALNEX_2010_mwr_TBs_' fname(1:2) '_' fname(3:4) '_' fname(5:6) '.png']; print('-dpng ', print_buffer); figure(4) subplot(2,1,1),plot(daty(:,1),daty(:,22),'k'); title('CALNEX 2010') ylabel('Degrees') legend('Pitch') subplot(2,1,2),plot(daty(:,1),daty(:,23),'k'); axis([bjd ejd -10 10]); title('CALNEX 2010') ylabel('Degrees') xlabel('Year Day (UTC)') legend('Roll') print_buffer = [s 'CALNEX_2010_mwr_PR_' fname(1:2) '_' fname(3:4) '_' fname(5:6) '.png']; print('-dpng ', print_buffer); end %Skip plotting %save daily data files mwr = daty; if 1 % f=['d:\CALNEX_2010\Atlantis\radiometer\mailbox\processed\CALNEX_2010_mwr_' fname(1:6) '.txt']; f=[way_proc_data_mb, 'CALNEX_2010_mwr_' fname(1:6) '.txt']; flist=fopen(f,'w'); save( f, 'mwr', '-ascii','-tabs') fclose('all'); end;