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.
Source Code
subroutine run(rc)integer,intent(out),optional::rcinteger::statuscharacter(len=:),allocatable::input_filecall MPI_Init(status)_VERIFY(status)! Read and parse the command line, and set parameters! If you have extra options you make a procedure as seen below and add arguments! there and pass in herecli=MAPL_FargparseCLI(extra=extra_options)! This does the casting of arguments into cap_options for CAPcap_options=MAPL_CapOptions(cli,_RC)write(*,*)"done with MAPL_FargparseCLI"write(*,*)" cap_options%with_esmf_moab = ",cap_options%with_esmf_moabwrite(*,*)" cap_options%npes_input_server = ",cap_options%npes_input_serverwrite(*,*)" cap_options%nodes_input_server = ",cap_options%nodes_input_serverwrite(*,*)" cap_options%npes_output_server = ",cap_options%npes_output_serverwrite(*,*)" cap_options%nodes_output_server = ",cap_options%nodes_output_serverwrite(*,*)" cap_options%egress_file = ",cap_options%egress_file! For our extra options we have to explicitly cast themcall cast(cli%options%at('file'),input_file,_RC)write(*,*)""write(*,*)"Extra arguments"write(*,*)" input file = ",input_file_RETURN(_SUCCESS)end subroutine run