0001 function [tau, az, el, Tground] = getTau(date, filename)
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 if(nargin<2)
0016 filename = 'constants/tau_values_ptcross.txt';
0017 end
0018
0019 taus = load(filename);
0020
0021 aDate = taus(:,1);
0022 taus(:,1) = [];
0023
0024
0025
0026 [aDateChron, sortOrder] = sort(aDate);
0027 aChron = taus(sortOrder,:);
0028
0029
0030 aDate = aDateChron;
0031 taus = aChron;
0032
0033
0034
0035 reps = find(diff(aDate)==0);
0036 aDate(reps,:) = [];
0037 taus(reps,:) = [];
0038
0039
0040 dateDif = aDate - repmat(date, size(aDate));
0041 f = find(dateDif > 0);
0042 if(isempty(f))
0043 f = length(dateDif);
0044 else
0045 f = f-1;
0046 f = f(1);
0047 end
0048 if(f==0)
0049 f=1;
0050 end
0051
0052 tau = taus(f,:);
0053 finOrder = f;
0054
0055
0056 if(any(isnan(tau)))
0057 display(['getTau:: Found some NaN values.']);
0058 display('getTau:: Will find previous good data');
0059 fNan = find(isnan(tau));
0060
0061 for m=1:length(fNan)
0062 thisA = taus(:,fNan(m));
0063 if(all(isnan(thisA)))
0064 display('getTau::CAN''T DO SHIT!!!');
0065 error(['getTau:: ALL your R-factor corrections for this channel are bad']);
0066 end
0067
0068
0069 newOrder = f;
0070 rVal = thisA(newOrder);
0071 while(isnan(rVal))
0072 newOrder = newOrder - 1;
0073 rVal = thisA(newOrder);
0074 end
0075 tau(fNan(m)) = rVal;
0076 end
0077 end
0078
0079
0080 az = tau(1);
0081 el = tau(2);
0082 Tground = tau(5:6);
0083 tau = tau(3:4);
0084
0085 return;
0086