source: codes/icosagcm/branches/SATURN_DYNAMICO/LMDZ.COMMON/config/ppsrc/dyn3d_common/inigrads.f @ 224

Last change on this file since 224 was 224, checked in by ymipsl, 10 years ago
File size: 2.5 KB
Line 
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(len=*),intent(in) :: file
16      character(len=*),intent(in) :: titlel
17
18!
19! $Header$
20!
21      integer nfmx,imx,jmx,lmx,nvarmx
22      parameter(nfmx=10,imx=200,jmx=150,lmx=200,nvarmx=1000)
23
24      real xd(imx,nfmx),yd(jmx,nfmx),zd(lmx,nfmx),dtime(nfmx)
25
26      integer imd(imx),jmd(jmx),lmd(lmx)
27      integer iid(imx),jid(jmx)
28      integer ifd(imx),jfd(jmx)
29      integer unit(nfmx),irec(nfmx),itime(nfmx),nld(nvarmx,nfmx)
30
31      integer nvar(nfmx),ivar(nfmx)
32      logical firsttime(nfmx)
33
34      character*10 var(nvarmx,nfmx),fichier(nfmx)
35      character*40 title(nfmx),tvar(nvarmx,nfmx)
36
37      common/gradsdef/xd,yd,zd,dtime,
38     s   imd,jmd,lmd,iid,jid,ifd,jfd,
39     s   unit,irec,nvar,ivar,itime,nld,firsttime,
40     s   var,fichier,title,tvar
41
42c     data unit/66,32,34,36,38,40,42,44,46,48/
43      integer nf
44      save nf
45      data nf/0/
46
47      unit(1)=66
48      unit(2)=32
49      unit(3)=34
50      unit(4)=36
51      unit(5)=38
52      unit(6)=40
53      unit(7)=42
54      unit(8)=44
55      unit(9)=46
56
57      if (if.le.nf) stop'verifier les appels a inigrads'
58
59      print*,'Entree dans inigrads'
60
61      nf=if
62      title(if)=titlel
63      ivar(if)=0
64
65      fichier(if)=trim(file)
66
67      firsttime(if)=.true.
68      dtime(if)=dt
69
70      iid(if)=1
71      ifd(if)=im
72      imd(if)=im
73      do i=1,im
74         xd(i,if)=x(i)*fx
75         if(xd(i,if).lt.xmin) iid(if)=i+1
76         if(xd(i,if).le.xmax) ifd(if)=i
77      enddo
78      print*,'On stoke du point ',iid(if),'  a ',ifd(if),' en x'
79
80      jid(if)=1
81      jfd(if)=jm
82      jmd(if)=jm
83      do j=1,jm
84         yd(j,if)=y(j)*fy
85         if(yd(j,if).gt.ymax) jid(if)=j+1
86         if(yd(j,if).ge.ymin) jfd(if)=j
87      enddo
88      print*,'On stoke du point ',jid(if),'  a ',jfd(if),' en y'
89
90      print*,'Open de dat'
91      print*,'file=',file
92      print*,'fichier(if)=',fichier(if)
93
94      print*,4*(ifd(if)-iid(if))*(jfd(if)-jid(if))
95      print*,trim(file)//'.dat'
96
97      OPEN (unit(if)+1,FILE=trim(file)//'.dat'
98     s   ,FORM='unformatted',
99     s   ACCESS='direct'
100     s  ,RECL=4*(ifd(if)-iid(if)+1)*(jfd(if)-jid(if)+1))
101
102      print*,'Open de dat ok'
103
104      lmd(if)=lm
105      do l=1,lm
106         zd(l,if)=z(l)*fz
107      enddo
108
109      irec(if)=0
110
111      print*,if,imd(if),jmd(if),lmd(if)
112      print*,'if,imd(if),jmd(if),lmd(if)'
113
114      return
115      end
Note: See TracBrowser for help on using the repository browser.