14 |
! Pour un jour donn\'e, calcule la longitude vraie de la Terre et |
! Pour un jour donn\'e, calcule la longitude vraie de la Terre et |
15 |
! la distance Terre-Soleil. |
! la distance Terre-Soleil. |
16 |
|
|
17 |
use nr_util, only: deg_to_rad |
use nr_util, only: deg_to_rad, rad_to_deg |
18 |
USE yomcst, ONLY: r_ecc, r_peri |
USE yomcst, ONLY: r_ecc, r_peri |
19 |
|
|
20 |
REAL, INTENT (IN):: xjour ! jour de l'ann\'ee \`a compter du premier janvier |
REAL, INTENT (IN):: xjour ! jour de l'ann\'ee \`a compter du premier janvier |
23 |
! longitude vraie de la Terre dans son orbite solaire, par rapport |
! longitude vraie de la Terre dans son orbite solaire, par rapport |
24 |
! au point vernal (21 mars), en degr\'es |
! au point vernal (21 mars), en degr\'es |
25 |
|
|
26 |
REAL, INTENT (OUT), OPTIONAL:: dist |
REAL, INTENT (OUT), OPTIONAL:: dist ! distance terre-soleil, en ua |
|
! distance terre-soleil (par rapport \`a la moyenne) |
|
27 |
|
|
28 |
! Local: |
! Local: |
29 |
REAL xl, xllp, xee, xse, ranm |
REAL xl, xllp, xee, xse, ranm |
38 |
- xee / 4. * (0.5 + xse) * sin(2.*xllp) + r_ecc * xee / 8. & |
- xee / 4. * (0.5 + xse) * sin(2.*xllp) + r_ecc * xee / 8. & |
39 |
* (1. / 3. + xse) * sin(3. * xllp)) + (xjour - 81.) * deg_to_rad - xllp |
* (1. / 3. + xse) * sin(3. * xllp)) + (xjour - 81.) * deg_to_rad - xllp |
40 |
xee = xee * r_ecc |
xee = xee * r_ecc |
41 |
longi = (ranm + (2. * r_ecc - xee / 4.) * sin(ranm) + 5. / 4. * r_ecc**2 & |
longi = ranm + (2. * r_ecc - xee / 4.) * sin(ranm) & |
42 |
* sin(2 * ranm) + 13. / 12. * xee * sin(3. * ranm)) / deg_to_rad + xl |
+ 5. / 4. * r_ecc**2 * sin(2 * ranm) + 13. / 12. * xee * sin(3. * ranm) |
43 |
|
IF (present(dist)) dist = (1 - r_ecc**2) / (1 + r_ecc * cos(longi)) |
44 |
IF (present(dist)) dist = (1 - r_ecc**2) & |
longi = longi * rad_to_deg + xl |
|
/ (1 + r_ecc * cos(deg_to_rad * (longi - (r_peri + 180.)))) |
|
45 |
|
|
46 |
END SUBROUTINE orbite |
END SUBROUTINE orbite |
47 |
|
|