A curated list of open technology projects to sustain a stable climate, energy supply, biodiversity and natural resources.

System Advisor Model

A simulation program for electricity generation projects. It has models for different kinds of renewable energy systems and financial models for residential, commercial, and utility-scale projects.
https://github.com/NREL/SAM

Category: Energy Systems
Sub Category: Energy System Modeling Frameworks

Keywords from Contributors

photovoltaic measure observability simulations productivity energy-system generic renewable training parallel

Last synced: about 12 hours ago
JSON representation

Repository metadata

System Advisor Model (SAM)

README.md

System Advisor Model (SAM)

Build
FOSSA Status

The SAM Open Source Project repository contains the source code, tools, and instructions to build a desktop version of the National Renewable Energy Laboratory's System Advisor Model (SAM). SAM is a simulation program for electricity generation projects. It has models for different kinds of renewable energy systems and financial models for residential, commercial, and utility-scale projects. For more details about SAM's capabilities, see the SAM website at https://sam.nrel.gov/.

For a short video describing the SAM repositories, see https://youtu.be/E5z1iiZfZ3M.

The SAM release notes are in https://github.com/NREL/SAM/blob/gh-pages/doc/releasenotes.html.

The desktop version of SAM for Windows, Mac, or Linux builds from the following open source projects:

  • SSC is a set of "compute modules" that simulate different kinds of power systems and financial structures. It can be run directly using the SAM Software Development Kit. This is the source code for SAM's models, and is the repository to use for researching the algorithms underlying the models.

  • LK is a scripting language that is integrated into SAM. SAM's user interface uses LK to calculate values to display on input pages. The user interface includes a script editor that allows users to write their own scripts from the user interface.

  • wxWidgets is a cross-platform graphical user interface platform used for SAM's user interface, and for the development tools included with SSC (SDKtool) and LK (LKscript).

  • WEX is a set of extensions to wxWidgets for custom user-interface elements developed specifically for SAM, LK script, and DView.

  • Google Test is a C++ test framework that enables comprehensive unit-testing of software. Contributions to the project will eventually be required to have associated unit tests written in this framework.

  • jsoncpp is a C++ library that allows manipulating JSON values, including serialization and deserialization to and from strings.

  • Python/Miniconda is for integration of Python scripts with the SAM user interface.

This repository, SAM, contains the code for SAM's user interface that assigns values to inputs of the SSC compute modules, runs the modules in the correct order, and displays simulation results. It also includes tools for editing LK scripts, viewing time series results, and generating shade data from a 3-dimensional representation of a photovoltaic array or solar hot water collector and nearby shading objects.

The SAM repository also includes two libraries from Sandia National Laboratories, stepwise, and LHS, which are distributed as part of the Dakota platform, licensed under LGPL.

Building SAM

For build instructions see the wiki with specific instructions for:

Contributing

If you would like to report an issue with SAM or make a feature request, please let us know by adding a new issue on the issues page.

If you would like to submit code to fix an issue or add a feature, you can use GitHub to do so. Please see Contributing for instructions.

License

SAM's open source code is copyrighted by the Alliance for Sustainable Energy and licensed with BSD-3-Clause terms, found here.

The stepwise and LHS LGPL licensed libraries from Sandia National Laboratories are pre-compiled Fortran libraries that are included in the SAM repository as binaries in the Sandia folder. You can replace the binaries with different versions by compiling your own version and replacing the binary/executable viles in the Sandia folder.

Citing this package

System Advisor Model Version 2023.12.17 (2023). SAM source code. National Renewable Energy Laboratory. Golden, CO. Accessed December 18, 2023. https://github.com/NREL/SAM


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 7 days ago

Total Commits: 14,277
Total Committers: 46
Avg Commits per committer: 310.37
Development Distribution Score (DDS): 0.723

Commits in past year: 503
Committers in past year: 10
Avg Commits per committer in past year: 50.3
Development Distribution Score (DDS) in past year: 0.676

Name Email Commits
Steve Janzou s****u@n****v 3954
Paul Gilman p****n@e****t 1699
Aron Dobos a****s@o****m 1406
Ty Neises t****s@n****v 1212
Janine Freeman j****n@n****v 1040
Prilliman M****n@n****v 888
Paul Gilman c****n@g****m 823
dguittet d****t@n****v 659
nickdiorio n****o@g****m 597
Nick DiOrio n****o@n****v 489
Brian Mirletz b****z@n****v 414
Taylor Brown 6****5 177
Tom Ferguson t****n@n****v 145
Ben Elliston b****e@a****u 133
Michael Wagner m****r@n****v 119
Parangat Bhaskar p****4@g****m 97
Matthew Boyd m****d@g****m 96
Matthew Boyd m****d@n****v 80
janinefreeman j****n@n****v 69
David Ryberg u****m 46
Daniel Thom d****m@n****v 22
WHamilt2 w****n@n****v 17
Parangat Bhaskar p****r@n****v 16
dguittet 12
abhisheksparikh a****5@g****m 9
Brown t****2@n****v 9
Steven Janzou s****e@j****m 7
Boyd m****d@n****v 6
dependabot[bot] 4****] 4
Ana Dyreson a****n@w****u 3
and 16 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 1 day ago

