Beispiel #1
0
    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
Beispiel #2
0
    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
Beispiel #3
0
 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
Beispiel #4
0
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
Beispiel #5
0
    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))
Beispiel #6
0
 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'])