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 alloc_(A,type,im,jm,rc)type(Ptr),intent(INOUT)::Ainteger,intent(IN)::TYPEinteger,intent(IN)::IMinteger,optional,intent(IN)::JMinteger,optional,intent(out)::rcinteger::statuscall dealloc_(A,RC=STATUS)_VERIFY(STATUS)select case(type)case(R4_2)_ASSERT(present(jm),'jm not present for 2d')allocate(A%r4_2(IM,JM))case(R4_1)_ASSERT(.not.present(jm),'jm is present for 1d')allocate(A%r4_1(IM))case(R8_2)_ASSERT(present(jm),'jm not present for 2d')allocate(A%r8_2(IM,JM))case(R8_1)_ASSERT(.not.present(jm),'jm is present for 1d')allocate(A%r8_1(IM))case(i4_1)_ASSERT(.not.present(jm),'jm present for 1d')allocate(A%I4_1(IM))case(i4_2)_ASSERT(present(jm),'jm not present for 2d')allocate(A%I4_2(IM,JM))case default_FAIL('unsupported tkr')end selecta%allocated=type_RETURN(ESMF_SUCCESS)end subroutine alloc_