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); } } }