Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer | :: | NumRefrigerants | ||||
integer | :: | RefrigerantNum | ||||
logical | :: | DataPresent | ||||
character(len=*) | :: | RefrigerantName | ||||
character(len=*) | :: | RoutineName | ||||
character(len=*) | :: | Property | ||||
character(len=*) | :: | calledfrom |
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed arrows point from an interface to procedures which implement that interface. This could include the module procedures in a generic interface or the implementation in a submodule of an interface in a parent module. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
SUBROUTINE ReportFatalRefrigerantErrors(NumRefrigerants,RefrigerantNum,DataPresent,RefrigerantName,RoutineName,Property,calledfrom)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN July 2011
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! Consolidate fatal error reporting for refrigerants.
! METHODOLOGY EMPLOYED:
! na
! REFERENCES:
! na
! USE STATEMENTS:
! na
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER :: NumRefrigerants ! Number of Refrigerants in input/data
INTEGER :: RefrigerantNum ! Refrigerant Index
LOGICAL :: DataPresent ! data is present for this fluid.
CHARACTER(len=*) :: RefrigerantName ! Name being reported
CHARACTER(len=*) :: RoutineName ! Routine name to show
CHARACTER(len=*) :: Property ! Property being requested
CHARACTER(len=*) :: calledfrom ! original called from (external to fluid properties)
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER :: GlycolNo
! check and see if it might be a refrigerant
GlycolNo=FindGlycol(RefrigerantName)
IF (NumRefrigerants == 0) THEN
CALL ShowSevereError(RoutineName//': no refrigerants found -- cannot evaluate fluid '//Property// &
' for "'//trim(RefrigerantName)//'", called from: '//calledfrom)
ELSEIF (RefrigerantNum == 0) THEN
CALL ShowSevereError(RoutineName//': data not found in input for requested refrigerant "'// &
trim(RefrigerantName)//'", called from: '//calledfrom)
ELSEIF (.not. DataPresent) THEN
CALL ShowSevereError(RoutineName//': '//Property//' data not found in input for requested refrigerant "'// &
trim(RefrigerantName)//'", called from: '//calledfrom)
ENDIF
IF (GlycolNo > 0) &
CALL ShowContinueError('Note: that fluid is listed as a Glycol from input.')
CALL ShowFatalError('Program terminates due to preceding condition.')
RETURN
END SUBROUTINE ReportFatalRefrigerantErrors