%BAOPLT100_month_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 % 10,2007,99,1413,7.3547,87.654,.30489,292.84,13.981,826.61,0 function [retval] = BAOPLT100_month_loop_func( by, bm, bd, ey, em, ed ) %clear 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\monthly\'; outpath = 'z:\BAO\Tower\Processed_Images\monthly\'; else inpath = '/archive/BAO/Tower/Processed/monthly/'; outpath = '/archive/BAO/Tower/Processed_Images/monthly/'; 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]); bdv=datevec(bdn); edv=datevec(edn); yr = bdv(1); mo = bdv(2); nloops = edv(2) + (edv(1) - bdv(1)) * 12 - bdv(2) + 1; for i = 1:nloops dv=datevec(i); name100 = sprintf('%sBAO_100_%4d%02d.dat', inpath, yr, mo ); fprintf(1,'*** Processing 100m monthly ***\n'); fid100 = fopen( name100 ); if( fid100 > 0 ) fclose( fid100 ); else fprintf(1,'No 100m: %s\n',name100); continue; end data100 = load(name100); 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); %Julian 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]) stitle=sprintf('BAO %4d-%02d 100m', yr, mo); title(stitle) xlabel('Day (UTC)') datetick('x','mm/dd','keeplimits','keepticks'); ylabel('T (C)') axis tight grid on subplot(2,1,2),plot(data100(:,3),data100(:,6)) xlabel('Day (UTC)') datetick('x','mm/dd','keeplimits','keepticks'); ylabel('Rh (%)') axis tight grid on ylim([0,109]) 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%02d_TRH.png',... outpath, yr, mo ); set(gcf,'PaperPositionMode','auto'); print('-dpng', print_buffer); %f=getframe(gcf); %imwrite(f.cdata,print_buffer,'png'); end figure2 = figure('Position',[10 50 650 650]); subplot(2,1,1),plot(data100(:,3),data100(:,7)) title(stitle) ylim([0 elim]) ylabel('Spd (m/s)') xlabel('Day (UTC)') datetick('x','mm/dd','keeplimits','keepticks'); axis tight grid on subplot(2,1,2),plot(data100(:,3),data100(:,12),'bx','MarkerSize',4) ylabel('Dir (true)') xlabel('Day (UTC)') datetick('x','mm/dd','keeplimits','keepticks'); axis tight grid on ylim([0 360]) 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%02d_WS.png',... outpath, yr, mo ); set(gcf,'PaperPositionMode','auto'); print('-dpng', print_buffer); end end % if doing plots clear data100 close all mo = mo + 1; if mo > 12 mo = mo - 12; yr = yr + 1; end end % loop through all files clear all retval = 0;