今天写循环的时候出现了这样一个错误
fatal:Loop end must be scalar, can't execute loop
上网查了一下,果然有人和我犯一样的错误,人家的解释是这样的:大概意思是cas1和cas2是多维数组,正确的应该是一个标量
对比了一下我的脚本
year=ispan(ini, endy, 1)
; 省略中间步骤
; classify the phase of PDO before valcano eruptions
do i = 10, year-1
if (PDOI_runave(year(i)-ini-10).gt.0.and.PDOI_runave(year(i)-ini-9).gt.0.and.\
PDOI_runave(year(i)-ini-8).gt.0.and.PDOI_runave(year(i)-ini-7).gt.0.and.\
PDOI_runave(year(i)-ini-6).gt.0.and.PDOI_runave(year(i)-ini-5).gt.0.and.\
PDOI_runave(year(i)-ini-4).gt.0.and.PDOI_runave(year(i)-ini-3).gt.0.and.\
PDOI_runave(year(i)-ini-2).gt.0.and.PDOI_runave(year(i)-ini-1).gt.0) then
phs="正"
vol_phase(i)=phs
write_table(filename1, "a", [/year(i),vol_phase(i)/], "%i,%s")
else if (PDOI_runave(year(i)-ini-10).lt.0.and.PDOI_runave(year(i)-ini-9).lt.0.and.\
PDOI_runave(year(i)-ini-8).lt.0.and.PDOI_runave(year(i)-ini-7).lt.0.and.\
PDOI_runave(year(i)-ini-6).lt.0.and.PDOI_runave(year(i)-ini-5).lt.0.and.\
PDOI_runave(year(i)-ini-4).lt.0.and.PDOI_runave(year(i)-ini-3).lt.0.and.\
PDOI_runave(year(i)-ini-2).lt.0.and.PDOI_runave(year(i)-ini-1).lt.0) then
phs="负"
vol_phase(i)=phs
write_table(filename2, "a", [/year(i),vol_phase(i)/], "%i,%s")
else
phs="0"
vol_phase(i)=phs
write_table(filename3, "a", [/year(i),vol_phase(i)/], "%i,%s")
end if
end if
i=i+1
end do
我的最外层循环停止的数值是一维数组
记录下这个小错误和大家分享一下
若有错误,请指出!