Speed up baselineGrid.py and cut prints (#314)
* track the prev guess in `geo2rdr`, break after convergence * create doppler Poly once, avoid prints Orbit.geo2rdr creates a poly, which prints "Polynomial Order: 0 - by - 0" each timeLT1AB
parent
85463f182a
commit
eb5790a884
|
@ -1003,7 +1003,6 @@ class Orbit(Component):
|
|||
Takes a lat, lon, height triplet and returns azimuth time and range.
|
||||
Assumes zero doppler for now.
|
||||
'''
|
||||
|
||||
from isceobj.Planet.Planet import Planet
|
||||
from isceobj.Util.Poly2D import Poly2D
|
||||
if doppler is None:
|
||||
|
@ -1021,6 +1020,8 @@ class Orbit(Component):
|
|||
delta = (self.maxTime - self.minTime).total_seconds() * 0.5
|
||||
tguess = self.minTime + datetime.timedelta(seconds = delta)
|
||||
outOfBounds = False
|
||||
# Start the previous guess tracking with dummy value
|
||||
t_prev_guess = tguess + datetime.timedelta(seconds=10)
|
||||
for ii in range(51):
|
||||
try:
|
||||
sv = self.interpolateOrbit(tguess, method='hermite')
|
||||
|
@ -1045,11 +1046,14 @@ class Orbit(Component):
|
|||
fnprime = c1 + c2 * dopfact
|
||||
|
||||
tguess = tguess - datetime.timedelta(seconds = fn/fnprime)
|
||||
if abs(tguess - t_prev_guess).total_seconds() < 5e-9:
|
||||
break
|
||||
else:
|
||||
t_prev_guess = tguess
|
||||
|
||||
if outOfBounds:
|
||||
raise Exception('Interpolation time out of bounds')
|
||||
|
||||
|
||||
return tguess, rng
|
||||
|
||||
|
||||
|
|
|
@ -52,6 +52,7 @@ def main(iargs=None):
|
|||
'''
|
||||
inps=cmdLineParse(iargs)
|
||||
from isceobj.Planet.Planet import Planet
|
||||
from isceobj.Util.Poly2D import Poly2D
|
||||
import numpy as np
|
||||
import shelve
|
||||
|
||||
|
@ -101,6 +102,8 @@ def main(iargs=None):
|
|||
nAzimuth = int(np.max([30,int(np.ceil(azimuthLimits))]))
|
||||
azimuthTime = [mSensingStart + datetime.timedelta(seconds= x * azimuthLimits/(nAzimuth-1.0)) for x in range(nAzimuth)]
|
||||
|
||||
doppler = Poly2D()
|
||||
doppler.initPoly(azimuthOrder=0, rangeOrder=0, coeffs=[[0.]])
|
||||
|
||||
Bperp = np.zeros((nAzimuth,nRange), dtype=np.float32)
|
||||
Bpar = np.zeros((nAzimuth,nRange), dtype=np.float32)
|
||||
|
@ -123,7 +126,7 @@ def main(iargs=None):
|
|||
target = mOrb.rdr2geo(taz, rng)
|
||||
|
||||
targxyz = np.array(refElp.LLH(target[0], target[1], target[2]).ecef().tolist())
|
||||
slvTime,slvrng = sOrb.geo2rdr(target)
|
||||
slvTime, slvrng = sOrb.geo2rdr(target, doppler=doppler, wvl=0)
|
||||
|
||||
secondarySV = sOrb.interpolateOrbit(slvTime, method='hermite')
|
||||
|
||||
|
|
Loading…
Reference in New Issue