@@ -38,19 +38,31 @@ def datetime2sidereal(time: datetime, lon_radians: float) -> float:
38
38
return [datetime2sidereal (t , lon_radians ) for t in time ]
39
39
40
40
try :
41
- tsr = (
42
- Time (time )
43
- .sidereal_time (kind = "apparent" , longitude = Longitude (lon_radians , unit = u .radian ))
44
- .radian
45
- )
41
+ return datetime2sidereal_astropy (time , lon_radians )
46
42
except NameError :
47
- jd = juliandate (str2dt (time ))
48
- # %% Greenwich Sidereal time RADIANS
49
- gst = greenwichsrt (jd )
50
- # %% Algorithm 15 p. 188 rotate GST to LOCAL SIDEREAL TIME
51
- tsr = gst + lon_radians
43
+ return datetime2sidereal_vallado (time , lon_radians )
52
44
53
- return tsr
45
+
46
+ def datetime2sidereal_astropy (t : datetime , lon_radians : float ) -> float :
47
+ """ datetime to sidereal time using astropy
48
+ see datetime2sidereal() for description
49
+ """
50
+
51
+ at = Time (t )
52
+ tsr = at .sidereal_time (kind = "apparent" , longitude = Longitude (lon_radians , unit = u .radian ))
53
+ return tsr .radian
54
+
55
+
56
+ def datetime2sidereal_vallado (t : datetime , lon_radians : float ) -> float :
57
+ """ datetime to sidereal time using Vallado methods
58
+ see datetime2sidereal() for description
59
+ """
60
+
61
+ jd = juliandate (str2dt (t ))
62
+ # Greenwich Sidereal time RADIANS
63
+ gst = greenwichsrt (jd )
64
+ # Algorithm 15 p. 188 rotate GST to LOCAL SIDEREAL TIME
65
+ return gst + lon_radians
54
66
55
67
56
68
def juliandate (time : datetime ) -> float :
0 commit comments