MODULE mo_exception USE mo_doctor, ONLY: nerr 5: IMPLICIT NONE PUBLIC :: message_text PUBLIC :: message, finish 10: PRIVATE CHARACTER (132) :: message_text CONTAINS 15: SUBROUTINE finish (name, text) USE mo_mpi USE mo_control, ONLY: nstop 20: USE mo_start_dataset, ONLY: nstep CHARACTER (*) :: name CHARACTER (*), OPTIONAL :: text 25: EXTERNAL util_abort WRITE (nerr,'(/,80("*"),/)') IF (PRESENT(text)) THEN 30: WRITE (nerr,'(1x,a,a,a)') TRIM(name), ': ', TRIM(text) ELSE WRITE (nerr,'(1x,a,a)') TRIM(name), ': ' ENDIF 35: IF (nstep < nstop) THEN WRITE (nerr,'(a,i6)') ' Forecast aborted at time step ', nstep WRITE (nerr,'(a,i6)') ' Forecast was expected to conclude at step ', nstop ENDIF 40: WRITE (nerr,'(/,80("*"),/)') #ifdef sun CALL errtra #endif 45: IF (p_parallel) THEN CALL p_abort ELSE CALL util_abort 50: END IF message_text(:) = '' END SUBROUTINE finish 55: SUBROUTINE message (name, text) USE mo_mpi 60: CHARACTER (*) :: name, text IF (p_parallel) THEN WRITE (nerr,'(a,i4," - ",a,a)',ADVANCE='NO') & 'PE ', p_pe, TRIM(name), ':' 65: WRITE (nerr,'(1x,a)') TRIM(text) ELSE WRITE (nerr,'(a,a)',ADVANCE='NO') TRIM(name), ':' WRITE (nerr,'(a)') TRIM(text) END IF 70: message_text(:) = '' END SUBROUTINE message 75: END MODULE mo_exceptionback to top
Info Section uses: mo_control, mo_doctor, mo_mpi, mo_start_dataset calls: errtra, p_abort, util_abort
HTML derived from FORTRAN source by f2html.pl v0.3 (C) 1997,98 Beroud Jean-Marc.