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_invalidate()type(AccumulatorAction)::acctype(ESMF_State)::importState,exportStatetype(ESMF_Clock)::clockinteger::statustype(ESMF_Field)::import_fieldreal(kind=R4),parameter::invalidate_value=4.0_R4logical::equals_expected_valuecall initialize_objects(importState,exportState,clock,ESMF_TYPEKIND_R4,_RC)call acc%initialize(importState,exportState,clock,_RC)call get_field(importState,import_field,_RC)call FieldSet(import_field,invalidate_value,_RC)call acc%invalidate(importState,exportState,clock,_RC)@assertFalse(acc%update_calculated,'update_calculated .TRUE.')equals_expected_value=FieldIsConstant(acc%accumulation_field,invalidate_value,_RC)@assertTrue(equals_expected_value,'accumulation_field not equal to invalidate_value')call acc%invalidate(importState,exportState,clock,_RC)@assertFalse(acc%update_calculated,'update_calculated .TRUE.')equals_expected_value=FieldIsConstant(acc%accumulation_field,2*invalidate_value,_RC)@assertTrue(equals_expected_value,'accumulation_field .FALSE.')call destroy_objects(importState,exportState,clock,_RC)end subroutine test_invalidate