/[lmdze]/trunk/libf/dyn3d/inigrads.f90
ViewVC logotype

Annotation of /trunk/libf/dyn3d/inigrads.f90

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3 - (hide annotations)
Wed Feb 27 13:16:39 2008 UTC (16 years, 2 months ago) by guez
File size: 2262 byte(s)
Initial import
1 guez 3 module inigrads_m
2    
3     ! This module is clean: no C preprocessor directive, no include line.
4    
5     implicit none
6    
7     contains
8    
9     subroutine inigrads(i_f, x, fx, xmin, xmax, y, ymin, ymax, fy, z, fz, dt, &
10     file, titlel)
11    
12     ! From dyn3d/inigrads.F, v 1.1.1.1 2004/05/19 12:53:07
13    
14     use gradsdef, only: unit, title, ivar, fichier, firsttime, dtime, iid, &
15     ifd, imd, xd, iid, jid, jfd, jmd, yd, lmd, zd, irec
16    
17     integer, intent(in):: i_f
18     real, intent(in):: x(:), y(:), z(:), fx, fy, fz, dt
19     real, intent(in):: xmin, xmax, ymin, ymax
20     character(len=*), intent(in):: file, titlel
21    
22     ! Variables local to the procedure:
23     integer im, jm, lm
24     integer i, j, l
25     integer:: nf = 0
26    
27     !-------------------------------------
28    
29     print *, 'Call sequence information: inigrads'
30    
31     im = size(x)
32     jm = size(y)
33     lm = size(z)
34    
35     unit(1)=66
36     unit(2)=32
37     unit(3)=34
38     unit(4)=36
39     unit(5)=38
40     unit(6)=40
41     unit(7)=42
42     unit(8)=44
43     unit(9)=46
44    
45     if (i_f.le.nf) stop'verifier les appels a inigrads'
46    
47     nf=i_f
48     title(i_f)=titlel
49     ivar(i_f)=0
50    
51     fichier(i_f)=trim(file)
52    
53     firsttime(i_f)=.true.
54     dtime(i_f)=dt
55    
56     iid(i_f)=1
57     ifd(i_f)=im
58     imd(i_f)=im
59     do i=1, im
60     xd(i, i_f)=x(i)*fx
61     if(xd(i, i_f).lt.xmin) iid(i_f)=i+1
62     if(xd(i, i_f).le.xmax) ifd(i_f)=i
63     enddo
64     print *, 'On stoke du point ', iid(i_f), ' à ', ifd(i_f), ' en x'
65    
66     jid(i_f)=1
67     jfd(i_f)=jm
68     jmd(i_f)=jm
69     do j=1, jm
70     yd(j, i_f)=y(j)*fy
71     if(yd(j, i_f).gt.ymax) jid(i_f)=j+1
72     if(yd(j, i_f).ge.ymin) jfd(i_f)=j
73     enddo
74     print *, 'On stoke du point ', jid(i_f), ' à ', jfd(i_f), ' en y'
75    
76     print *, 'fichier(i_f)=', fichier(i_f)
77     print *, 4 * (ifd(i_f) - iid(i_f)) * (jfd(i_f) - jid(i_f))
78     print *, 'Opening "' // trim(file) // '.dat"...'
79    
80     OPEN(unit=unit(i_f)+1, FILE=trim(file)//'.dat', FORM='unformatted', &
81     ACCESS='direct', RECL=4*(ifd(i_f)-iid(i_f)+1)*(jfd(i_f)-jid(i_f)+1))
82    
83     lmd(i_f)=lm
84     do l=1, lm
85     zd(l, i_f)=z(l)*fz
86     enddo
87    
88     irec(i_f)=0
89     print *, "i_f = ", i_f
90     print *, "imd(i_f) = ", imd(i_f)
91     print *, "jmd(i_f) = ", jmd(i_f)
92     print *, "lmd(i_f) = ", lmd(i_f)
93    
94     end subroutine inigrads
95    
96     end module inigrads_m

  ViewVC Help
Powered by ViewVC 1.1.21