M3MESG(), M3MSG2(), M3PARAG, M3PROMPT, M3FLUSH, m3mesgc(), and m3msg2c()

Fortran version:

    SUBROUTINE M3MESG( MESGTXT )
    ENTRY      M3PARAG( NMESG, MESGS )
    ENTRY      M3PROMPT( MESSAGE, ANSWER, ISTAT )
    ENTRY      M3FLUSH( IDEV )
        CHARACTER*(*), INTENT(IN   ) :: MESGTXT !  caller-supplied message
        INTEGER      , INTENT(IN   ) :: NMESG, IDEV
        CHARACTER*(*), INTENT(IN   ) :: MESGS( NMESG )
        CHARACTER*(*), INTENT(  OUT) :: ANSWER
        INTEGER      , INTENT(  OUT) :: NMESG, ISTAT, IDEV

C version:

m3mesgc() is a C wrapper calling the Fortran M3MESG()

    void m3mesgc( const char * mesgtxt ) ;

Summary:

M3MESG()
Generate a 1-line message to the program log (LOGFILE).

M3MSG2()
Variant of M3MESG() which, in the case that the LOGFILE and standard output are distinct, writes the same message to both.

M3PARAG
Gnerates multi-line messages to the program log. Set up with OpenMP critical sections, so that messages from distinct threads do not overlap.

M3PROMPT
Generate prompt-and-response.

M3FLUSH
wrapper around FLUSH() -- needed for IBM XLF.

OpenMP thread-safe (when compiled with OpenMP enabled).

See also M3ERR() and m3errc() , M3EXIT() and m3exitc() , and M3WARN() and m3warnc() .

Preconditions:

#include "iodecl3.h" if called from C.

Fortran Usage:

    
    ...
    USE M3UTILIO
    ...
    CALL M3MESG( 'Here is a message' ) ;
        ...

C Usage:

    ...
    #include "iodecl3.h"
    ...
    m3mesgc( "Here is a message" ) ;
    ... 


Previous: M3EXIT

Next: M3WARN

Up: Utility Routines

To: Models-3/EDSS I/O API: The Help Pages