<% '============= 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 %> <% 'initialize getPageFormVars(). This function is for printable versions of .asp pages that pass form variables function getPageFormVars() getPageFormVars = "" end function %> Federal Energy Management Program: Solar Hot Water Resources and Technologies

U.S. Department of Energy: Energy Efficiency and Renewable Energy

Federal Energy Management ProgramTechnologies

Site Navigation ↓
<% '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 %>

Solar Hot Water Resources and Technologies

Photo of a standalone solar hot water system standing in front of a clothesline with a backdrop of evergreen trees.

This solar hot water system tracks sunlight using a standalone, single-axis mount to optimize hot water production for residential applications.

This page provides a brief overview of solar hot water (SHW) technologies supplemented by specific information to apply SHW within the Federal sector.


Although a large variety of solar hot water systems exist, the basic technology is simple. A collector absorbs and transfers heat from the sun to water, which is stored in a tank until needed. Active solar heating systems use circulating pumps and controls. These are more expensive but are also typically more efficient. Passive systems work without added equipment.

Visit the Department of Energy's (DOE) Solar Technologies Program for in-depth information about solar energy basics and technologies.

Federal Application

Solar hot water systems can be cost-competitive when reducing electricity consumption tied to hot water generation. A typical SHW system reduces the need for conventional water heating by two-thirds. Before conducting an assessment or deploying SHW systems, Federal agencies must evaluate a series of questions and considerations.

What are my energy goals?

Energy goals range from meeting regulatory requirements to powering remote applications to increasing energy security.

What kind of energy do I use?

Federal agencies must understand what type of energy is used before determining if SHW is applicable. Solar hot water systems generate thermal energy.

When do I need the energy?

Although solar resources can be quite predictable, SHW cannot be guaranteed to generate heat where and when it is demanded like a fossil fuel generator.

Where am I located?

For a broad overview of your facility's solar resources, the National Renewable Energy Laboratory (NREL) provides solar energy resource maps of the U.S. Before initiating a project, solar resources in your area must be measured and verified. Resource maps are a good start, but resources vary at a micro level. It is important to consult an expert for a professional evaluation before implementing energy projects.

Temperature is another location-based consideration. In colder climates, features must be integrated into SHW systems to safeguard against freezing. Frozen water lines can often rupture or damage the system. A resource mapPDF showing the probability of frozen pipes is available.

Is this an existing facility or new construction?

Retrofitting solar hot water systems into existing buildings is possible, but can be complicated by the need to provide access for installing pipes and space in mechanical rooms for larger water storage tanks. Therefore, SHW systems are easier to install in new construction or major renovations.

In addition, new construction and major renovations are required by EISA 2007 to generate at least 30% of hot water from SHW systems.

Is solar hot water cost-effective for my facility?

SHW systems are typically the most cost-effective in small, residential-sized facilities that would otherwise depend on high-cost energy sources; large facilities that require large volumes of hot water (more than 1,000 gallons per day); large facilities that use high-temperature hot water; and swimming pools.

SHW economics depend on several variables, including:

What resources are available for operations and maintenance?

In general, solar hot water systems are reliable and do not require much maintenance because they have few, if any, moving parts. The primary components of SHW systems (collectors, heat transfer systems, heat storage, and controls) require routine, periodic maintenance. From time-to-time, individual components may need repair or replacement.

Climate can also impact operations and maintenance costs. In colder climates, steps must be taken to safeguard against freezing. Frozen water lines can often rupture or damage the system. A resource mapPDF showing the probability of frozen pipes is available.

Next steps

Visit the project planning section for detailed information on planning and deploying renewable energy projects. Federal case studies are available to provide specific examples of viable solar energy projects.


Detailed information on solar energy resources and technologies is available through:

Back to Top | ">View Full Site
Federal Energy Management Program Home | EERE Home
Webmaster | Search
Content Last Updated: 09/30/2013