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 test_accumulate()type(AccumulatorAction)::acctype(ESMF_State)::importState,exportStatetype(ESMF_Clock)::clockinteger::statustype(ESMF_Field)::update_fieldtype(ESMF_TypeKind_Flag)::typekindlogical::matches_expectedreal(kind=ESMF_KIND_R4),parameter::value_r4=3.0_ESMF_KIND_R4typekind=ESMF_TYPEKIND_R4call initialize_objects(importState,exportState,clock,typekind,_RC)call acc%initialize(importState,exportState,clock,_RC)call initialize_field(update_field,typekind=typekind,_RC)call FieldSet(update_field,value_r4,_RC)call acc%accumulate(update_field,_RC)matches_expected=FieldIsConstant(acc%accumulation_field,value_r4,_RC)@assertTrue(matches_expected,'accumulation_field not equal to value_r4')call ESMF_FieldDestroy(update_field,_RC)call destroy_objects(importState,exportState,clock,_RC)end subroutine test_accumulate