LCOV - code coverage report
Current view: top level - src/62_ctqmc - m_global.F90 (source / functions) Coverage Total Hit
Test: coverage.info Lines: 35.3 % 17 6
Test Date: 2026-11-10 15:53:16 Functions: 33.3 % 3 1
Branches: 37.5 % 8 3

             Branch data     Line data    Source code
       1                 :             : 
       2                 :             : #if defined HAVE_CONFIG_H
       3                 :             : #include "config.h"
       4                 :             : #endif
       5                 :             : !!****m* ABINIT/m_global
       6                 :             : !! NAME
       7                 :             : !!  m_global
       8                 :             : !!
       9                 :             : !! FUNCTION
      10                 :             : !!  Manage error and warnings for the ctqmc
      11                 :             : !!
      12                 :             : !! COPYRIGHT
      13                 :             : !!  Copyright (C) 2013-2026 ABINIT group (J. Bieder)
      14                 :             : !!  This file is distributed under the terms of the
      15                 :             : !!  GNU General Public License, see ~abinit/COPYING
      16                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
      17                 :             : !!
      18                 :             : !! NOTES
      19                 :             : !!
      20                 :             : !! SOURCE
      21                 :             : 
      22                 :             : #include "defs.h"
      23                 :             : 
      24                 :             : MODULE m_Global
      25                 :             : 
      26                 :             : #if defined HAVE_CONFIG_H
      27                 :             : ! we are in abinit
      28                 :             : USE defs_basis
      29                 :             : USE m_profiling_abi
      30                 :             : USE m_errors
      31                 :             : USE m_xmpi
      32                 :             : USE m_xomp
      33                 :             : #endif
      34                 :             : 
      35                 :             : USE_MPI
      36                 :             : 
      37                 :             : IMPLICIT NONE
      38                 :             : 
      39                 :             : PUBLIC
      40                 :             : 
      41                 :             : PUBLIC :: ERROR
      42                 :             : PUBLIC :: WARN
      43                 :             : PUBLIC :: WARNALL
      44                 :             : 
      45                 :             : CONTAINS
      46                 :             : !!***
      47                 :             : 
      48                 :             : !!****f* ABINIT/m_global/ERROR
      49                 :             : !! NAME
      50                 :             : !!  ERROR
      51                 :             : !!
      52                 :             : !! FUNCTION
      53                 :             : !!  error dectected => leave
      54                 :             : !!
      55                 :             : !! COPYRIGHT
      56                 :             : !!  Copyright (C) 2013-2026 ABINIT group (J. Bieder)
      57                 :             : !!  This file is distributed under the terms of the
      58                 :             : !!  GNU General Public License, see ~abinit/COPYING
      59                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
      60                 :             : !!
      61                 :             : !! INPUTS
      62                 :             : !!  message=error message to display
      63                 :             : !!
      64                 :             : !! OUTPUT
      65                 :             : !!
      66                 :             : !! SIDE EFFECTS
      67                 :             : !!
      68                 :             : !! NOTES
      69                 :             : !!
      70                 :             : !! SOURCE
      71                 :             : 
      72                 :           0 : SUBROUTINE ERROR(message)
      73                 :             : 
      74                 :             : !Arguments ------------------------------------
      75                 :             : #ifdef HAVE_MPI1
      76                 :             : include 'mpif.h'
      77                 :             : #endif
      78                 :             :   CHARACTER(LEN=*), INTENT(IN) :: message
      79                 :             : !Local variables ------------------------------
      80                 :             :   CHARACTER(LEN=500)            :: messend
      81                 :             : #ifdef HAVE_MPI
      82                 :             :   INTEGER                       :: ierr
      83                 :             :   INTEGER                       :: rank
      84                 :           0 :   CALL MPI_Comm_rank(MY_WORLD, rank, ierr)
      85                 :           0 :   WRITE(messend,'(A,i5,A,A)') "ERROR in QMC rank ", rank, " : ",TRIM(message)
      86         [ #  # ]:           0 :   myERROR(TRIM(messend))
      87                 :           0 :   CALL MPI_Finalize(ierr) ! IF in abinit, does nothing since killed in _myERROR_
      88                 :             : #else
      89                 :             :   WRITE(messend,'(A,A)') "ERROR in QMC : ", TRIM(message)
      90                 :             :   myERROR(TRIM(messend))
      91                 :             : #endif
      92                 :             :   !CALL FLUSH(0)
      93                 :           0 :   STOP
      94                 :             : END SUBROUTINE ERROR
      95                 :             : !!***
      96                 :             : 
      97                 :             : !!****f* ABINIT/m_global/WARN
      98                 :             : !! NAME
      99                 :             : !!  WARN
     100                 :             : !!
     101                 :             : !! FUNCTION
     102                 :             : !!  on cpu wants to tell something
     103                 :             : !!
     104                 :             : !! COPYRIGHT
     105                 :             : !!  Copyright (C) 2013-2026 ABINIT group (J. Bieder)
     106                 :             : !!  This file is distributed under the terms of the
     107                 :             : !!  GNU General Public License, see ~abinit/COPYING
     108                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
     109                 :             : !!
     110                 :             : !! INPUTS
     111                 :             : !!  message=warning message
     112                 :             : !!
     113                 :             : !! OUTPUT
     114                 :             : !!
     115                 :             : !! SIDE EFFECTS
     116                 :             : !!
     117                 :             : !! NOTES
     118                 :             : !!
     119                 :             : !! SOURCE
     120                 :             : 
     121                 :           0 : SUBROUTINE WARN(message)
     122                 :             : 
     123                 :             : !Arguments ------------------------------------
     124                 :             : #ifdef HAVE_MPI1
     125                 :             : include 'mpif.h'
     126                 :             : #endif
     127                 :             :   CHARACTER(LEN=*), INTENT(IN) :: message
     128                 :             : !Local variables ------------------------------
     129                 :             :   CHARACTER(LEN=500)           :: messend
     130                 :             : #ifdef HAVE_MPI
     131                 :             :   INTEGER                      :: ierr
     132                 :             :   INTEGER                      :: rank
     133                 :           0 :   CALL MPI_Comm_rank(MY_WORLD, rank, ierr)
     134                 :           0 :   WRITE(messend,'(A,I6,A,A)') "WARNING in QMC rank ", rank, " : ", TRIM(message)
     135                 :             : #else
     136                 :             :   WRITE(messend,'(A,A)') "WARNING in QMC : ", TRIM(message)
     137                 :             : #endif
     138         [ #  # ]:           0 :   myWARN(TRIM(messend))
     139                 :             :   !CALL FLUSH(0)
     140                 :             : 
     141                 :           0 : END SUBROUTINE WARN
     142                 :             : !!***
     143                 :             : 
     144                 :             : !!****f* ABINIT/m_global/WARNALL
     145                 :             : !! NAME
     146                 :             : !!  WARNALL
     147                 :             : !!
     148                 :             : !! FUNCTION
     149                 :             : !!  collective warning function
     150                 :             : !!
     151                 :             : !! COPYRIGHT
     152                 :             : !!  Copyright (C) 2013-2026 ABINIT group (J. Bieder)
     153                 :             : !!  This file is distributed under the terms of the
     154                 :             : !!  GNU General Public License, see ~abinit/COPYING
     155                 :             : !!  or http://www.gnu.org/copyleft/gpl.txt .
     156                 :             : !!
     157                 :             : !! INPUTS
     158                 :             : !!  message=message to display
     159                 :             : !!
     160                 :             : !! OUTPUT
     161                 :             : !!
     162                 :             : !! SIDE EFFECTS
     163                 :             : !!
     164                 :             : !! NOTES
     165                 :             : !!
     166                 :             : !! SOURCE
     167                 :             : 
     168                 :          37 : SUBROUTINE WARNALL(message)
     169                 :             : 
     170                 :             : !Arguments ------------------------------------
     171                 :             : #ifdef HAVE_MPI1
     172                 :             : include 'mpif.h'
     173                 :             : #endif
     174                 :             :   CHARACTER(LEN=*), INTENT(IN) :: message
     175                 :             : !Local variables ------------------------------------
     176                 :             :   CHARACTER(LEN=500)           :: messend
     177                 :             : #ifdef HAVE_MPI
     178                 :             :   INTEGER                      :: ierr
     179                 :             :   INTEGER                      :: rank
     180                 :          37 :   CALL MPI_Comm_rank(MY_WORLD, rank, ierr)
     181         [ +  + ]:          37 :   IF ( rank .EQ. 0) THEN
     182                 :             : #endif
     183                 :          19 :     WRITE(messend,'(A,A)') "WARNING in QMC : ", TRIM(message)
     184         [ +  - ]:          19 :     myWARNALL(TRIM(messend))
     185                 :             : #ifdef HAVE_MPI
     186                 :             :   END IF
     187                 :             : #endif
     188                 :             :   !CALL FLUSH(0)
     189                 :             : 
     190                 :          37 : END SUBROUTINE WARNALL
     191                 :             : !!***
     192                 :             : 
     193                 :             : END MODULE m_global
     194                 :             : !!***
        

Generated by: LCOV version 2.3-1