Nodes of different colours represent the following:
Solid arrows point from a parent (sub)module to the submodule which is descended from it. Dashed arrows point from a module being used to the module or program unit using it. Where possible, edges connecting nodes are given different colours to make them easier to distinguish in large graphs.
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=r64), | intent(in) | :: | currentWeight | |||
integer, | intent(out) | :: | indexNumber | |||
real(kind=r64), | intent(inout), | DIMENSION(maxgas) | :: | wght | ||
logical, | intent(out) | :: | feedData |
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 CheckGasCoefs(currentWeight, indexNumber, wght, feedData)
USE DataPrecisionGlobals
USE TARCOGGassesParams, ONLY: maxgas
LOGICAL, INTENT(OUT) :: feedData
REAL(r64), DIMENSION(maxgas), INTENT(INOUT) :: wght
REAL(r64), INTENT(IN) :: currentWeight
INTEGER, INTENT(OUT) :: indexNumber
!Local variables
INTEGER :: counter = 1
INTEGER :: IMix, I
INTEGER :: numOfMixtures
LOGICAL :: coeffFound = .FALSE.
feedData = .FALSE.
coeffFound = .FALSE.
counter = 1
DO WHILE((counter.LE.maxgas).AND.(wght(counter).NE.0).AND.(.NOT.coeffFound))
IF(ABS(currentWeight-wght(counter)).lt.1.0d-5) THEN
coeffFound = .TRUE.
ELSE
counter = counter + 1
ENDIF
END DO !DO WHILE((counter.LE.maxgas).AND.(wght(couner).NE.0).AND.(.NOT.coeffFound))
! In case coefficient is not found data needs to be stored in gas coefficients arrays
IF ((.NOT.coeffFound).AND.(counter.LT.maxgas)) THEN
feedData = .TRUE.
ENDIF
indexNumber = counter
END SUBROUTINE CheckGasCoefs