60 lines
1.4 KiB
Fortran
60 lines
1.4 KiB
Fortran
!==============================================================================
|
||
! SYNSPEC54 主程序
|
||
!
|
||
! Program for evaluating synthetic spectra for a given model atmosphere
|
||
!
|
||
! 版本:SYNSPEC54
|
||
!==============================================================================
|
||
|
||
PROGRAM SYNSPEC
|
||
USE params_module
|
||
USE lindat_module
|
||
USE modelp_module
|
||
USE synthp_module
|
||
|
||
IMPLICIT NONE
|
||
|
||
INTEGER :: ifeos, ibfac, LTE0, inmod, ichang, ifwin, imode0
|
||
|
||
! 打开输出文件
|
||
OPEN(UNIT=12, STATUS='UNKNOWN')
|
||
OPEN(UNIT=14, STATUS='UNKNOWN')
|
||
|
||
! 初始化 - 输入基本参数和模型大气
|
||
CALL START
|
||
|
||
ifeos = 0 ! 默认值,实际应从输入读取
|
||
ibfac = 0 ! 默认值,实际应从输入读取
|
||
|
||
if(ifeos .gt. 0) imode = -3
|
||
if(ibfac .gt. 1) then
|
||
LTE0 = LTE
|
||
LTE = .TRUE.
|
||
END IF
|
||
|
||
IF(IMODE .GE. -2 .AND. IFEOS .LE. 0) THEN
|
||
IF(INMOD .GT. 0) CALL INPMOD
|
||
IF(INMOD .EQ. 0) CALL INKUR
|
||
IF(ICHANG .NE. 0) CALL CHANGE
|
||
IF(IBFAC .GT. 1) THEN
|
||
CALL INPBF
|
||
LTE = LTE0
|
||
END IF
|
||
IF(IFWIN .GT. 1) CALL SETWIN
|
||
ELSE
|
||
CALL INGRID(0, inext, 0)
|
||
END IF
|
||
|
||
CALL INIBL0
|
||
CALL INIMOD
|
||
CALL TINT
|
||
|
||
imode0 = IMODE
|
||
IF(imode0 .EQ. -4) IMODE = 2
|
||
|
||
! 主循环(简化版本)
|
||
! 完整的实现需要从这里继续
|
||
|
||
STOP
|
||
END PROGRAM SYNSPEC
|