My Project
 All Classes Files Functions Variables Macros
abort_gcm.F
Go to the documentation of this file.
1 !
2 ! $Id: abort_gcm.F 1425 2010-09-02 13:45:23Z lguez $
3 !
4 c
5 c
6  SUBROUTINE abort_gcm(modname, message, ierr)
7 
8 #ifdef CPP_IOIPSL
9  USE ioipsl
10 #else
11 ! if not using IOIPSL, we still need to use (a local version of) getin_dump
12  USE ioipsl_getincom
13 #endif
14 #include "iniprint.h"
15 
16 C
17 C Stops the simulation cleanly, closing files and printing various
18 C comments
19 C
20 C Input: modname = name of calling program
21 C message = stuff to print
22 C ierr = severity of situation ( = 0 normal )
23 
24  character(len=*) modname
25  integer ierr
26  character(len=*) message
27 
28  write(lunout,*) 'in abort_gcm'
29 #ifdef CPP_IOIPSL
30  call histclo
31  call restclo
32 #endif
33  call getin_dump
34 c call histclo(2)
35 c call histclo(3)
36 c call histclo(4)
37 c call histclo(5)
38  write(lunout,*) 'Stopping in ', modname
39  write(lunout,*) 'Reason = ',message
40  if (ierr .eq. 0) then
41  write(lunout,*) 'Everything is cool'
42  stop
43  else
44  write(lunout,*) 'Houston, we have a problem ', ierr
45  stop 1
46  endif
47  END