[Fortran] 纯文本查看 复制代码 MODULE MOD_FUNC
! module contains functions for P and S-wave velocities, density and
! quality factors in sediments (1st layer)
IMPLICIT NONE
CONTAINS
!==================== 1D INHOMOGENEOUS MEDIUM =========================
!------------------------------------------------- P or S-wave velocity
FUNCTION FUNCV (Z)
USE NRTYPE, ONLY: WP
REAL(WP), INTENT(IN) :: Z
REAL(WP) :: FUNCV
if (z<5) then
!layer
funcv = 180
else if(5<=z<18) then
!layer
funcv = 200
else if(18<=z<54) then
!layer
funcv = 360
else if(54<=z<92) then
!layer
funcv = 400
else if(92<=z<130) then
!layer
funcv = 440
else if(130<=z<165) then
!layer
funcv = 460
else
!halfspace
funcv = 970
end if
END FUNCTION FUNCV
!--------------------------------------------------------------- Density
FUNCTION FUNCRHO (Z)
USE NRTYPE, ONLY: WP
REAL(WP), INTENT(IN) :: Z
REAL(WP) :: FUNCRHO
if(z<5) then
!layer
funcrho = 1220
else if(5<=z<18) then
!layer
funcrho = 1487
else if(18<=z<54) then
!layer
funcrho = 1945
else if(54<=z<92) then
!layer
funcrho = 1966
else if(92<=z<130) then
!layer
funcrho = 1966
else if(130<=z<165) then
!layer
funcrho = 1966
else
!halfspace
funcrho = 2123
end if
END FUNCTION FUNCRHO
!------------------------------------------- P or S-wave quality factor
FUNCTION FUNCQ (Z)
USE NRTYPE, ONLY: WP
REAL(WP), INTENT(IN) :: Z
REAL(WP) :: FUNCQ
if(z<165) then
!layer
funcq = 50
else
!halfspace
funcq = 10000
end if
END FUNCTION FUNCQ
END MODULE
这是代码,运行后出现图片的错误,unexpected junk after else statement
|