
    1i1                         S r SqS rSrSrSrSrSrSrS	r	S
r
SrSr/ SQr/ SQr/ SQ/ SQ/ SQ/ SQ/ SQS//r/ SQSS//r/ SQ/ SQ/ SQSS/S//rg)a{  This file is consists of numerical constants for calculating corrections,
such as the wiggling ("nutation") of the axis of the earth. It also includes
functions for building dictionaries of polynomial functions for rapid
calculation of corrections.

Most of the constants come from a 2005 paper by Reda and Andreas:

I. Reda and A. Andreas, "Solar Position Algorithm for Solar Radiation
Applications," National Renewable Energy Laboratory, NREL/TP-560-34302,
revised November 2005.

http://www.osti.gov/bridge/servlets/purl/15003974-iP3z6k/native/15003974.PDF

However, it seems that Reda and Andreas took the bulk of the constants
(L0, etc.) from Pierre Bretagnon and Gerard Francou's Variations Seculaires
des Orbites Planetaires, or VSOP87:

http://en.wikipedia.org/wiki/Secular_variations_of_the_planetary_orbits#VSOP87

See also ftp://ftp.imcce.fr/pub/ephem/planets/vsop87/VSOP87D.ear

Nc                  F    [         S:X  a  [        S S 5       5      q [         $ )zThis function builds a dictionary of polynomial functions from a list of
coefficients, so that the functions can be called by name. This is used in
calculating nutation.
Nc              3   6   #    U  H  u  pUS  " U6 4v   M     g7f)c                    ^ ^^^ U UUU4S j$ )Nc                 8   > TTU -  -   TU S-  -  -   U S-  T-  -   $ )N       )xabcds    T/var/www/html/motor_solar_iot/venv/lib/python3.13/site-packages/pysolar/constants.py<lambda>Cget_aberration_coeffs.<locals>.<genexpr>.<lambda>.<locals>.<lambda>4   s)    QUQaZ1G1PQ6UV,1V    r   )r
   r   r   r   s   ````r   r   1get_aberration_coeffs.<locals>.<genexpr>.<lambda>4   s	    'V'Vr   Nr   ).0namecoeffss      r   	<genexpr>(get_aberration_coeffs.<locals>.<genexpr>3   s,      
  VY_`as   ))ArgumentOfLatitudeOfMoon)g%]3fQW@gB{~Ag)"*ng    A)LongitudeOfAscendingNode)g&jjB_@g 8gH`?g    @wA)MeanElongationOfMoon)g:]r@g)'rL-Agjx\_g    !A)MeanAnomalyOfMoon)gwn`@gj.7x; AgWlρ?g    @w@)MeanAnomalyOfSun)g׆qXv@gb@go݃%g    O)aberration_coeffsdictr   r   r   get_aberration_coeffsr   +   s0     D  

 	r   g    TXAg33333s7@iQ g    м@gfffffr@gfffffq@g9vzg @g:#@g8ר?)?)    r    r    r       )r    r    r   r   )r    r    r    r   r   )r    r    r    r    r   )r    r!   r    r    r    )r    r    r!   r    r    )r"   r!   r    r   r   )r    r    r    r   r!   )r    r    r!   r   r   )r"   r    r   r   )r"   r    r!   r    r    )r"   r    r    r   r!   )r    r    r#   r   r   )r   r    r    r    r    )r    r    r!   r    r!   )r   r    r#   r   r   )r    r    r#   r    r!   )r    r    r!   r   r!   )r"   r    r   r    r    )r    r    r"   r   r!   )r   r    r    r   r   )r    r    r   r   r   )r    r    r   r    r    )r"   r    r!   r   r   )r    r    r    r   r    )r"   r    r    r   r    )r    r    r#   r   r!   )r    r   r    r    r    )r   r    r#   r    r!   )r"   r   r    r   r   )r    r!   r    r    r!   )r"   r    r!   r    r!   )r    r#   r    r    r!   )r    r    r   r"   r    )r   r    r#   r   r!   )r   r    r!   r   r   )r    r!   r    r   r   )r"   r!   r!   r    r    )r    r#   r    r   r   )r   r    r    r   r!   )r   r    r!   r    r    )r"   r    r   r   r   )r"   r    r!   r   r!   )r   r    r"   r    r!   )r   r    r    r    r!   )r    r#   r!   r    r    )r"   r#   r    r   r!   )r"   r    r    r    r!   )r    r    r   r   r!   )r"   r    r   r    r!   )r"   r!   r    r   r!   )r    r    r!   r"   r    )r#   r    r!   r    r    )r"   r!   r    r    r    )r!   r    r    r    r    )r    r    r!   r   r    )r    r    r"   r   r   )r#   r#   r!   r    r    )r    r!   r!   r    r    )r    r#   r!   r   r   )r   r#   r#   r   r   )r    r    r   r   r   )r   r#   r    r   r   )?)i$`gfffffeiyg g!@)i}gih  g)igɿi        )i  g?ig      ?)i  g3333336   皙)i  皙?r    )ig333333?   g333333)i~gٿ   r    )ir       r&   )   r$   ig333333?)ibr    r    r    )r+   r'   ir    ){   r    ir    )?   r    r    r    )r.   r'   ir    )ir       r    )ir&       r    )ir       r    )0   r    r    r    ).   r    ir    )ir       r    )ir       r    )   r    r    r    )r6   r    r    )r/   r    r    r    )ir    r    r    )   r    r    )   r&   r    r    )r4   r    r    )ir'      r    )ir    	   r    )ir    r<   r    )r7   r       r    )   r    r    r    )r9   r       r    )r;   r    r   r    )r<   r    r    )r(   r    r    r    r(   r    r   r    rB   )r>   r    r    r    r>   r    rA   r    rC   ir    r   r    rD   )r@   r    r    r    r    r   r    rE   rE      r    r    r    rG   rG   r    r    r    rI   rI   )r   r    r    r    rA   r    r    r    rK   rK   rK   rK   rK   rK   )@)g   *Ar    r    )g    ~IAgQ@gj@)g    	@g7[ @gj@)g     R@gg@;pΈby@)g     @g6<R@gMO/@)g     @gݓ@NbX@)g     @g	h"@c]k@)g     N@gCiq@gc]k@)g     @g(\?g;pΈby@)g     @gsK @gJ+@)g     @gC?gv_@)i  g;O@d;O@)i  g\(\ @?5^IL:@)iY  gMb@gMbx@)i  gw/?mg@)i  g$C@rh@)i  gET@ONh@)i  gR@gw/<@)ie  g\(\@gx&?)i=  gL7A`e@nP@)i  gMb?gMb@)i  g)\(?1p@)   gGz?J+n@)   gMbX9@g㥛Ġ@)   gCl?T㥛$ŵ@)   gDl@gxƵ@)   g-?g!rhj@)   g}?5^I@gV@)~   gS?gfffff4@)s   gp=
