source: LMDZ5/branches/testing/libf/dyn3dmem/abort_gcm.F @ 1856

Last change on this file since 1856 was 1795, checked in by Ehouarn Millour, 11 years ago

Version testing basee sur la r1794


Testing release based on r1794

File size: 1.3 KB
RevLine 
[1632]1!
[1795]2! $Id: abort_gcm.F 1747 2013-04-23 14:06:30Z lguez $
[1632]3!
4c
5c
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      USE parallel
15#include "iniprint.h"
16 
17C
18C Stops the simulation cleanly, closing files and printing various
19C comments
20C
21C  Input: modname = name of calling program
22C         message = stuff to print
23C         ierr    = severity of situation ( = 0 normal )
24
[1658]25      character(len=*) modname
[1795]26      integer ierr, ierror_mpi
[1658]27      character(len=*) message
[1632]28
29      write(lunout,*) 'in abort_gcm'
30#ifdef CPP_IOIPSL
31c$OMP MASTER
32      call histclo
33      call restclo
34      if (MPI_rank .eq. 0) then
35         call getin_dump
36      endif
37c$OMP END MASTER
38#endif
39c     call histclo(2)
40c     call histclo(3)
41c     call histclo(4)
42c     call histclo(5)
43      write(lunout,*) 'Stopping in ', modname
44      write(lunout,*) 'Reason = ',message
45      if (ierr .eq. 0) then
46        write(lunout,*) 'Everything is cool'
47      else
48        write(lunout,*) 'Houston, we have a problem ', ierr
[1795]49#ifdef CPP_MPI
50C$OMP CRITICAL (MPI_ABORT_GCM)
51        call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
52C$OMP END CRITICAL (MPI_ABORT_GCM)
53#else
[1658]54        stop 1
[1795]55#endif         
[1632]56      endif
57      END
Note: See TracBrowser for help on using the repository browser.