source: LMDZ6/trunk/libf/dyn3dmem/abort_gcm.F90 @ 5255

Last change on this file since 5255 was 5246, checked in by abarral, 29 hours ago

Convert fixed-form to free-form sources .F -> .{f,F}90
(WIP: some .F remain, will be handled in subsequent commits)

  • 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
Line 
1!
2! $Id: abort_gcm.F 1747 2013-04-23 14:06:30Z lguez $
3!
4!
5!
6SUBROUTINE 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  INCLUDE "iniprint.h"
16
17  !
18  ! Stops the simulation cleanly, closing files and printing various
19  ! comments
20  !
21  !  Input: modname = name of calling program
22  !     message = stuff to print
23  !     ierr    = severity of situation ( = 0 normal )
24
25  character(len=*), intent(in):: modname
26  integer :: ierr, ierror_mpi
27  character(len=*), intent(in):: message
28
29  write(lunout,*) 'in abort_gcm'
30#ifdef CPP_IOIPSL
31!$OMP MASTER
32  call histclo
33  call restclo
34  if (MPI_rank .eq. 0) then
35     call getin_dump
36  endif
37!$OMP END MASTER
38#endif
39  ! call histclo(2)
40  ! call histclo(3)
41  ! call histclo(4)
42  ! 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 = ', ierr
49
50    if (using_mpi) THEN
51!$OMP CRITICAL (MPI_ABORT_GCM)
52      call MPI_ABORT(COMM_LMDZ, 1, ierror_mpi)
53!$OMP END CRITICAL (MPI_ABORT_GCM)
54    else
55     stop 1
56    endif
57
58  endif
59END SUBROUTINE abort_gcm
Note: See TracBrowser for help on using the repository browser.