Fortran 90에서 읽는 데 문제가 있습니다. 31488 행의 데이터를 읽으려고합니다. 포틀랜드 그룹 포트란 90 컴파일러를 사용하고 있습니다. Fortran 90 - 파일 끝을 읽으려고 시도했습니다.
PGFIO-F-217/목록 지시 읽기/단위 = 14/시도
파일 과거의 끝을 읽으려면 :내 오류 메시지가 이것이다. = /import/c/w/username/WRFV3/SKILLSETS/Overestimations.txt 포맷 파일 이름, 순차 액세스 기록 = 31489
포트란 프로그램은 내가 여분의 행을 가지고 생각합니다. 그 코드에 어디에 표시되어 있는지 모르겠습니다.
코드의 관련 부분을 첨부했습니다 ... 코드의이 부분을 통해 높게 및 낮게 검색했습니다. 행 수가 일치하는지 확인하기 위해 텍스트 파일을 조사했습니다. 나는 문제가 어디에 있는지 절대 알지 못한다.
컴파일러는 오류가 read 문 ... do 문 내에있는 코드의 해당 줄 read (14, *)에 있음을 나타냅니다.
도와주세요. 고맙습니다.
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
매우 통찰력이있었습니다! 도움을 주셔서 감사합니다. 나는 그것에 대해 더 연구 할 것이고 일어나고있는 일을 볼 것입니다. –