package Ġcom . k yle cor ry . sol . science . astr onomy . corre ctions Ċ Ċ import Ġcom . k yle cor ry . sol . math . Sol Math . cos Degrees Ċ import Ġcom . k yle cor ry . sol . science . astr onomy . units . Universal Time Ċ import Ġcom . k yle cor ry . sol . science . astr onomy . units . to Jul ian Cent ur ies Ċ Ċ internal Ġobject ĠE cli ptic Ob li qu ity Ġ{ ĊĠĠĠ Ġfun Ġget True Ob li qu ity Of E cli ptic ( ut : ĠUniversal Time ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġget Mean Ob li qu ity Of E cli ptic ( ut ) Ġ+ Ġget N utation In Ob li qu ity ( ut ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Mean Ob li qu ity Of E cli ptic ( ut : ĠUniversal Time ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠT Ġ= Ġut . to Jul ian Cent ur ies () ĊĠĠĠĠĠĠĠ Ġval Ġseconds Ġ= Ġcom . k yle cor ry . sol . math . Sol Math . pol ynomial ( T , Ġ 2 1 . 4 4 8 , Ġ- 4 6 . 8 1 5 , Ġ- 0 . 0 0 0 5 9 , Ġ 0 . 0 0 1 8 1 3 ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ 2 3 . 0 Ġ+ Ġ( 2 6 . 0 Ġ+ Ġseconds Ġ/ Ġ 6 0 . 0 ) Ġ/ Ġ 6 0 . 0 ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget N utation In Ob li qu ity ( ut : ĠUniversal Time ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠT Ġ= Ġut . to Jul ian Cent ur ies () ĊĠĠĠĠĠĠĠ Ġval ĠL Ġ= Ġ 2 8 0 . 4 6 6 5 Ġ+ Ġ 3 6 0 0 0 . 7 6 9 8 Ġ* ĠT ĊĠĠĠĠĠĠĠ Ġval ĠL Prime Ġ= Ġ 2 1 8 . 3 1 6 5 Ġ+ Ġ 4 8 1 2 6 7 . 8 8 1 3 Ġ* ĠT ĊĠĠĠĠĠĠĠ Ġval Ġomega Ġ= Ġget Ascending Node Longitude ( ut ) ĊĠĠĠĠĠĠĠ Ġreturn Ġ 0 . 0 0 2 5 5 5 5 5 6 Ġ* Ġcos Degrees ( omega ) Ġ+ Ġ 0 . 0 0 0 1 5 8 3 3 3 3 Ġ* Ġcos Degrees ( 2 Ġ* ĠL ) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 . 0 0 0 0 2 7 7 7 7 7 8 Ġ* Ġcos Degrees ( 2 Ġ* ĠL Prime ) Ġ- Ġ 0 . 0 0 0 0 2 5 Ġ* Ġcos Degrees ( 2 Ġ* Ġomega ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget Ascending Node Longitude ( ut : ĠUniversal Time ): ĠDouble Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠT Ġ= Ġut . to Jul ian Cent ur ies () ĊĠĠĠĠĠĠĠ Ġreturn Ġcom . k yle cor ry . sol . math . Sol Math . pol ynomial ( T , Ġ 1 2 5 . 0 4 4 5 2 , Ġ- 1 9 3 4 . 1 3 6 2 6 1 , Ġ 0 . 0 0 2 0 7 0 8 , Ġ 1 Ġ/ Ġ 4 5 0 0 0 0 . 0 ) ĊĠĠĠ Ġ} Ċ }