source: trunk/pgm03/creat.f @ 2

Last change on this file since 2 was 1, checked in by cbipsl, 18 years ago

Geisa inital import

File size: 3.0 KB
Line 
1C       FORMAT='BINAIRE' SI LE FICHIER A LIRE EST EN BINAIRE(PAR DEFAUT)
2C            'FORMATE' SI LE FICHIER A LIRE EST EN FORMATE
3C     JUNI=NUMERO LOGIQUE DU FICHIER A LIRE (PAR DEFAUT 10)
4C       
5C     EN SORTIE LE NUMERO LOGIQUE DU FICHIER CREE EST KUNI=2
6C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
7C       
8C LAST MODIF : 06.05.1991 PASSAGE DE 40 A 75 MOLECULES DANS LES COMMON
9C       
10C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
11      subroutine creat(v,*)
12C       
13      character*132 fnt
14      character*112 fml
15      character*90  fmc,fb
16      character*44  fmt
17      character*7   form,bin
18      character*6   fff
19      character*4   blanc
20      character*3   pgm,ianl,iext,itrs,ilst,icop,info,icre,liste,
21     &              modif,iasr,remp,supp,ajou,oui
22      integer vers
23C       
24C GEISA90 : 16 -> 29
25C       
26      real nu1,nu2,v(1),vv(29)
27C       
28      common/p1/ nu1,nu2,dnu,nbclas,khist,kanal,vers,mode,liste
29      common/p3/ imole,iran,ival,pgm,ianl,iext,itrs,ilst,icop,info,icre
30      common/p4/ nmol,knmol,ksot,kksot,ntab,nhist,kp,lre,form,bin,modif
31      common/p6/ iasr,remp,supp,ajou,imp8,imp9,in40,in41,in42,in43,n97
32      common/ffff/ fml,fmc,fmt,fnt,fff
33      common/entsor/iuni,juni,kuni,ient,isor,iper,nresv,maxx,blanc,oui
34C       
35      equivalence (vv(1),vv1)
36      equivalence (n203,n97)
37C       
38      data dv/100./
39      include 'geisafile.h'
40C       
41      len=ltrim(filename_bin)
42      open(unit=kuni,access='direct',recl=11276,status='new',
43     &form='unformatted',file=filename_bin(1:len))
44C       
45      rewind juni
46      if(mode.eq.0) go to 14
47C       
48C     FICHIER JUNI FORMATE
49C       
50      do 10 j=1,90
5110    fb(j:j)=fmc(j:j)
52      go to 22
5314    continue
54C       
55C     FICHIER JUNI BINAIRE
56C       
57      do 15 j=1,6
5815    fb(j:j)=fff(j:j)
59C     MIS A BLANC DU RESTE DU TABLEAU
60      do 20 j=7,80
6120    fb(j:j)=fmc(6:6)
6222    continue
63      read (juni,fb,err=4544) (vv(kk),kk=1,24)
64      go to 4543
654544  print *,'mauvais record lu: '
66      write(*,*) 'TT ',fb
67      write(*,fb) (vv(kk),kk=1,24)
68c     write(96,*) (vv(kk),kk=1,24)
694543  nu1=vv1
70      inte=int(nu1/dv)
71      k=1
72      kq=0
7325    continue
74      read (juni,fb,end=30,err=4444) (vv(kk),kk=1,24)
75      go to 4441
764444  print *,'mauvais record lu(2): '
77      write(*,fb) (vv(kk),kk=1,24)
78C     write(96,*) (vv(kk),kk=1,24)
794441  jnte=int(vv1/dv)
80      if(jnte.ne.inte) go to 26
81      k=k+1
82      go to 25
8326    continue
84      kq=kq+k/n203+1
85      if(k-(k/n203)*n203.eq.0) kq=kq-1
86      k=1
87      inte=jnte
88      go to 25
8930    continue
90C       
91C     ET CALCUL LA PLUS GRANDE FREQUENCE DU FICHIER DES RAIES JUNI
92C       
93      nu2=vv1
94      kq=kq+k/n203+1
95      if(k-(k/n203)*n203.eq.0) kq=kq-1
96C     AJOUTER LA 1ERE PISTE ET LA DERNIERE PISTE A PREVOIR
97      kq=kq+2
9840    continue
99      rewind juni
100      call geisad(    v,v,juni,kuni,pgm,isor,fb,*130)
101      return
102300   continue
103      write(isor,3000) nu1,nu2
1043000  format(/// ' *cre*   interval   : nu1=',f12.6,3x,'nu2=',f12.6)
105130   continue
106      return 1
107      end
Note: See TracBrowser for help on using the repository browser.