Configuring MUMPS for reduced verbosity

By default, the Fortran MPI parallel sparse direct solver library MUMPS is extremely verbose, clogging up the terminal or log file with perhaps 100s of MBytes of text. Disable the log messages by setting ICNTL as in the following MUMPS example. Note: for MUMPS < 5.2 the ICNTL(4) does not take effect; that was a known bug.

MUMPS can be installed on Linux systems like:

apt install libmumps-dev

or install MUMPS using CMake.

For ICNTL(1-4), setting the value ≤ 0 suppresses verbose messages. ICNTL(4) allows fine-grained setting of verbosity; see page 54 of the MUMPS User Manual.

!! this must be called AFTER the first mumps call that had job=-1

program test_mumps
use, intrinsic:: iso_fortran_env, only: output_unit, error_unit
implicit none (type, external)

include 'dmumps_struc.h'  ! per MUMPS manual

type (dMUMPS_STRUC) :: mumps_par

mumps_par%ICNTL(1) = error_unit  ! error messages
mumps_par%ICNTL(2) = output_unit !  diagnostic, statistics, and warning messages
mumps_par%ICNTL(3) = output_unit ! global info, for the host (myid==0)
mumps_par%ICNTL(4) = 1           ! default is 2.  1 is less verbose

end program