source: LMDZ5/branches/LMDZ5V2.0-dev/libf/dyn3dpar/abort_gcm.F @ 5440

Last change on this file since 5440 was 1475, checked in by Ehouarn Millour, 14 years ago

Bug fix: don't "stop" in abort_gcm if all ends well (just let the program end cleanly and finalize parallel processes).
EM

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.1 KB
RevLine 
[630]1!
[1279]2! $Id: abort_gcm.F 1475 2011-01-21 14:41:03Z evignon $
[630]3!
4c
5c
6      SUBROUTINE abort_gcm(modname, message, ierr)
7     
8#ifdef CPP_IOIPSL
9      USE IOIPSL
[1279]10#else
11! if not using IOIPSL, we still need to use (a local version of) getin_dump
12      USE ioipsl_getincom
[630]13#endif
[1279]14      USE parallel
[630]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
[1425]25      character(len=*) modname
[630]26      integer ierr
[1425]27      character(len=*) message
[630]28
29      write(lunout,*) 'in abort_gcm'
30#ifdef CPP_IOIPSL
[985]31c$OMP MASTER
[630]32      call histclo
33      call restclo
[1279]34      if (MPI_rank .eq. 0) then
35         call getin_dump
36      endif
[985]37c$OMP END MASTER
[630]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
[1425]49        stop 1
[630]50      endif
51      END
Note: See TracBrowser for help on using the repository browser.