NREL-PySAM is a wrapper for the National Renewable Energy Laboratory’s System Advisor Model (SAM), a simulator for renewable energy, not to be confused with pysam, which is for reading sequence alignment files often used in genetics.

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 is open-source. PySAM provides a native Python interface for the models found in SAM Simulation Core, (SSC).

PySAM enables developers to run the underlying unit modules that make up a simulation in SAM. A single simulation may comprise a single module or a process chaining together multiple unit modules. PySAM exposes these unit modules in a native Python interface so that they can be customized and embedded in software applications.

Release notes & Version Changes

For information on versions, updates and matching SAM releases, please see Release notes

Version 3.0 and Upgrading from Older Versions: There are significant changes to the input variables for several modules.

Please see SSC Release Notes for description of functionality and variable definition changes, and please see Changes to Modules for full list of changes per PySAM Module.

Between major version changes, in addition to new features, modules and bug fixes, the group to which a variable belongs may change.

Getting Started

Learn how to install the package from PyPi or the Conda registry. Write your first PySAM script and run a renewable energy power system simulation in a few steps following some examples. Or, take a look at how cases from the SAM Desktop application can be imported into PySAM.

Models and Tools

PySAM offers all the technology and financial models available in SAM as separate unit modules. Learn about individual modules and how to chain them together to represent a specific configuration such as Distributed Wind or Single Owner PV + Battery. PySAM also includes tools that provide design and resource functionality.