git push -u origin main
This commit is contained in:
@@ -0,0 +1,61 @@
|
||||
SUBROUTINE MOLOP(ID,ABLIN,EMLIN,AVAB,ILIST)
|
||||
C ===========================================
|
||||
C
|
||||
C Total molecular line opacity (ABLIN) and emissivity (EMLIN)
|
||||
C
|
||||
INCLUDE 'PARAMS.FOR'
|
||||
INCLUDE 'MODELP.FOR'
|
||||
INCLUDE 'SYNTHP.FOR'
|
||||
INCLUDE 'LINDAT.FOR'
|
||||
PARAMETER (UN = 1.,
|
||||
* EXT0 = 3.17,
|
||||
* TEN = 10.)
|
||||
DIMENSION ABLIN(MFREQ),EMLIN(MFREQ)
|
||||
C
|
||||
DO IJ=1,NFREQ
|
||||
ABLIN(IJ)=0.
|
||||
EMLIN(IJ)=0.
|
||||
END DO
|
||||
C
|
||||
if(temp(id).gt.tmolim) return
|
||||
IF(NLINML(ILIST).EQ.0) RETURN
|
||||
if(inactm(ilist).ne.0) return
|
||||
C
|
||||
C overall loop over contributing lines
|
||||
C
|
||||
TEM1=UN/TEMP(ID)
|
||||
ANE=ELEC(ID)
|
||||
DO I=1,NLINML(ILIST)
|
||||
IL=INMLIN(I,ILIST)
|
||||
IMOL=INDATM(IL,ILIST)
|
||||
DOP1=DOPMOL(IMOL,ID)
|
||||
AGAM=(GRM(IL,ILIST)+GSM(IL,ILIST)*ANE+
|
||||
* GVDW(IL,ILIST,ID))*DOP1
|
||||
FR0=FREQM(IL,ILIST)
|
||||
AB0=EXP(GFM(IL,ILIST)-EXCLM(IL,ILIST)*TEM1)*RRMOL(IMOL,ID)*
|
||||
* DOP1*STIM(ID)
|
||||
C
|
||||
C set up limiting frequencies where the line I is supposed to
|
||||
C contribute to the opacity
|
||||
C
|
||||
EX0=AB0/AVAB*AGAM
|
||||
EXT=EXT0
|
||||
IF(EX0.GT.TEN) EXT=SQRT(EX0)
|
||||
EXT=EXT/DOP1
|
||||
XIJEXT=DFRCON*EXT+1.5
|
||||
IJ1=int(MAX(float(IJCMTR(I,ILIST))-XIJEXT,3.))
|
||||
IJ2=int(MIN(float(IJCMTR(I,ILIST))+XIJEXT,float(NFREQS)))
|
||||
IF(IJ1.LT.NFREQ.AND.IJ2.GT.2) THEN
|
||||
DO IJ=IJ1,IJ2
|
||||
XF=ABS(FREQ(IJ)-FR0)*DOP1
|
||||
ABLIN(IJ)=ABLIN(IJ)+AB0*VOIGTK(AGAM,XF)
|
||||
END DO
|
||||
END IF
|
||||
END DO
|
||||
C
|
||||
DO IJ=3,NFREQ
|
||||
EMLIN(IJ)=EMLIN(IJ)+ABLIN(IJ)*PLAN(ID)
|
||||
END DO
|
||||
C
|
||||
RETURN
|
||||
END
|
||||
Reference in New Issue
Block a user