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 readVar3D(filename,varname,farray,rc)character(len=*),intent(in)::filenamecharacter(len=*),intent(in)::varnamereal(ESMF_KIND_R8),TARGET::farray(:,:,:)integer::rccharacter(len=128)::errmsginteger,parameter::nf90_noerror=0integer::ncStatusinteger::gridid,varidrc=ESMF_FAILURE#ifdef ESMF_NETCDFncStatus=nf90_open(path=filename,mode=nf90_nowrite,ncid=gridid)errmsg='Fail to open '//trim(filename)if(CDFCheckError(ncStatus,&ESMF_METHOD,&ESMF_SRCLINE,&errmsg,&rc))returnncStatus=nf90_inq_varid(gridid,varname,varid)errmsg='Data variable '//trim(varname)//' does not exist'if(CDFCheckError(ncStatus,&ESMF_METHOD,&ESMF_SRCLINE,&errmsg,&rc))returnncStatus=nf90_get_var(gridid,varid,farray)errmsg='Fail to read variable '//trim(varname)if(CDFCheckError(ncStatus,&ESMF_METHOD,&ESMF_SRCLINE,&errmsg,&rc))returnrc=ESMF_SUCCESSreturn#elsecall ESMF_LogSetError(rcToCheck=ESMF_RC_LIB_NOT_PRESENT,&msg="- ESMF_NETCDF not defined when lib was compiled",&ESMF_CONTEXT,rcToReturn=rc)return#endifend subroutine readVar3D