22
33import pandas as pd
44
5- try :
6- # Try loading optional package
7- from skyfield .api import load
8- DE440 = load ('de440.bsp' )
9- TS = load .timescale ()
10- except ImportError : # pragma: no cover
11- pass # pragma: no cover
12-
135
14- def skyfield (times , latitude , longitude , de = None ):
6+ def skyfield (times , latitude , longitude , de = 'de440.bsp' ):
157 """
168 Calculate solar position using the Skyfield Python package.
179
@@ -31,8 +23,8 @@ def skyfield(times, latitude, longitude, de=None):
3123 longitude : float
3224 Longitude in decimal degrees. Positive east of prime meridian,
3325 negative to west. [degrees]
34- de : Skyfield SpiceKernel, optional, default DE440
35- Empheris of choice.
26+ de : str or Skyfield SpiceKernel, optional, default : 'de440.bsp'
27+ Ephemeris of choice.
3628
3729 Returns
3830 -------
@@ -52,15 +44,17 @@ def skyfield(times, latitude, longitude, de=None):
5244 """
5345 try :
5446 # Try loading optional package
55- from skyfield .api import wgs84
47+ from skyfield .api import load , wgs84
5648 except ImportError : # pragma: no cover
5749 # Raise an error if package is not available
5850 raise ImportError (
5951 'The skyfield function requires the skyfield Python package.'
6052 ) # pragma: no cover
6153
62- if de is None :
63- de = DE440
54+ if isinstance (de , str ):
55+ de = load (de )
56+
57+ TS = load .timescale ()
6458
6559 earth = de ['Earth' ]
6660 sun = de ['Sun' ]
0 commit comments