source: trunk/pgm03/infor.f.old @ 1

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

Geisa inital import

File size: 8.2 KB
Line 
1C     SORTIE DE CERTAINS RENSEIGNEMENTS SUR LA
2C     SPECTROSCOPIC DATA BANK
3C       
4C     SANS AUCUN PARAMETRE SORTIE DES FREQUENCES MOLECULES ET DU CODAGE
5C     DE LA VERSION LA PLUS RECENTE
6C     LISTE='CTLG' IMPRESSION DU CATALOGUE DE LA BANQUE(ENTRE NU1-NU2)
7C     SI NU1 ET NU2 OMIS TOUT LE CATALOGUE
8C     LISTE='OPT' LISTE DES OPTIONS DISPONIBLES
9C       
10C     ANAL='OUI' SORTIE DES FREQUENCES MOLECULES-ISOTOPES (SANS LECTURE
11C                DE LA BANQUE)
12C       
13C     TRANS='OUI' SORTIE DES TRANSITIONS (SANS LECTURE DE LA BANQUE)
14C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
15C       
16C LAST MODIF : 06.05.1991 PASSAGE DE 40 MOLECULES A 75 DANS LES COMMON
17C LAST MODIF : 04.12.1996 PASSAGE DE 42 MOLECULES A 75 DANS LES COMMON
18C       
19C - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *
20      subroutine infor(pp,ia)
21C       
22      logical*1 pp(1)
23      character*44  fmt
24      character*9   trs1,trs2
25      character*7   form,bin
26      character*4   code,ctlg,mole,blanc,coli6
27      character*3   pgm,ianl,iext,itrs,ilst,icop,info,icre,
28     &              oui,iopt,liste,iasr,remp,supp,ajou,modif,trans
29      character*2   icod,ikod
30      character*1   moins,slash,bl,ch5,ch6
31      integer ia(1),vers,nbtr(75)
32      real nu1,nu2,vnu(4)
33C       
34      common/p1/ nu1,nu2,dnu,nbclas,khist,kanal,vers,mode,liste
35      common/p2/ mole(75),isot(100),nbi(75),nbt(75),iopt,ctlg,trans,
36     &           trs1,trs2
37      common/p3/ imole,iran,ival,pgm,ianl,iext,itrs,ilst,icop,info,icre
38      common/p4/ nmol,knmol,ksot,kksot,ntab,nhist,kp,lre,form,bin,modif
39      common/p5/ code(75),nn(150),nq(150),ikod(18),icod(18),jdeb(75)
40      common/p6/ iasr,remp,supp,ajou,imp8,imp9,in40,in41,in42,in43,n97
41      common/entsor/iuni,juni,kuni,ient,isor,iper,nresv,maxx,blanc,oui
42C       
43      data vnu/0.   ,22656.465,0.   ,0.        /
44      data moins,slash,bl/'-','/',' '/
45C     DATA NBTR91
46C    & / 49296, 60948,168881, 24125, 13205, 40514,  2254,  7385, 23659,
47C    &   55468,  6784,  4635,143021,  8676,   107,   371,   398,   237,
48C    &    6020,  4171,  2702,  8944,  6457,  1258,   203,   824,  2575,
49C    &    9019,  2577,  1405,  2027, 15565,   117,  6687,  5444,  4058,
50C    &    3388, 18242, 11520,  3390,   35*0/
51      data nbtr
52     & / 50217, 62816,281607, 26771, 13515, 66883,  6292, 94738, 38853,
53     &  100680, 11152,  4635,171504, 41786,   107,   533,   576,   237,
54     &    7230, 24922,  2702, 14981, 11524,  1668, 12978,   824,  2575,
55     &    9019,  2577,  1405,  2027, 15565,   117,  9355,100781, 20788,
56     &    3388, 54866, 11520,  3390, 26963, 32199, 33*0/
57      data fmt/'(27x,a4,a1,a1,i10,7x,a1,   (i3,a1),   x,i6)'/
58c     ivers=(vers-97)*40
59c     jvers=(vers-97)*2
60      ivers=0
61      jvers=0
62      if(liste.eq.iopt) go to 50
63      if(liste.eq.ctlg) go to 40
64C       
65C     IMPRESSIONS DES FREQUENCES MOLECULES DE LA BANQUE VERSION VERS
66C       
67      write(isor,3000)  vers,pgm,pgm
683000  format(1x,17('*'),98x,17('*')/1x,'* geisa   geisa *',
69     &36x,'spectroscopic data bank GEISA',i2.2,31x,
70     &'* geisa   geisa *'/' *',6x,a3,6x,'*',98x,'*',6x,a3,6x,'*'/
71     &' * geisa   geisa *',98x,'* geisa   geisa *'/,
72     &1x,17('*'),98x,17('*'))
73      liste=iopt
74      write(isor,3010)
753010  format        (/27x,'molecules   code  ',7x,'isotopes',
76     &25x,'number of transitions'/
77     &27x,'---------   ----  ',7x,8('-'),25x,'------ -- -----------'/)
78      kt=0
79      do 35 i=1,nmol
80      nbtri=nbtr(ivers+i)
81      kt=kt+nbtri
82      kk=jdeb(i)
83      ki=kk+1
84      kf=kk+nn(kk)
85      jj=0
86      do 33 j=ki,kf
87      if(.not.pp(nn(j)))go to 33
88      jj=jj+1
89      ia(jj)=nn(j)
9033    continue
91      j1=jj-1
92      fmt(26:27)=icod(jj)
93      icoli6=42-4*jj+1
94      write(coli6,'(i4.4)')icoli6
95      fmt(37:38)=coli6(3:4)
96C       
97C     AJOUT DU 5EME et (6eme) CARACTERE DES MOLECULES  CH3CL,HCOOH, CLONO2
98      ch5=bl
99      ch6=bl
100      if(i.eq.34) ch5='l'
101      if(i.eq.37) ch5='h'
102      if(i.eq.42) ch5='o'
103      if(i.eq.42) ch6='2'
104C************RAJOUT DE ,nbtri A LA FIN DE CHAQUE TEST************
105      if(jj.ne.1)
106     &write(isor,fmt)code(i),ch5,ch6,i,slash,(ia(j),moins,j=1,j1),
107     &ia(jj),slash,nbtri
108      if(jj.eq.1) write(isor,fmt) code(i),ch5,ch6,i,slash,ia(jj),slash
109     &,nbtri
11035    continue
111      write(isor,3030) kt,kt,vnu(jvers+1),vnu(jvers+2)
1123030  format(94x,'------'/86x,'total=',i8//27x,'the bank contains    ',
113     &i8,' lines in the spectral range',
114     &2x,'nu1=',f10.4,' and nu2=',f10.4)
115      if(liste.eq.oui) write(isor,4000)
1164000  format(//40x,'(a)  wavenumber (cm-1)'/
117     &40x,'(b)  intensity (cm molec-1 at 296 k)'/
118     &40x,'(c)  collision halfwidth (cm-1 atm-1)'/
119     &40x,'(d)  energy of the lower level of the transition (cm-1)'/
120     &40x,'(e)  identification of the transition'/
121     &40x,'(f)  coefficient for temperature dependence of halfwidth'/
122     &40x,'(g)  identification of the isotope'/
123     &40x,'(h)  identification of the molecule'/
124     &40x,'(i)  geisa internal code for data identification'/)
125      go to 100
12640    continue
127C       
128C     LISTE CATALOGUE
129      call pgeisa(0.,99999.)
130      read (iuni,rec=1)
131     &aa1,aa2,anu,n203,nbraie,nbmol,iecr,ifin,ll1,ll2,ll3,ll4
132      vers=ll3
133      write(isor,3000) vers,pgm,pgm
134      ipp=ifin-1
135      if(nu1.eq.-1.) nu1=aa1
136      if(nu2.eq.-1.) nu2=aa2
137      write(isor,4100) nbraie,aa1,aa2,ipp,anu,n203,vers,nu1,nu2
1384100  format(//1x,'the bank contains',i8,' raies comprises entre nu1
139     &=',f12.3,' et nu2=',f10.3//' le nombre de records reellement occup
140     &ees est de : ',i4,' records'//  ' les transitions figurent dans la
141     & banque par groupes de ',f4.0,' cm-1 dans un format chaine'
142     &//' chaque record comprend au maximum ',i4,' raies'//
143     &/1x,          'liste du catalogue d
144     &e GEISA',i2,3x,'pour les blocks tels que : ',f10.3,' < nu < ',
145     &f10.3/1x,29('*')//1x,23x,'block lu',22x,5x,3x,'block precedent',
146     &    3x,5x,4x,'block suivant',4x/24x,8('*'),30x,15('*'),12x,13('*')
147     &//' numero  nombre de raies  premiere raie  derniere raie     nume
148     &ro  derniere raie     numero  premiere raie     ligne   total/grou
149     &pe'/1x,                                                    '------
150     &  ------ -- -----  -------- ----  -------- ----     ------  ------
151     &-- ----     ------  -------- ----     -----   ------------')
152      write(isor,4101) nbmol
1534101  format(' cette banque contient : ',i2,' molecules'/)
154      kk=0
155      kkk=0
156      iecr1=int(aa2/anu) + 2 - int(aa1/anu)
157      i=0
158      iadr=int(nu1/anu) + 2 - int(aa1/anu)
15945    continue
160      i=i+1
161      ilec=iadr
162      read (iuni,rec=ilec) iadr,jadr,k,a1,a2,a3,v1
163C       
164C GEISA90 : 16 -> 29
165C       
166      k=k/29
167      write(isor,4200) ilec,k,v1,a3,jadr,a2,iadr,a1,i
1684200  format(1x,i5,8x,i3,8x,f12.6,3x,f12.6,6x,i5,3x,f12.6,6x,i5,3x,f12.6
169     &,6x,i4)
170      kk=kk+k
171      kkk=kkk+k
172      if(iadr.gt.iecr1) go to 49
173      write(isor,4201) kk
1744201  format(116x,3x,i9)
175      kk=0
17649    continue
177      if(nu2.gt.a1) go to 45
178      write(isor,4201) kk
179      write(isor,4202) kkk
1804202  format(1x,115x,6x,'------'/1x,113x,'total : ',i6)
181      return
18250    continue
183C       
184C     LISTE DES OPTIONS
185      write(isor,3000) vers,pgm,pgm
186      write(isor,5000)
1875000  format(//51x,'list of available options in GEISA software  ',
188     &//26x,82('*'))
189      write(isor,5005)
1905005  format(26x,'* &geisa pgm=''anl'',nu1,nu2,dnu,mole,anal /     '
191     &,34x,'*'/
192     &26x,'* &geisa pgm=''anl'',nu1,nu2,dnu,mole,isot,histo,nbclas /
193     &    ',18x,'*'/26x,'*',80x,'*')
194      write(isor,5010)
1955010  format(26x,'* &geisa pgm=''cop'',nu1,nu2 /',53x,'*'
196     &/26x,'*',80x,'*')
197      write(isor,5015)
1985015  format(26x,'* &geisa pgm=''cre'',format,juni /',49x,
199     &'*'/26x,'*',80x,'*')
200      write(isor,5020)
2015020  format(26x,'* &geisa pgm=''ext'',nu1,nu2,mole,isot,liste,format,ju
202     &ni /    ',21x,'*'/26x,'*',80x,'*')
203      write(isor,5025)
2045025  format(26x,'* &geisa pgm=''inf'' /',61x,'*')
205      write(isor,5026)
2065026  format(26x,'* &geisa pgm=''inf'',liste=''opt'' /     ',44x,'*')
207      write(isor,5030)
2085030  format(26x,'* &geisa pgm=''lst'',nu1,nu2,mole,isot,liste,format,ju
209     &ni,iuni /     ',15x,'*'/26x,'*',80x,'*')
210      write(isor,5035)
2115035  format(26x,'* &geisa pgm=''trs'',nu1,nu2,mole,iuni /',43x,'*')
212      write(isor,5050)
2135050  format(26x,82('*'))
214      liste='   '
215100   continue
216      return
217      end
Note: See TracBrowser for help on using the repository browser.