32 integer,
intent(in) :: errortype
33 character(len=*),
intent(in),
optional :: errormsg
34 character(len=512) :: text
36 integer :: istat, errunit, outunit
38 if( .NOT.module_is_initialized )
call abort()
40 select case( errortype )
48 text =
'WARNING: non-existent errortype (must be NOTE|WARNING|FATAL)'
51 if( npes.GT.1 )
write( text,
'(a,i5)' )trim(text)//
' from PE', pe
52 if(
PRESENT(errormsg) )text = trim(text)//
': '//trim(errormsg)
57 select case( errortype )
59 write( outunit,
'(a)' )trim(text)
61 write( errunit,
'(/a/)' )trim(text)
62 write( outunit,
'(/a/)' )trim(text)
63 if( errortype.EQ.fatal .OR. warnings_are_fatal )
then
69 error_state = errortype
78 function get_peset(pelist)
80 integer,
intent(in),
optional :: pelist(:)
82 if( .NOT.
PRESENT(pelist) )
then
83 get_peset = current_peset_num;
return
90 end function get_peset
95 integer,
intent(in),
optional :: pelist(:)
96 integer,
intent(in),
optional :: check
105 subroutine mpp_sync_self( pelist, check, request, msg_size, msg_type )
106 integer,
intent(in),
optional :: pelist(:)
107 integer,
intent(in),
optional :: check
108 integer,
intent(inout),
optional :: request(:)
109 integer,
intent(in ),
optional :: msg_size(:)
110 integer,
intent(in ),
optional :: msg_type(:)
subroutine mpp_sync_self(pelist, check, request, msg_size, msg_type)
This is to check if current PE's outstanding puts are complete but we can't use shmem_fence because w...
subroutine mpp_error_basic(errortype, errormsg)
A very basic error handler uses ABORT and FLUSH calls, may need to use cpp to rename.
integer function stdout()
This function returns the current standard fortran unit numbers for output.
integer function stderr()
This function returns the current standard fortran unit numbers for error messages.
subroutine mpp_sync(pelist, do_self)
Synchronize PEs in list.