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

Annotation of /trunk/dyn3d/fxysinus.f

Parent Directory Parent Directory | Revision Log Revision Log


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

  ViewVC Help
Powered by ViewVC 1.1.21