/[lmdze]/trunk/dyn3d/fxysinus.f
ViewVC logotype

Contents of /trunk/dyn3d/fxysinus.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (show annotations)
Wed Mar 5 14:57:53 2014 UTC (10 years, 2 months ago) by guez
File size: 3031 byte(s)
Changed all ".f90" suffixes to ".f".
1
2 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/fxysinus.F,v 1.1.1.1 2004/05/19
3 ! 12:53:06 lmdzadmin Exp $
4
5 SUBROUTINE fxysinus(rlatu, yprimu, rlatv, yprimv, rlatu1, yprimu1, rlatu2, &
6 yprimu2, rlonu, xprimu, rlonv, xprimv, rlonm025, xprimm025, rlonp025, &
7 xprimp025)
8
9
10 USE dimens_m
11 USE paramet_m
12 USE comconst
13 USE nr_util, ONLY: pi
14 IMPLICIT NONE
15
16 ! Calcul des longitudes et des latitudes pour une fonction f(x,y)
17 ! avec y = Asin( j ) .
18
19 ! Auteur : P. Le Van
20
21
22
23 INTEGER i, j
24
25 REAL rlatu(jjp1), yprimu(jjp1), rlatv(jjm), yprimv(jjm), rlatu1(jjm), &
26 yprimu1(jjm), rlatu2(jjm), yprimu2(jjm)
27 REAL rlonu(iip1), xprimu(iip1), rlonv(iip1), xprimv(iip1), rlonm025(iip1), &
28 xprimm025(iip1), rlonp025(iip1), xprimp025(iip1)
29
30
31 ! $Header: /home/cvsroot/LMDZ4/libf/grid/fxy_sin.h,v 1.1.1.1 2004/05/19
32 ! 12:53:05 lmdzadmin Exp $
33
34 ! -----------------------------------------------------------------------
35
36 ! ................................................................
37 ! ................ Fonctions in line ...........................
38 ! ................................................................
39
40 REAL fy, fx, fxprim, fyprim
41 REAL ri, rj
42
43
44 fy(rj) = asin(1.+2.*((1.-rj)/float(jjm)))
45 fyprim(rj) = 1./sqrt((rj-1.)*(jjm+1.-rj))
46
47 fx(ri) = 2.*pi/float(iim)*(ri-0.5*float(iim)-1.)
48 ! fx ( ri ) = 2.*pi/FLOAT(iim) * ( ri - 0.5* ( FLOAT(iim) + 1.) )
49 fxprim(ri) = 2.*pi/float(iim)
50
51
52 ! La valeur de pi est passee par le common/const/ou /const2/ .
53 ! Sinon, il faut la calculer avant d'appeler ces fonctions .
54
55 ! ----------------------------------------------------------------
56 ! Fonctions a changer eventuellement, selon x(x) et y(y) choisis .
57 ! -----------------------------------------------------------------
58
59 ! ..... ici, on a l'application particuliere suivante ........
60
61 ! **************************************
62 ! ** x = 2. * pi/iim * X **
63 ! ** y = pi/jjm * Y **
64 ! **************************************
65
66 ! ..................................................................
67 ! ..................................................................
68
69
70
71 ! -----------------------------------------------------------------------
72
73 ! ...... calcul des latitudes et de y' .....
74
75 DO j = 1, jjm + 1
76 rlatu(j) = fy(float(j))
77 yprimu(j) = fyprim(float(j))
78 END DO
79
80
81 DO j = 1, jjm
82
83 rlatv(j) = fy(float(j)+0.5)
84 rlatu1(j) = fy(float(j)+0.25)
85 rlatu2(j) = fy(float(j)+0.75)
86
87 yprimv(j) = fyprim(float(j)+0.5)
88 yprimu1(j) = fyprim(float(j)+0.25)
89 yprimu2(j) = fyprim(float(j)+0.75)
90
91 END DO
92
93
94 ! ..... calcul des longitudes et de x' .....
95
96 DO i = 1, iim + 1
97 rlonv(i) = fx(float(i))
98 rlonu(i) = fx(float(i)+0.5)
99 rlonm025(i) = fx(float(i)-0.25)
100 rlonp025(i) = fx(float(i)+0.25)
101
102 xprimv(i) = fxprim(float(i))
103 xprimu(i) = fxprim(float(i)+0.5)
104 xprimm025(i) = fxprim(float(i)-0.25)
105 xprimp025(i) = fxprim(float(i)+0.25)
106 END DO
107
108
109 RETURN
110 END SUBROUTINE fxysinus
111

  ViewVC Help
Powered by ViewVC 1.1.21