My Project
 All Classes Files Functions Variables Macros
inigrads.F
Go to the documentation of this file.
1 !
2 ! $Header$
3 !
4  subroutine inigrads(if,im
5  s ,x,fx,xmin,xmax,jm,y,ymin,ymax,fy,lm,z,fz
6  s ,dt,file,titlel)
7 
8 
9  implicit none
10 
11  integer if,im,jm,lm,i,j,l
12  real x(im),y(jm),z(lm),fx,fy,fz,dt
13  real xmin,xmax,ymin,ymax
14 
15  character file*10,titlel*40
16 
17 #include "gradsdef.h"
18 
19 c data unit/66,32,34,36,38,40,42,44,46,48/
20  integer nf
21  save nf
22  data nf/0/
23 
24  unit(1)=66
25  unit(2)=32
26  unit(3)=34
27  unit(4)=36
28  unit(5)=38
29  unit(6)=40
30  unit(7)=42
31  unit(8)=44
32  unit(9)=46
33 
34  if (if.le.nf) stop'verifier les appels a inigrads'
35 
36  print*,'Entree dans inigrads'
37 
38  nf=if
39  title(if)=titlel
40  ivar(if)=0
41 
42  fichier(if)=trim(file)
43 
44  firsttime(if)=.true.
45  dtime(if)=dt
46 
47  iid(if)=1
48  ifd(if)=im
49  imd(if)=im
50  do i=1,im
51  xd(i,if)=x(i)*fx
52  if(xd(i,if).lt.xmin) iid(if)=i+1
53  if(xd(i,if).le.xmax) ifd(if)=i
54  enddo
55  print*,'On stoke du point ',iid(if),' a ',ifd(if),' en x'
56 
57  jid(if)=1
58  jfd(if)=jm
59  jmd(if)=jm
60  do j=1,jm
61  yd(j,if)=y(j)*fy
62  if(yd(j,if).gt.ymax) jid(if)=j+1
63  if(yd(j,if).ge.ymin) jfd(if)=j
64  enddo
65  print*,'On stoke du point ',jid(if),' a ',jfd(if),' en y'
66 
67  print*,'Open de dat'
68  print*,'file=',file
69  print*,'fichier(if)=',fichier(if)
70 
71  print*,4*(ifd(if)-iid(if))*(jfd(if)-jid(if))
72  print*,trim(file)//'.dat'
73 
74  OPEN (unit(if)+1,file=trim(file)//'.dat'
75  s ,form='unformatted',
76  s access='direct'
77  s ,recl=4*(ifd(if)-iid(if)+1)*(jfd(if)-jid(if)+1))
78 
79  print*,'Open de dat ok'
80 
81  lmd(if)=lm
82  do l=1,lm
83  zd(l,if)=z(l)*fz
84  enddo
85 
86  irec(if)=0
87 
88  print*,if,imd(if),jmd(if),lmd(if)
89  print*,'if,imd(if),jmd(if),lmd(if)'
90 
91  return
92  end