我正在尝试使用gfortran v.4.8.2编译一些fortran代码。当我编译时,我得到以下错误:
ant_driver.f90:185.72:
if (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)
1
Error: Syntax error in IF-expression at (1)
ant_driver.f90:187.119:
ry%thck(ew,ns) = -rhoo/rhoi * (model%geometry%topg(ew,ns)- model%climate%eus(ew,
1
Error: Expected a right parenthesis in expression at (1)
ant_driver.f90:188.27:
endif
1
Error: Expecting END DO statement at (1)
ant_driver.f90:248.82:
odel%geometry%usrf(ew,ns) = - (model%geometry%topg(ew,ns)-model%climate%eus(ew,
1
Error: Expected a right parenthesis in expression at (1)
ant_driver.f90:260.107:
model%geometry%usrf(ew,ns) - (model%geometry%topg(ew,ns)-model%climate%eus(ew,
1
Error: Expected a right parenthesis in expression at (1)
ant_driver.f90:174.30:
call glide_set_eus(model,eus)
1
Error: Rank mismatch in argument 'inarray' at (1) (scalar and rank-2)错误与以下代码行有关: 185-188:
if (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns) < 0 .and. model%geometry%thck(ew,ns) == 0 .and. &
mask(ew,ns) == 1) then
model%geometry%thck(ew,ns) = -rhoo/rhoi * (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns))
endif248:
model%geometry%usrf(ew,ns) = - (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns)) * rhoo/rhoi &
+ (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns))260:
model%geometry%thck(ew,ns) = model%geometry%usrf(ew,ns) - (model%geometry%topg(ew,ns)-model%climate%eus(ew,ns))174:
call glide_set_eus(model,eus)任何帮助都非常感谢。谢谢您抽时间见我。
发布于 2015-08-28 21:18:03
您的错误是由于行截断造成的。对于固定格式的Fortran,指定的行长为72个字符;对于自由格式的Fortran,指定的行长应为132个字符。由于.f90扩展名,您的源代码应该被解释为自由格式,但是您可以使用-ffree-form在gfortran中强制使用自由格式。您还可以分别使用选项-ffixed-line-length-n和-ffree-line-length-n更改固定格式和自由格式的源中的最大行长,其中n是字符数,0或none的值表示无限行长。
https://stackoverflow.com/questions/32268481
复制相似问题