I found one more bug in ARTEMIS. It affects parallel run.
The call of subroutine CNTPRE in subroutine BERKHO may change preconditioning flag SLVART%PRECON.
So in parallel different processors may have different value of preconditioning flag, because in CNTPRE no global checking.
Then in subroutine SOLVE some of processors may call and some may don't call PRECDT subroutine (see part of code from SOLVE)
IF(2*(CFG%PRECON/2).EQ.CFG%PRECON.OR.
& 3*(CFG%PRECON/3).EQ.CFG%PRECON.OR.
& 5*(CFG%PRECON/5).EQ.CFG%PRECON) THEN
CALL PRECDT(X,A,B,TBB%ADR(IT1)%P,MESH,
& CFG%PRECON,PREXSM,DIADON,S)
ENDIF
But PRECDT through calls of PRECD4 -> PARCOM -> PARCOM2 -> PARACO - > P_IREAD, P_IWRIT, P_WAIT_PARACO call MPI functions. So some of processors call and some don't call MPI functions. That cause crash of ARTEMIS in parallel.
May be global checking of preconditioning flag in or after CNTPRE subroutine is needed.