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

Annotation of /trunk/Sources/phylmd/orbite.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 118 - (hide annotations)
Thu Dec 18 17:30:24 2014 UTC (9 years, 5 months ago) by guez
Original Path: trunk/phylmd/orbite.f
File size: 1733 byte(s)
In file grilles_gcm.nc, renamed variable phis to orog, deleted
variable presnivs.

Removed variable bug_ozone from module clesphys.

In procedure ozonecm, moved computation of sint and cost out of the
loops on horizontal position and vertical level. Inverted the order of
the two loops. We can then move all computations from slat to aprim
out of the loop on vertical levels. Created variable slat2, following
LMDZ. Moved the limitation of column-density of ozone in cell at 1e-12
from radlwsw to ozonecm, following LMDZ.

Removed unused arguments u, albsol, rh, cldfra, rneb, diafra, cldliq,
pmflxr, pmflxs, prfl, psfl of phytrac.

In procedure yamada4, for all the arrays, replaced the dimension klon
by ngrid. At the end of the procedure, for the computation of kmn,kn,
kq and q2, changed the upper limit of the loop index from klon to ngrid.

In radlwsw, for the calculation of pozon, removed the factor
paprs(iof+i, 1)/101325, as in LMDZ. In procedure sw, removed the
factor 101325.0/PPSOL(JL), as in LMDZ.

1 guez 22 MODULE orbite_m
2 guez 3
3 guez 118 ! From phylmd/orbite.F, version 1.1.1.1 2004/05/19 12:53:08
4 guez 3
5 guez 22 IMPLICIT NONE
6 guez 3
7 guez 22 CONTAINS
8 guez 3
9     SUBROUTINE orbite(xjour, longi, dist)
10    
11 guez 118 use nr_util, only: pi
12 guez 22 USE yomcst, ONLY : r_ecc, r_peri
13 guez 3
14 guez 22 ! Auteur(s): Z.X. Li (LMD/CNRS)
15     ! Date: 1993/08/18
16 guez 118
17 guez 22 ! Pour un jour donné, calcule la longitude vraie de la Terre (par
18 guez 118 ! rapport au point vernal, 21 mars) dans son orbite
19     ! solaire. Calcule aussi la distance Terre-Soleil, c'est-à-dire
20     ! l'unité astronomique.
21 guez 3
22 guez 22 REAL, INTENT (IN):: xjour ! jour de l'année à compter du premier janvier
23 guez 3
24 guez 22 REAL, INTENT (OUT):: longi
25     ! longitude vraie de la Terre dans son orbite solaire, par
26     ! rapport au point vernal (21 mars), en degrés
27 guez 3
28 guez 22 REAL, INTENT (OUT), OPTIONAL:: dist
29     ! distance terre-soleil (par rapport a la moyenne)
30 guez 3
31     ! Variables locales
32 guez 22 REAL pir, xl, xllp, xee, xse, xlam, anm, ranm, ranv
33 guez 3
34     !----------------------------------------------------------------------
35    
36 guez 22 pir = pi / 180.
37     xl = r_peri + 180.
38     xllp = xl * pir
39     xee = r_ecc * r_ecc
40     xse = sqrt(1. - xee)
41     xlam = (r_ecc / 2 + r_ecc * xee / 8.) * (1. + xse) * sin(xllp) &
42     - xee / 4. * (0.5 + xse) * sin(2.*xllp) &
43     + r_ecc * xee / 8. * (1. / 3. + xse) * sin(3.*xllp)
44     xlam = 2. * xlam / pir
45     anm = xlam + (xjour - 81.) - xl
46     ranm = anm * pir
47     xee = xee * r_ecc
48     ranv = ranm + (2. * r_ecc - xee / 4.) * sin(ranm) + &
49     5. / 4. * r_ecc * r_ecc * sin(2 * ranm) &
50     + 13. / 12. * xee * sin(3.*ranm)
51 guez 3
52 guez 22 longi = ranv / pir + xl
53 guez 3
54 guez 22 IF (present(dist)) then
55     dist = (1 - r_ecc*r_ecc) &
56     / (1 + r_ecc*cos(pir*(longi - (r_peri + 180.))))
57     end IF
58 guez 3
59     END SUBROUTINE orbite
60    
61 guez 22 END MODULE orbite_m

  ViewVC Help
Powered by ViewVC 1.1.21