@@ -38,19 +38,31 @@ def datetime2sidereal(time: datetime, lon_radians: float) -> float:
3838 return [datetime2sidereal (t , lon_radians ) for t in time ]
3939
4040 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 )
4642 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 )
5244
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
5466
5567
5668def juliandate (time : datetime ) -> float :
0 commit comments