def testPAStacker(self): """ Test the parallacticAngleStacker""" data = np.zeros(100, dtype=list( zip([ 'observationStartMJD', 'fieldDec', 'fieldRA', 'observationStartLST' ], [float] * 4))) data['observationStartMJD'] = np.arange(100) * .2 + 50000 site = Site(name='LSST') data['observationStartLST'], last = calcLmstLast( data['observationStartMJD'], site.longitude_rad) data['observationStartLST'] = data['observationStartLST'] * 180. / 12. stacker = stackers.ParallacticAngleStacker(degrees=True) data = stacker.run(data) # Check values are in good range assert (data['PA'].max() <= 180) assert (data['PA'].min() >= -180) # Check compared to the util check_pa = [] ras = np.radians(data['fieldRA']) decs = np.radians(data['fieldDec']) for ra, dec, mjd in zip(ras, decs, data['observationStartMJD']): alt, az, pa = _altAzPaFromRaDec( ra, dec, ObservationMetaData(mjd=mjd, site=site)) check_pa.append(pa) check_pa = np.degrees(check_pa) np.testing.assert_array_almost_equal(data['PA'], check_pa, decimal=0)
def testPAStacker(self): """ Test the parallacticAngleStacker""" data = np.zeros(100, dtype=zip( ['expMJD', 'fieldDec', 'fieldRA'], [float] * 3)) data['expMJD'] = np.arange(100) * .2 + 5500 stacker = stackers.ParallacticAngleStacker() data = stacker.run(data) # Check values are in good range assert(data['PA'].max() <= np.pi) assert(data['PA'].min() >= -np.pi)