ESMF_NetCDFCheckError Function

private function ESMF_NetCDFCheckError(ncStatus, module, fileName, lineNo, rc)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: ncStatus
character(len=*), intent(in) :: module
character(len=*), intent(in) :: fileName
integer, intent(in) :: lineNo
integer, intent(out), optional :: rc

Return Value logical


Calls

proc~~esmf_netcdfcheckerror~~CallsGraph proc~esmf_netcdfcheckerror ESMF_NetCDFCheckError proc~esmf_logseterror ESMF_LogSetError proc~esmf_netcdfcheckerror->proc~esmf_logseterror esmf_breakpoint esmf_breakpoint proc~esmf_logseterror->esmf_breakpoint proc~esmf_logrc2msg ESMF_LogRc2Msg proc~esmf_logseterror->proc~esmf_logrc2msg proc~esmf_logwrite ESMF_LogWrite proc~esmf_logseterror->proc~esmf_logwrite c_esmc_loggeterrormsg c_esmc_loggeterrormsg proc~esmf_logrc2msg->c_esmc_loggeterrormsg c_esmc_vmwtime c_esmc_vmwtime proc~esmf_logwrite->c_esmc_vmwtime proc~esmf_logclose ESMF_LogClose proc~esmf_logwrite->proc~esmf_logclose proc~esmf_logflush ESMF_LogFlush proc~esmf_logwrite->proc~esmf_logflush proc~esmf_logopenfile ESMF_LogOpenFile proc~esmf_logwrite->proc~esmf_logopenfile proc~esmf_utiliounitflush ESMF_UtilIOUnitFlush proc~esmf_logwrite->proc~esmf_utiliounitflush proc~esmf_utilstring2array ESMF_UtilString2Array proc~esmf_logwrite->proc~esmf_utilstring2array proc~esmf_logclose->proc~esmf_logflush proc~esmf_logflush->proc~esmf_utiliounitflush proc~esmf_utilarray2string ESMF_UtilArray2String proc~esmf_logflush->proc~esmf_utilarray2string proc~esmf_logopenfile->proc~esmf_utiliounitflush proc~esmf_utiliounitget ESMF_UtilIOUnitGet proc~esmf_logopenfile->proc~esmf_utiliounitget

Source Code

function ESMF_NetCDFCheckError(ncStatus, module, fileName, lineNo, rc)

    logical                        :: ESMF_NetCDFCheckError

    integer, intent(in)            :: ncStatus
    character(len=*), intent(in)   :: module
    character(len=*), intent(in)   :: fileName
    integer, intent(in)  :: lineNo
    integer, intent(out), optional :: rc

    integer, parameter :: nf90_noerror = 0

    ESMF_NetCDFCheckError = .FALSE.

#ifdef ESMF_NETCDF
    if (ncStatus .ne. nf90_noerror) then
      call ESMF_LogWrite (msg="netCDF Status Return Error", &
          logmsgFlag=ESMF_LOGMSG_ERROR, line=lineNo, file=fileName, method=module)
      call ESMF_LogFlush()
      if (present(rc)) rc = ESMF_FAILURE
      ESMF_NetCDFCheckError = .TRUE.
    else
      if (present(rc)) rc = ESMF_SUCCESS
      return
    end if
#else
    call ESMF_LogSetError(rcToCheck=ESMF_RC_LIB_NOT_PRESENT, &
      msg="- ESMF_NETCDF not defined when lib was compiled", ESMF_CONTEXT, &
      rcToReturn=rc)
    return
#endif

end function ESMF_NetCDFCheckError