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 CDFCheckError(ncStatus,module,fileName,lineNo,errmsg,rc)logical::CDFCheckErrorinteger,intent(in)::ncStatuscharacter(len=*),intent(in)::modulecharacter(len=*),intent(in)::fileNameinteger,intent(in)::lineNocharacter(len=*),intent(in)::errmsginteger,intent(out),optional::rcinteger,parameter::nf90_noerror=0CDFCheckError=.FALSE.#ifdef ESMF_NETCDFif(ncStatus.ne.nf90_noerror)then call ESMF_LogWrite(&msg="netCDF Error: "//trim(errmsg)//": "//trim(nf90_strerror(ncStatus)),&logmsgFlag=ESMF_LOGMSG_ERROR,&line=lineNo,file=fileName,method=module)print'("NetCDF Error: ", A, " : ", A)',&trim(errmsg),trim(nf90_strerror(ncStatus))call ESMF_LogFlush()if(present(rc))rc=ESMF_FAILURECDFCheckError=.TRUE.else if(present(rc))rc=ESMF_SUCCESSreturn end if#elsecall ESMF_LogSetError(rcToCheck=ESMF_RC_LIB_NOT_PRESENT,&msg="- ESMF_NETCDF not defined when lib was compiled",&ESMF_CONTEXT,rcToReturn=rc)return#endifend function CDFCheckError