source: LMDZ5/trunk/libf/dyn3dmem/inigrads.F @ 1745

Last change on this file since 1745 was 1673, checked in by Laurent Fairhead, 12 years ago

Fin du phasage de la dynamique parallele localisee (petite memoire) avec le tronc LMDZ5 r1671
Il reste quelques routines a verifier (en particulier ce qui touche a l'etude des cas academiques)
et la validation a effectuer


End of the phasing of the localised (low memory) parallel dynamics package with the
LMDZ5 trunk (r1671)
Some routines still need some checking (in particular the academic cases) and some
validation is still required

File size: 1.8 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 file*10,titlel*40
16
17#include "gradsdef.h"
18
19c     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
Note: See TracBrowser for help on using the repository browser.