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

Contents of /trunk/phylmd/orbite.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 118 - (show annotations)
Thu Dec 18 17:30:24 2014 UTC (9 years, 4 months ago) by guez
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 MODULE orbite_m
2
3 ! From phylmd/orbite.F, version 1.1.1.1 2004/05/19 12:53:08
4
5 IMPLICIT NONE
6
7 CONTAINS
8
9 SUBROUTINE orbite(xjour, longi, dist)
10
11 use nr_util, only: pi
12 USE yomcst, ONLY : r_ecc, r_peri
13
14 ! Auteur(s): Z.X. Li (LMD/CNRS)
15 ! Date: 1993/08/18
16
17 ! Pour un jour donné, calcule la longitude vraie de la Terre (par
18 ! 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
22 REAL, INTENT (IN):: xjour ! jour de l'année à compter du premier janvier
23
24 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
28 REAL, INTENT (OUT), OPTIONAL:: dist
29 ! distance terre-soleil (par rapport a la moyenne)
30
31 ! Variables locales
32 REAL pir, xl, xllp, xee, xse, xlam, anm, ranm, ranv
33
34 !----------------------------------------------------------------------
35
36 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
52 longi = ranv / pir + xl
53
54 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
59 END SUBROUTINE orbite
60
61 END MODULE orbite_m

  ViewVC Help
Powered by ViewVC 1.1.21