GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: dyn3d/abort_gcm.F Lines: 10 12 83.3 %
Date: 2023-06-30 12:51:15 Branches: 1 2 50.0 %

Line Branch Exec Source
1
!
2
! $Id: abort_gcm.F 2100 2014-07-22 16:33:56Z lguez $
3
!
4
c
5
c
6
4
      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
15
#ifdef CPP_XIOS
16
    ! ug Pour les sorties XIOS
17
      USE wxios
18
#endif
19
20
#include "iniprint.h"
21
22
C
23
C Stops the simulation cleanly, closing files and printing various
24
C comments
25
C
26
C  Input: modname = name of calling program
27
C         message = stuff to print
28
C         ierr    = severity of situation ( = 0 normal )
29
30
      character(len=*), intent(in):: modname
31
      integer, intent(in):: ierr
32
      character(len=*), intent(in):: message
33
34
1
      write(lunout,*) 'in abort_gcm'
35
36
#ifdef CPP_XIOS
37
    !Fermeture propre de XIOS
38
      CALL wxios_close()
39
#endif
40
41
#ifdef CPP_IOIPSL
42
1
      call histclo
43
1
      call restclo
44
#endif
45
1
      call getin_dump
46
c     call histclo(2)
47
c     call histclo(3)
48
c     call histclo(4)
49
c     call histclo(5)
50
1
      write(lunout,*) 'Stopping in ', modname
51
1
      write(lunout,*) 'Reason = ',message
52
1
      if (ierr .eq. 0) then
53
1
        write(lunout,*) 'Everything is cool'
54
1
        stop
55
      else
56
        write(lunout,*) 'Houston, we have a problem, ierr = ', ierr
57
        stop 1
58
      endif
59
      END