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

TOPIC: Problem with how to check variables in Telemac2D, U, V, ...

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12252

  • special_20
  • special_20's Avatar
Hello all,

I have a problem to check the basic variables in Telemac2d. I added the following lines at the end of the loop in time of the telemac2d.f subroutine :

IF (MOD(LT,10) .EQ. 0) THEN
WRITE(*,*) 'Dans telemac2d, H%R(27761), ZF%R(27761)', H%R(27761), ZF%R(27761)
END IF

And when I run telemac2d I get something like that :

Dans telemac2d, H%R(27761), ZF%R(27761) -7.69865347810908278E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -7.93443219102472696E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -7.98911250221037651E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -8.17302736537575371E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -8.62501514700171075E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -9.18265564072786477E-005 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.02835187693393516E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.24989329688729786E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.47801657385169009E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.63065270983784834E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.69170962647473679E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.69143571157390687E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.67449675146829057E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.61873167612440027E-004 1.0000000000000000
Dans telemac2d, H%R(27761), ZF%R(27761) -1.54288692862178151E-004 1.0000000000000000

This doesn't correspond to what I should get : H%R(27761) should be somewhere between 1 and 5 (the area I study is under tidal influence) and ZF%R(27761) should be equal to -9.51m.

My question : is there a problem with the H%R(27761) or the ZF%R(27761) syntax ?
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12256

  • riadh
  • riadh's Avatar
Hello

Are running in parallel? In that case, numbering of nodes is changed and what you will get on the screen will be data of node with local numbering equal to 27761.
use channel number LU to write print in the listing, so instead of write(*,*),
use write(LU,*).

With my best regards
Riadh ATA
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12257

  • special_20
  • special_20's Avatar
OK, I didn't konw that. Yes they are running in parallel. In that case is there some kind of function F that maps the node label number from the original number to the node number in parallel mode and such that when I write :

H%R(F(27761)), ZF%R(F(27761))

I get H%R and ZF%R at node 27761 ?
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12258

  • riadh
  • riadh's Avatar
yes you can use function global_to_local_point in bief library like:

I = GLOBAL_TO_LOCAL_POINT(27761,MESH)
and then
WRITE(LU,*)'what you want...', ....

I hope that this helps

Riadh ATA
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12260

  • special_20
  • special_20's Avatar
I think we're close to the solution, in my case the GLOBAL_TO_LOCAL_POINT(27761,MESH) is equal to 0 and then when running Telemac I get :

Dans telemac2d, H%R(gtl_var), ZF%R(gtl_var) 1.69093967289166630E-319 1.69093967289166630E-319

which is not correct in some sense.
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12261

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi
No, it's correct if the node is not in the subdomain!
You should only write the result when this value is different from 0 which is only the case in one of all the subdomains (in fact it could be more than one if your node is on a boundary between subdomains)

Hope this helps
Christophe
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12264

  • special_20
  • special_20's Avatar
I think I see the point : as I run in parallel I see the WRITE function outputs only for one processor which is not the one for which I try to compute H%R(gtl_var) and ZF%R(gtl_var) hence GLOBAL_TO_LOCAL_POINT(27761,MESH) is equal to 0. But there is something that seems strange to me : GLOBAL_TO_LOCAL_POINT(27761,MESH) seems to be always equal to 0.

I'll investigate next week !
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12272

  • special_20
  • special_20's Avatar
Hello,

I wrote gtl_var = GLOBAL_TO_LOCAL_POINT(27761,MESH) and I added a condition on the value of gtl_var so that H%R(gtl_var) and ZF%R(gtl_var) are written only if gtl_var > 0 and then nothing is written.

More at the beginning of run there is the following message :

NOMBRE D'ELEMENTS: 8388
NOMBRE REEL DE POINTS: 4276

whereas the total number of nodes of my mesh is 33748.

Do the outputs correspond to only one of the processors that I run ?
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12273

  • c.coulet
  • c.coulet's Avatar
  • OFFLINE
  • Moderator
  • Posts: 3722
  • Thank you received: 1031
Hi
YEs of course, the output is the listing of the processor 0 (master) which not contains necessary the point you want to follow.
have a look into the temporary directory, all the output of other processors are redirected to files named PExxxxx.xxxxx.log (one for each slave processor)
You could also enhance you program by managing the case where gtl_var=0 to give a -9999 value to your variable and then call the parallel subroutine p_dmax which return the maximum of all the processors. Then you will have the value in the listing of the master processor...

Hope this helps
Christophe
The administrator has disabled public write access.

Problem with how to check variables in Telemac2D, U, V, ... 10 years 8 months ago #12281

  • special_20
  • special_20's Avatar
This is it, the node 27761 is the node 2747 of the sub-domain 4.

What I don't understand is that ZF%R(22751) is equal to 1.61 whereas the altitude of the node 22751 is 3.16 M. In the declarations_telemac2d.f subroutine ZF stands for the bottom topography, it is not the altitude ?
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.