Total issues: 568
Total pull requests: 566
Average time to close issues: 11 months
Average time to close pull requests: 7 days
Total issue authors: 43
Total pull request authors: 15
Average comments per issue: 1.2
Average comments per pull request: 0.74
Merged pull request: 520
Bot issues: 0
Bot pull requests: 5

Past year issues: 150
Past year pull requests: 220
Past year average time to close issues: about 2 months
Past year average time to close pull requests: 5 days
Past year issue authors: 16
Past year pull request authors: 11
Past year average comments per issue: 0.79
Past year average comments per pull request: 0.8
Past year merged pull request: 191
Past year bot issues: 0
Past year bot pull requests: 1

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/NREL/SAM

Top Issue Authors

  • cpaulgilman (223)
  • brtietz (105)
  • mjprilliman (49)
  • janinefreeman (40)
  • sjanzou (37)
  • williamhobbs (18)
  • dguittet (16)
  • tyneises (15)
  • taylorbrown75 (13)
  • mr1001v (3)
  • Matthew-Boyd (3)
  • n8blair (3)
  • qualand (3)
  • shirubana (2)
  • ErieRenaissance (2)

Top Pull Request Authors

  • cpaulgilman (142)
  • sjanzou (117)
  • brtietz (93)
  • mjprilliman (86)
  • tyneises (41)
  • dguittet (28)
  • janinefreeman (18)
  • taylorbrown75 (17)
  • qualand (7)
  • Matthew-Boyd (6)
  • dependabot[bot] (5)
  • berg-michael (3)
  • tobias-loew (1)
  • williamhobbs (1)
  • burundiocibu (1)

Top Issue Labels

  • bug (276)
  • wishlist (102)
  • enhancement (78)
  • dev bug (51)
  • UI (48)
  • pv (42)
  • financial (35)
  • architecture (31)
  • added to release notes (27)
  • csp (27)
  • battery (26)
  • utility rate (24)
  • new feature (19)
  • wind (12)
  • hybrid (11)
  • wontfix (10)
  • geothermal (8)
  • weather (4)
  • marine (4)
  • good first issue (2)
  • lk (2)
  • solar water heating (1)
  • help wanted (1)

Top Pull Request Labels

  • added to release notes (224)
  • bug (74)
  • UI (39)
  • dev bug (27)
  • enhancement (25)
  • battery (23)
  • pv (17)
  • csp (17)
  • geothermal (13)
  • financial (12)
  • new feature (7)
  • marine (6)
  • utility rate (5)
  • dependencies (5)
  • wind (2)
  • architecture (2)
  • weather (1)
  • hybrid (1)
  • requires help revision (1)

Package metadata

pypi.org: nrel-pysam

National Renewable Energy Laboratory's System Advisor Model Python Wrapper

  • Homepage: https://nrel-pysam.readthedocs.io
  • Documentation: https://nrel-pysam.readthedocs.io/
  • Licenses: BSD 3-Clause
  • Latest release: 7.0.0 (published 9 days ago)
  • Last Synced: 2025-04-25T14:07:53.338Z (1 day ago)
  • Versions: 33
  • Dependent Packages: 8
  • Dependent Repositories: 14
  • Downloads: 45,025 Last month
  • Rankings:
    • Dependent packages count: 1.249%
    • Average: 2.564%
    • Downloads: 2.581%
    • Dependent repos count: 3.863%
  • Maintainers (2)
pypi.org: tyba-nrel-pysam

National Renewable Energy Laboratory's System Advisor Model Python Wrapper

  • Homepage: https://nrel-pysam.readthedocs.io
  • Documentation: https://tyba-nrel-pysam.readthedocs.io/
  • Licenses: BSD 3-Clause
  • Latest release: 3.0.2 (published over 2 years ago)
  • Last Synced: 2025-04-25T14:07:52.787Z (1 day ago)
  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 183 Last month
  • Rankings:
    • Dependent packages count: 10.082%
    • Dependent repos count: 21.62%
    • Average: 39.937%
    • Downloads: 88.111%
  • Maintainers (1)

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • jwlawson/actions-setup-cmake v1.12 composite

Score: 20.653038924343836