%BAOPLT010_loop_func % Plot data from BAO data loggers % Systems turned back on April 2007 % Not calibrated old sensors % 10m %ID,YR,YearDay,hhmm,T,RH,WS,WSvec,DIR,Dsig,VDC,P,Precip,Corrected Dir %10,2007,099,1413,7.35,87.654,.305,.305,292.84,2.03,13.981,826.61,0,111.234 function [retval] = BAOPLTSFC_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 retval = 0; 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]); %dd = clock; lm = edn - bdn + 1; totprecip = zeros(lm,2); ii = 0; for i = bdn:edn dv=datevec(i); yday = md2yd( dv(1), dv(2), dv(3) ); namesfc = sprintf('%sBAO_SFC_%4d%03d.dat', inpath, dv(1), yday ); fprintf(1,'*** Processing 10m daily ***\n'); fidsfc = fopen( namesfc ); if( fidsfc > 0 ) fclose( fidsfc ); else fprintf(1,'No 10m: %s\n',namesfc); continue; end datasfc = load(namesfc); %load 1 day of PSD mean logger data hhmm = datasfc(:,4); hh = fix(hhmm/100); mm = hhmm - (hh*100); datasfc(:,3)=datasfc(:,3)+(((mm/60.)+hh)/24)+datenum(datasfc(:,2)-1,12,31); %decimal year day clear hhmm hh mm %Total precip Before 2007 year-day 270 precip in mm after inches tp = cumsum(datasfc(:,6)); if yday < 270 && dv(1) < 2008 totpmm = tp; else totpmm = tp*25.4; end tpmm = totpmm(length(totpmm)); tpin = tpmm / 25.4; stp = size(tpmm); ttpmm = tpmm(stp(1,1)); %save total daily precip in an array ii = ii + 1; totprecip(ii,1) = datasfc(1,3); totprecip(ii,2) = ttpmm; figure3 = figure('Position',[10 50 650 650]); subplot(2,1,1),plot(datasfc(:,3),datasfc(:,5)) xlim([datasfc(1,3),datasfc(1,3)+1]) ylim([800 880]) stitle=sprintf('BAO %4d-%02d-%02d Surface', dv(1),dv(2),dv(3)); title(stitle) ylabel('Pressure (mb)') xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); grid on subplot(2,1,2),plot(datasfc(:,3),totpmm,'r.') xlim([datasfc(1,3),datasfc(1,3)+1]) ylim([0 max(tpmm)+1.0]) xlabel('Hour (UTC)') datetick('x','HH','keeplimits'); ylabel('Precip (mm)') ctp = sprintf('Total precipitation %.2f mm (%.2f in)',tpmm,tpin); title(ctp) grid on annotation(figure3,'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_SFC_%4d%03d_PP.png',... outpath, dv(1), yday ); set(gcf,'PaperPositionMode','auto'); print('-dpng', print_buffer); end end % if doing plots clear datasfc yday close all end % loop through all files retval = 0;