Hide keyboard shortcuts

Hot-keys on this page

r m x p   toggle line displays

j k   next/prev highlighted chunk

0   (zero) top of page

1   (one) first highlighted chunk

1from builtins import object 

2import numpy as np 

3 

4__all__ = ["ObsMetadataBase"] 

5 

6class ObsMetadataBase(object): 

7 """ 

8 This class provides the InstanceCatalog with a way to write out parameters from its ObsMetadata object. 

9 """ 

10 def _get_nobj(self): 

11 return len(self.column_by_name('objId')) 

12 

13 def get_expMJD(self): 

14 """ 

15 Returns the expMJD from obs_metadata (assumed to be TAI MJD exposure midpoint). 

16 """ 

17 n_records = self._get_nobj() 

18 mjd = [self.obs_metadata.mjd.TAI] * n_records 

19 return np.array(mjd) 

20 

21 def get_rotSkyPos(self): 

22 """ 

23 Returns the rotSkyPos from obs_metadata (in degrees). 

24 """ 

25 n_records = self._get_nobj() 

26 rotSkyPos = [self.obs_metadata.rotSkyPos] * n_records 

27 return np.array(rotSkyPos) 

28 

29 def get_bandpass(self): 

30 """ 

31 Returns the bandpass name from obs_metadata. 

32 """ 

33 n_records = self._get_nobj() 

34 bandpass = [self.obs_metadata.bandpass] * n_records 

35 return np.array(bandpass) 

36 

37 def get_m5(self): 

38 """ 

39 Returns m5 from obs_metadata. 

40 """ 

41 n_records = self._get_nobj() 

42 m5 = [self.obs_metadata.m5[self.obs_metadata.bandpass]] * n_records 

43 return np.array(m5) 

44 

45 def get_seeing(self): 

46 """ 

47 Returns the seeing from obs_metadata (in arcseconds). 

48 """ 

49 n_records = self._get_nobj() 

50 seeing = [self.obs_metadata.seeing[self.obs_metadata.bandpass]] * n_records 

51 return np.array(seeing) 

52 

53 def get_fieldRA(self): 

54 """ 

55 Returns the field RA from obs_metadata (in degrees). 

56 """ 

57 n_records = self._get_nobj() 

58 ra = [self.obs_metadata.unrefractedRA] * n_records 

59 return np.array(ra) 

60 

61 def get_fieldDec(self): 

62 """ 

63 Returns the field Dec from obs_metadata (in degrees). 

64 """ 

65 n_records = self._get_nobj() 

66 dec = [self.obs_metadata.unrefractedDec] * n_records 

67 return np.array(dec) 

68 

69 def get_visitExpTime(self): 

70 """ 

71 Returns the visitExpTime (open shutter time) in seconds. 

72 """ 

73 n_records = self._get_nobj() 

74 try: 

75 visitExpTime = [self.obs_metadata.OpsimMetaData['visitExpTime']] * n_records 

76 except KeyError: 

77 # V4 future proofing. 

78 visitExpTime = [self.obs_metadata.OpsimMetaData['visitExposureTime']] * n_records 

79 return np.array(visitExpTime)