source: LMDZ5/trunk/libf/dyn3dpar/abort_gcm.F @ 3311

Last change on this file since 3311 was 2100, checked in by lguez, 10 years ago

Removed "on rentre dans guide_main" from guide_main in dyn3dpar, was
already commented out in the dyn3dmem version.

Keeping length of lines under 80 characters in physiq (for
readability). Removed wrong comments "ajout des tendances de la
diffusion turbulente". Replaced "con" by "convection" as an argument
of add_phys_tend.

  • Property copyright set to
    Name of program: LMDZ
    Creation date: 1984
    Version: LMDZ5
    License: CeCILL version 2
    Holder: Laboratoire de m\'et\'eorologie dynamique, CNRS, UMR 8539
    See the license file in the root directory
  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 1.3 KB
Line 
1!
2! $Id: abort_gcm.F 2100 2014-07-22 16:33:56Z fairhead $
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_lmdz
15
16
17
18
19#include "iniprint.h"
20 
21C
22C Stops the simulation cleanly, closing files and printing various
23C comments
24C
25C  Input: modname = name of calling program
26C         message = stuff to print
27C         ierr    = severity of situation ( = 0 normal )
28
29      character(len=*), intent(in):: modname
30      integer ierr, ierror_mpi
31      character(len=*), intent(in):: message
32
33      write(lunout,*) 'in abort_gcm'
34#ifdef CPP_IOIPSL
35c$OMP MASTER
36      call histclo
37      call restclo
38      if (MPI_rank .eq. 0) then
39         call getin_dump
40      endif
41c$OMP END MASTER
42#endif
43
44
45
46c     call histclo(2)
47c     call histclo(3)
48c     call histclo(4)
49c     call histclo(5)
50      write(lunout,*) 'Stopping in ', modname
51      write(lunout,*) 'Reason = ',message
52      if (ierr .eq. 0) then
53        write(lunout,*) 'Everything is cool'
54      else
55        write(lunout,*) 'Houston, we have a problem, ierr = ', ierr
56#ifdef CPP_MPI
57C$OMP CRITICAL (MPI_ABORT_GCM)
58        call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
59C$OMP END CRITICAL (MPI_ABORT_GCM)
60#else
61        stop 1
62#endif         
63      endif
64      END
Note: See TracBrowser for help on using the repository browser.