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

Annotation of /trunk/dyn3d/fxysinus.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 82 - (hide annotations)
Wed Mar 5 14:57:53 2014 UTC (10 years, 3 months ago) by guez
File size: 3031 byte(s)
Changed all ".f90" suffixes to ".f".
1 guez 3
2 guez 81 ! $Header: /home/cvsroot/LMDZ4/libf/dyn3d/fxysinus.F,v 1.1.1.1 2004/05/19
3     ! 12:53:06 lmdzadmin Exp $
4 guez 3
5 guez 81 SUBROUTINE fxysinus(rlatu, yprimu, rlatv, yprimv, rlatu1, yprimu1, rlatu2, &
6     yprimu2, rlonu, xprimu, rlonv, xprimv, rlonm025, xprimm025, rlonp025, &
7     xprimp025)
8 guez 3
9    
10 guez 81 USE dimens_m
11     USE paramet_m
12     USE comconst
13     USE nr_util, ONLY: pi
14     IMPLICIT NONE
15 guez 3
16 guez 81 ! Calcul des longitudes et des latitudes pour une fonction f(x,y)
17     ! avec y = Asin( j ) .
18 guez 3
19 guez 81 ! Auteur : P. Le Van
20 guez 3
21    
22    
23 guez 81 INTEGER i, j
24 guez 3
25 guez 81 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 guez 3
30    
31 guez 81 ! $Header: /home/cvsroot/LMDZ4/libf/grid/fxy_sin.h,v 1.1.1.1 2004/05/19
32     ! 12:53:05 lmdzadmin Exp $
33 guez 3
34 guez 81 ! -----------------------------------------------------------------------
35 guez 3
36 guez 81 ! ................................................................
37     ! ................ Fonctions in line ...........................
38     ! ................................................................
39 guez 3
40 guez 81 REAL fy, fx, fxprim, fyprim
41     REAL ri, rj
42 guez 3
43 guez 81
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