source: LMDZ5/trunk/libf/dyn3dmem/abort_gcm.F @ 2306

Last change on this file since 2306 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
File size: 1.3 KB
RevLine 
[1632]1!
[1748]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
[1823]14      USE parallel_lmdz
[1632]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
[2100]25      character(len=*), intent(in):: modname
[1747]26      integer ierr, ierror_mpi
[2100]27      character(len=*), intent(in):: 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
[2100]48        write(lunout,*) 'Houston, we have a problem, ierr = ', ierr
[1747]49#ifdef CPP_MPI
[1748]50C$OMP CRITICAL (MPI_ABORT_GCM)
[1747]51        call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
[1748]52C$OMP END CRITICAL (MPI_ABORT_GCM)
[1747]53#else
[1658]54        stop 1
[1747]55#endif         
[1632]56      endif
57      END
Note: See TracBrowser for help on using the repository browser.