Welcome, Guest
Username: Password: Remember me
  • Page:
  • 1
  • 2

TOPIC: Compilation error

Compilation error 10 years 5 months ago #13452

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
I try to launch a simulation (with v6p1) using a usual fortran file, I find the following error :


df/trace /check=overflow /warn:declaration /warn:argument_checking /warn:unused
/compile_only /optimize:4 /fast /iface:cref /iface:nomixed_str_len_arg /nologo
/warn:nofileopt /convert:big_endian /extend_source:132 /include:C:\TELEMAC\V6
P1\telemac2d\tel2d_v6p1\win /include:C:\TELEMAC\V6P1\sisyphe\sisyphe_v6p1\win /i
nclude:C:\TELEMAC\V6P1\tomawac\toma_v6p1\win /include:C:\TELEMAC\V6P1\bief\bief_
v6p1\win /include:C:\TELEMAC\V6P1\special\special_v6p1\win /include:C:\TELEMAC\V
6P1\damocles\damo_v6p1\win /include:C:\TELEMAC\V6P1\paravoid\paravoid_v6p1\win t
2dfort.f
t2dfort.f(720) : Error: Syntax error, found IDENTIFIER 'DO' when expecting one o
f: * :: , <END-OF-STATEMENT> ; : ) + . - (/ [ ] /) ** / > // .LT. < ...
DOUBLE PRECISION, PARAMETER :: HP = 0.025DO
^
t2dfort.f(721) : Error: Syntax error, found IDENTIFIER 'DO' when expecting one o
f: * :: , <END-OF-STATEMENT> ; : ) + . - (/ [ ] /) ** / > // .LT. < ...
DOUBLE PRECISION, PARAMETER :: S = 0.039DO
^
t2dfort.f(709) : Error: A dummy argument name is required in this context.

DOUBLE PRECISION, INTENT(IN) :: NDEF, VK, GRAV, KARMAN,S,HP

^
t2dfort.f(709) : Error: A dummy argument name is required in this context. [HP
]
DOUBLE PRECISION, INTENT(IN) :: NDEF, VK, GRAV, KARMAN,S,HP
^
t2dfort.f(720) : Error: This symbol must be a defined parameter or an argument o
f an inquiry function that evaluates to a compile-time constant. [DO]
DOUBLE PRECISION, PARAMETER :: HP = 0.025DO
^
t2dfort.f(720) : Error: This name does not have a type, and must have an explici
t type. [DO]
DOUBLE PRECISION, PARAMETER :: HP = 0.025DO
^
t2dfort.f(721) : Error: This symbol must be a defined parameter or an argument o
f an inquiry function that evaluates to a compile-time constant. [DO]
DOUBLE PRECISION, PARAMETER :: S = 0.039DO
^
t2dfort.f(1188) : Error: Syntax error, found END-OF-FILE when expecting one of:
<LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM TYPE COMPLEX BYTE CHARACTER
...

---^
ERREUR A LA COMPILATION
t2dfort.f

________________________________________________________
Execution terminee: telemac2d.bat

I didn't understand very well where's the problem could you help me please
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13456

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Could it be that you wrote : 0.025DO instead of 0.025D0 (letter O instead of number 0 ?), it looks like because I see in the listing the number 720 with a different shape of 0.

Regards,

JMH
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13460

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
HI
thank you very much,i do o instead of 0, but there still some error: because i added a new formula and S and HP are the new variable but it's clear that the model didn't read these variable and this result of compilation :


COMPILATION *** df/trace /check=overflow /warn:declaration /warn:argument_checking /warn:unused /compile_only /optimize:4 /fast /iface:cref /iface:nomixed_str_len_arg /nologo /warn:nofileopt /convert:big_endian /extend_source:132 /include:C:\TELEMAC\V6P1\telemac2d\tel2d_v6p1\win /include:C:\TELEMAC\V6P1\sisyphe\sisyphe_v6p1\win /include:C:\TELEMAC\V6P1\tomawac\toma_v6p1\win /include:C:\TELEMAC\V6P1\bief\bief_v6p1\win /include:C:\TELEMAC\V6P1\special\special_v6p1\win /include:C:\TELEMAC\V6P1\damocles\damo_v6p1\win /include:C:\TELEMAC\V6P1\paravoid\paravoid_v6p1\win t2dfort.f t2dfort.f(709) : Error: A dummy argument name is required in this context. DOUBLE PRECISION, INTENT(IN) :: NDEF, VK, GRAV, KARMAN,S,HP
^
t2dfort.f(709) : Error: A dummy argument name is required in this context. [HP] DOUBLE PRECISION, INTENT(IN) :: NDEF, VK, GRAV, KARMAN,S,HP
^ t2dfort.f(1188) : Error: Syntax error, found END-OF-FILE when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM TYPE COMPLEX BYTE CHARACTER ... ---^ ERREUR A LA COMPILATION t2dfort.f ________________________________________________________ Execution terminee: telemac2d.bat

thank you in advance
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13461

  • jmhervouet
  • jmhervouet's Avatar
Hello,

INTENT must be used only for arguments of the subroutine, not for locally declared variables... so clearly separate dummy arguments from local variables and remove the INTENT in the latter.

Regards,

JMH
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13462

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
thank you very much, i correct the mistake, but, after the simulation, it appears another mistake, i'm so sorry for the inconvenience :
*** COMPILATION ***

