compiling Gslib in cluster
I am trying to compile EOS7C-Gslib. It works well on my PC where I used Visual studio. But I can't manage to do the same thing on cluster. I got this linking error:
it2main.o: In function `calltoug_':
it2main.f:(.text+0x1e10a): undefined reference to `multi_'
it2main.o: In function `itough2_':
it2main.f:(.text+0x3ebe0): undefined reference to `morris_'
it2main.f:(.text+0x3f428): undefined reference to `saltelli_'
I was not sure what part I'm doing wrong. Will really appreciate your help.
It appears you compiled iTOUGH2 before for an EOS module that has its special subroutine MULTI. At any rate, go to t2f.f and make sure you find "SUBROUTINE MULTI" (not xMULTI or some other renamed version of MULTI). You also need to compile and link file it2sa.f. (Not sure where you got your version of iTOUGH2 from...).
You should be able to imply go to ~/itough2/SourceCode and type
./it2make -gslib 7c
I have compiled both itough2_gslib_17 ang itough2_gslib_7C on a cluster and got the executable files. There is no problem running a homogeneous simulation.However, I cannot manage to run any heterogeneous case. It actually fails to read the input file correctly...like, the MOPs don't return the correct value they have in the input file and program crashes when it starts to go through Gslib part. I have run the exact files on my PC, so I think my inputs should be fine. I was wondering if you can give me an idea what I might be doing wrong.
The only thing I can think of is that the respective compilers handle the reading of "wrong" input differently. A guess of mine is that somewhere in the GSLIB input block you have a decimal point when the code expects an integer. In particular, check:
1.0 0.0 \lower tail option and parameter
1.0 0.0 \upper tail option and parameter
which should be
1 0.0 \lower tail option and parameter
1 0.0 \upper tail option and parameter
This is my wild guess just because this error was in the original GSLIB sample problem. For me to get beyond a wild guess, please (as always!) provide information about the error message you get (check screen, .msg, and all output files). If the error message is not very informative, please recompile in debug mode and run it again.
Not sure how the MOPs get entangled in this.