Loading survey_sim/ephemeris/locate_moon.py +6 −21 Original line number Diff line number Diff line import ctypes import numpy as np from survey_sim.ephemeris._utils import importEphemerisLib # import importlib.resources as pkg_resources import importlib_resources as pkg_resources import platform def locate_moon(jdTime=2459766.0): jplDataFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("jpl.405") ) libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.dylib") ) if platform.system() == "Linux": libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.so") ) d = ctypes.CDLL(libFn) # d.locateSun.argtypes=[ctypes.c_void_p, ctypes.c_double] d.loadEphFile.argtypes = [ctypes.c_char_p] d.locateMoon.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] def locate_moon(jdTime=2459766.0, ephLib=None): if ephLib is None: ephLib = importEphemerisLib() ephLib.locateMoon.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] mLoc = (ctypes.c_double * 3)() t = ctypes.c_double(jdTime) d.loadEphFile(str.encode(jplDataFn)) d.locateMoon(t, mLoc) ephLib.locateMoon(t, mLoc) mLoc_ = np.array(mLoc[:]) return mLoc_ survey_sim/ephemeris/locate_sun.py +10 −25 Original line number Diff line number Diff line import ctypes import numpy as np # import importlib.resources as pkg_resources import importlib_resources as pkg_resources import platform from survey_sim.ephemeris._utils import importEphemerisLib def locate_sun(jdTime=2459766.0): # import importlib.resources as pkg_resources jplDataFn = "data/jpl.405" jplDataFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("jpl.405") ) libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.dylib") ) if platform.system() == "Linux": libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.so") ) d = ctypes.CDLL(libFn) # d.locateSun.argtypes=[ctypes.c_void_p, ctypes.c_double] d.loadEphFile.argtypes = [ctypes.c_char_p] d.locateSun.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] def locate_sun(jdTime=2459766.0, ephLib=None): sunLoc = (ctypes.c_double * 3)() if ephLib is None: ephLib = importEphemerisLib() ephLib.locateSun.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] mLoc = (ctypes.c_double * 3)() t = ctypes.c_double(jdTime) d.loadEphFile(str.encode(jplDataFn)) d.locateSun(t, sunLoc) sunLoc_ = np.array(sunLoc[:]) return sunLoc_ ephLib.locateSun(t, mLoc) mLoc_ = np.array(mLoc[:]) return mLoc_ # clib = ctypes.CDLL('libc.dylib') Loading survey_sim/surveyTools/aquireTargetObsTime.py +4 −2 Original line number Diff line number Diff line from survey_sim.ephemeris import locate_sun, locate_moon import numpy as np from survey_sim.satOrbit import locateSat, loadSatOrbitDat from survey_sim.ephemeris._utils import importEphemerisLib import math Loading Loading @@ -40,10 +41,11 @@ def aquireTargeObsTime( sed_end = -1 timeSegList = [] ephLib = importEphemerisLib() for t in np.arange(stTime, endTime + deltTime, deltTime): rdTime = t sunPos = locate_sun(rdTime) mPos = locate_moon(rdTime) sunPos = locate_sun(jdTime=rdTime, ephLib=ephLib) mPos = locate_moon(jdTime=rdTime, ephLib=ephLib) satPos, satVel, _ = locateSat(time=rdTime, OrbitData=orbitDat) sunCons = obscure_constraint.isObscureBySun( Loading Loading
survey_sim/ephemeris/locate_moon.py +6 −21 Original line number Diff line number Diff line import ctypes import numpy as np from survey_sim.ephemeris._utils import importEphemerisLib # import importlib.resources as pkg_resources import importlib_resources as pkg_resources import platform def locate_moon(jdTime=2459766.0): jplDataFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("jpl.405") ) libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.dylib") ) if platform.system() == "Linux": libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.so") ) d = ctypes.CDLL(libFn) # d.locateSun.argtypes=[ctypes.c_void_p, ctypes.c_double] d.loadEphFile.argtypes = [ctypes.c_char_p] d.locateMoon.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] def locate_moon(jdTime=2459766.0, ephLib=None): if ephLib is None: ephLib = importEphemerisLib() ephLib.locateMoon.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] mLoc = (ctypes.c_double * 3)() t = ctypes.c_double(jdTime) d.loadEphFile(str.encode(jplDataFn)) d.locateMoon(t, mLoc) ephLib.locateMoon(t, mLoc) mLoc_ = np.array(mLoc[:]) return mLoc_
survey_sim/ephemeris/locate_sun.py +10 −25 Original line number Diff line number Diff line import ctypes import numpy as np # import importlib.resources as pkg_resources import importlib_resources as pkg_resources import platform from survey_sim.ephemeris._utils import importEphemerisLib def locate_sun(jdTime=2459766.0): # import importlib.resources as pkg_resources jplDataFn = "data/jpl.405" jplDataFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("jpl.405") ) libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.dylib") ) if platform.system() == "Linux": libFn = str( pkg_resources.files("survey_sim.ephemeris.data").joinpath("ephJPLDE405.so") ) d = ctypes.CDLL(libFn) # d.locateSun.argtypes=[ctypes.c_void_p, ctypes.c_double] d.loadEphFile.argtypes = [ctypes.c_char_p] d.locateSun.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] def locate_sun(jdTime=2459766.0, ephLib=None): sunLoc = (ctypes.c_double * 3)() if ephLib is None: ephLib = importEphemerisLib() ephLib.locateSun.argtypes = [ctypes.c_double, ctypes.POINTER(ctypes.c_double)] mLoc = (ctypes.c_double * 3)() t = ctypes.c_double(jdTime) d.loadEphFile(str.encode(jplDataFn)) d.locateSun(t, sunLoc) sunLoc_ = np.array(sunLoc[:]) return sunLoc_ ephLib.locateSun(t, mLoc) mLoc_ = np.array(mLoc[:]) return mLoc_ # clib = ctypes.CDLL('libc.dylib') Loading
survey_sim/surveyTools/aquireTargetObsTime.py +4 −2 Original line number Diff line number Diff line from survey_sim.ephemeris import locate_sun, locate_moon import numpy as np from survey_sim.satOrbit import locateSat, loadSatOrbitDat from survey_sim.ephemeris._utils import importEphemerisLib import math Loading Loading @@ -40,10 +41,11 @@ def aquireTargeObsTime( sed_end = -1 timeSegList = [] ephLib = importEphemerisLib() for t in np.arange(stTime, endTime + deltTime, deltTime): rdTime = t sunPos = locate_sun(rdTime) mPos = locate_moon(rdTime) sunPos = locate_sun(jdTime=rdTime, ephLib=ephLib) mPos = locate_moon(jdTime=rdTime, ephLib=ephLib) satPos, satVel, _ = locateSat(time=rdTime, OrbitData=orbitDat) sunCons = obscure_constraint.isObscureBySun( Loading