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

TOPIC: FORTRAN : Error messages in TELEMAC2D

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42896

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
Hi all,

It's my 1st day with FORTRAN.
I use it in TELEMAC2D V8P4R0.
The script was written for v6p4 and adapted to v7p0. It doesn't work to for v7P0 and I don't have V6P4....

I get this error message :

... checking the executable
  > requires re-compilation
      creating: C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\06_OS_Monteynard\cas.txt_2023-07-12-12h12min55s\user_fortran
       copying: tarage_barrage_V3_V7P1.f C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\06_OS_Monteynard\cas.txt_2023-07-12-12h12min55s\user_fortran
  > compiling objs
       compiling: tarage_barrage_V3_V7P1.ftarage_barrage_V3_V7P1.f:85.17:

      INTEGER LNG,LU
                 1
tarage_barrage_V3_V7P1.f:78.9:

      USE BIEF
         2
Error: Symbol 'lng' at (1) conflicts with symbol from module 'declarations_special', use-associated at (2)
tarage_barrage_V3_V7P1.f:86.21:

      COMMON/INFO/LNG,LU
                     1
Error: Cannot change attributes of USE-associated symbol lng at (1)
tarage_barrage_V3_V7P1.f:125.72:

        CALL VECTOR(WORK,'=','MASBAS          ',H%ELM,
                                                                        1
Error: Syntax error in argument list at (1)
tarage_barrage_V3_V7P1.f:126.9:

        &              1.D0,H,H,H,H,H,H,MESH,MSK,MASKEL)
         1
Error: Invalid character in name at (1)
tarage_barrage_V3_V7P1.f:129.72:

        CALL VECTOR(WORK,'=','MASVEC          ',H%ELM,
                                                                        1
Error: Syntax error in argument list at (1)
tarage_barrage_V3_V7P1.f:130.9:

        &              1.D0,H,H,H,H,H,H,MESH,.TRUE.,POROS)
         1
Error: Invalid character in name at (1)
tarage_barrage_V3_V7P1.f:132.72:

        CALL VECTOR(WORK,'=','MASVEC          ',H%ELM,
                                                                        1
Error: Syntax error in argument list at (1)
tarage_barrage_V3_V7P1.f:133.9:

        &              1.D0,H,H,H,H,H,H,MESH,MSK,MASKEL)
         1
Error: Invalid character in name at (1)
tarage_barrage_V3_V7P1.f:477.17:

      INTEGER LNG,LU
                 1
tarage_barrage_V3_V7P1.f:466.9:

      USE BIEF
         2
Error: Symbol 'lng' at (1) conflicts with symbol from module 'declarations_special', use-associated at (2)
tarage_barrage_V3_V7P1.f:478.21:

      COMMON/INFO/LNG,LU
                     1
Error: Cannot change attributes of USE-associated symbol lng at (1)
tarage_barrage_V3_V7P1.f:192.37:

        Q_barrage(I)=FLUX_BOUNDARIES(ind_front_tar(I))
                                     1
Warning: Legacy Extension: REAL array index at (1)
runCAS: failed to compile
   |processExecutable: could not compile your FORTRAN (runcode=1).
   |
   |... The following command failed for the reason above (or below)
   |gfortran -c -cpp -O3 -fconvert=big-endian -DHAVE_MPI -frecord-marker=4  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\special  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\hermes  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\parallel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\damocles  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\bief  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\waqtel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\nestor  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\ad  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\sisyphe  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\tomawac  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\stbtel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\khione  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\telemac2d   -I C:\TELEMAC\mpi\include tarage_barrage_V3_V7P1.f
   |



Can someone helps/guides me to :
1) understand the messages
2) debug ?

The first one seems to be about the varialble "LNG", but it don't see the matter regarding to the "conflict symbol".
Any idea is welcome !

Thanks,

Laurie
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42899

  • zied.amama
  • zied.amama's Avatar
  • OFFLINE
  • Fresh Boarder
  • Posts: 6
  • Thank you received: 2
Greetings,

For the first error, in your file
tarage_barrage_V3_V7P1.ftarage_barrage_V3_V7P1.f
, you declared an integer variable named LNG, this variable is also declared in the module "(sources\utils\special\declarations_special.F)"

This variable is associated to the language choice for listing outputs and can't be declared again in your user file (which probably calls the "declarations_special" file).

Hence, I suggest you to use a different variable name for LNG.

