/[lmdze]/trunk/filtrez/inifgn.f
ViewVC logotype

Contents of /trunk/filtrez/inifgn.f

Parent Directory Parent Directory | Revision Log Revision Log


Revision 76 - (show annotations)
Fri Nov 15 18:45:49 2013 UTC (10 years, 6 months ago) by guez
File size: 2215 byte(s)
Moved everything out of libf.
1 !
2 ! $Header: /home/cvsroot/LMDZ4/libf/filtrez/inifgn.F,v 1.1.1.1 2004/05/19 12:53:09 lmdzadmin Exp $
3 !
4 SUBROUTINE inifgn(dv)
5 c
6 c ... H.Upadyaya , O.Sharma ...
7 c
8 use dimens_m
9 use paramet_m
10 use comgeom
11 use serre
12 use coefils
13 IMPLICIT NONE
14 c
15
16 c
17 REAL vec(iim,iim),vec1(iim,iim)
18 REAL dlonu(iim),dlonv(iim)
19 REAL du(iim),dv(iim),d(iim)
20 REAL pi
21 INTEGER i,j,k,imm1,nrot
22 C
23 c
24 EXTERNAL SSUM, acc, jacobi
25 CC EXTERNAL eigen
26 REAL SSUM
27 c
28
29 imm1 = iim -1
30 pi = 2.* ASIN(1.)
31 C
32 DO 5 i=1,iim
33 dlonu(i)= xprimu( i )
34 dlonv(i)= xprimv( i )
35 5 CONTINUE
36
37 DO 12 i=1,iim
38 sddv(i) = SQRT(dlonv(i))
39 sddu(i) = SQRT(dlonu(i))
40 unsddu(i) = 1./sddu(i)
41 unsddv(i) = 1./sddv(i)
42 12 CONTINUE
43 C
44 DO 17 j=1,iim
45 DO 17 i=1,iim
46 vec(i,j) = 0.
47 vec1(i,j) = 0.
48 eignfnv(i,j) = 0.
49 eignfnu(i,j) = 0.
50 17 CONTINUE
51 c
52 c
53 eignfnv(1,1) = -1.
54 eignfnv(iim,1) = 1.
55 DO 20 i=1,imm1
56 eignfnv(i+1,i+1)= -1.
57 eignfnv(i,i+1) = 1.
58 20 CONTINUE
59 DO 25 j=1,iim
60 DO 25 i=1,iim
61 eignfnv(i,j) = eignfnv(i,j)/(sddu(i)*sddv(j))
62 25 CONTINUE
63 DO 30 j=1,iim
64 DO 30 i=1,iim
65 eignfnu(i,j) = -eignfnv(j,i)
66 30 CONTINUE
67 c
68 DO j = 1, iim
69 DO i = 1, iim
70 vec (i,j) = 0.0
71 vec1(i,j) = 0.0
72 DO k = 1, iim
73 vec (i,j) = vec(i,j) + eignfnu(i,k) * eignfnv(k,j)
74 vec1(i,j) = vec1(i,j) + eignfnv(i,k) * eignfnu(k,j)
75 ENDDO
76 ENDDO
77 ENDDO
78
79 c
80 CALL jacobi(vec,iim,iim,dv,eignfnv,nrot)
81 CALL acc(eignfnv,d,iim)
82 CALL eigen_sort(dv,eignfnv,iim,iim)
83 c
84 CALL jacobi(vec1,iim,iim,du,eignfnu,nrot)
85 CALL acc(eignfnu,d,iim)
86 CALL eigen_sort(du,eignfnu,iim,iim)
87
88 cc ancienne version avec appels IMSL
89 c
90 c CALL MXM(eignfnu,iim,eignfnv,iim,vec,iim)
91 c CALL MXM(eignfnv,iim,eignfnu,iim,vec1,iim)
92 c CALL EVCSF(iim,vec,iim,dv,eignfnv,iim)
93 c CALL acc(eignfnv,d,iim)
94 c CALL eigen(eignfnv,dv)
95 c
96 c CALL EVCSF(iim,vec1,iim,du,eignfnu,iim)
97 c CALL acc(eignfnu,d,iim)
98 c CALL eigen(eignfnu,du)
99
100 RETURN
101 END
102

  ViewVC Help
Powered by ViewVC 1.1.21