示例#1
0
 def __init__(self, utc, longitude, latitude, altitude):
     try:
         super().__init__(longitude, latitude, altitude)
     except TypeError:
         super(TimeScale, self).__init__(longitude, latitude, altitude)
     self.utc = utc
     self.utc1, self.utc2 = strputc(self.utc)
     self.tai1, self.tai2 = erfa.utctai(self.utc1, self.utc2)
     self.tt1, self.tt2 = erfa.taitt(self.tai1, self.tai2)
     self.tcg1, self.tcg2 = erfa.tttcg(self.tt1, self.tt2)
     self.dut1 = -0.1
     if (self.utc1+self.utc2) >= 2456708.5:
         self.dut1 = -0.2
     elif (self.utc1+self.utc2) >= 2456785.5:
         self.dut1 = -0.3
     elif (self.utc1+self.utc2) >= 2456925.5:
         self.dut1 = -0.4
     self.dt = 35+32.184-self.dut1
     self.ut11, self.ut12 = erfa.utcut1(self.utc1, self.utc2, self.dut1)
     # Extract fraction for TDB-TT calculation, later.
     self.ut = math.fmod(math.fmod(self.ut11,1.0)+math.fmod(self.ut12,1.0),1.0)
     # TDB-TT (using TT as a substitute for TDB).
     self.dtr = erfa.dtdb(self.tt1, self.tt2, self.ut, self.elon, self.u, self.v)
     self.tdb1, self.tdb2 = erfa.tttdb(self.tt1, self.tt2, self.dtr)
     self.tcb1, self.tcb2 = erfa.tdbtcb(self.tdb1, self.tdb2)
示例#2
0
ut11, ut12 = erfa.utcut1(utc1, utc2, dut)

# Extract fraction for TDB-TT calculation, later.
ut = np.array([math.fmod(math.fmod(ut11,1.0)+math.fmod(ut12,1.0),1.0)])

# UTC -> TAI -> TT -> TCG
tai1, tai2 = erfa.utctai(utc1, utc2)
tt1, tt2 = erfa.taitt(tai1, tai2)
tcg1, tcg2 = erfa.tttcg(tt1, tt2)

# TDB-TT (using TT as a substitute for TDB).
dtr = erfa.dtdb(tt1, tt2, ut, elon, u, v)

# TT -> TDB -> TCB.
tdb1, tdb2 = erfa.tttdb(tt1, tt2, dtr)
tcb1, tcb2 = erfa.tdbtcb(tdb1, tdb2)

# report
y, m, d, h = erfa.d2dtf('utc', 6, utc1, utc2)
for i in range(len(y)):
    print("UTC : %4d/%2.2d/%2.2d, "%(y[i],m[i],d[i]), end =' ')
    print("%3d:%2.2d:%2.2d.%3.3d"%tuple(h[i]))
y, m, d, h = erfa.d2dtf("ut1", 6, ut11, ut12)
for i in range(len(y)):
    print("UT1 : %4d/%2.2d/%2.2d, "%(y[i],m[i],d[i]), end =' ')
    print("%3d:%2.2d:%2.2d.%3.3d"%tuple(h[i]))
y, m, d, h = erfa.d2dtf("tai", 6, tai1, tai2)      
for i in range(len(y)):
    print("TAI : %4d/%2.2d/%2.2d, "%(y[i],m[i],d[i]), end =' ')
    print("%3d:%2.2d:%2.2d.%3.3d"%tuple(h[i]))
y, m, d, h = erfa.d2dtf("tt", 6, tt1, tt2)
示例#3
0
ut11, ut12 = erfa.utcut1(utc1, utc2, dut)

# Extract fraction for TDB-TT calculation, later.
ut = math.fmod(math.fmod(ut11, 1.0) + math.fmod(ut12, 1.0), 1.0)

# UTC -> TAI -> TT -> TCG
tai1, tai2 = erfa.utctai(utc1, utc2)
tt1, tt2 = erfa.taitt(tai1, tai2)
tcg1, tcg2 = erfa.tttcg(tt1, tt2)

# TDB-TT (using TT as a substitute for TDB).
dtr = erfa.dtdb(tt1, tt2, ut, elon, u, v)

# TT -> TDB -> TCB.
tdb1, tdb2 = erfa.tttdb(tt1, tt2, dtr)
tcb1, tcb2 = erfa.tdbtcb(tdb1, tdb2)

# report
print("UTC %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" % erfa.d2dtf(6, utc1, utc2))
print("UT1 %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, ut11, ut12, "ut1"))
print("TAI %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, tai1, tai2, "tai"))
print("TT  %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, tt1, tt2, "tt"))
print("TCG %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, tcg1, tcg2, "tcg"))
print("TDB %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, tdb1, tdb2, "tdb"))
print("TCB %5d/%2.2d/%2.2d%3d:%2.2d:%2.2d.%6.6d" %
      erfa.d2dtf(6, tcb1, tcb2, "tcb"))