subroutine exopf(indmol,t,u) c ============================ c c oartition functions from EXOMOL for 32 molewcular species c INCLUDE 'PARAMS.FOR' parameter (nmol=32) character*4 filpf(nmol) character*7 fil character*6 fil1 character*1 fil0 character*17 fil5 character*18 fil6 dimension indtsu(nmol),ntemp(nmol),pf(nmol,10000) c data filpf/ * ' AlO',' C2',' CH',' CN',' CO', * ' CS',' CaH',' CaO',' CrH',' FeH', * ' H2',' HCl',' HF',' MgH',' MgO', * ' N2',' NH',' NO',' NS',' NaH', * ' OH',' PH',' SH',' SiH',' SiO', * ' SiS',' TiH',' TiO',' VO', ^ ' H2O',' H2S',' CO2'/ data ntemp/ * 9, 10, 8, 3, 9, 3, 3, 8, 3, 10, * 10, 5, 5, 3, 5, 9, 5, 5, 5, 5, * 5, 4, 5, 5, 9, 5, 48, 8, 8, 10, * 3, 5/ data indtsu/ * 134, 8, 5, 7, 6, 20, 34, 179, 198, 214, * 2, 36, 33, 32, 126, 9, 12, 11, 23, 122, * 4, 148, 16, 17, 25, 28, 315, 29, 30, 3, * 57, 44/ data iread /1/ c if(iread.eq.1) then do i=1,nmol ntemp(i)=ntemp(i)*1000 end do ntemp(27)=ntemp(27)/10 do i=1,nmol fil=filpf(i)//'.pf' fil1=fil(2:) fil0=fil1(:1) if(fil0.eq.' ') then fil5='data/EXOMOL/'//fil1(2:) open(unit=67,file=fil5,status='old') else fil6=fil1 open(unit=67,file='data/EXOMOL/'//fil6,status='old') end if do j=1,ntemp(i) read(67,*) tt,pf(i,j) end do close(67) end do iread=0 end if c ie=0 u=0. do i=1,nmol if(indtsu(i).eq.indmol) ie=i end do if(ie.eq.0) return c tmax=float(ntemp(ie)) if(t.le.tmax) then j=int(t) u=pf(ie,j) else call irwpf(0,0,indmol,tmax,umx) call irwpf(0,0,indmol,t,uirw) u=pf(ie,ntemp(ie))/umx*uirw end if c return end