Giter Site home page Giter Site logo

ankushjindal / sam Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nrel/sam

0.0 2.0 0.0 910.35 MB

System Advisor Model (SAM)

License: Other

Makefile 0.20% Shell 0.08% Python 0.03% Batchfile 0.29% C 8.10% HTML 13.38% CSS 0.18% JavaScript 7.58% Inno Setup 0.26% C++ 69.91%

sam's Introduction

System Advisor Model (SAM)

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/.

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. If you are looking for the algorithms underlying the models, they are located in this repository.

  • LK is a scripting language that is integrated into SAM and allows users to add functionality to the program.

  • 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). The current version of SAM uses wxWidgets 3.1.0.

  • WEX is a set of extensions to wxWidgets for custom user-interface elements used by SAM, and by LKscript and DView, which are integrated into SAM.

  • 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.

  • This repository, SAM, provides the user interface to assign values to inputs of the SSC compute modules, run the modules in the correct order, and display 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.

Quick Steps for Building SAM

For detailed build instructions see the wiki, with specific instructions for:

These are the general quick steps you need to follow to set up your computer for developing SAM:

  1. Set up your development tools:

  2. Download the wxWidgets 3.1.0 source code for your operating system from https://www.wxwidgets.org/downloads/.

  3. Build wxWidgets.

  4. In Windows, create the WXMSW3 environment variable on your computer to point to the wxWidgets installation folder, or in MacOS and Linux, create the dynamic link /usr/<USERNAME>/local/bin/wx-config-3 to point to /path/to/wxWidgets/bin/wx-config.

  5. As you did for wxWidgets, for each of the following projects, clone (download) the repository, build the project, and then (Windows only) create an environment variable pointing to the project folder. Build the projects in the following order, and assign the environment variable for each project before you build the next one:

ProjectRepository URLWindows Environment Variable
LKhttps://github.com/NREL/lkLKDIR
WEXhttps://github.com/NREL/wexWEXDIR
SSChttps://github.com/NREL/sscSSCDIR
SAMhttps://github.com/NREL/SAMSAMNTDIR
Google Testhttps://github.com/google/googletestGTEST

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 under a mixed MIT and GPLv3 license. It allows for-profit and not-for-profit organizations to develop and redistribute software based on SAM under terms of an MIT license and requires that research entities including national laboratories, colleges and universities, and non-profit organizations make the source code of any redistribution publicly available under terms of a GPLv3 license. .

sam's People

Contributors

sjanzou avatar arondobos avatar janinefreeman avatar tyneises avatar nickdiorio avatar mjwagner2 avatar bje- avatar dguittet avatar abhisheksparikh avatar jannamartinek avatar

Watchers

James Cloos avatar Ankush Jindal avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.