LCOV - code coverage report
Current view: top level - configuration/driver - icedrv_system.F90 (source / functions) Coverage Total Hit
Test: 250115-224328:3d8b76b919:4:base,io,travis,quick Lines: 18.75 % 16 3
Test Date: 2025-01-15 16:24:29 Functions: 50.00 % 2 1

            Line data    Source code
       1              : !=======================================================================
       2              : 
       3              : ! Diagnostic information output during run
       4              : !
       5              : ! author: Tony Craig
       6              : 
       7              :       module icedrv_system
       8              : 
       9              :       use icedrv_kinds
      10              :       use icedrv_constants, only: nu_diag
      11              :       use icedrv_state, only: aice
      12              :       use icepack_intfc, only: icepack_warnings_flush, icepack_warnings_aborted
      13              : 
      14              :       implicit none
      15              :       private
      16              :       public :: icedrv_system_abort, &
      17              :                 icedrv_system_flush
      18              : 
      19              : !=======================================================================
      20              : 
      21              :       contains
      22              : 
      23              : !=======================================================================
      24              : ! prints error information prior to aborting
      25              : 
      26            0 :       subroutine icedrv_system_abort(icell, istep, string, file, line)
      27              : 
      28              :       integer (kind=int_kind), intent(in), optional :: &
      29              :          icell       , & ! indices of grid cell where model aborts
      30              :          istep       , & ! time step number
      31              :          line            ! line number
      32              : 
      33              :       character (len=*), intent(in), optional :: string, file
      34              : 
      35              :       ! local variables
      36              : 
      37              :       character(len=*), parameter :: subname='(icedrv_system_abort)'
      38              : 
      39            0 :       write(nu_diag,*) ' '
      40              : 
      41            0 :       call icepack_warnings_flush(nu_diag)
      42              : 
      43            0 :       write(nu_diag,*) ' '
      44            0 :       write(nu_diag,*) subname,' ABORTED: '
      45            0 :       if (present(file))   write (nu_diag,*) subname,' called from ',trim(file)
      46            0 :       if (present(line))   write (nu_diag,*) subname,' line number ',line
      47            0 :       if (present(istep))  write (nu_diag,*) subname,' istep =', istep
      48            0 :       if (present(icell))  write (nu_diag,*) subname,' i, aice =', icell, aice(icell)
      49            0 :       if (present(string)) write (nu_diag,*) subname,' string = ',trim(string)
      50            0 :       call icedrv_system_flush(nu_diag)
      51            0 :       stop
      52              : 
      53            0 :       end subroutine icedrv_system_abort
      54              : 
      55              : !=======================================================================
      56              : ! flushes iunit IO buffer
      57              : 
      58       994289 :       subroutine icedrv_system_flush(iunit)
      59              : 
      60              :       integer (kind=int_kind), intent(in) :: &
      61              :          iunit        ! unit number to flush
      62              : 
      63              :       ! local variables
      64              : 
      65              :       character(len=*), parameter :: subname='(icedrv_system_flush)'
      66              : 
      67              : #ifndef NO_F2003
      68       994289 :       flush(iunit)
      69              : #endif
      70              : 
      71       994289 :       end subroutine icedrv_system_flush
      72              : 
      73              : !=======================================================================
      74              : 
      75              :       end module icedrv_system
      76              : 
      77              : !=======================================================================
        

Generated by: LCOV version 2.0-1