1 |
guez |
3 |
module abort_gcm_m |
2 |
|
|
|
3 |
|
|
implicit none |
4 |
|
|
|
5 |
|
|
contains |
6 |
|
|
|
7 |
|
|
SUBROUTINE abort_gcm(modname, message, ierr) |
8 |
|
|
|
9 |
|
|
! From abort_gcm.F, version 1.1.1.1 2004/05/19 12:53:05 |
10 |
|
|
|
11 |
|
|
! Stops the simulation cleanly, closing files and printing various |
12 |
|
|
! comments |
13 |
|
|
|
14 |
|
|
! Input: modname = name of calling program |
15 |
|
|
! message = stuff to print |
16 |
|
|
! ierr = severity of situation ( = 0 normal ) |
17 |
|
|
|
18 |
|
|
USE IOIPSL, only: histclo |
19 |
|
|
use iniprint, only: lunout |
20 |
|
|
|
21 |
|
|
character(len=*), intent(in):: modname |
22 |
|
|
integer, intent(in):: ierr |
23 |
|
|
character(len=*), intent(in):: message |
24 |
|
|
|
25 |
|
|
!------------------- |
26 |
|
|
|
27 |
|
|
print *, 'abort_gcm' |
28 |
|
|
|
29 |
|
|
call histclo |
30 |
|
|
write(lunout,*) 'Stopping in ', modname |
31 |
|
|
write(lunout,*) 'Reason = ', trim(message) |
32 |
|
|
if (ierr == 0) then |
33 |
|
|
write(lunout,*) 'Everything is cool' |
34 |
|
|
STOP |
35 |
|
|
else |
36 |
|
|
write(lunout,*) 'Houston, we have a problem ', ierr |
37 |
|
|
STOP 1 |
38 |
|
|
endif |
39 |
|
|
|
40 |
|
|
END SUBROUTINE abort_gcm |
41 |
|
|
|
42 |
|
|
end module abort_gcm_m |