%BAOPLT100_loop % Plot data from BAO data loggers % Systems turned back on April 2007 % Not calibrated old sensors % 10m %ID YR Day hhmm T RH WS DIR VDC P Precip Corrected Dir % 10,2007,99,1413,7.3547,87.654,.30489,292.84,13.981,826.61,0,111.234 %Prop-vane aligned along boom on N side pointing 324 subtract 26 to get %true wind direction function [retval] = BAOPLT100_loop_func( by, bm, bd, ey, em, ed ) pltflg = 1; %flag to plot the data: 1=yes, 0=no pngflg = 1; %flag to make a png of the plot: 1=yes, 0=no if ispc inpath = 'z:\bao\Tower\Processed\daily\'; outpath = 'z:\bao\Tower\Processed_Images\daily\'; else inpath = '/archive/BAO/Tower/Processed/daily/'; outpath = '/archive/BAO/Tower/Processed_Images/daily/'; end %cd(inpath); if( nargin == 0 ) bys = input('Input year to process (2007) ','s'); bms = input('Input the month to process (1-12) ','s'); bds = input('Input the beginning day to process (1-31) ','s'); eys = input('Input year to process (2007) ','s'); ems = input('Input the month to process (1-12) ','s'); eds = input('Input end day to process (1-31) ','s'); by = str2double( bys ); bm = str2double( bms ); bd = str2double( bds ); ey = str2double( eys ); em = str2double( ems ); ed = str2double( eds ); end bdn = datenum([by bm bd 0 0 0]); edn = datenum([ey em ed 0 0 0]); for i = bdn:edn dv=datevec(i); if i == bdn && dv(4) > 0 continue end yday = md2yd( dv(1), dv(2), dv(3) ); name100 = sprintf('%sBAO_100_%4d%03d.dat', inpath, dv(1), yday ); fprintf(1,'*** Processing 100m daily ***\n'); fid100 = fopen( name100 ); if( fid100 > 0 ) fclose( fid100 ); else fprintf(1,'No 100m: %s\n',name100); continue; end data100 = load(name100); %load 1 day of PSD mean logger data hhmm = data100(:,4); hh = fix(hhmm/100); mm = hhmm - (hh*100); data100(:,3)=data100(:,3)+(((mm/60.)+hh)/24)+datenum(data100(:,2)-1,12,31); %Year day clear hhmm hh mm if pltflg %do plots if pltflg=1 figure1 = figure('Position',[10 50 650 650]); subplot(2,1,1),plot(data100(:,3),data100(:,5)) gi = find( data100(:,5) > -50.0 ); blim = min(data100(gi,5))-5; elim = max(data100(gi,5))+5; ylim([blim elim]) xlim([data100(1,3),data100(1,3)+1]) stitle=sprintf('BAO %4d-%02d-%02d 100m', dv(1),dv(2),dv(3)); title(stitle) ylabel('T (C)') xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); grid on subplot(2,1,2),plot(data100(:,3),data100(:,6)) ylim([0,109]) xlim([data100(1,3),data100(1,3)+1]) ylabel('Rh (%)') xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); grid on annotation(figure1,'textbox',[0.007154 0.01077 0.4498 0.02462],... 'String',{'NOAA/ESRL/PSD/Weather & Climate Physics'},... 'FontSize',8,'FitBoxToText','off','LineStyle','none'); if pngflg print_buffer = sprintf('%sBAO_100_%4d%03d_TRH.png',... outpath, dv(1), yday ); set(gcf,'PaperPositionMode','auto'); print('-dpng', print_buffer); %f=getframe(gcf); %imwrite(f.cdata,print_buffer,'png'); end windx = find(data100(:,3) >= 0.0 ); figure2 = figure('Position',[10 50 650 650]); subplot(2,1,1),plot(data100(:,3),data100(:,7)) xlim([data100(1,3),data100(1,3)+1]) ylim([0 max(data100(:,7))+2.]) title(stitle) xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); ylabel('Spd (m/s)') grid on subplot(2,1,2),plot(data100(:,3),data100(:,12),'bx','MarkerSize',4) xlim([data100(1,3),data100(1,3)+1]) ylim([0 360]) ylabel('Dir (true)') xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); grid on annotation(figure2,'textbox',[0.007154 0.01077 0.4498 0.02462],... 'String',{'NOAA/ESRL/PSD/Weather & Climate Physics'},... 'FontSize',8,'FitBoxToText','off','LineStyle','none'); if pngflg print_buffer = sprintf('%sBAO_100_%4d%03d_WS.png',... outpath, dv(1), yday ); set(gcf,'PaperPositionMode','auto'); print('-dpng', print_buffer); end end %if pltflg is 1 clear data100 yday close all end % for looping through days clear all retval = 0;