Welcome, Guest
Username: Password: Remember me

TOPIC: Modified subroutine of sisyphe does not allow to compile the system

Modified subroutine of sisyphe does not allow to compile the system 9 years 7 months ago #16508

  • amendozar001
  • amendozar001's Avatar
The attached file works fine when included as parameter in FORTRAN FILE in the steering file.

Since now we are moving to a more powerful cluster, and we need to run with a queue system, computing nodes don't accept compiling processes, so, we need to do the modifications to code directly in the source folders of telemac, then compile the telemac system, and run the simulation.

In doing so, during the compilation of telemac we get the error:


/home/jabad/amendoza/OPENTELEMAC/opensuse-sources/sources/sisyphe/noerod.f:46.9:s

USE DECLARATIONS_TELEMAC2D, ONLY:T2D_FILES, T2DGEO, NPRIV,W
1
Fatal Error: Can't open module file 'declarations_telemac2d.mod' for reading at (1): No such file or directory


Do you have an idea of what we need to modify to have a successful compilation?

We suspect we need to modify the file sisyphe.cmdf, we tried including declarations_telemac2d.f under the section [sisyphe] but we keep having the same error.

We'll appreciate your help

File Attachment:

File Name: noerod.f
File Size: 4 KB
The administrator has disabled public write access.

Modified subroutine of sisyphe does not allow to compile the system 9 years 7 months ago #16562

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Could you list quickly the file you modified/added ?

Hope it helps
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

Modified subroutine of sisyphe does not allow to compile the system 9 years 7 months ago #16568

  • amendozar001
  • amendozar001's Avatar
The file is attached, the part that was modiffied is including use telemac

!
USE BIEF
USE DECLARATIONS_TELEMAC <<< here
USE DECLARATIONS_TELEMAC2D, ONLY:T2D_FILES, T2DGEO, NPRIV,W <<< here
USE DECLARATIONS_SISYPHE , ONLY : IELMT, MESH,PRIVE

IMPLICIT NONE
INTEGER LNG,LU
COMMON/INFO/LNG,LU
!

since it it used here:


!=======================================================================
!
! LOAD DATA FROM SELAFIN FILE
!
! ALLOCATE(WSEB(NPOIN),STAT=ERR)
! IF(ERR.NE.0) STOP
!
! IF( NPRIV.GE.1 ) THEN
! CALL OS( 'X=C ',X=PRIVE%ADR(1)%P,C=0.D0 )
! CALL OS( 'X=C ',PRIVE%ADR(1)%P, ZF,ZF,(0.D0) )
! CALL FIND_IN_SEL(PRIVE%ADR(1)%P,'VARIABLE 23 ',
! CALL FIND_IN_SEL(PRIVE%ADR(1)%P,'BOTTOM ',
! & T2D_FILES(T2DGEO)%LU,WSEB,OK,TIME=BID) <<<here
! ENDIF
The administrator has disabled public write access.

Modified subroutine of sisyphe does not allow to compile the system 9 years 7 months ago #16570

  • jmhervouet
  • jmhervouet's Avatar
Hello,

I had posted full explanations for you but cannot find where they are. Basically you cannot refer to telemac2d library when you are compiling sisyphe because the latter is compiled before. You must thus suppress all reference to telemac2d in your subroutine.

I suggest that you find on your old computer what is the value of T2D_FILES(T2DGEO)%LU when telemac2d and sisyphe are coupled. Just print it during a run.

then you can hardcode this value in noerod.f, provided that you do not add a new file that will shift the numbers (unprobable as the geometry is one of the first files to be considered in the list).

NPRIV of telemac2d is not the NPRIV of sisyphe, so remove NPRIV also and put it in the USE DECLARATIONS_SISYPHE (this is a mistake of your example). There remains W, which is just a real array, so you can allocate it locally in noerod.f, probably the implementation of WSEB that is commented out was for this (however it would be better to allocate it only at the first call and save it).

And that should do it...

With best regards,

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

Modified subroutine of sisyphe does not allow to compile the system 9 years 6 months ago #16806

  • amendozar001
  • amendozar001's Avatar
We did the modifications as you suggested and it worked. The modified sunroutine of noerode.f is attached However, now we have installed version 7 of telemac, and we get a segmentation error

We have traced the error to the subroutine FIND_INS_ELAFIN and found that the error happens in line 128 of the subroutine

119 IF(IB(10).EQ.1) CALL LIT(XB,RB,IB,CB,6,'I ',NFIC,'STD',ISTAT)
120 !
121 ! 5: 4 INTEGERS
122 CALL LIT(XB,RB,IB,CB,4,'I ',NFIC,'STD',ISTAT)
123 NPOIN = IB(2)
124 !
125 IF(PRESENT(NP)) NP = NPOIN
126 !
127 ! 6: IKLES (LIKE IKLE BUT INDICES EXCHANGED)
128 CALL LIT(XB,RB,IB,CB,1,'I ',NFIC,'STD',ISTAT) <<<<< seems error is produced here
129 !
130 ! 7: IPOBO OR KNOLG
131 CALL LIT(XB,RB,IB,CB,1,'I ',NFIC,'STD',ISTAT)
132 !
133 ! 8 AND 9: X AND Y
134 CALL LIT(XB,W,IB,CB,1,RF,NFIC,'STD',ISTAT)
135 CALL LIT(XB,W,IB,CB,1,RF,NFIC,'STD',ISTAT)


!!!!!!!!!!!

what telemac prints is the following before it crashes:

|runCode: Fail to run
|/opt/sam/rhel6/openmpi/1.6.5/gcc/4.8.2/bin/mpiexec -wdir /home/jabad/alm250/TELEMACRUNS/IniBedform/Cutoff.cas_2015-05-01-17h20min36s -n 4 /home/jabad/alm250/TELEMACRUNS/IniBedform/Cutoff.cas_2015-05-01-17h20min36s/out_telemac2d
|~~~~~~~~~~~~~~~~~~
|Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
|
|Backtrace for this error:
|
|Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
|
|Backtrace for this error:
|
|Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
|
|Program received signal SIGSEGV: Segmentation fault - invalid memory reference.
|
|Backtrace for this error:
|
|Backtrace for this error:
|
|An MPI process has executed an operation involving a call to the
|"fork()" system call to create a child process. Open MPI is currently
|operating in a condition that could result in memory corruption or
|other system errors; your MPI job may hang, crash, or produce silent
|data corruption. The use of fork() (or system() or other calls that
|create child processes) is strongly discouraged.
|
|The process that invoked fork was:
|
| Local host: n155 (PID 67867)
| MPI_COMM_WORLD rank: 0






I'd appreciate if you could provide any feedback that help us to solve the issue.


Regards,
Alejandro

File Attachment:

File Name: noerod_2015-05-01.f
File Size: 4 KB
The administrator has disabled public write access.

Modified subroutine of sisyphe does not allow to compile the system 9 years 6 months ago #16809

  • yugi
  • yugi's Avatar
  • OFFLINE
  • openTELEMAC Guru
  • Posts: 851
  • Thank you received: 244
Hi

could you post your install configuration file (systel.cfg)
There are 10 types of people in the world: those who understand binary, and those who don't.
The administrator has disabled public write access.

Modified subroutine of sisyphe does not allow to compile the system 9 years 6 months ago #16815

  • jmhervouet
  • jmhervouet's Avatar
Hello,

It could be also a lack of compatibility between the subroutines added in your Fortran file and the new version (for example different arguments).

regards,

JMH
The administrator has disabled public write access.
Moderators: borisb

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