def single_observation(start_search_0ut): start_search_date = momxml.ephem.Date(start_search_0ut + ' 14:00:00') target = momxml.TargetSource(name='3C196', ra_angle=momxml.Angle(shms=('+', 8, 13, 36.0678)), dec_angle=momxml.Angle(sdms=('+', 48, 13, 2.581))) auxiliary = momxml.TargetSource(name='3C196-32A', ra_angle=momxml.Angle(shms=('+', 8, 22, 36.91)), dec_angle=momxml.Angle(sdms=('+', 51, 12, 29.5))) transit_date = momxml.next_date_with_lofar_lst(target.ra_angle.as_rad(), start_search_date) target.name = '3C196-%4d-%02d-%02d' % start_search_date.tuple()[0:3] antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all') int_s = 2.0 # 2.0 chan = 64 target_subbands = '62..393' # 380 subbands 115 -- 189 MHz subbands_main = '70..394' subbands_aux = '70..232' target_duration_s = 6 * 3600 sys.stderr.write('MAIN: ' + str(target) + '\n') sys.stderr.write(' AUX: ' + str(auxiliary) + '\n') current_date = transit_date - 0.5 * target_duration_s * ephem.second backend = momxml.BackendProcessing(channels_per_subband=chan, integration_time_seconds=int_s) return momxml.Observation(beam_list=[ momxml.Beam(target, subbands_main, storage_cluster='CEP4'), momxml.Beam(auxiliary, subbands_aux, storage_cluster='CEP4') ], antenna_set=antenna_set, frequency_range=band, start_date=ephem.Date(current_date).tuple(), duration_seconds=target_duration_s, stations=stations, clock_mhz=200, backend=backend, bit_mode=8, initial_status='approved')
def single_observation(start_search_0ut): start_search_date = momxml.ephem.Date(start_search_0ut+' 14:00:00') target = momxml.TargetSource(name = '3C196', ra_angle = momxml.Angle(shms = ('+', 8, 13, 36.0678)), dec_angle = momxml.Angle(sdms = ('+', 48, 13, 2.581))) auxiliary = momxml.TargetSource(name = '3C196-32A', ra_angle = momxml.Angle(shms=('+', 8, 22, 36.91)), dec_angle = momxml.Angle(sdms=('+', 51, 12, 29.5))) transit_date = momxml.next_date_with_lofar_lst(target.ra_angle.as_rad(), start_search_date) target.name = '3C196-%4d-%02d-%02d' % start_search_date.tuple()[0:3] antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all') int_s = 2.0 # 2.0 chan = 64 target_subbands = '62..393' # 380 subbands 115 -- 189 MHz subbands_main = '70..394' subbands_aux = '70..232' target_duration_s = 6*3600 sys.stderr.write('MAIN: '+str(target) + '\n') sys.stderr.write(' AUX: '+str(auxiliary)+ '\n') current_date = transit_date - 0.5*target_duration_s*ephem.second backend = momxml.BackendProcessing(channels_per_subband = chan, integration_time_seconds = int_s) return momxml.Observation( beam_list = [momxml.Beam(target, subbands_main, storage_cluster='CEP4'), momxml.Beam(auxiliary, subbands_aux, storage_cluster='CEP4')], antenna_set = antenna_set, frequency_range = band, start_date = ephem.Date(current_date).tuple(), duration_seconds = target_duration_s, stations = stations, clock_mhz = 200, backend = backend, bit_mode = 8, initial_status = 'approved')
def __init__(self, name, target_list, base_subbands = [96,123,143,175,217,238,258,286], int_s = 2.0, channels = 64, pointing_s = 7*60.0, cal_s = 60.0, bit_mode = 8): self.subbands = momxml.flatten_list([range(sb, sb+10) for sb in base_subbands]) self.bit_mode = bit_mode self.int_s = int_s self.channels = channels self.pointing_s = pointing_s self.cal_s = cal_s self.name = name self.target_list = target_list self.gap_s = 60.0 self.stations = momxml.station_list('nl', exclude = ['CS013', 'RS407', 'RS409'])
def __init__(self, name, target_list, base_subbands=[96, 123, 143, 175, 217, 238, 258, 286], int_s=2.0, channels=64, pointing_s=7 * 60.0, cal_s=60.0, bit_mode=8): self.subbands = momxml.flatten_list( [range(sb, sb + 10) for sb in base_subbands]) self.bit_mode = bit_mode self.int_s = int_s self.channels = channels self.pointing_s = pointing_s self.cal_s = cal_s self.name = name self.target_list = target_list self.gap_s = 60.0 self.stations = momxml.station_list( 'nl', exclude=['CS013', 'RS407', 'RS409'])
total_duration_s = (end_date - start_date)*24*3600.0 target_duration_s = total_duration_s - 2*cal_duration_s - 2*61.0 target = momxml.simbad('NCP') target.name = 'NCP-%4d-%02d-%02d' % start_date.tuple()[0:3] pre_cal = source_catalogue.cal_source(start_date, 'HBA') post_cal = source_catalogue.cal_source(start_date+(target_duration_s+2*cal_duration_s)*ephem.second, 'HBA') cal_fields = [momxml.simbad('3C61.1')] ra_3c61_1 = cal_fields[0].ra_angle dec_3c61_1 = cal_fields[0].dec_angle ra_inc = momxml.Angle(deg = 60.0) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all', exclude = []) int_s = 2.0 chan = 64 target_subbands = '77..456' # 380 subbands 115 -- 189 MHz cal_subbands = '77,99,121,144,166,188,211,233,257,278,299,321,345,367,389,412,434,456' for i in range(5): cal_fields.append(momxml.TargetSource('NCP-'+chr(ord('A')+i), ra_angle = ra_3c61_1 + ra_inc*(i+1), dec_angle = dec_3c61_1)) sys.stderr.write('PRE : '+str(pre_cal)+ '\n') sys.stderr.write('MAIN: '+str(target) + '\n') for cal in cal_fields: sys.stderr.write(' CAL: '+str(cal)+ '\n')
target.name = '3C196-%4d-%02d-%02d' % start_search_date.tuple()[0:3] cal_fields = [momxml.TargetSource(name = '4C45.16', ra_angle = momxml.Angle(shms = ('+', 8, 30, 35.8)), dec_angle = momxml.Angle(sdms = ('+', 45, 43, 30.0))) ] ra_4c45_16 = cal_fields[0].ra_angle dec_4c45_16 = cal_fields[0].dec_angle pos_angle_inc = momxml.Angle(deg = 60.0) pos_angle_offset = momxml.Angle(deg = 30) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all') int_s = 0.5 # 2.0 chan = 32 target_subbands = '103,107,111,115,119,123,127,131,135,139,143,147,151,155,159,163,167,171,175,179,183,187,191,195,199,203,207,211,215,219,223,227,231,235,239,243,247,251,255,259,263,267,271,275,279,283,287,291,295,299,303,307,311,315,319,323,327,331,335,339,343,347,351,355,359,363,367,371,375' #target_subbands = '77..456' # '51..442' # 380 subbands 115 -- 189 MHz #subbands_base = array([77, 101, 125, 149, 173, 197, 221, 245, 269, 293, 317, 341, 365, 389, 413, 437]) #subbands_offset = 6 cal_subbands = target_subbands #','.join([str(sb) for sb in (subbands_base+subbands_offset*int(sys.argv[2]))]) print(cal_subbands) #'77,99,121,144,166,188,211,233,257,278,299,321,345,367,389,412,434,456' target_duration_s = 6*3600 cal_fields = [] for i, fieldname in zip(range(6), ['4C45.16-rot30-2deg', 'A', 'B', 'C', 'D', 'E']): #-rot30-2deg l0, m0 = lm_from_ra_dec(ra_4c45_16, dec_4c45_16, target.ra_angle, target.dec_angle)
target = momxml.simbad('NCP') target.name = 'NCP-%4d-%02d-%02d' % start_date.tuple()[0:3] pre_cal = source_catalogue.cal_source(start_date, 'HBA') post_cal = source_catalogue.cal_source( start_date + (target_duration_s + 2 * cal_duration_s) * ephem.second, 'HBA') cal_fields = [momxml.simbad('3C61.1')] ra_3c61_1 = cal_fields[0].ra_angle dec_3c61_1 = cal_fields[0].dec_angle ra_inc = momxml.Angle(deg=60.0) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('nl', exclude=[]) int_s = 2.0 chan = 64 target_subbands = '77..456' # 380 subbands 115 -- 189 MHz cal_subbands = '77,99,121,144,166,188,211,233,257,278,299,321,345,367,389,412,434,456' for i in range(5): cal_fields.append( momxml.TargetSource('NCP-' + chr(ord('A') + i), ra_angle=ra_3c61_1 + ra_inc * (i + 1), dec_angle=dec_3c61_1)) sys.stderr.write('PRE : ' + str(pre_cal) + '\n') sys.stderr.write('MAIN: ' + str(target) + '\n') for cal in cal_fields: sys.stderr.write(' CAL: ' + str(cal) + '\n')
target.name = 'ELAIS-N1-%4d-%02d-%02d' % transit_date.tuple()[0:3] cal_fields = [momxml.TargetSource(name = '87GB 160333.2+573543', ra_angle = momxml.Angle(shms = ('+', 16, 4, 34.5)), dec_angle = momxml.Angle(sdms = ('+', 57, 28, 1.7))) ] ra_4c45_16 = cal_fields[0].ra_angle dec_4c45_16 = cal_fields[0].dec_angle pos_angle_inc = momxml.Angle(deg = 60.0) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('nl') int_s = 2.0 chan = 64 #target_subbands = '77,82,88,94,99,105,110,116,121,127,133,138,144,149,155,160,166,172,177,183,188,194,199,205,211,216,222,227,233,238,244,250,255,261,266,272,277,283,289,294,300,305,311,316,322,328,333,339,344,350,355,361,367,372,378,383,389,394,400,406,411,417,422,428,433,439,445,450,456' #cal_subbands = target_subbands # DAB channel 5C (Friesland): 177.5 -- 179.25 MHz (sb 397..406 inclusive) target_subbands = '77..396,402,407..456' # '51..442' # 371 subbands 115 -- 189 MHz gb87_subbands = '77,80,91,95,104,112,126,131,140,155,158,168,180,185,194,196,212,222,235,239,251,256,266,271,274,293,302,320,327,333,347,355,362,374,393,396,407,410,428,444,455,456' cal_subbands = '77,104,131,158,185,212,239,266,293,320,347,374,401,428,456' #cal_subbands = '77,99,121,144,155,166,188,211,233,257,278,299,321,345,367,389,412,434,456' cal_duration_s = 5*60 target_duration_s = 5*3600 for i in range(5):
degree = pi/180.0 offsets = arange(-3,4)*1.0*degree lm_pointings = [(l, m) for l in offsets for m in offsets if (l, m) != (0.0, 0.0)] ra_dec_pointings = [ra_dec_from_lm(l, m, target.ra_angle, target.dec_angle) for (l, m) in lm_pointings] aux_pointings = [momxml.TargetSource(name = '3C196-GRID-%02d' % field_id, ra_angle = ra, dec_angle = dec) for field_id, (ra, dec) in enumerate(ra_dec_pointings)] antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('nl') int_s = 2.0 chan = 64 subbands = '77,124,173,226,265,314,361,407,451' target_duration_s = 6*3600 sys.stderr.write('MAIN: '+str(target) + '\n') for field in aux_pointings: sys.stderr.write(' GRID: '+str(field)+ '\n') all_fields = [target] + aux_pointings observations = [] current_date = transit_date - 0.5*target_duration_s*ephem.second
target.name = '3C196-%4d-%02d-%02d' % transit_date.tuple()[0:3] cal_fields = [momxml.TargetSource(name = '4C45.16', ra_angle = momxml.Angle(shms = ('+', 8, 30, 35.8)), dec_angle = momxml.Angle(sdms = ('+', 45, 43, 30.0))) ] ra_4c45_16 = cal_fields[0].ra_angle dec_4c45_16 = cal_fields[0].dec_angle pos_angle_inc = momxml.Angle(deg = 60.0) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all', exclude=['DE604']) int_s = 2.0 chan = 64 target_subbands = '77..456' # '51..442' # 380 subbands 115 -- 189 MHz cal_subbands = '77,99,121,144,166,188,211,233,257,278,299,321,345,367,389,412,434,456' target_duration_s = 11*3600 for i in range(5): l0, m0 = lm_from_ra_dec(ra_4c45_16, dec_4c45_16, target.ra_angle, target.dec_angle) rot = pos_angle_inc*(1+i) l, m = rotate_lm_CCW(l0, m0, rot) ra_angle, dec_angle = ra_dec_from_lm(l, m, target.ra_angle, target.dec_angle) cal_fields.append(momxml.TargetSource('3C196-'+chr(ord('A')+i), ra_angle = ra_angle, dec_angle = dec_angle))
dec_angle=momxml.Angle(sdms=('+',)+dec)) for ra, dec in [ (( 1, 17, 28.7,), (89, 28, 49.1)), ((10, 57, 40.0,), (88, 58, 47.0)), (( 1, 10, 47.3,), (87, 38, 21.1)), ((22, 36, 21.1,), (88, 14, 54.7)), (( 6, 22, 9.8,), (87, 19, 50.0)), (( 5, 32, 46.4,), (87, 31, 40.8)), (( 8, 9, 33.0,), (87, 2, 0.0)), ((12, 14, 18.0,), (87, 50, 0.0)), ((20, 11, 59.2,), (88, 11, 48.2)) ]] antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all', exclude = [], include=['PL610', 'PL611', 'PL612']) int_s = 1.0 chan = 32 target_subbands = '74..79,111..116,141..146,173..178,214..219,250..255,288..293,326..331,370..375' #scintillation_3c220_3 = momxml.TargetSource(name = '3C 220.3', # ra_angle = momxml.Angle(shms = ('+', 9, 39, 23.4)), # dec_angle = momxml.Angle(sdms = ('+', 83, 15, 26.2))) # 01 17 28.7 89 28 49.1 # 10 57 40.0 88 58 47.0 # 01 10 47.3 87 38 21.1 # 22 36 21.1 88 14 54.7 # 06 22 09.8 87 19 50.0 # 05 32 46.4 87 31 40.8
33.0, ), (87, 2, 0.0)), (( 12, 14, 18.0, ), (87, 50, 0.0)), (( 20, 11, 59.2, ), (88, 11, 48.2))] ] antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all', exclude=[], include=['PL610', 'PL611', 'PL612']) int_s = 1.0 chan = 32 target_subbands = '74..79,111..116,141..146,173..178,214..219,250..255,288..293,326..331,370..375' #scintillation_3c220_3 = momxml.TargetSource(name = '3C 220.3', # ra_angle = momxml.Angle(shms = ('+', 9, 39, 23.4)), # dec_angle = momxml.Angle(sdms = ('+', 83, 15, 26.2))) # 01 17 28.7 89 28 49.1 # 10 57 40.0 88 58 47.0 # 01 10 47.3 87 38 21.1 # 22 36 21.1 88 14 54.7 # 06 22 09.8 87 19 50.0 # 05 32 46.4 87 31 40.8
start_search_date) target.name = '3C196-%4d-%02d-%02d' % transit_date.tuple()[0:3] cal_fields = [ momxml.TargetSource(name='4C45.16', ra_angle=momxml.Angle(shms=('+', 8, 30, 35.8)), dec_angle=momxml.Angle(sdms=('+', 45, 43, 30.0))) ] ra_4c45_16 = cal_fields[0].ra_angle dec_4c45_16 = cal_fields[0].dec_angle pos_angle_inc = momxml.Angle(deg=60.0) antenna_set = 'HBA_DUAL_INNER' band = 'HBA_LOW' stations = momxml.station_list('all', exclude=['DE604']) int_s = 2.0 chan = 64 target_subbands = '77..456' # '51..442' # 380 subbands 115 -- 189 MHz cal_subbands = '77,99,121,144,166,188,211,233,257,278,299,321,345,367,389,412,434,456' target_duration_s = 11 * 3600 for i in range(5): l0, m0 = lm_from_ra_dec(ra_4c45_16, dec_4c45_16, target.ra_angle, target.dec_angle) rot = pos_angle_inc * (1 + i) l, m = rotate_lm_CCW(l0, m0, rot) ra_angle, dec_angle = ra_dec_from_lm(l, m, target.ra_angle, target.dec_angle) cal_fields.append( momxml.TargetSource('3C196-' + chr(ord('A') + i),