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

Last change on this file since 5407 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
RevLine 
[630]1!
[1279]2! $Id: abort_gcm.F 2100 2014-07-22 16:33:56Z abarral $
[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
[1823]14      USE parallel_lmdz
[1852]15
16
17
18
[630]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
[2100]29      character(len=*), intent(in):: modname
[1747]30      integer ierr, ierror_mpi
[2100]31      character(len=*), intent(in):: message
[630]32
33      write(lunout,*) 'in abort_gcm'
34#ifdef CPP_IOIPSL
[985]35c$OMP MASTER
[630]36      call histclo
37      call restclo
[1279]38      if (MPI_rank .eq. 0) then
39         call getin_dump
40      endif
[985]41c$OMP END MASTER
[630]42#endif
[1852]43
44
45
[630]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
[2100]55        write(lunout,*) 'Houston, we have a problem, ierr = ', ierr
[1747]56#ifdef CPP_MPI
[1748]57C$OMP CRITICAL (MPI_ABORT_GCM)
[1747]58        call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
[1748]59C$OMP END CRITICAL (MPI_ABORT_GCM)
[1747]60#else
[1425]61        stop 1
[1747]62#endif         
[630]63      endif
64      END
Note: See TracBrowser for help on using the repository browser.