ף?\(\?)g   g'1Z?g㥛 V@)f   gZd;?gZdk@)rd   g rh@g~jt@)c   gףp=
@p=
WĠ@)b   g(\?=
ףpmc@)V   gQ@REA)U   ?)\@)rk   g\(\@3333kp@)P   g(\?皙	@)O   gRQ@G:@)K   g)\(?{G@)J   g      @g{Ga@)ru   gQ@g(\@)F   (\?{Gn@)>   gףp=
@=@)=   gQ?ffff欻@)9   g=
ףp=@皙@)8   g(\@g    @)r   g(\@̌@)4   gRQ?ffffƵ@)r   gHzG?GzP@)3   gQ?gGz@)1   g\(\?̩@))   g{Gz@gQv@)r   g333333@33330@)'   gGz@g@)%   g)\(@gQ@)r   g(\@gQ@)$   g\(\?
ףpa@)r   {Gz?gQŜ@)!   gzG?gffffv_@)   g)\(?皙́@)r   gQ@Gz@)   gHzG	@GzR@)")g `#pIbBr    r    )g    X'	Ag>xm@rL   )g     ϰ@gMO@rM   )g     z@gq=
ףp?gv/@)g     ]@gv/@rR   )g     @[@g|?5^@L7A`@)]   gQ@QNh@)H   g=
ףp=?Q@)D   Q?fffffx@)C   gp=
ף@̌@);   gQ@=
ףg@)r   g\(\@rh   )-   g?fffff@)r   gGz?\(<@)r6   333333@q=
ףp@)r8   g\(\@rb   )   g?zn@)r   gzG@gj@)r:   gQ@rm   )r4   gQ?Q@)r4   gzG?rf   )   \(\?ףp=p@)   gp=
ף@r   )r   gGz
@rt   )r   gGz@r   )r   gp=
ף @V  )r?   gp=
ף?(\L@)
   rl   r~   )r   g(\@r   )r=   g@(\Wn@)r=   g(\@g(\½@)   333333@r   )r>   r   rx   )r>   gGz@r   ))g    @r    r    )g     @ge`TR'?	g@)g     Ps@gX9v?jt@)r1   g?)\(@)r4   g(\@gL:@)r4   gq=
ףp@rh   )r   gRQ?r   )r=   g{Gz @Q@)r<   rw   r   )r@   gp=
ף@(\@)rH   g{Gz?r   )rH   gQ@q=
#ŵ@)r   g(\@r   )r   g333333@r   )r   g
ףp=
?r   )r   g{Gz@r   )r   gףp=
?r   )r   g=
ףp=@r   )r   gQ@r   )r   g      @rb   ))g     r@gK7A`@jt@)#   r    r    )r:   g(\@3333@)r   g@rh   )r!   gzG@r   )r!   r   r   )r!   gzG@r   ))g     \@A`"	@r    )r   gQ@Gz@)r!   gQ@r   )r!   Q	@r    ))g     q@gd;O	@gO@)g     Y@g㥛 @rT   )ro   g
ףp=
@r   ),   g@r   )r0   rH   r   )r=   g333333@r   )r>   gGz?r   )()g   ^ؗAr    r    )g    ,~9Ag-B;@rL   )g     B@gx&q@rM   )g     @g%C@rO   )g     p@gc]K?rN   )g     @gׁs@rP   )g     @gZd;@g(\by@)g     @gK7A@gRk@)g     }@g}?5^I@rQ   )g     u@g+?rT   )g     t@g@rS   )g     0s@gA`"?r\   )g     `n@d;O@rV   )g     j@gSc@r   )g     @g@gJ+@rW   )g     e@gjt@rU   )g     [@gQ8@rY   )rg   g{Gz?gzǵ@)ri   g(\@gRk@)ri   gRQ?rj   )A   HzG?rp   )r.   gq=
ףp?r   )r}   gGz @r   )r   g(\@rn   )r   g      
@r   )/   gp=
ף@r   )r   g)\(@rx   )+   g
ףp=
@rm   )r   gq=
ףp@r   )&   gQ@rz   )r   rw   r   )r   g@r   )r   gQ?rr   )r   gq=
ףp?gR@)r   gQ?r|   )r0   g
ףp=
?rt   )r0   r   r   )   r   r~   )r   gffffff?r   )r/   g\(\@r   )
)g    &@gGZ*oG?rL   )g     @gd]K?rM   )g     @r   r    )r0   gRQ?r   )   gQ@r   )r   gQ?r   )   Q?r   )r   gp=
ף@r   )r=   r   rm   )r=   r   r   ))g     @g3ı.n#@r   )g      _@g7A`P@r   )r   r   r    )r=   g
ףp=
@r   )r>   r   r   )r   gzG@r   )g      b@r   r   )r<   g\(\@r   )rH   g{Gz@r   )__doc__r   r   earth_radiusearth_axis_inclinationseconds_per_daystandard_pressurestandard_temperaturecelsius_offsetearth_temperature_lapse_rateair_gas_constantearth_gravityearth_atmosphere_molar_massaberration_sin_termsnutation_coefficientsheliocentric_longitude_coeffsheliocentric_latitude_coeffssun_earth_distance_coeffsr   r   r   <module>r      s   $.  0    &  ' @ H@ JA	
D#	
H	
,	
	
 	
WN f	
 	
 ")	
T	
	
 #	

 	
GF r   