我在Fortran 90中讀取問題。我試圖讀取31488行數據。我正在使用Portland Group Fortran 90編譯器。Fortran 90 - 嘗試讀取文件的末尾
我的錯誤信息是這樣的:
PGFIO-F-217 /列表式讀/單元= 14 /嘗試讀取過去的文件結束。 文件名= /import/c/w/username/WRFV3/SKILLSETS/Overestimations.txt格式,順序訪問紀錄= 31489
Fortran程序認爲我有一個額外的行。我不知道代碼中的位置。
我附上了代碼的相關部分...我已經通過這部分代碼搜索高低,我調查了文本文件以查看行數是否匹配。我絕對不知道問題出在哪裏。
編譯器聲明錯誤位於read語句中...在讀取(14,*),do語句內的那行代碼。
請幫忙。非常感謝你。
Program skillruss
! Purpose: to calculate skill scores
implicit none
integer :: i,j,nsite,ntime,iref,jj,csite
! nsite = number of observation sites, csites = number of chemical sites, ntime = number of hours
parameter(nsite=32,csite=1,ntime=984)
real :: Tob(nsite,ntime),RHo(nsite,ntime),diro(nsite,ntime)
real :: raino(nsite,ntime),swo(nsite,ntime),po(nsite,ntime)
real :: Tdo(nsite,ntime),vo(nsite,ntime)
real :: Ts(nsite,ntime),RHs(nsite,ntime),dirs(nsite,ntime)
real :: rains(nsite,ntime),sws(nsite,ntime),ps(nsite,ntime)
real :: Tds(nsite,ntime),vs(nsite,ntime)
real :: PMo(csite,ntime),PMs(csite,ntime)
real :: pers(csite,ntime)
real :: bias,rmse,sde,r,x,y,sx,sy,dw,isig
real :: countn
real :: nrmse,fac2,nstdev,mg,fb,nmse
real :: biast(ntime),rmset(ntime),sdet(ntime)
real :: rt(ntime),xt(ntime),yt(ntime)
real :: sxt(ntime),syt(ntime),isigt(ntime),countt(ntime),dt(ntime)
! Open file to read the observational data
open(14,file=&
"/import/c/w/username/WRFV3/SKILLSETS/Overestimations.txt",&
form="formatted",status="old")
Tob= -999.
RHo= -999.
vo= -999.
diro= -999.
raino= -999.
swo= -999.
po= -999.
Tdo= -999.
do i=1,nsite
do j=1,ntime
read(14,*) Tob(i,j),RHo(i,j),vo(i,j),diro(i,j),raino(i,j),swo(i,j),&
po(i,j),Tdo(i,j)
if(vo(i,j) <=0.)diro(i,j)=-999.
end do
end do
close(14)
良好的呼叫列表指示輸入的困境。 – user7116
這非常有見地! 非常感謝您的幫助!我會更多地研究它,看看發生了什麼。 –