def footprintMC(ra,dec): """ Selecting exposures around the Magellanic Clouds """ ra,dec = np.copy(ra), np.copy(dec) sel = angsep(constants.RA_LMC,constants.DEC_LMC,ra,dec) < 25.0 sel |= angsep(constants.RA_SMC,constants.DEC_SMC,ra,dec) < 15.0 return sel
def footprint(ra, dec): l, b = cel2gal(ra, dec) angsep_lmc = angsep(constants.RA_LMC, constants.DEC_LMC, ra, dec) angsep_smc = angsep(constants.RA_SMC, constants.DEC_SMC, ra, dec) sel = (np.fabs(b) > 10.) \ & ((angsep_lmc < 30.) | (angsep_smc < 30.)) \ & (dec < -55.) & (ra > 100.) & (ra < 300.) #sel = sel | ((dec < -65.) & (angsep_lmc > 5.) & (angsep_smc > 5.)) sel = sel | ((dec < -65.) & (ra > 300.) & (ra < 360.)) # SMC sel = sel | (dec < -80.) return sel
def footprintDEEP(ra,dec): """ Selecting exposures around the deep drilling fields """ ra,dec = np.copy(ra), np.copy(dec) sel = np.zeros(len(ra),dtype=bool) filename = fileio.get_datafile('LV_MC_analogs_DECam.txt') targets = np.genfromtxt(filename,names=True,dtype=None) for t in targets: sel |= (angsep(t['RA'],t['Dec'],ra,dec) < t['r_vir']) return sel
def plot(ra1, dec1, ra2=d['RA'], dec2=d['DEC'], sel=None): if sel is None: sel = slice(None, None) sep = angsep(ra1, dec1, ra2, dec2) plt.clf() plt.scatter(ra1[sel], dec1[sel], c=sep[sel], s=5, edgecolor='none') plt.colorbar() plt.draw() time.sleep(0.01) return sep
def slew(self): """Angular separation to previous field.""" # Set previous field as last completed field previous_field = None if (self.completed_fields is not None) and len(self.completed_fields): previous_field = self.completed_fields[-1] # Ignore if more than 30 minutes has elapsed if (self.date-ephem.Date(previous_field['DATE'])) > 30*ephem.minute: previous_field = None if previous_field: return angsep(previous_field['RA'],previous_field['DEC'], self.fields['RA'], self.fields['DEC']) else: return np.zeros(len(self.fields))
def moon_angle(self): # Include moon angle # See here for ra,dec details: http://rhodesmill.org/pyephem/radec ra_moon,dec_moon = np.degrees([self.moon.ra,self.moon.dec]) return proj.angsep(ra_moon, dec_moon, self.fields['RA'], self.fields['DEC'])