df/trace /check=overflow /warn:declaration /warn:argument_checking /warn:unused
/compile_only /optimize:4 /fast /iface:cref /iface:nomixed_str_len_arg /nologo
/warn:nofileopt /convert:big_endian /extend_source:132 /include:C:\TELEMAC\V6
P1\telemac2d\tel2d_v6p1\win /include:C:\TELEMAC\V6P1\sisyphe\sisyphe_v6p1\win /i
nclude:C:\TELEMAC\V6P1\tomawac\toma_v6p1\win /include:C:\TELEMAC\V6P1\bief\bief_
v6p1\win /include:C:\TELEMAC\V6P1\special\special_v6p1\win /include:C:\TELEMAC\V
6P1\damocles\damo_v6p1\win /include:C:\TELEMAC\V6P1\paravoid\paravoid_v6p1\win t
2dfort.f
t2dfort.f(803) : Error: This variable or component must be of a derived or structure type [HP]
CF%R(I) = CHESTR%R(I)/(HP%R(I)**DEMIE
^
t2dfort.f(803) : Error: This is not a field name that is defined in the encompassing structure. [R]
CF%R(I) = CHESTR%R(I)/(HP%R(I)**DEMIE
^
t2dfort.f(804) : Error: This variable or component must be of a derived or structure type [HP]
& + ((HC%R(I)-HP%R(I))/HC%R(I)**DEMIE)
^
t2dfort.f(1188) : Error: Syntax error, found END-OF-FILE when expecting one of:
<LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM TYPE COMPLEX BYTE CHARACTER
...

---^
ERREUR A LA COMPILATION
t2dfort.f
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13463

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Please have a look at the guide for programming in Telemac which is available on this site, for explanations on BIEF_OBJ structures, which is specific to Telemac and has a component R where double precision values are stored for every point, hence for example H%R(I) for the depth at point I.

Your HP is probably a local variable or array and is not a BIEF_OBJ structure, so no need of %R, just declare :

DOUBLE PRECISION HP(your number of points)

Moreover look at the basic rules for programming at the end of the guide, you
will see that it is better to do SQRT(X) than X**0.5D0 (if your DEMIE is 0.5).

I hope this helps, with best regards,

Jean-Michel Hervouet
The administrator has disabled public write access.

Compilation error 10 years 5 months ago #13464

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
thank you very much and i'm so sorry for the inconvenience
The administrator has disabled public write access.

Compilation error 10 years 4 months ago #13491

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
Hello

Please Sir, I find a mistake in the compilation, I don't know how I correct in fact I didn't change this section in the SUBROUTINE:

ELSEIF (ICR.EQ.2) THEN
         DO I = 1, NPOIN
           KSMAX = MAX (KSR% R (I), KSP% R (I))
           IF (HN% R (I). GT.KSMAX.AND.CF% R (I). GT.ZERO) THEN
             HCLIP = MAX (HN% R (I), KSMAX)
             A = LOG (* 12.D0 HCLIP / KSP% R (I))
             B = LOG (* 12.D0 HCLIP / KSR% R (I))
             0.32D0/CF% C = R (I)
             MU% R (I) = C / SQRT (B * A ** 3)
           ELSE
             MU% R (I) = 0.D0
           ENDIF
         ENDDO

but here the error of the compilation:
*** COMPILATION ***

df/trace /check=overflow /warn:declaration /warn:argument_checking /warn:unused
/compile_only /optimize:4 /fast /iface:cref /iface:nomixed_str_len_arg /nologo
/warn:nofileopt /convert:big_endian /extend_source:132 /include:C:\TELEMAC\V6
P1\telemac2d\tel2d_v6p1\win /include:C:\TELEMAC\V6P1\sisyphe\sisyphe_v6p1\win /i
nclude:C:\TELEMAC\V6P1\tomawac\toma_v6p1\win /include:C:\TELEMAC\V6P1\bief\bief_
v6p1\win /include:C:\TELEMAC\V6P1\special\special_v6p1\win /include:C:\TELEMAC\V
6P1\damocles\damo_v6p1\win /include:C:\TELEMAC\V6P1\paravoid\paravoid_v6p1\win t
2dfort.f
t2dfort.f(1203) : Error: An unterminated block exists.
ELSEIF(ICR.EQ.2) THEN
^
ERREUR A LA COMPILATION
t2dfort.f

________________________________________________________
Execution terminee: telemac2d.bat

I have another question please, is that HN | -> | WATER DEPTH and HC | -> | WATER DEPTH: MAX (H, HMIN), the some thing because there are SUBROUTINE use HN as water depth and others defined HC as water depth and when I use the same height for the two SUBROTINE I found an error in the compilation ???

thank you in advance
The administrator has disabled public write access.

Compilation error 10 years 4 months ago #13494

  • jmhervouet
  • jmhervouet's Avatar
Hello,

You should just add an ENDIF to this block... and it is probably there in the original code.

As for HN or HC, it depends on the subroutine and what has been done and declared locally, HC is used to avoid divisions by 0 but it is certainly a local variable not declared elsewhere in the program.

Regards,

JMH
The administrator has disabled public write access.

Compilation error 10 years 4 months ago #13495

  • sarsoura
  • sarsoura's Avatar
  • OFFLINE
  • Junior Boarder
  • Posts: 37
Hello
I correct the error of the compilation, just i'd like to know the difference between the HC and the HN ???

thank you
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: pham

The open TELEMAC-MASCARET template for Joomla!2.5, the HTML 4 version.