<% '============= Create and Open Database Connection ============= 'OPEN THE DATABASE If blnConnectToDB Then dim blnDBconnectionDown blnDBconnectionDown = false Err.Clear on error resume next set dbConn = Server.CreateObject("ADODB.Connection") 'Open the Connnection 'dbConn.Open Application("dbConn_ConnectionString") dbConn.Open "DSN=PostgreSQL30", "eere_news", "33reNews" ''New Error trapping. KC added 2/23/2012 If Err.Number <> 0 Then ''Response.Write (Err.Description& "

") dbConn.Close Set dbConn = nothing blnDBconnectionDown = true End If On Error GoTo 0 ''error trapping not working here KC removed 2/23/2012 ''tmpDBErrorNativeError = 0 '' For Each dbErr In dbConn.Errors '' strErrMsg = strErrMsg & _ '' "Source: " & dbErr.Source & vbCrLF & _ '' "Description: " & dbErr.Description & vbCrLF & _ '' "SQL State: " & dbErr.SQLState & vbCrLF & _ '' "NativeError: " & dbErr.NativeError & vbCrLF & _ '' "Number: " & dbErr.Number & vbCrLF & vbCrLF '' tmpDBErrorNativeError = dbErr.NativeError '' Next '' If (dbConn.Errors.Count > 0) AND (tmpDBErrorNativeError <> 5703) Then '' dbConn.Close '' Set dbConn = nothing '' blnDBconnectionDown = true '' Response.write(strErrMsg) '' Response.end '' End If dim arrErrors() Redim arrErrors(2,0) End If '============================================================== Public Function GetRS2(myCommand) On Error GoTo 0 'objConn: local connection object 'objRS: local recordset object 'objComm: command object passed in to the function Dim objConn, objRS, blnErrorLogged, objComm 'Create the command object Set objComm = Server.CreateObject("ADODB.Command") Set objComm = myCommand 'Create the connection object Set objConn = Server.CreateObject("ADODB.Connection") 'Open the connection object objConn.Open "DSN=PostgreSQL30", "eere_news", "33reNews" 'Set the active connection objComm.ActiveConnection = objConn 'Create the recordset object Set objRS = Server.CreateObject("ADODB.Recordset") 'Set the cursor location for disconnected recordsets 'objRS.CursorLocation = adUseClient 'Turn on error handling for just a second ' On Error Resume Next 'Open the recordset 'objRS.Open SQL, objConn, adOpenStatic, adLockOptimistic Set objRS = objComm.Execute 'Response.Write "State = " & objRS.State & "
" 'objRS.MoveLast 'objRS.MoveFirst 'Response.Write "Count = " & objRS.RecordCount & "
" 'Response.End 'Check for an error ' If Err.Number <> 0 Then ' Response.Write "Database Error Occured

" ' Response.Write "Error #" & Err.Number & "
" ' Response.Write Err.Description & "

" ' Response.Write "SQL:
" ' Response.Write SQL ' Response.End ' End If 'Turn off error handling ' On Error GoTo 0 'Disconnect the recordset 'Set objComm.ActiveConnection = Nothing 'Close the connection 'objConn.Close 'Set the connection to Nothing 'Set objConn = Nothing 'Set the Command to Nothing 'Set objComm = Nothing 'Return the recordset Set GetRS2 = objRS On Error Resume Next End Function '=============================================================== Function GetRS(sSQL) 'Declarations dim rs 'Create Recordset Object set rs = Server.CreateObject("ADODB.Recordset") If blnConnectToDB Then 'Open Recordset based on SQL rs.Open sSQL, dbConn, 1, 3, 1 End If 'Return Recordset set GetRs = rs End Function '=============================================================== Function ExecSQL(sSQL) 'Open the Command Object dim lRecordsAffected dbConn.Execute sSQL, lRecordsAffected 'Return the Records Affected ExecSQL = lRecordsAffected End Function '======================================================================== Function sendEmail(strFrom,strTo,strSubject,strMessage) Dim sch ' Schema sch = "http://schemas.microsoft.com/cdo/configuration/" Set cdoConfig = CreateObject("CDO.Configuration") With cdoConfig.Fields .Item(sch & "sendusing") = 2 .Item(sch & "smtpserver") = "mxrelay.doe.gov" .update End With Set cdoMessage = CreateObject("CDO.Message") With cdoMessage Set .Configuration = cdoConfig .From = strFrom .To = strTo .Subject = strSubject .TextBody = strMessage .Send End With Set cdoMessage = Nothing Set cdoConfig = Nothing End Function Function removeBadChars(tmpString) tmpString = Replace(tmpString , "<", "") tmpString = Replace(tmpString , ">", "") tmpString = Replace(tmpString , "'", "") tmpString = Replace(tmpString , """", "") tmpString = Replace(tmpString , ";", "") tmpString = Replace(tmpString , "(", "") tmpString = Replace(tmpString , ")", "") removeBadChars = tmpString End Function %> <% 'If there is a mobile version of this site, check the user_agent, and forward to 'the mobile version of the site (unless cookie or querystring var is set) if "true" = "true" then tmpSeeFullPage = Mid(Request.Querystring("m"),1,1) if ((isMobile) and (tmpSeeFullPage <> "1")) then tmpMobileURL = Request.servervariables("HTTP_URL") tmpMobileFileName = mid(tmpMobileURL, InStrRev(tmpMobileURL, "/")+1) tmpMobileURL = Left(tmpMobileURL, InStrRev(tmpMobileURL, "/")) tmpMobileURL = tmpMobileURL & "m/" & tmpMobileFileName Response.Clear Response.Redirect(tmpMobileURL) end if end if %>

<% ''This code is strictly when a user clicks on a left nav and needs to be forwarded to another site/program/office if ("" <> "") then Response.Clear Response.Redirect ("") end if %>

Covered Product Category: Centrifugal Pumping System

FEMP provides acquisition guidance across a variety of product categories, including centrifugal pumping systems. Federal laws and executive orders mandate that agencies meet these efficiency requirements in all procurement and acquisition actions that are not specifically exempted by law.

This product category overview covers the following:

Buying Energy-Efficient Centrifugal Pumping Systems

The most common applications for pumps at Federal facilities are for fresh water supply, hydronic heating and cooling systems, wastewater treatment, and drainage. For these applications, the most common type of pump is the centrifugal pump.

Proper pump selection should consider both constant and variable flow and head conditions. In systems with little change in demand, pumping system efficiency depends largely on selecting the correct pump size. In systems with variable demand, pump system efficiency depends on effectively matching supply with demand, which can be achieved in several ways depending on system requirements.

Back to Top


Best efficiency point is the operating point at which a pump most efficiently converts shaft power to flow. Head is a measure of pressure indicating the height of a column of system fluid that has the same amount of potential energy as the system.

Back to Top

Pump Sizing

Selecting a centrifugal pump can be challenging because these pumps generate different amounts of flow at different pressures. Each centrifugal pump has a best efficiency point (BEP). Ideally, under normal operating conditions, the required flow rate will coincide with the pump's BEP.

The complexity associated with selecting a pump often results in a pump that is improperly sized for its application. Selecting a pump that is either too large or too small can reduce system performance. Under-sizing a pump may result in inadequate flow, failing to meet system requirements. An oversized pump, while providing sufficient flow, can produce other negative consequences; higher purchase costs for the pump and motor assembly; higher energy costs, because oversized pumps operate less efficiently; and higher maintenance requirements, because as pumps operate further from their BEP they experience greater stress. Ironically, many oversized pumps are purchased with the intent of increasing system reliability.

Unfortunately, conservative practices often prioritize initial performance over system life-cycle costs. As a result, larger-than-necessary pumps are specified, resulting in systems that do not operate optimally. Increased awareness of the costs of specifying oversized pumps should discourage this tendency.

Back to Top

Variable Loads

In systems with highly variable loads, pumps that are sized to handle the largest loads may be oversized for normal operating loads. In these cases, the use of multiple pumps, multi-speed motors, or variable speed drives often improves system performance over the range of operating conditions.

To handle wide variations in flow, multiple pumps are often used in a parallel configuration. This arrangement allows pumps to be energized and de-energized to meet system needs. One way to arrange pumps in parallel is to use two or more pumps of the same type. Alternatively, pumps with different flow rates can be installed in parallel and configured such that the small pump (often referred to as the "pony pump") operates during normal conditions while the larger pump operates during periods of high demand.

Back to Top

Speed Control

Speed control is an option that can keep pumps operating efficiently over a broad range of flows. In centrifugal pumps, speed is linearly related to flow but has a cube relationship with power. For example, slowing a pump from 1,800 to 1,200 rpm results in a 33% decreased flow and a 70% decrease in power. This also places less stress on the system.

There are two types of speed control in pumps: multi-speed motors and variable speed drives. Multi-speed motors have discrete speeds (e.g., high, medium, and low). Variable speed drives provide speed control over a continuous range. The most common type is the variable frequency drive (VFD), which adjusts the frequency of the electric power supplied to the motor. VFDs are widely used due to their ability to adjust pump speed automatically to meet system requirements. For systems in which the static head represents a large portion of the total head, however, a VFD may be unable to meet system needs.

Back to Top

Motor Selection

In selecting a pump, there are two components to consider: the pump and the motor. In some applications, the pump and the motor are sold as a package. Often, however, the buyer can select one of several motors to be installed with a pump. Motors that are not large enough may have to operate above their rated load, forcing them to run at elevated temperatures, which shortens their operating lives. Motors that are much larger than required not only cost more, but suffer efficiency loss when the operating load falls beneath about one-half of the motor's rated load.

Motors used in connection with VFDs should have properly insulated windings to handle the harmonics and other power quality issues associated with VFDs. Inverter-duty or definite purpose motors will provide this protection.

Back to Top

Impeller Selection

Centrifugal pumps use a rotating wheel, called an impeller, to generate pressure. The impeller increases the kinetic energy of the fluid by accelerating it from the impeller center out to the tip. The impeller tip speed largely determines the pressure generated by a pump. Typically, a given pump size can accept a range of impeller sizes.

A common reason that engineers specify a larger-than-necessary pump is to anticipate increases in system capacity. One way to account for future capacity expansion without sacrificing system efficiency is to select a pump that has room to accept larger impellers as the need for system capacity increases. Since an increase in impeller size also requires additional motor power, selecting a motor that is large enough to handle the largest impeller that can fit in the pump can eliminate the need for motor replacement. Care should be taken to balance motor sizing with current operating needs so that the motor operates efficiently, at more than half its rated full load.

In-service pumps that are oversized and generating too much pressure may be good candidates for impeller replacement or "trimming"—reducing impeller diameter by machining (in order to reduce the energy added to the system fluid).

Back to Top

User Tips

The proper design and installation of a pump can have significant impact on its long-term performance. A piping system that is improperly designed or poorly installed can promote the formation of air pockets or vortices that may impede flow. Piping that runs into the suction inlet should be very straight since disrupted flow can impair pump efficiency and performance. In addition, the piping should be well-aligned with the pump connections. A common tendency during installation is to force connections to fit rather than carefully readjusting the location of the pump or the piping. Force-fitting a misaligned connection can distort the pump housing, creating a harmful load condition on the pump shaft and bearings.

The need for pump replacement can be the result of deterioration or a change in system capacity. If properly sized and maintained, centrifugal pumps can operate for many years with little maintenance. However, in harsh environments or because of poor operating practices, pumps may require frequent attention. Indications of the need for replacement include poor performance, excessive vibration, or leakage due to seal failure. If a pump requires unusually high maintenance, the issue of proper sizing for the application should be considered.

Back to Top

For More Information

Federal supply sources are the U.S. General Services Administration (GSA) and Defense Logistics Agency (DLA). GSA sells products through its Multiple Awards Schedules and GSA Advantage! DLA offers products through the Defense Supply Center Philadelphia and DOD EMALL.

The following resources are available for additional information:

Amanda Sahl
Federal Energy Management Program

Lawrence Berkeley National Laboratory provided supporting analysis for this acquisition guidance.

Back to Top

Case Study: Pump Optimization for Sewage Pumping Station

The town of Trumbull, Connecticut, was looking for a way to increase the operating performance of one of its 10 sewage pumping stations. The station consisted of two identical sewage handling pumps (each with a 40-hp direct drive motor) vertically mounted below ground, handling 340,000 gallons of raw sewage per day. The system used one pump to handle the entire flow under normal operation, and used the second pump only in extreme conditions (heavy rainfall). To meet normal loads, each pump rarely operated more than five minutes at a time. The control system required two continuously running compressors. A constant pump speed of 1,320 rpm was obtained using a wound rotor and variable resistance circuit motor control system. The pumping system experienced frequent breakdowns, occasional flooding, and sewage spills.

The "Systems" Solution

After a thorough systems analysis, engineers installed an additional 10-horsepower pump with direct online motor starters and a passive level control system with float switches, replacing the old active control system. The new pump handles the same volume as the original 40-hp pumps during normal periods, but runs for longer periods of time. The lower outflow rate reduces friction and shock losses in the piping system, which lowers the required head pressure (and thus the energy consumption).

In addition, the existing pump speed control was eliminated and the motors were wired for direct online start. Without the speed control, the motors powering the existing pumps run at 1,750 rpm instead of 1,320 rpm, so their impellers were trimmed to a smaller diameter. The existing pumps are still used for the infrequent peak flows that the new smaller pump cannot handle. Energy consumption was further reduced through the elimination of the two compressors for the active control system and the two circulating pumps for the old motor control system. The installed cost of all the added measures was $11,000.


In addition to the 17,650 annual kWh of electricity savings from modifying the pump unit, significant energy savings also resulted from changes made to other energy use sources in the station. Annual energy consumption of the active level control (7,300 kWh/year) and the cooling water pumps (1,750 kWh/year) was entirely eliminated. In all, over 26,000 kWh is being saved annually, a reduction of almost 38%, resulting in $2,200 in annual energy savings.

This project also produced maintenance savings of $3,600. Maintenance staff no longer needs to replace two mechanical seals each year. Other benefits of the project savings include extended equipment life due to reduced starting and stopping of the equipment, increased system capacity, and decreased noise. Most of the same measures can be utilized at the town's other pumping stations, as well.

The total annual savings from the project, due to lower energy costs as well as reduced maintenance and supplies, is $5,800, which is roughly half of the total retrofit cost of $11,000.

Lessons Learned

Several key conclusions from Trumbull's experience are relevant for virtually any pumping systems project:

  • Proper pump selection and careful attention to equipment operating schedules can yield substantial energy savings;
  • In systems with static head, stepping of pump sizes for variable flow rate applications can decrease energy consumption; and
  • A "systems" approach can identify energy and cost savings opportunities beyond the pumps themselves.

Back to Top