Page 1 of 1

The user subroutine 'usipph' must be completed version 4.0

Posted: Tue Dec 08, 2015 1:19 pm
by st268
Hello,

I am using v4.0 without the GUI. I have set up a case using the ALE module but when I run it I get the following error in my listing:

@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@
@ @@ WARNING: stop in data input
@ =======
@ The user subroutine 'usipph' must be completed
@ in file cs_user_parameters.f90
@
@ The calculation will not be run.
@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@

As far as I can see I have completed usipph (see attached cs_user_parameters.f90 file). I read in another forum post that this could have something to do with PARAM not being set in the uncase file but I thought PARAM was for when you are using the GUI so I am not sure whether that is the case here. My uncase file simply contains:

#!/bin/bash
# Ensure the correct command is found:
export PATH=/Users/Charlie/Code_Saturne/4.0.3/code_saturne-4.0.3/arch/Darwin_x86_64/bin:$PATH
# Run command:
\code_saturne run


Any help much appreciated!

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 1:54 pm
by Yvan Fournier
Hello,

Did you make sure the routines are compiled correctly (i.e. what does compile.log say) ?

PARAM is not necessary with user subroutines only, so the issue is user subroutine-related.

Also, are you using your own build or a Debian package (we have had issues with handling of user subroutines on Debian packages in the past). What other info do you have regarding your system ?

Best regards,

Yvan

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 2:21 pm
by st268
Hy Yvan,

Thanks for the quick response. Everything compiled ok, I had warnings for unused variables but no errors. I have attached a compile log in case these are important (I ignored them, sorry thats probably not good practice).

I'm on a mac, details below and I have attached the setup file if useful.

OS X El Capitan, 10.11
Processor Name: Intel Core i7
Processor Speed: 3.1 GHz
Number of Processors: 1
Total Number of Cores: 2
L2 Cache (per Core): 256 KB
L3 Cache: 4 MB
Memory: 16 GB

We installed from source using home-brew, I don't yet have a working version of v4 on a linux machine due to ongoing upgrades of the computer labs where I am based.

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 2:22 pm
by st268
Compile log attached, sorry!

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 3:55 pm
by Yvan Fournier
Hello,

I have no other feedback on El Capitan, but on older Mac systems, we have had issues with the linker, which applies quite strict rules. So on most macs, we recommend configuring the code using "--disable-shared", to use a build specific to Mac. This means:

"cd" to build directory (the one containing config.log"
make uninstall
copy "configure" command at the beginning of config.log to terminal, removing "--no-create --no-recursion" if present, adding "--disable-shared" (then press enter to run configure)
make && make install
With this, you won't be able to remove unused subroutines from your user files (though you can, and it is recommended for readability, make them empty), because on Mac, the files from the reference statically-built library are replaced, (not just supplemented) by your files.

Hopefully, this will work.

We'll try to do better whenever someone from the development team has access to a Mac with a newer system, or if someone familiar with the Mac linker wants to help...

Regards,

Yvan

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 4:10 pm
by st268
Ok, thanks Yvan.

And thank you for answering in such so I can understand! :)

Re: The user subroutine 'usipph' must be completed version 4

Posted: Tue Dec 08, 2015 4:24 pm
by st268
And just to update, your solution worked :)

Now just to solve the new errors I got on the next stage of the calculation...