我得到模型文件的运行时错误:Bad integer for item 1 of list input
,并且声明了错误At line 87 of file teleseis3.f (unit=2,file='model')
* < Default structure >
tqp=1.0
tqs=4.0
nl= 4
data vp/ 5.2, 6.24, 6.58, 7.8, 6*0.0/
data vs/ 3.0, 3.60, 3.80, 4.4, 6*0.0/
data den/ 2.4, 2.67, 2.80, 3.3, 6*0.0/
data dep/ 5.5, 9.50, 19.0, 0.0, 6*0.0/
nl1=4
data vp1/ 5.2, 6.40, 8.0, 7*0.0/
data vs1/ 3.0, 3.75, 4.5, 7*0.0/
data den1/ 2.4, 2.70, 3.3, 7*0.0/
data dep1/ 5.0, 30.0, 0.0, 7*0.0/
nl2=3
data vp2/ 6.40, 8.0, 8*0.0/
data vs2/ 3.75, 4.4, 8*0.0/
data den2/ 2.70, 3.3, 8*0.0/
data dep2/ 30.00, 0.0, 8*0.0/
c ------------ End initialization ----------------------------
read(*,*) model
if(model(1:4) .ne. 'none') then
c print*, model
open(2,file=model)
READ(2,'(a40)') name
READ(2,*) TQP,TQS,NL ,(VP (L),VS (L),DEN (L),DEP (L),L=1,NL )
c line 87 is here
READ(2,*) NL1,(VP1(L),VS1(L),DEN1(L),DEP1(L),L=1,NL1)
READ(2,*) NL2,(VP2(L),VS2(L),DEN2(L),DEP2(L),L=1,NL2)
close(2)
endif
“模型”文件中的数据按行排列以打破“默认结构”模式。
#model
1.0 4.0 50 5.8 3.2 2.6 15.0
5.8 3.2 2.6 0.0
6.8 3.9 2.9 9.4
8.1 4.5 3.4 0.0
8.10119 4.48486 3.37906 15.6
8.08907 4.47715 3.37688 20
8.07688 4.46953 3.37471 20
8.0554 4.45643 3.37091 35
8.0337 4.44361 3.3671 35
8.0118 4.43108 3.3633 35
7.9897 4.41885 3.3595 35
8.55896 4.64391 3.43578 0
8.64552 4.6754 3.46264 45
8.73209 4.7069 3.48951 45
8.81867 4.7384 3.51639 45
8.90522 4.76989 3.54325 45
9.13397 4.93259 3.72378 0
9.64588 5.22428 3.8498 50
9.90185 5.37014 3.91282 50
10.1578 5.51602 3.97584 50
10.212 5.54311 3.984 35
10.2662 5.5702 3.99214 35
10.7513 5.94508 4.38071 0
10.91 6.09418 4.41241 51
11.0656 6.24046 4.44317 50
11.2449 6.31091 4.50372 100
11.4156 6.37813 4.56307 100
11.5783 6.44232 4.62129 100
11.7336 6.5037 4.67844 100
11.8821 6.5625 4.7346 100
12.0245 6.6189 4.78983 100
12.1613 6.67317 4.84422 100
12.2932 6.72548 4.89783 100
12.4207 6.77606 4.95073 100
12.5447 6.82512 5.00299 100
12.6655 6.87289 5.05469 100
12.7839 6.91957 5.1059 100
12.9004 6.96538 5.15669 100
13.0158 7.01053 5.20713 100
13.1306 7.05525 5.25729 100
13.2453 7.09976 5.30724 100
13.3607 7.14423 5.35706 100
13.4774 7.18892 5.40681 100
13.596 7.23403 5.45657 100
13.6804 7.26597 5.49145 100
13.6875 7.26575 5.50642 100
13.7117 7.26486 5.55641 100
13.7166 7.26466 5.56645 100
4 5.8 3.2 2.6 15.0
5.8 3.2 2.6 0.0
6.8 3.9 2.9 9.4
8.1 4.5 3.4 0.0
3 5.8000 3.2000 2.6000 10.000
6.8000 3.9000 2.9000 22.000
8.1000 4.5000 3.3800 0.0000
但是出现错误。请给我方法纠正它。
这里我提供了一个名为'test.f'的测试脚本: 请为我测试,因为我仍然有错误。
PARAMETER (ND0=2048,NM0=6,LK0=10,NL0=48,PI=3.141593,RAD=.0174533)
IMPLICIT COMPLEX*8 (Z)
CHARACTER NAME*40,NAM*4, prefix*80, adel*3, outfile*80
COMMON /STR0/NL ,VP (NL0),VS (NL0),DEN (NL0),DEP (NL0)
COMMON /STR1/NL1,VP1(NL0),VS1(NL0),DEN1(NL0),DEP1(NL0)
COMMON /STR2/NL2,VP2(NL0),VS2(NL0),DEN2(NL0),DEP2(NL0)
read(*,'(a80)') model
if(model(1:4) .ne. 'none') then
c print*, model
open(2,file=model)
READ(2,'(a40)') name
READ(2,*) TQP,TQS,NL ,(VP (L),VS (L),DEN (L),DEP (L),L=1,NL )
READ(2,*) NL1,(VP1(L),VS1(L),DEN1(L),DEP1(L),L=1,NL1)
print *,NL1,VP1(L),VS1(L),DEN1(L),DEP1(L)
READ(2,*) NL2,(VP2(L),VS2(L),DEN2(L),DEP2(L),L=1,NL2)
close(2)
endif