summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid A. Madore <david+git@madore.org>2012-03-27 17:23:09 (GMT)
committerDavid A. Madore <david+git@madore.org>2012-03-27 17:48:07 (GMT)
commitb0cb2767577a654db082f5ae9bbd69ffde725d2e (patch)
tree59c2e3be045eca44ec9015a15b9bb2033683c888
parent221c71e37bdc19dc5bbc1f0303697f67847b7712 (diff)
downloadephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.zip
ephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.tar.gz
ephem-b0cb2767577a654db082f5ae9bbd69ffde725d2e.tar.bz2
Equation of the origins/equinoxes.
-rw-r--r--org/madore/ephem/Nutation.java10
-rw-r--r--org/madore/ephem/Precession.java2
-rw-r--r--org/madore/ephem/nutation.dat34
3 files changed, 45 insertions, 1 deletions
diff --git a/org/madore/ephem/Nutation.java b/org/madore/ephem/Nutation.java
index ecc08a4..dcfdc30 100644
--- a/org/madore/ephem/Nutation.java
+++ b/org/madore/ephem/Nutation.java
@@ -10,7 +10,7 @@ import java.io.BufferedReader;
public final class Nutation {
public static enum Variable {
- PSI("psi"), EPSILON("epsilon");
+ PSI("psi"), EPSILON("epsilon"), EQORG("eqorg");
final String name;
Variable(String name) { this.name = name; }
}
@@ -70,4 +70,12 @@ public final class Nutation {
return mat3;
}
+ public static double eqeqnx(double t) { // Equation of the equinoxes (=GAST-GMST, in arc seconds)
+ return getFunc(Variable.PSI).v(t)*Math.cos(Precession.epsilon.v(t)) + getFunc(Variable.EQORG).v(t);
+ }
+
+ public static double eqorg(double t) {
+ return Precession.eqorg.v(t) + eqeqnx(t);
+ }
+
}
diff --git a/org/madore/ephem/Precession.java b/org/madore/ephem/Precession.java
index b52a1c5..8b556d5 100644
--- a/org/madore/ephem/Precession.java
+++ b/org/madore/ephem/Precession.java
@@ -12,6 +12,8 @@ public final class Precession {
= new Comput.Polynomial(0, 10.556403, -2.3814292, -0.00121197, 0.000170663, -0.0000000560);
public static Comput.Polynomial epsilon
= new Comput.Polynomial(epsilon0, -46.836769, -0.0001831, 0.00200340, -0.000000576, -0.0000000434);
+ public static Comput.Polynomial eqorg
+ = new Comput.Polynomial(0.014506, 4612.156534, 1.3915817, -0.00000044, -0.000029956, -0.0000000368);
public static Frames.RotationMatrix matrix(double t) {
Frames.RotationMatrix mat1 = Frames.RotationMatrix.rotx(epsilon0*Comput.arcsecond);
diff --git a/org/madore/ephem/nutation.dat b/org/madore/ephem/nutation.dat
index a685e1f..efc785c 100644
--- a/org/madore/ephem/nutation.dat
+++ b/org/madore/ephem/nutation.dat
@@ -2412,3 +2412,37 @@ nutation epsilon 1 1,0,2,-2,2,0,0,0,0,0,0,0,0,0 0.00000000 0.00000100
nutation epsilon 1 0,0,2,-2,1,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000090
nutation epsilon 1 0,1,0,0,1,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000020
nutation epsilon 1 0,2,0,0,0,0,0,0,0,0,0,0,0,0 0.00000000 -0.00000010
+nutation eqorg 0 0,0,0,0,1,0,0,0,0,0,0,0,0,0 0.00264096 -0.00000039
+nutation eqorg 0 0,0,0,0,2,0,0,0,0,0,0,0,0,0 0.00006352 -0.00000002
+nutation eqorg 0 0,0,2,-2,3,0,0,0,0,0,0,0,0,0 0.00001175 0.00000001
+nutation eqorg 0 0,0,2,-2,1,0,0,0,0,0,0,0,0,0 0.00001121 0.00000001
+nutation eqorg 0 0,0,2,-2,2,0,0,0,0,0,0,0,0,0 -0.00000455 0.00000000
+nutation eqorg 0 0,0,2,0,3,0,0,0,0,0,0,0,0,0 0.00000202 0.00000000
+nutation eqorg 0 0,0,2,0,1,0,0,0,0,0,0,0,0,0 0.00000198 0.00000000
+nutation eqorg 0 0,0,0,0,3,0,0,0,0,0,0,0,0,0 -0.00000172 0.00000000
+nutation eqorg 0 0,1,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000141 -0.00000001
+nutation eqorg 0 0,1,0,0,-1,0,0,0,0,0,0,0,0,0 -0.00000126 -0.00000001
+nutation eqorg 0 1,0,0,0,-1,0,0,0,0,0,0,0,0,0 -0.00000063 0.00000000
+nutation eqorg 0 1,0,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000063 0.00000000
+nutation eqorg 0 0,1,2,-2,3,0,0,0,0,0,0,0,0,0 0.00000046 0.00000000
+nutation eqorg 0 0,1,2,-2,1,0,0,0,0,0,0,0,0,0 0.00000045 0.00000000
+nutation eqorg 0 0,0,4,-4,4,0,0,0,0,0,0,0,0,0 0.00000036 0.00000000
+nutation eqorg 0 0,0,1,-1,1,0,-8,12,0,0,0,0,0,0 -0.00000024 -0.00000012
+nutation eqorg 0 0,0,2,0,0,0,0,0,0,0,0,0,0,0 0.00000032 0.00000000
+nutation eqorg 0 0,0,2,0,2,0,0,0,0,0,0,0,0,0 0.00000028 0.00000000
+nutation eqorg 0 1,0,2,0,3,0,0,0,0,0,0,0,0,0 0.00000027 0.00000000
+nutation eqorg 0 1,0,2,0,1,0,0,0,0,0,0,0,0,0 0.00000026 0.00000000
+nutation eqorg 0 0,0,2,-2,0,0,0,0,0,0,0,0,0,0 -0.00000021 0.00000000
+nutation eqorg 0 0,1,-2,2,-3,0,0,0,0,0,0,0,0,0 0.00000019 0.00000000
+nutation eqorg 0 0,1,-2,2,-1,0,0,0,0,0,0,0,0,0 0.00000018 0.00000000
+nutation eqorg 0 0,0,0,0,0,0,8,-13,0,0,0,0,0,-1 -0.00000010 0.00000005
+nutation eqorg 0 0,0,0,2,0,0,0,0,0,0,0,0,0,0 0.00000015 0.00000000
+nutation eqorg 0 2,0,-2,0,-1,0,0,0,0,0,0,0,0,0 -0.00000014 0.00000000
+nutation eqorg 0 1,0,0,-2,1,0,0,0,0,0,0,0,0,0 0.00000014 0.00000000
+nutation eqorg 0 0,1,2,-2,2,0,0,0,0,0,0,0,0,0 -0.00000014 0.00000000
+nutation eqorg 0 1,0,0,-2,-1,0,0,0,0,0,0,0,0,0 0.00000014 0.00000000
+nutation eqorg 0 0,0,4,-2,4,0,0,0,0,0,0,0,0,0 0.00000013 0.00000000
+nutation eqorg 0 0,0,2,-2,4,0,0,0,0,0,0,0,0,0 -0.00000011 0.00000000
+nutation eqorg 0 1,0,-2,0,-3,0,0,0,0,0,0,0,0,0 0.00000011 0.00000000
+nutation eqorg 0 1,0,-2,0,-1,0,0,0,0,0,0,0,0,0 0.00000011 0.00000000
+nutation eqorg 1 0,0,0,0,1,0,0,0,0,0,0,0,0,0 -0.00000087 0.00000000