/[lmdze]/trunk/phylmd/orbite.f
ViewVC logotype

Diff of /trunk/phylmd/orbite.f

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 134 by guez, Wed Apr 29 15:47:56 2015 UTC revision 208 by guez, Wed Dec 7 16:44:53 2016 UTC
# Line 4  MODULE orbite_m Line 4  MODULE orbite_m
4    
5  CONTAINS  CONTAINS
6    
7    SUBROUTINE orbite(xjour, longi, dist)    pure SUBROUTINE orbite(xjour, longi, dist)
8    
9      ! From phylmd/orbite.F, version 1.1.1.1 2004/05/19 12:53:08      ! From phylmd/orbite.F, version 1.1.1.1 2004/05/19 12:53:08
10    
11      ! Author: Z.X. Li (LMD/CNRS)      ! Author: Z.X. Li (LMD/CNRS)
12      ! Date: 1993/08/18      ! Date: 1993/08/18
13    
14      ! Pour un jour donné, calcule la longitude vraie de la Terre et la      ! Pour un jour donn\'e, calcule la longitude vraie de la Terre et la
15      ! distance Terre-Soleil, c'est-à-dire l'unité astronomique.      ! distance Terre-Soleil, c'est-\`a-dire l'unit\'e astronomique.
16    
17      use nr_util, only: pi      use nr_util, only: pi
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ée à compter du premier janvier      REAL, INTENT (IN):: xjour ! jour de l'ann\'ee \`a compter du premier janvier
21    
22      REAL, INTENT (OUT):: longi      REAL, INTENT (OUT):: longi
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és      ! au point vernal (21 mars), en degr\'es
25    
26      REAL, INTENT (OUT), OPTIONAL:: dist      REAL, INTENT (OUT), OPTIONAL:: dist
27      ! distance terre-soleil (par rapport à la moyenne)      ! distance terre-soleil (par rapport \`a la moyenne)
28    
29      ! Local:      ! Local:
30      REAL pir, xl, xllp, xee, xse, ranm      REAL pir, xl, xllp, xee, xse, ranm
# Line 43  CONTAINS Line 43  CONTAINS
43      longi = (ranm + (2. * r_ecc - xee / 4.) * sin(ranm) + 5. / 4. * r_ecc**2 &      longi = (ranm + (2. * r_ecc - xee / 4.) * sin(ranm) + 5. / 4. * r_ecc**2 &
44           * sin(2 * ranm) + 13. / 12. * xee * sin(3. * ranm)) / pir + xl           * sin(2 * ranm) + 13. / 12. * xee * sin(3. * ranm)) / pir + xl
45    
46      IF (present(dist)) then      IF (present(dist)) dist = (1 - r_ecc * r_ecc) &
47         dist = (1 - r_ecc * r_ecc) &           / (1 + r_ecc * cos(pir * (longi - (r_peri + 180.))))
             / (1 + r_ecc * cos(pir * (longi - (r_peri + 180.))))  
     end IF  
48    
49    END SUBROUTINE orbite    END SUBROUTINE orbite
50    

Legend:
Removed from v.134  
changed lines
  Added in v.208

  ViewVC Help
Powered by ViewVC 1.1.21