你已经派生过 tem3dfdtd-open
镜像自地址
https://gitee.com/sunhf/tem3dfdtd-open.git
已同步 2025-08-04 11:56:53 +08:00
initial
这个提交包含在:
@@ -0,0 +1,84 @@
|
||||
!Copyright (c) 2013 by tdem.org under guide of Xiu Li(lixiu@chd.edu.cn)
|
||||
!written by Huaifeng Sun(sunhuaifeng@gmail.com) and Xushan Lu(luxushan@gmail.com)
|
||||
!Code distribution @ tdem.org or sunhuaifeng.com
|
||||
|
||||
subroutine SubOpenRecFiles(Flag)
|
||||
use constantparameters
|
||||
implicit none
|
||||
integer ii,jj
|
||||
character*2 Flag
|
||||
character*30 string
|
||||
do ii=1,NumRecHeights,1
|
||||
write(Height(ii),'(i3.3)')FlightHeight(ii) !Convert real kind of variable to character so that it can be used in the filename distribution process
|
||||
Height(ii)=trim(adjustl(Height(ii)))
|
||||
end do
|
||||
write(PostProcessFilePid,*) (NumRecLines)*(1+NumRecHeights),RecPointMin,RecPointMax !The number of total recording files
|
||||
write(SplitFilePid,*)NumRecLines,NumRecPoints,NumRecHeights
|
||||
do ii=1,NumRecLines,1
|
||||
write(SplitFilePid,*)RecLine(ii)
|
||||
end do
|
||||
do ii=1,NumRecPoints,1
|
||||
write(SplitFilePid,*)RecPoint(ii)
|
||||
end do
|
||||
do ii=1,NumRecHeights,1
|
||||
write(SplitFilePid,*)FlightHeight(ii)
|
||||
end do
|
||||
close(SplitFilePid)
|
||||
! -------------------------------------------------check for RecFilePid------------------------------------!
|
||||
! if NumRecPoints is greater than 500, then the value of RecFilePid must be reset
|
||||
! ----------------------------------------------------------------------------------------------------------------!
|
||||
if(NumRecLines.ge.2000)then
|
||||
print*,'NumRecLines is greater than 1000! Reset the value of RecFilePid in subroutine "OpenRecFiles"'
|
||||
! This is because the distribution of file pid. You should modify the distribution part if your recording files number is greater than 1000.
|
||||
stop
|
||||
end if
|
||||
! ----------------------------------------------------------------------------------------------------------------!
|
||||
! -------------------------------------File Pid Distribution------------------------------------------------!
|
||||
! Change it whenever you need to do so
|
||||
! ----------------------------------------------------------------------------------------------------------------!
|
||||
if(Flag.eq.'Hz')then
|
||||
do jj=1,NumRecLines,1
|
||||
RecFilePid(1,jj)=20000+jj !For the ground plane.
|
||||
do ii=1,NumRecHeights,1
|
||||
RecFilePid(ii+1,jj)=20000+ii*2000+jj !For the air plane, with multiple height
|
||||
end do
|
||||
enddo
|
||||
RecHzFilePid=RecFilePid !Transfer the value of RecFilePid to RecHzFilePid if Flag.eq.'Hz'
|
||||
elseif(Flag.eq.'HE')then
|
||||
do jj=1,NumRecLines,1
|
||||
RecFilePid(1,jj)=20000+(NumRecHeights+1)*2000+jj
|
||||
do ii=1,NumRecHeights,1
|
||||
RecFilePid(ii+1,jj)=20000+(NumRecHeights+1+ii)*2000+jj
|
||||
end do
|
||||
enddo
|
||||
RecHEFilePid=RecFilePid
|
||||
end if
|
||||
! --------------------------------------end of File Pid Distribution----------------------------------------------!
|
||||
!------------------------------------------File name Distribution-------------------------------------------------!
|
||||
do jj=1,NumRecLines,1
|
||||
write(string,'(I3.3)')RecLine(jj)
|
||||
RecFile(1,jj)='Ground-Line'//'='//trim(adjustl(string))//'.dat'
|
||||
write(PostProcessFilePid,*)RecFile(1,jj)
|
||||
do ii=1,NumRecHeights,1
|
||||
RecFile(ii+1,jj)='Air-Line='//trim(adjustl(string))//'-H='//Height(ii)//'.dat'
|
||||
write(PostProcessFilePid,*)RecFile(ii+1,jj)
|
||||
end do
|
||||
end do
|
||||
select case(Flag)
|
||||
case('Hz')
|
||||
RecHzFile=RecFile
|
||||
case('HE')
|
||||
RecHEFile=RecFile
|
||||
end select
|
||||
! ------------------------------------end of File name Distribution---------------------------------------------!
|
||||
! --------------------------------------open file code-------------------------------------------!
|
||||
! if the compiler reports the error: 'Too Many Open FIles!', you can come to tdem.org website and find the solutions.
|
||||
! -----------------------------------------------------------------------------------------------------!
|
||||
do ii=1,NumRecHeights+1,1
|
||||
do jj=1,NumRecLines,1
|
||||
open(RecFilePid(ii,jj),file=RecFile(ii,jj))
|
||||
end do
|
||||
end do
|
||||
! -----------------------------------end of opening file----------------------------------------!
|
||||
end subroutine SubOpenRecFiles
|
||||
|
在新工单中引用
屏蔽一个用户