EME 810
Solar Resource Assessment and Economics

Technical Requirements


National Renewable Energy Laboratory: System Advisor Model (SAM)

One of your main solar project tools for this course will be NREL's System Advisor Model (SAM):

"The System Advisor Model (SAM) is a performance and financial model designed to facilitate decision making for people involved in the renewable energy industry:

  • Project managers and engineers
  • Policy analysts
  • Technology developers
  • Researchers

SAM makes performance predictions and cost of energy estimates for grid-connected power projects based on installation and operating costs and system design parameters that you specify as inputs to the model. Projects can be either on the customer side of the utility meter, buying and selling electricity at retail rates, or on the utility side of the meter, selling electricity at a price negotiated through a power purchase agreement (PPA)."

If you haven't seen SAM before, please check the link to NREL now and do a little reading. The software is free for download to both Mac and Windows OS.

University of Oregon Solar Radiation Monitoring Laboratory: Sun Charts

We will use a very useful tool to plot shading diagrams, the UO Sun Chart tool. Prof. Frank Vignola and his team at the University of Oregon have developed a great web tool to get us started for plots of time and space in solar energy. I welcome you to explore their Solar Radiation Monitoring Laboratory main page when you have time.

Why Programming Skills?

The course in Solar Energy Conversion requires understanding of many parameters, and study of how each parameter changes in relation to the others over the course of minutes, hours, days, seasons, and years. The modern way to work with all of those parameters is to use computing tools: text editors, command interfaces, ASCII files, math software, and dynamic simulation software. In the future, those of your who continue to work in the solar world will learn to internalize most of these changing conditions, and yet you will still come to rely on simulations to describe the systems behavior of the whole.

A reliance on simulations means that a skilled professional will also understand some elements of computer programming. Even when using a fully developed program with a graphical user interface to obscure the working functions, it is to your benefit to understand the underlying algorithms. For instance, there will be times when your simulation needs to be debugged, because you found results do not agree with reality (e.g. negative units of irradiance, monetary paybacks in 85 years, system efficiencies greater than 35%, a string of odd symbols and numbers, etc), a scenario that is behaving oddly or one that does not converge on a solution. Sometimes the problem is an input error, sometimes the code is wrong, and sometimes the program is just not agreeable with the Operating System that you are using. The ability to "debug" is the same ability to assess a problem and seek solutions underlying the training in engineering, science, and economics. Consider that programming skills are equivalent to skills in problem solving and critical thinking.

By learning how to interact with computers and simulation tools, and the basic algorithms underlying solar energy conversion systems, you will be empowered to explore and explain the patterns of solar energy, and predict the benefits of solar energy integration for society across geographic regions, across generations, and the benefit of solar energy to our human-environment relations.

Help is on the way from Lynda.com! (available for free to PSU students):

If you don't know about Lynda.com--you are in for a treat! This is a great educational framework that comes free to all PSU students: yes--including all of you across the World Campus! Need to use Excel, but it's been a really long time? Lynda.com can help you and allow us to focus on the course at hand. We will use Lynda.com to get started with some basic tools that we know you will use in the field of solar energy, and within the EME 810 course itself!

  • Software for General Purpose Text Edits (ou will need to have a good text editor on hand)
    • Best all-purpose Text Editor for Fall 2017:
  • Solar Uses Python Math Software
    • Jupyter is a Python notebook environment that we will be using in class! (Jupyter also will execute R language commands). We will set up web accounts for Jupyter Hub early in the semester to access Jupyter online!

Software: Jupyter Hub / Python

Throughout this course, you will use numerical software open to work through the numerical problems. We will be working with This is another tool to make repetitive jobs easier and to communicate algorithms among a team more directly than by spreadsheets. Scripts to accomplish lengthy tasks will be distributed for specific assignments early in the semester.

As this class is evolving we are recommending Python as the main tool, which is free and works on multiple OS platforms. If you do not have experience in this language. There is a cloud based Python (and R) coding tool called Jupyter that we will be using extensively. This is a "notebook" tool that allows us to convey instructions embedded with the code. I will be providing you with notebooks that contain the source code, and you will largely need to change the inputs and execute the commands. I will also be providing you with a tutorial resources in the first week from Lynda.com for those who are just getting used to Python. You can always go back to it later if you need help, and I will offer support as well for the short projects that we use Python on.

While many problems can be done by hand, they are much easier if done using software like Python, R, or Matlab/Scilab.

Keep in mind that the trigonometric arguments in this class are performed in degrees, not radians. In Python you will use methods in the math library, and we wil define shortcuts for degree based arguments, like "sind(deg arg)" instead of "sin(radian arg)" (e.g. "sind(45)" is the sine of 45 degrees).

Software: R and RStudio

We may explore a software called R (yep, just "R"), and it's front end RStudio to process some of your data sets. Think of it as Matlab or Mathematica for statistics, but easier to use (and it is open source and free). If you are not familiar with this amazing software, please go directly to Lynda.com at Penn State to get up to speed with: "Up and Running with R with Barton Poulson" (sections 1 and 2) and "R Statistics Essential Training with Barton Poulson" (section 1). Again, I will offer support as well for the short projects that we might use R for.