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.
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
function get_level_info(bundle,rc)result(kmvar)integer,allocatable::kmvar(:)type(ESMF_FieldBundle),intent(in)::bundleinteger,optional,intent(out)::rcinteger::statuscharacter(len=ESMF_MAXSTR),allocatable::field_list(:)type(ESMF_Field)::fieldinteger::rank,i,num_fields,lb(1),ub(1)call ESMF_FieldBundleGet(bundle,fieldCount=num_fields,_RC)allocate(field_list(num_fields))allocate(kmvar(num_fields))call ESMF_FieldBundleGet(bundle,fieldNameList=field_list,_RC)do i=1,num_fieldscall ESMF_FieldBundleGet(bundle,field_list(i),field=field,_RC)call ESMF_FieldGet(field,rank=rank,_RC)if(rank==2)thenkmvar(i)=0else if(rank==3)then call ESMF_FieldGet(field,ungriddedLBound=lb,ungriddedUBound=ub,_RC)kmvar(i)=ub(1)-lb(1)+1else_FAIL("Unsupported rank")end if end do if(present(rc))thenRC=_SUCCESSend if end function get_level_info