blob: e578719554fc2df9d8928ee6ea03ba17f7fea21c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
package org.madore.ephem;
import java.io.FileInputStream;
import java.io.InputStreamReader;
import java.io.BufferedReader;
public final class Test2 {
public static void main(String[] args) {
Comput.SumPoisson2Terms corr = ZonalTides.getFunc(ZonalTides.Variable.DUT1);
try {
// http://data.iers.org/products/214/14443/orig/eopc04_08_IAU2000.62-now
FileInputStream str = new FileInputStream("/tmp/eopc04_08_IAU2000.62-now");
BufferedReader in = new BufferedReader(new InputStreamReader(str, "utf-8"));
String s;
while ( ( s = in.readLine() ) != null ) {
String[] fields = s.split("\\s+");
if ( fields.length<1 || ! fields[0].matches("\\d{4}") )
continue;
int mjd = Integer.parseInt(fields[3]);
double utcOffset = Time.utcOffset(mjd, 0);
double t = Ephem.fromJd((utcOffset+32.184)/86400. + mjd + 2400000.5);
double v = corr.v(t) * 1.e-4;
double ut1Offset = Double.parseDouble(fields[6]);
double off = ut1Offset - utcOffset;
System.out.format("%d\t%.7f\t%.7f\t%.7f\n", mjd, off, v, off-v);
}
} catch ( Exception e ) {
throw new RuntimeException(e);
}
}
}
|