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 | ||
---|---|---|---|---|---|---|
character(len=*), | intent(in) | :: | SchemeName | |||
character(len=*), | intent(in), | optional | :: | ColorType |
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 SetUpSchemeColors(SchemeName,ColorType)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN August 2007
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! This routine resets the colorno array(s) with the entered scheme name as
! required for reporting.
! METHODOLOGY EMPLOYED:
! This routine first sets the color arrays to default. Then, attempts to find the
! scheme name in the Input File. If found, processes that scheme and sets colors.
! Worst case: the colors remain as default. Note -- this allocates and deallocates
! the alphas and numerics required to process the Report:SurfaceColorScheme object.
! REFERENCES:
! na
! USE STATEMENTS:
USE DataGlobals, ONLY: MaxNameLength
USE DataInterfaces, ONLY: ShowWarningError
USE InputProcessor, ONLY: GetObjectItemNum, GetObjectItem, GetObjectDefMaxArgs
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
CHARACTER(len=*), INTENT(IN) :: SchemeName
CHARACTER(len=*), INTENT(IN), OPTIONAL :: ColorType
! SUBROUTINE PARAMETER DEFINITIONS:
CHARACTER(len=*), PARAMETER :: CurrentModuleObject='OutputControl:SurfaceColorScheme'
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
integer :: numAlphas
integer :: numNumbers
integer :: numptr
integer :: numargs
integer :: status
character(len=maxnamelength), dimension(:), allocatable :: cAlphas
character(len=maxnamelength), dimension(:), allocatable :: cAlphafields
character(len=maxnamelength), dimension(:), allocatable :: cNumericfields
logical, dimension(:), allocatable :: lAlphablanks
logical, dimension(:), allocatable :: lNumericblanks
real(r64), dimension(:), allocatable :: rNumerics
DXFcolorno=defaultcolorno
! first see if there is a scheme name
numptr=GetObjectItemNum(CurrentModuleObject,SchemeName)
if (numptr > 0) then
CALL GetObjectDefMaxArgs(CurrentModuleObject,numargs,numAlphas,numNumbers)
allocate(cAlphas(NumAlphas))
allocate(cAlphafields(NumAlphas))
allocate(lAlphablanks(NumAlphas))
allocate(rNumerics(numNumbers))
allocate(cNumericfields(numNumbers))
allocate(lNumericBlanks(numNumbers))
cAlphas(1:numAlphas)=' '
rNumerics(1:numNumbers)=0.0d0
CALL GetObjectItem(CurrentModuleObject,numptr,cAlphas,numAlphas,rNumerics,numNumbers,status, &
AlphaBlank=lAlphablanks,NumBlank=lNumericblanks, &
AlphaFieldnames=cAlphafields,NumericFieldNames=cNumericfields)
do numargs=1,numNumbers
numptr=rNumerics(numargs) ! set to integer
if (lNumericblanks(numargs)) then
if (.not. lAlphablanks(numargs+1)) then
CALL ShowWarningError('SetUpSchemeColors: '//TRIM(cAlphafields(1))//'='//TRIM(SchemeName)// &
', '//TRIM(cAlphafields(numargs+1))//'='//TRIM(cAlphas(numargs+1))// &
', '//TRIM(cNumericfields(numargs))//' was blank. Default color retained.')
endif
cycle
endif
if (.not. MatchAndSetColorTextString(cAlphas(numargs+1),numptr,ColorType)) then
CALL ShowWarningError('SetUpSchemeColors: '//TRIM(cAlphafields(1))//'='//TRIM(SchemeName)// &
', '//TRIM(cAlphafields(numargs+1))//'='//TRIM(cAlphas(numargs+1))// &
', is invalid. No color set.')
endif
enddo
deallocate(cAlphas)
deallocate(cAlphafields)
deallocate(lAlphablanks)
deallocate(rNumerics)
deallocate(cNumericfields)
deallocate(lNumericBlanks)
else
CALL ShowWarningError('SetUpSchemeColors: Name='//TRIM(SchemeName)// &
' not on input file. Default colors will be used.')
endif
RETURN
END SUBROUTINE SetUpSchemeColors