You can find more informations on how to write subroutines by reading the developer_guide : gitlab.pam-retd.fr/otm/telemac-mascaret/...loper_guide_v8p4.pdf

I hope that helps!
The administrator has disabled public write access.
The following user(s) said Thank You: Laurie

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42912

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
Thanks a lot for your answer. I will take a look to that !
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42915

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
I think the main problem is I work on Windows ...
Is there some people for who it's ok on Windows ? Just to know.
I will try to work on a Linux station.
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42917

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
This is not related on linux or windows but just to the fact you mix different versions of fortran file...
Upgrading a previous telemac computation including a user fortran file is not just use the new telemac version with the old user fortran file, this means also update all the user fortran file with the "new" subroutine in which you adapt the user modifications...
Regards
Christophe
The administrator has disabled public write access.
The following user(s) said Thank You: Laurie, zied.amama

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42920

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
Thank you for that clarification.
I should have started with (explain this):
I have the same errors when modelling the V8P4R0 'Break' example :

C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break>echo off
VP8R0_C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break>telemac2d.py t2d_break.cas


Loading Options and Configurations
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

                _                                                        _       _
               | |                                                      (_)     (_)
  _   _  _ __  | | __ _ __    ___  __      __ _ __    _ __   ___ __   __ _  ___  _   ___   _ __
 | | | || '_ \ | |/ /| '_ \  / _ \ \ \ /\ / /| '_ \  | '__| / _ \\ \ / /| |/ __|| | / _ \ | '_ \
 | |_| || | | ||   < | | | || (_) | \ V  V / | | | | | |   |  __/ \ V / | |\__ \| || (_) || | | |
  \__,_||_| |_||_|\_\|_| |_| \___/   \_/\_/  |_| |_| |_|    \___|  \_/  |_||___/|_| \___/ |_| |_|


... parsing configuration file: C:\TELEMAC\V8P0R0\configs\systel.cfg


Running your CAS file for:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    +> configuration: wing64mpi
    +> root:          C:\telemac\V8P0R0


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


... reading the main module dictionary

... processing the main CAS file(s)
    +> running in English

... handling temporary directories

... checking coupling between codes

... checking parallelisation

... first pass at updating all input files
       copying: geo_break.cli C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\T2DCLI
       copying: geo_break.slf C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\T2DGEO
       copying: t2d_break.cas C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\T2DCAS
       copying: telemac2d.dico C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\T2DDICO

... checking the executable
  > requires re-compilation
      creating: C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\user_fortran
       copying: bord.f C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break\t2d_break.cas_2023-07-17-18h16min36s\user_fortran
  > compiling objs
       compiling: bord.fbord.f:2530.20:

      CHARACTER(LEN=PATH_LEN) SUBMIT(4,300)
                    1
Error: Expression at (1) must be of INTEGER type, found REAL
bord.f:2530.43:

      CHARACTER(LEN=PATH_LEN) SUBMIT(4,300)
                                           1
Error: 'submit' at (1) must have constant character length in this context
bord.f:2956.55:

     &                                  TIDALTYPE,GRAV,RELAX_STA_DIS
                                                       1
Error: Symbol 'relax_sta_dis' referenced at (1) not found in module 'declarations_telemac2d'
bord.f:2959.36:

      USE INTERFACE_PARALLEL, ONLY : P_MAX,P_MIN
                                    1
Error: Symbol 'p_max' referenced at (1) not found in module 'interface_parallel'
bord.f:2959.43:

      USE INTERFACE_PARALLEL, ONLY : P_MAX,P_MIN
                                           1
Error: Symbol 'p_min' referenced at (1) not found in module 'interface_parallel'
bord.f:2973.28:

      CHARACTER(LEN=PATH_LEN), INTENT(IN)  :: NOMIMP
                            1
Error: Symbol 'path_len' at (1) has no IMPLICIT type
bord.f:3056.66:

     &                      ZF(NBOR(K))+H%R(NBOR(K)),RELAX_STA_DIS)
                                                                  1
Error: Symbol 'relax_sta_dis' at (1) has no IMPLICIT type
bord.f:3015.22:

            ZMIN(IFR)=P_MIN(ZMIN(IFR))
                      1
Error: Function 'p_min' at (1) has no IMPLICIT type
bord.f:3231.42:

            IF(NCSIZE.GT.1) YADEB(IFRLIQ)=P_MAX(YADEB(IFRLIQ))
                                          1
