%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.23
% DEW2/13/2014 changed path so it will run on my desktop PC

%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:\Tower\Processed\daily\';
    outpath  = 'z:\Tower\Processed_Images\daily\';
else
    inpath = '/archive/Tower/Processed/daily/';
    outpath  = '/archive/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',[100 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(:,7) >= 0.0 );
        if length(windx) > 0
            figure2 = figure('Position',[100 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
        
    end %if pltflg is 1
    
    clear data100 yday
    close all
end % for looping through days

clear all

retval = 0;
