86 lines
2.3 KiB
Fortran
86 lines
2.3 KiB
Fortran
SUBROUTINE LEMINI
|
|
C =================
|
|
C
|
|
C Initializes necessary arrays for evaluating hydrogen line profiles
|
|
C from the Lemke tables
|
|
C
|
|
INCLUDE 'IMPLIC.FOR'
|
|
INCLUDE 'BASICS.FOR'
|
|
INCLUDE 'MODELQ.FOR'
|
|
C
|
|
DO I=1,4
|
|
DO J=1,22
|
|
ILINH(I,J)=0
|
|
END DO
|
|
END DO
|
|
if(ihydpr.eq.21) then
|
|
open(unit=ihydpr,file='./data/lemke.dat',status='old')
|
|
write(6,641) ihydpr
|
|
else if(ihydpr.eq.22) then
|
|
open(unit=ihydpr,file='./data/tremblay.dat',status='old')
|
|
write(6,642) ihydpr
|
|
end if
|
|
641 format(' -----------'/
|
|
* ' reading Lemke tables; ihydpr =',i3,/
|
|
* ' -----------')
|
|
642 format(' -----------'/
|
|
* ' reading Tremblay tables; ihydpr =',i3,/
|
|
* ' -----------')
|
|
C
|
|
C ---------------------------------
|
|
C read Lemke or Tremblay tables
|
|
C ---------------------------------
|
|
C
|
|
ILINE=0
|
|
READ(IHYDPR,*) NTAB
|
|
DO ITAB=1,NTAB
|
|
ILINEB=ILINE
|
|
READ(IHYDPR,*) NLLY
|
|
DO ILI=1,NLLY
|
|
ILINE=ILINE+1
|
|
READ(IHYDPR,*) I,J,ALMIN,ANEMIN,TMIN,DLA,DLE,DLT,
|
|
* NWL,NE,NT
|
|
write(6,643) ntab,nlly,iline,i,j
|
|
643 format(' ntab,nlly,iline,i,j ',5i4)
|
|
ILINH(I,J)=ILINE
|
|
NWLH(ILINE)=NWL
|
|
NWLHYD(ILINE)=NWL
|
|
NTH(ILINE)=NT
|
|
NEH(ILINE)=NE
|
|
DO IWL=1,NWL
|
|
WLH(IWL,ILINE)=ALMIN+(IWL-1)*DLA
|
|
WLHYD(ILINE,IWL)=WLH(IWL,ILINE)
|
|
WLH(IWL,ILINE)=EXP(2.3025851*WLH(IWL,ILINE))
|
|
END DO
|
|
DO INE=1,NE
|
|
XNELEM(INE,ILINE)=ANEMIN+(INE-1)*DLE
|
|
END DO
|
|
DO IT=1,NT
|
|
XTLEM(IT,ILINE)=TMIN+(IT-1)*DLT
|
|
END DO
|
|
END DO
|
|
c
|
|
DO ILI=1,NLLY
|
|
ILNE=ILINEB+ILI
|
|
NWL=NWLH(ILNE)
|
|
READ(IHYDPR,500)
|
|
DO INE=1,NEH(ILNE)
|
|
DO IT=1,NTH(ILNE)
|
|
READ(IHYDPR,*) QLT,(PRFHYD(ILNE,IWL,IT,INE),IWL=1,NWL)
|
|
END DO
|
|
END DO
|
|
C
|
|
C coefficient for the asymptotic profile is determined from
|
|
C the input data
|
|
C
|
|
XCLOG=PRFHYD(ILNE,NWL,1,1)+2.5*WLHYD(ILNE,NWL)-0.477121
|
|
XKLOG=0.6666667*XCLOG
|
|
XK0(ILNE)=EXP(XKLOG*2.3025851)
|
|
END DO
|
|
END DO
|
|
CLOSE(IHYDPR)
|
|
500 FORMAT(1X)
|
|
C
|
|
RETURN
|
|
END
|