Welcome, Guest
Username: Password: Remember me

TOPIC: Error fortran with telemac2d

Error fortran with telemac2d 9 years 3 weeks ago #18807

  • madani
  • madani's Avatar
Hi,
I have a problem when i run my simulations cas with fortran, so the error message says :

Fortran runtime error: At line 211 of file t2dfort.f
Fortran runtime error: Index '22387' of dimension 1 of array 'zf' above upper bound of 2387
so, have you any idea to help me ?

in attachments:

systel.cfg : configuration file
error.txt : the output messages
I run my test with the following command:
/opt/canopy/Canopy/bin/python2.7 /opt/opentelemac/v6p3r2/scripts/python27/runcode.py telemac2d Q100/casQ100trans_br
Attachments:
The administrator has disabled public write access.

Error fortran with telemac2d 9 years 3 weeks ago #18809

  • jmhervouet
  • jmhervouet's Avatar
Hello,

It means that you have an error in your specific FORTRAN FILE, which is that you try to reach ZF(22387) and you have only 2387 points. This could be due to a hardcoded value if you are in parallel. We would need the FORTRAN FILE to help you further.

With best regards,

Jean-Michel Hervouet

P.S. when you have solved your problem, note that checking bounds of arrays is an option of your compiler, and that it costs in terms of execution time.
The administrator has disabled public write access.

Error fortran with telemac2d 9 years 3 weeks ago #18818

  • madani
  • madani's Avatar
Hello Jean-Michel,

Thank you for responding to my question.

So, my collegue can run this cas without error in a windows plateform :dry: .

In my case i try to run it in linux cluster with gfortran 4.6.

in attachments :
main_geo_new_v6p3.f : my fortran file.
t2dfort.f : fortran file generated by telemac.

Thank to help me.
Attachments:
The administrator has disabled public write access.

Error fortran with telemac2d 9 years 2 weeks ago #18885

  • jmhervouet
  • jmhervouet's Avatar
Hello,

Exactly, I see in your Fortran that you use many hardcoded numbers of points. Anyway it should work in your case with 1 processor.

A way of programming what you do in parallel could be to put in a loop over all points, and put tests in the loop :

DO I=1,NPOIN

B_VXCHER(4)=0
IF(MESH%KNOLG%I(I).EQ.19323) B_VXCHER(4)=I

etc. etc.

ENDDO

however this assumes that what you do after with these arrays also work in parallel, which would probably require checking if the points are in a subdomain or not by checking if B_VXCHER(4)=0 or not for example.

With best regards,

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

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