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
subroutine checkProxy(xgrid,rc)type(ESMF_XGrid),intent(in)::xgridinteger,intent(out),optional::rctype(ESMF_XGrid)::xgrid1character,pointer::buffer(:)integer::buff_length,offset,localrcif(present(rc))rc=ESMF_SUCCESS! Allocate serialization bufferbuff_length=1allocate(buffer(0:buff_length-1))offset=0call ESMF_XGridSerialize(xgrid,buffer,buff_length,offset,&inquireflag=ESMF_INQUIREONLY,rc=localrc)if(ESMF_LogFoundError(localrc,&ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return deallocate(buffer)buff_length=offsetallocate(buffer(0:buff_length-1))! call serialize and deserialize and verify againoffset=0call ESMF_XGridSerialize(xgrid,buffer,buff_length,offset,rc=localrc)if(ESMF_LogFoundError(localrc,&ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))returnoffset=0xgrid1=ESMF_XGridDeserialize(buffer,offset,rc=localrc)if(ESMF_LogFoundError(localrc,&ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return deallocate(buffer)call ESMF_XGridValidate(xgrid1,rc=localrc)if(ESMF_LogFoundError(localrc,&ESMF_ERR_PASSTHRU,&ESMF_CONTEXT,rcToReturn=rc))return end subroutine checkProxy