Update version info for release v4.6.1 (#2122)
[WRF.git] / hydro / utils / module_hydro_stop.F90
blob724d61dcea4b646e9a6ff38c63116d83637f05eb
1 module module_hydro_stop
3 implicit none
5 contains
7 ! stop the job due to the fatal error.
8       subroutine HYDRO_stop(msg)
9 #ifdef MPP_LAND
10         use module_mpp_land
11 #endif
12         character(len=*) :: msg
13         integer :: ierr
14         ierr = 1
15 #ifndef NCEP_WCOSS
16 !#ifdef HYDRO_D  !! PLEASE NEVER UNCOMMENT THIS IFDEF, it's just one incredibly useful string.
17       write(6,*) "The job is stopped due to the fatal error. ", trim(msg)
18       call flush(6)
19 !#endif
20 #else
21      write(*,*) "FATAL ERROR: ", trim(msg)
22      write(78,*) "FATAL ERROR: ", trim(msg)
23       call flush(78)
24       close(78)
25 #endif
26 #ifdef MPP_LAND
27 #ifndef HYDRO_D
28       print*, "---"
29       print*, "FATAL ERROR! Program stopped. Recompile with environment variable HYDRO_D set to 1 for enhanced debug information."
30       print*, ""
31 #endif
33 !        call mpp_land_sync()
34 !        write(my_id+90,*) msg
35 !        call flush(my_id+90)
37          call mpp_land_abort()
38          call MPI_finalize(ierr)
39 #else
40          stop "FATAL ERROR: Program stopped. Recompile with environment variable HYDRO_D set to 1 for enhanced debug information."
41 #endif
43      return
44      end  subroutine HYDRO_stop
46 end module