My Project
Public Member Functions | List of all members
mod_utils::shutdown_check Interface Reference

Public Member Functions

subroutine shutdown_check_1d (VAR, MSG)
 
subroutine shutdown_check_2d (VAR, MSG)
 

Detailed Description

Definition at line 78 of file mod_utils.f90.

Member Function/Subroutine Documentation

◆ shutdown_check_1d()

subroutine mod_utils::shutdown_check::shutdown_check_1d ( real(sp), dimension(:), intent(in)  VAR,
character(len=*), optional  MSG 
)

Definition at line 289 of file mod_utils.f90.

289 
290  !==============================================================================|
291  USE control
292  IMPLICIT NONE
293  REAL(DP) :: SBUF,RBUF
294  INTEGER :: IERR,I,J
295  REAL(SP), DIMENSION(:), INTENT(IN) :: VAR
296  CHARACTER(LEN=*), OPTIONAL :: MSG
297  !==============================================================================|
298 
299  IF (dbg_set(dbg_sbr)) THEN
300  IF (PRESENT(msg)) THEN
301  WRITE(ipt,*) "START: SHUTDOWN CHECK: "//msg
302  ELSE
303  WRITE(ipt,*) "START: SHUTDOWN CHECK: no msg"
304  END IF
305  END IF
306 
307  !Collect Depth Average to Master Processor
308  sbuf = sum(dble(var(1:ubound(var,1))))
309  rbuf = sbuf
310 
311  !Halt FVCOM if Depth Average = NaN
312  IF(isnan(rbuf))THEN
313  IF (PRESENT(msg)) THEN
314  CALL fatal_error("SHUTDOWN_CHECK FOUND NON FINITE VALUE:",&
315  & msg )
316  ELSE
317  CALL fatal_error('NON FINITE VALUE (DEPTH?) FOUND',&
318  & 'MODEL HAS BECOME UNSTABLE')
319  END IF
320 
321  END IF
322 
323 
324  IF (dbg_set(dbg_sbr)) WRITE(ipt,*) "END: SHUTDOWN CHECK"
325 
326  RETURN
integer ipt
Definition: mod_main.f90:922

◆ shutdown_check_2d()

subroutine mod_utils::shutdown_check::shutdown_check_2d ( real(sp), dimension(:,:), intent(in)  VAR,
character(len=*), optional  MSG 
)

Definition at line 330 of file mod_utils.f90.

330 
331  !==============================================================================|
332  USE control
333  IMPLICIT NONE
334  REAL(DP) :: SBUF,RBUF
335  INTEGER :: IERR,I,J
336  REAL(SP), DIMENSION(:,:),INTENT(IN) :: VAR
337  CHARACTER(LEN=*), OPTIONAL :: MSG
338  !==============================================================================|
339 
340  IF (dbg_set(dbg_sbr)) THEN
341  IF (PRESENT(msg)) THEN
342  WRITE(ipt,*) "START: SHUTDOWN CHECK: "//msg
343  ELSE
344  WRITE(ipt,*) "START: SHUTDOWN CHECK: no msg"
345  END IF
346  END IF
347 
348  !Collect Depth Average to Master Processor
349  sbuf = sum(sum(dble(var(1:ubound(var,1),:)),1),1)
350  rbuf = sbuf
351 
352  !Halt FVCOM if Depth Average = NaN
353  IF(isnan(rbuf))THEN
354  IF (PRESENT(msg)) THEN
355  CALL fatal_error("SHUTDOWN_CHECK FOUND NON FINITE VALUE:",&
356  & msg )
357  ELSE
358  CALL fatal_error('NON FINITE VALUE (DEPTH?) FOUND',&
359  & 'MODEL HAS BECOME UNSTABLE')
360  END IF
361 
362  END IF
363 
364 
365  IF (dbg_set(dbg_sbr)) WRITE(ipt,*) "END: SHUTDOWN CHECK"
366 
367  RETURN
integer ipt
Definition: mod_main.f90:922

The documentation for this interface was generated from the following file: