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 | ||
---|---|---|---|---|---|---|
integer | :: | n | ||||
character(len=*), | optional | :: | value | |||
integer, | optional | :: | length | |||
integer, | optional | :: | status |
SUBROUTINE GET_COMMAND_ARGUMENT(n,value,length,status)
! SUBROUTINE INFORMATION:
! AUTHOR Linda Lawrie
! DATE WRITTEN Feb 2007
! MODIFIED na
! RE-ENGINEERED na
! PURPOSE OF THIS SUBROUTINE:
! <description>
! METHODOLOGY EMPLOYED:
! <description>
! REFERENCES:
! na
! USE STATEMENTS:
USE DFLIB
IMPLICIT NONE ! Enforce explicit typing of all variables in this routine
! SUBROUTINE ARGUMENT DEFINITIONS:
INTEGER :: n
CHARACTER(len=*), OPTIONAL :: value
INTEGER, OPTIONAL :: length
INTEGER, OPTIONAL :: status
! SUBROUTINE PARAMETER DEFINITIONS:
! na
! INTERFACE BLOCK SPECIFICATIONS:
! na
! DERIVED TYPE DEFINITIONS:
! na
! SUBROUTINE LOCAL VARIABLE DECLARATIONS:
INTEGER*2 getarg_n
CHARACTER(len=255) getarg_buffer
INTEGER*2 getarg_status
getarg_n=n
CALL GETARG(getarg_n,getarg_buffer,getarg_status)
if (present(value)) then
value=getarg_buffer
endif
if (present(length)) then
if (getarg_status > 0) then
length=getarg_status
else
length=0
endif
endif
if (present(status)) then
if (getarg_status < 0) then
status=10
elseif (getarg_status > 0) then
status=-1
else
status=0
endif
endif
RETURN
END SUBROUTINE GET_COMMAND_ARGUMENT