Error: Function 'p_max' at (1) has no IMPLICIT type
bord.f:3241.72:

     &                    NPTFR,MASK%ADR(MSK8)%P%R,MESH)
                                                                        1
Error: Missing actual argument for argument 'kp1bor' at (1)
runCAS: failed to compile
   |processExecutable: could not compile your FORTRAN (runcode=1).
   |
   |... The following command failed for the reason above (or below)
   |gfortran -c -cpp -O3 -fconvert=big-endian -DHAVE_MPI -frecord-marker=4  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\special  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\hermes  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\parallel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\damocles  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\bief  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\waqtel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\nestor  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\utils\ad  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\sisyphe  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\tomawac  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\stbtel  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\khione  -I C:\telemac\V8P0R0\builds\wing64mpi\obj\telemac2d   -I C:\TELEMAC\mpi\include bord.f
   |

VP8R0_C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break>



I'm reading the file shared by @zied.amama

I tried to copy/paste the declaration_telemac2d.f in the bord.f file (all from the V8P4R0 repository). It doesn't work, but I'm pretty sure that a simple copy/paste is not realy suffisant. I need to learn more about the fortran compilation.

The idea is really to recreate the "old routine" in the new/clear way.
To achieve this, I have first to succeed to run an example ! :evil:
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42921

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
If i read well, you're trying to run an example taken from the version v8p4r0 with a v8p0r0 version...
:whistle:
Christophe
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42922

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
That's not supposed to be the case!
I read "VP8R0", it's not even "V8P0R0".

But in theory, I'm launching from V8P4R0.

If you've got an idea of how I can fix this, I'd love to hear from you.
I'll keep looking on my own.

I'm making (very) slow progress because I don't know much about programming. I can read, that helps but it's not everything hahaha!
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42923

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
It's clearly indicate...
+> root: C:\telemac\V8P0R0
So try to be clear in your configuration and be sure to run the right version...
You could also remove all versions and just install the latest one ...

Using Telemac with user fortran subroutine, without knowing fortran is a challenge!
Christophe
The administrator has disabled public write access.

FORTRAN : Error messages in TELEMAC2D 1 year 4 months ago #42924

  • Laurie
  • Laurie's Avatar
  • OFFLINE
  • Senior Boarder
  • Posts: 97
  • Thank you received: 5
Oh yes ! I didn't read it before :blush:

Thank you for your comment.
I launch the command window to start TELEMAC via a shortcut that said :
C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K "C:\TELEMAC\V8P0R0.bat"

I've adapted this path:
C:\Windows\SysWOW64\cmd.exe /E:ON /V:ON /K "C:\TELEMAC\V8P4R0.bat"

The BAT file called is this one :
V8P4R0_C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break>telemac2d.py t2d_break.cas
'telemac2d.py' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.
echo off
set VTEL=V8P4R0
set SYSTELCFG=C:\TELEMAC\%VTEL%\configs
set PATH=c:\TELEMAC\%vtel%\scripts\python27\;%PATH%
set PATH=c:\TELEMAC\mpi\bin;%PATH%;
set PATH=c:\TELEMAC\outils\matrub\bin;%PATH%;
set PATH=c:\TELEMAC\outils;%PATH%;
set PATH=c:\python27;%PATH%;
set PATH=C:\TELEMAC\TDM-GCC-64\bin;%PATH%
set PROMPT=V8P4R0_$P$G
echo on

I tried to run the example, and it doesn't work.
telemac2d.py it doesn't known.

V8P4R0_C:\Users\lboudet\Desktop\calc_TELEMAC\02_TELEMAC\09_test_break>telemac2d.py t2d_break.cas
'telemac2d.py' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.

So, I'm trying to control ... everything.
: I'm looking at how TELEMAC V8P4R0 is planned to be launched.
I went here :
wiki.opentelemac.org/doku.php?id=install...a_native_application

I wanted to launch the script for "Installing Cygwin" but setup-x86_64.exe is not recognize on my computer.

(In French)
'setup-x86_64.exe' n’est pas reconnu en tant que commande interne
ou externe, un programme exécutable ou un fichier de commandes.


If I've understood correctly, this setup-x86_64.exe is the exe for installing CygWin (it's in my download folder). Maybe I need to move it somewhere? Or adapt the line of code so that cmd.exe can find it.
The administrator has disabled public write access.
  • Page:
  • 1
  • 2
Moderators: borisb

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