In the last few months, I've experienced problems running BOUT++ batch jobs on ARCHER. I think I figured out why I and would like to bring this to the attention of the group.
When configuring BOUT++ without flags, ARCHER now selects mpicxx as a compiler. The code compiles alright and passes all the tests. An interactive mpirun command gives the expected results, i.e. the code works. However, when batch jobs are lunched with the aprun command, the code does not work as some mpich libraries are not found.
To solve the problem, one has to configure BOUT++ with this command: ./configure MPICXX=CC. This sets the parallel C++ compiler to be the CC wrapper, which has all the correct links to the libraries. The code can then be made without errors. However, when I tried to run the test_suite, all the tests FAILED ! I suspect it is because the tests are lunched with mpirun... On the other hand, now the batch jobs respond to the aprun command and everything works as expected. In other words, this is the right configuration, the only flaw is the test_suite.
I hope this is helping, it might be worthwhile adding a line or two about this on the manual, when discussing the Archer installation