
    R1iq                     j    d dl mZ d dlmZ d dlmZmZmZ d dlm	Z	m
Z
 d dlmZ d Zd Zd Zd	 Zd
 Zy)    )cos)framelib)Toposloadwgs84)AU_MERAD)
Geocentricc                     t        j                         } | j                  ddd      }t        j                  ddd      }t        d      }|d	   |z   j                  |      j                  |d
         j                         }t        j                  }|j                  |      \  }}}}	}
}d}t        |j                  dz
  |z        dk  sJ t        |j                  dz
  |z        dk  sJ t        |j                  dt        z  z
        dk  sJ t        |	j                   j"                  d      dk(  sJ t        |
j                   j"                  t%        |j&                        z  d      t        dd      k(  sJ t        |j(                  dz
        dk  sJ |}|j                  |      \  }}}}}}t        |j                  d      dk(  sJ t        |j                  d      dk(  sJ t        |j                  dt        z  z
        dk  sJ t        |j(                  dz
        dk  sJ t        |j                   j*                  d      dk(  sJ t        |j                   j*                  t%        |j&                        z  d      dk(  sJ y )Ni        gnAA@gӼo@gZu@)elevation_mz	de421.bspearthmarsg      @gLaD@g{Gz?gޫV&*1@g{Gzt?gb?g      ^@   g"q9@   g@j'R@g	0@gh㈵>g(QP@gH|`@gzG%@gfffff@)r   	timescaleutcr   latlonatobserveapparentr    true_equator_and_equinox_of_dateframe_latlon_and_ratesabsdegreesmr   round
arcsecondsper_hourr   radianskm_per_s
per_minute)tsttopplanetsaframedecradistancedec_ratera_rate
range_rater   altazalt_rateaz_rates                    ^/home/cursorai/projects/iching/venv/lib/python3.12/site-packages/skyfield/tests/test_frames.py%test_radec_and_altaz_angles_and_ratesr5      sr   		B
tQA
,,z:9
EC;G		C	##A&..wv?HHJA 55E	  ' 5CXx* J

X%34t;;;h&*45===xzz,t334u<<< $$--q1X===##,,s3;;/??Xq)* * *z""Z/04777 E	  ' 5CXx* a G+++Q8+++xzz,t334u<<< z""Z/04777$$//3v===##..S[[1AA1EOOO    c                     t        dd      } t        j                         }|j                  ddddd      }| j	                  |      }|j                  t        j                        }t        t        |j                  t        ddgz
              dk  sJ |j                  t        j                        \  }}t        t        |j                  t        ddgz
              dk  sJ t        t        |j                              d	k  sJ y )
Nr   )latitude_degreeslongitude_degrees           "   g:0ye>g [n<)r   r   r   r   r   	frame_xyzr   itrsmaxr   r   r	   frame_xyz_and_velocityr"   )r&   r$   r%   prvs         r4   test_frame_round_triprF   1   s     a
8C		B
tRR$Aq	A	HMM"As133$1%&'$...##HMM2DAqs133$1%&'$...s1::%'''r6   c                  j   t        j                         } | j                  ddddd      }t        g dg d|      }|j	                  t
        j                        \  }}t        j                  |t
        j                  ||      }t        t        |j                  j                  g dz
              d	k  sJ t        t        |j                  j                  g dz
              d
k  sJ t        |j                  j                        g dk(  sJ t        |j                  j                        g dk(  sJ y )Nr:   r;   r<   r=   r>      r   r   r   r      r%   g+=gt =)r   r   r   r
   rB   r   r@   from_time_and_frame_vectorsrA   r   positionauvelocityau_per_dlist)r$   r%   g1rD   rE   g2s         r4   test_from_frame_methodrU   A   s    		B
tRR$A	GW	*B$$X]]3DAq		/	/8==!Q	GBs2;;>>G+,-555s2;;'''123e;;; 7***$$%000r6   c                      t        j                         } | j                  ddddd      }t        g dg d|      }t        j
                  }|j                  |      \  }}t        j                  ||||       y 	Nr:   r;   r<   r=   r>   rH   rJ   rL   )r   r   r   r
   r   r   rB   rM   )r$   r%   gfrD   rE   s         r4   test_frame_without_spinrZ   O   sg    		B
tRR$A7Gq)A 	11A##A&DAq**1aA6r6   c                      t        j                         } | j                  ddddd      }t        g dg d|      }|j	                  t
        j                         y rW   )r   r   r   r
   rB   r   tirs)r$   r%   rX   s      r4   test_tirs_at_least_runsr]   Y   sF     
	B
tRR$A7Gq)AX]]+r6   N)numpyr   skyfieldr   skyfield.apir   r   r   skyfield.constantsr   r	   skyfield.positionlibr
   r5   rF   rU   rZ   r]    r6   r4   <module>rd      s2      + + ) +(PT( 17,r6   