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(this)class(ESMF_TestMethod),intent(inout)::thistype(MeanAction)::acctype(ESMF_State)::importState,exportStatetype(ESMF_Clock)::clockinteger::statusinteger,parameter::N=4integer::itype(ESMF_Field)::importFieldlogical::counter_is_set=.FALSE.integer(kind=ESMF_KIND_I4),pointer::fptr(:)call initialize_objects(importState,exportState,clock,ESMF_TYPEKIND_R4,_RC)call get_field(importState,importField,_RC)call FieldSet(importField,1.0_R4,_RC)call acc%initialize(importState,exportState,clock,_RC)call assign_fptr(acc%counter_field,fptr,_RC)counter_is_set=all(fptr==0)@assertTrue(counter_is_set,'Counter field is nonzero.')do i=1,Ncall acc%invalidate(importState,exportState,clock,_RC)end do call assign_fptr(acc%counter_field,fptr,_RC)counter_is_set=all(fptr==N)@assertTrue(counter_is_set,'counter_scalar not equal to N')call destroy_objects(importState,exportState,clock,_RC)call ESMF_FieldDestroy(importField)end subroutine test_invalidate