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

Annotation of /trunk/dyn3d/fxysinus.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 81 - (hide annotations)
Wed Mar 5 14:38:41 2014 UTC (10 years, 2 months ago) by guez
Original Path: trunk/dyn3d/fxysinus.f90
File size: 3031 byte(s)
 Converted to free source form files which were still in fixed source
form. The conversion was done using the polish mode of the NAG Fortran
Compiler.

In addition to converting to free source form, the processing of the
files also:

-- indented the code (including comments);

-- set Fortran keywords to uppercase, and set all other identifiers
to lower case;

-- added qualifiers to end statements (for example "end subroutine
conflx", instead of "end");

-- changed the terminating statements of all DO loops so that each
loop ends with an ENDDO statement (instead of a labeled continue).

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