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 get_accumulator_action(accumulation_type,typekind,action,rc)character(len=*),intent(in)::accumulation_typetype(ESMF_TypeKind_Flag),intent(in)::typekindclass(ExtensionAction),allocatable,intent(out)::actioninteger,optional,intent(out)::rcinteger::statusallocate(action,source=NullAction())if(typekind/=ESMF_TYPEKIND_R4)then_FAIL('Unsupported typekind')end if select case(accumulation_type)case(SIMPLE_ACCUMULATION)allocate(action,source=AccumulatorAction(typekind))case(MEAN_ACCUMULATION)allocate(action,source=MeanAction(typekind))case(MAX_ACCUMULATION)allocate(action,source=MaxAction(typekind))case(MIN_ACCUMULATION)allocate(action,source=MinAction(typekind))case(INSTANTANEOUS)_FAIL('No AccumulatorAction for instantaneous.')case default_FAIL('Unsupported AccumulatorAction')end select_RETURN(_SUCCESS)end subroutine get_accumulator_action