0001 function [d pointFlag galacticFlag sunFlag moonFlag] = ...
0002 read_posflag(startTime,endTime)
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015 pointRad = 1.;
0016 galRad = 10.;
0017 sunRad = 5.;
0018 moonRad = 5.;
0019
0020
0021
0022 regs={ ...
0023 'array.frame.utc double',...
0024 'array.weather.pressure double',...
0025 'array.weather.airTemperature double',...
0026 'antenna0.thermal.ccTemperatureLoad double',...
0027 'antenna0.thermal.ccColdPlate double',...
0028 'antenna0.thermal.utc double',...
0029 'antenna0.tracker.lst double',...
0030 'antenna0.tracker.flexure double',...
0031 'antenna0.tracker.tilts double',...
0032 'antenna0.tracker.encoder_off double',...
0033 'antenna0.tracker.fixedCollimation double',...
0034 'antenna0.tracker.refraction double',...
0035 'antenna0.tracker.siteActual double',...
0036 'antenna0.tracker.utc double',...
0037 'antenna0.servo.utc double',...
0038 'antenna0.servo.fast_az_pos double',...
0039 'antenna0.servo.fast_el_pos double',...
0040 'antenna0.servo.fast_az_err double',...
0041 'antenna0.servo.fast_el_err double',...
0042 'antenna0.receiver.utc double',...
0043 'antenna0.receiver.data double',...
0044 'antenna0.receiver.flags double',...
0045 };
0046
0047
0048
0049
0050
0051
0052
0053
0054
0055
0056
0057
0058
0059
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081
0082
0083
0084
0085
0086
0087
0088
0089
0090
0091
0092
0093
0094
0095
0096
0097
0098
0099
0100 d = read_arc(startTime,endTime,regs);
0101 display('Finished with read_arc');
0102
0103
0104
0105 display('Calculating apparent Azimuth and Elevation');
0106 d = apparentAzEl(d);
0107
0108
0109
0110 display('Calculating RA/DEC Values')
0111 long=-118.2822;
0112 lat=37.2339;
0113
0114 az = d.antenna0.servo.apparent(:,1);
0115 el = d.antenna0.servo.apparent(:,2);
0116 jd=mjd2jd(d.antenna0.receiver.utc);
0117 [equa] = horiz_coo([pi/180*(az) pi/180*(el)],jd,[pi/180*(long) pi/180*(lat)],'e');
0118 d.antenna0.servo.equa=equa;
0119
0120
0121
0122 display('Calculating Galactic Long/Lat')
0123 [galactic,~]=coco(d.antenna0.servo.equa,'j2000.0','g','r','r');
0124 d.antenna0.servo.galactic=galactic;
0125
0126
0127
0128
0129 display('Flagging on point sources.');
0130
0131
0132 pointFile = open('nvss_select.mat');
0133 pointRA = pointFile.RA;
0134 pointDec = pointFile.Dec;
0135 nPoints = length(pointRA);
0136
0137 pointFlag = zeros(length(d.antenna0.receiver.utc),1);
0138 for k=1:nPoints
0139
0140 pFlag = spaceangle(pointRA(k), pointDec(k), ...
0141 d.antenna0.servo.equa(:,1)*180/pi, ...
0142 d.antenna0.servo.equa(:,2)*180/pi, 'deg') < pointRad;
0143
0144 pointFlag = pointFlag | pFlag;
0145
0146 end
0147
0148
0149
0150 display('Flagging on Galactic plane.');
0151 galacticFlag = abs(galactic(:,2)) < (galRad / 180 * pi);
0152
0153
0154 display('Flagging on the Sun.');
0155 [sunDist, ~, ~] = calcSourceDist(d, 'sun');
0156 sunFlag = (sunDist < sunRad) & sunDist ~= 0;
0157
0158
0159 display('Flagging on the Moon.');
0160 [moonDist, ~, ~] = calcSourceDist(d, 'moon');
0161 moonFlag = (moonDist < moonRad) & moonDist ~= 0;
0162
0163
0164
0165
0166 end
0167