diff options
| -rw-r--r-- | org/madore/ephem/Test3.java | 36 | 
1 files changed, 36 insertions, 0 deletions
| diff --git a/org/madore/ephem/Test3.java b/org/madore/ephem/Test3.java new file mode 100644 index 0000000..f6753ad --- /dev/null +++ b/org/madore/ephem/Test3.java @@ -0,0 +1,36 @@ +package org.madore.ephem; + +import java.io.FileInputStream; +import java.io.InputStreamReader; +import java.io.BufferedReader; + +public final class Test3 { + +    public static void main(String[] args) { +	Comput.SumPoisson2Terms smart97f = Smart97.getFunc(Smart97.Variable.SIDTIME); +	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 smart97sidtime = smart97f.v(t/10)/1296000000000L; +		double ut1Offset = Double.parseDouble(fields[6]); +		double off = ut1Offset - utcOffset; +		double θ = 0.7790572732640 +		    + 1.00273781191135448*(mjd-51544.5 + ut1Offset/86400); +		double sidtime = θ + Nutation.eqorg(t)/1296000; +		System.out.format("%d\t%.12f\t%.12f\n", mjd, sidtime, smart97sidtime); +	    } +	} catch ( Exception e ) { +	    throw new RuntimeException(e); +	} +    } + +} | 
