Software

See the table below for our open-source software offerings. 

For the most current listing of NREL-developed open-source software, see U.S. Department of Energy Office of Scientific and Technical Information's DOE CODE database.

Commercial Licensing

Explore more than 200 copyrighted software tools available for licensing via the Department of Energy's Lab Partnering Service.


Filters:
CODE ID Repository/Landing Page Link Software Title Description Programming Language(s) Release Date Release Date (Sort) Technology
114674 https://github.com/NREL/elm ELM: Energy Language Model The Energy Language Model (ELM) software provides interfaces to apply large language models such as ChatGPT and GPT-4 to energy research. Python Oct. 11, 2023 10/11/23 Energy Analysis
114490 https://github.com/NREL/marbles MARBLES: Multi-Scale Adaptively Refined Boltzmann LatticE Solver MARBLES is an open-source computational fluid dynamics package that leverages lattice Boltzmann equations and the AMReX framework. This method enables MARBLES to efficiently simulate fluid flow around intricate or moving geometries without the need for a body-conforming mesh. Built on AMReX, MARBLES achieves high computational performance and parallel scaling across diverse architectures, supporting local grid refinement for enhanced resolution and fidelity. C++; CMake Oct. 5, 2023 10/5/23 Computational Science
113309 https://github.com/Exawind/exawind-driver ExaWind-Driver The ExaWind-Driver is a C++ code integrated into the ExaWind software stack, specifically crafted to facilitate the coupling and orchestration of hybrid-solver computational fluid dynamics simulations. This involves the concurrent operation of NREL's AMR-Wind and Nalu-Wind simulations, establishing a bidirectional coupling through overset meshes and the TIOGA overset-mesh library. C++; CMake Sept. 8, 2023 9/8/23 Wind
113334 https://github.com/NREL/rust_eng_fmt Rust Engineering Format Rust Engineering Format is a compact package designed to offer engineering notation formatting for floating-point precision numbers in Rust. Rust Sept. 8, 2023 9/8/23 Transportation and Mobility
111266 https://github.com/NREL/SDOM SDOM: Storage Deployment Optimization Model SDOM models energy storage operation across diverse timescales, incorporating long-duration and seasonal applications and considering spatiotemporal diversity among variable renewable energy sources. With an hourly temporal resolution, fine spatial resolution, and a 1-year optimization window, SDOM assumes sufficient transmission capacity for full utilization of variable renewable energy builds. The model minimizes total system cost by utilizing conventional generators as balancing units; fixing nuclear, hydropower, and other renewable generation based on operational data; and employing variable renewable energy and storage technologies to meet user-defined carbon-free or renewable energy targets. GAMS; Python Aug. 2, 2023 8/2/23 Energy Storage
112025 https://github.com/NREL/NMACFoam NMACFoam: Numerical-Model for Membrane-Spacer Assemblies and Configurations in OpenFOAM NMACFoam, built on the OpenFOAM framework, is a computational fluid dynamics tool specifically designed for simulating flow and solids transport in membrane-spacer channels relevant to reverse osmosis or nanofiltration applications. This tool accommodates complex spacer geometries, incorporates porous wall boundary conditions for membranes, and accurately models concentration polarization effects. With scalability to thousands of processors, NMACFoam enables large-scale simulations at the module level, handling problem sizes ranging from 1 to 10 million cells using high-performance computing resources. C; C++; Python Aug. 9, 2023 8/9/23 Advanced Manufacturing; Computational Science
112157 https://github.com/NREL/bsm-public BSM: Bioenergy Scenario Model The Bioenergy Scenario Model operates as a system dynamics model on the STELLA software platform. It captures the dynamic interactions within the U.S. biofuels industry, encompassing feedstock production, logistics, biomass-to-biofuels conversion, and end-use aspects such as fuels inventory, dispensing, distribution, and vehicle fleet dynamics. The BSM generates and explores plausible scenarios for the evolution of the U.S. biofuels industry and offers a high-level system perspective for analyzing policies, generating scenarios, identifying influential factors, and initiating focused discussions among policymakers and stakeholders. STELLA June 16, 2023 6/16/23 Bioenergy
108548 https://github.com/NREL/a2e2g A2E2G: Atmosphere to Electrons to the Grid Platform A2E2G is a comprehensive platform that integrates forecasting tools to address weather uncertainty, aerodynamic wind plant models for wake dynamics and wind plant operation, and economic models for advising wind power plant operation with grid services. This Python-based tool functions as a high-level controller for wind plants, enabling market participation and real-time control. The A2E2G framework operates in two stages, addressing uncertainty in day-ahead planning and variability in real-time operation. Jupyter Notebook; Python June 15, 2023 6/15/23 Wind
108640 https://github.com/nrel-sienna/InterfaceLimits.jl ITL: InterfaceLimits.jl The flow of electrical power in a network is regulated by Kirchhoff's laws, introducing complexity when determining power transfer capacities across interfaces connecting groups of nodes. This package utilizes NREL's Sienna data and capabilities to construct and resolve problems related to interface limit calculations. Julia June 7, 2023 6/7/23 Wind
107998 https://github.com/G-PST/inertia G-PST Inertia Monitoring Tool This tool facilitates the ingestion of real-time unit commitment data, such as from a grid operator's control room energy management system. It then computes system inertia estimates using the H-constant method and transmits the estimates to customizable visualization or logging outputs. CSS; Go; HTML; JavaScript June 5, 2023 6/5/23 Grid Modernization
112052 https://github.com/NREL/ATB-calc ATB-Calc: Annual Technology Baseline Calculators This software comprises a suite of Python files and Jupyter notebooks designed to assist in computing cost and financial parameters for Annual Technology Baseline electricity data. It encompasses calculations for capital expenditures, levelized cost of energy, and debt fractions utilizing the provided annual technology baseline input data. Jupyter Notebook; Python Aug. 2, 2023 8/2/23 Energy Analysis
107854 https://github.com/NREL/BuildingsBench BuildingsBench: A Benchmark for Universal Building Load Forecasting BuildingsBench is a Python software framework that streamlines the training and comparison of generalized machine learning models for universal building load forecasting. The current approach involves crafting specialized forecasting models for individual buildings, which is time-consuming and costly. This software provides a platform for large-scale pretraining using the synthetic Buildings-900K dataset, representing the entire U.S. building stock, and subsequently benchmarking performance across diverse buildings, geographic regions, weather patterns, and more. Jupyter Notebook; Python June 1, 2023 6/1/23 Buildings
107774 https://github.com/NREL/tih-vqe tih-vqe This software aligns with the research paper Exploring the Scaling Limitations of the Variational Quantum Eigensolver With the Bond Dissociation of Hydride Diatomic Molecules, published in the International Journal of Quantum Chemistry. The paper addresses the challenges of simulating materials with strongly correlated electrons, a task well-suited for quantum computing. The study focuses on the variational quantum eigensolver (VQE) algorithm's application to moderately sized, strongly correlated systems, exemplified by the diatomic hydride molecules TiH, LiH, NaH, and KH. The research investigates the near-term feasibility of modeling a molecule with d-orbitals on existing quantum hardware through VQE + UCCSD calculations, revealing challenges related to error rates and hardware limitations for such complex chemical systems. Python June 1, 2023 6/1/23 Computational Science
110387 https://github.com/NREL/BLAST-Lite BLAST-Lite: Battery Lifetime Analysis and Simulation Tool - Lite BLAST offers a comprehensive library of battery lifetime and degradation models tailored to contemporary commercial lithium-ion batteries. Leveraging NREL's battery life model identification toolkit and publicly available lab-based aging data, BLAST predicts the expected lifespan of batteries used in mobile and stationary applications, accounting for factors such as temperature, state-of-charge, depth-of-discharge, and charge/discharge rates. The models are implemented in both Python and MATLAB, with the MATLAB version providing additional features such as example applications for stationary storage and electric vehicles, climate data, and simple thermal management options. Jupyter Notebook; MATLAB; Python May 3, 2023 5/3/23 Energy Storage; Transportation and Mobility
105946 https://github.com/NREL/PVDegradationTools PVDeg: PV Degradation Tools PVDeg is a Python library designed to assist in modeling and comprehending light- and elevated temperature-induced degradation and boron-oxygen light-induced degradation in silicon solar cells and wafers. Python April 28, 2023 4/28/23 Solar
105512 https://github.com/NREL/gaps GAPs: Geospatial Analysis Pipelines GAPs is a framework designed to scale single-location geospatial models to a high-performance computing environment. Python April 26, 2023 4/26/23 Computational Science
103518 https://github.com/NREL/DSS-SimPy-RL DSS-SimPy-RL: Open-DSS and SimPy Based Cyber-Physical RL Environment This software addresses the challenge of creating a mixed domain reinforcement learning environment by combining Open DSS for the physical side, operating in a Windows-based system, with SimPy, a discrete event simulator Python package for cyber-side emulation, which is operating systems agnostic. The focus is on developing and validating this mixed domain environment for co-simulation, enabling the training of reinforcement learning agents for resilient control in power distribution feeders through network reconfiguration and volt-var control. Python March 29, 2023 3/29/23 Grid Modernization
111928 https://github.com/NREL/bifacial_radiance Bifacial_Radiance The Bifacial_Radiance software offers a set of Python wrapper functions designed to simplify working with RADIANCE, with a focus on aiding PV researchers interested in bifacial PV performance. Detailed information, tutorials in the form of Jupyter notebooks, and additional resources are available in the documentation, Wiki, and issues page. The installation process is outlined in a video tutorial, and a GUI has been introduced in version 3.0, eliminating the need for scripts or journals by handling simulation parameters seamlessly. C++; Python; TeX March 11, 2023 3/11/23 Solar
101810 https://github.com/NREL/ThermalTank Python Thermal Tank Model This thermal tank model incorporates the phase change of the tank medium. Jupyter Notebook; Python March 3, 2023 3/3/23 Buildings
99828 https://github.com/openEDI/gadal-ieee123 OEDI-SI: Open Energy Data Initiative - Systems Integration OEDI-SI, previously known as GADAL (Grid Algorithms and Data Analytics Library), offers a comprehensive library for linking algorithms and datasets within a co-simulation framework. Jan. 30, 2023 1/30/23 Solar
103929 https://github.com/BETSRG/GHEDesigner GHEDesigner GHEDesigner is a Python package specifically crafted for the design of ground heat exchangers used in ground source heat pump systems. Python March 28, 2023 3/28/23 Geothermal
98677 https://github.com/NREL/NREL-Beam-Characterization BCS: Beam Characterization System BCS is an image-processing tool designed to estimate heliostat tracking errors in solar applications. In this system, a heliostat reflects sunlight onto a distant target, and a calibrated camera captures an image of the reflected beam. The software includes scripts to identify key features and conduct analysis on the captured images. Jupyter Notebook Jan. 11, 2023 1/11/23 Solar
98478 https://github.com/NREL/HOPP HOMP: Hybrid Operation and Maintenance Platform The HOMP software module, integrated into NREL's Hybrid Optimization and Performance Platform (HOPP), is a Python-based tool that works in tandem with HOPP to model, simulate, and optimize degradation, reliability, and operations and maintenance of components in hybrid power plants. The program models lithium-ion batteries, PEM electrolyzers, wind turbines, and solar PV arrays, allowing users to analyze design and operational tradeoffs for hybrid power plants. HOMP facilitates answering questions such as optimal charge/discharge rates for performance and reliability, variations in plant design for different objectives (e.g., profit versus resilience), conditions favoring electricity production versus hydrogen, and optimal control strategies for reducing downtime and enhancing performance. Jupyter Notebook; PowerBuilder; Python Dec. 30, 2022 12/30/22 Energy Analysis; Wind
114321 https://github.com/AMReX-Codes/pyamrex pyAMReX The Python binding for AMReX, pyAMReX, serves as a bridge between block-structured codes and data science. It facilitates zero-copy application GPU data access for AI/ML; in situ analysis; application coupling; and swift, massively parallel prototyping. Python Sept. 28, 2023 9/28/23 Computational Science
97471 https://github.com/exawind/openturbine OpenTurbine OpenTurbine is an open-source code specifically crafted for simulating wind turbine structural dynamics. Functioning as a flexible multibody dynamics solver, it represents the wind turbine through a combination of beam finite elements, rigid bodies, and constraints. OpenTurbine features an application programming interface tailored for coupling with computational fluid dynamics codes, making it versatile for integration with aerodynamics solvers based on blade element momentum theory. CMake; C++ Nov. 29, 2022 11/29/22 Wind
96627 https://github.com/NREL/sulfur_tes_ml Sulfur TES ML Sulfur TES ML comprises code initially developed for creating surrogate machine learning models to emulate the functionality of computational fluid dynamics simulations in sulfur thermal energy storage (TES) systems. The code has been adapted to offer a comprehensive package for constructing, training, validating, testing, and optimizing regression models, featuring customizable features and targets. Jupyter Notebook; Python Nov. 14, 2022 11/14/22 Computational Science
95577 https://github.com/nrel/erad ERAD: Equitable Resiliency Analysis Tool for Distribution System ERAD is a software product designed to calculate resiliency and equity metrics in power distribution systems. Leveraging graph database technology, it stores, queries, and computes metrics, ensuring high scalability and availability. The tool can compute metrics for diverse resiliency scenarios, including fire, flooding, and earthquake. Jupyter Notebook; Python Oct. 17, 2022 10/17/22 Energy Analysis
73673 https://github.com/NREL/DC2AC MIDAS-DC2AC: Fully Automating the Acquisition of AC Power Flow Solution MIDAS-DC2AC is an automated tool for achieving a converged AC power flow solution from any dispatch, e.g., determined using DC power flow model-based optimal power flow. This tool provides a systematic way to achieve a solvable AC power flow case by modifying the power flow condition and then tracking the AC power flow solution while gradually removing the adopted changes. If all adopted changes can be removed, then the original AC power flow solution is obtained. Otherwise, insights for actionable controls are derived to help operation and planning. Python April 22, 2022 4/22/22 Solar
73484 https://github.com/NREL/G2Aero G2Aero: separable shape tensors for aerodynamic applications G2Aero is a flexible and practical tool for parametrizing and perturbing 2D airfoils and 3D blades. The code uses a representation of discrete shapes defined by ordered sequences of landmarks as separable tensors. It implements all necessary mathematical transformations to build a novel representation of shape through product manifolds, specifically with the Grassmannian and symmetric positive definite space. HTML April 20, 2022 4/20/22 Wind
68835 https://github.com/NREL/hpxml_version_translator HPXML Version Translator HPXML is a consensus data transfer standard for residential buildings. Over several years, multiple versions of the standard have been released. This tool accepts an HPXML file in an older version and translates it to a newer version. Python Jan. 5, 2022 1/5/22 Buildings
70209 https://github.com/NREL/human-metrics-explore Human metrics exploration (HCTPM: Human Centered Transportation Performance Metrics)  This set of notebooks supports the exploration of human-centered metrics. Users can explore metrics interactively using the Interactive_Metrics Juypter Notebook. Python; Jupyter Dec. 13, 2021 12/13/21 Transportation and Mobility
68522 https://github.com/NREL/CO2ROpt CO2ROpt: Feedstock Allocation Optimization Model Reducing greenhouse gas emissions remains a critical challenge for the transportation and chemical sectors. The electrochemical reduction of carbon dioxide is a potential pathway for production of fuels and chemicals that uses atmospheric carbon dioxide as a feedstock. This is an analysis of the potential for carbon dioxide captured from point sources and via direct air capture to be used in electrochemical reduction under different market scenarios. Using a numerical optimization framework and national data sets, scenarios for nationwide production of ethylene, formate, and carbon monoxide are evaluated at scales comparable to current production of these molecules in the United States.  Julia Dec. 8, 2021 12/8/21 Bioenergy
67088 https://github.com/NREL/GANISP GANISP: GAN-assisted Importance Splitting Genealogical importance splitting marches toward a rare event by iteratively selecting and replicating realizations that are headed toward a rare event. The replication step is made difficult when applied to deterministic systems as the initial conditions of the offspring realizations need to be adjusted. Typically, a random perturbation is applied to the offspring. For some cases, this cloning technique may not be adequate and prevent variance reduction in the probability estimate. A GAN-based replication process is proposed to address this limitation. The perturbations applied to the clones are physically consistent instead of being randomly chosen. The proposed method allows reducing the variance in the probability estimation. Python Nov. 15, 2021 11/15/21 Computational Science
71066 https://github.com/NREL/VirtualEngineering VE: Virtual Engineering The VE project provides a set of Python modules to enable users to connect mathematical models of unit operations to predict outcomes for an entire chemical process. This VE approach is being developed to support the beginning-to-end simulation of the low-temperature conversion of lignocellulosic biomass to a fuel precursor, but the underlying communication functions can be readily extended to connect models from other domains. The VE library includes models/simulations for pretreatment, enzymatic hydrolysis, and aerobic bioreaction. C; C++; Fortran; Python; TeX; Shell Feb. 17, 2022 2/17/22 Bioenergy
71965 https://github.com/NREL/geothermal_osr geothermal_osr: Energy Predictor for Geothermal Open Source Reservoir This is a repository of tools developed to predict the energy produced at Open Source Reservoir. It includes simulation data as well as Jupyter Notebooks for training and evaluating prediction models. Open Source Reservoir is based on data from Brady Hot Springs reservoir (Nevada) but has a number of sufficiently modified characteristics and does not disclose sensitive data. Jupyter Notebook Jan. 13, 2022 1/13/22 Geothermal
71552 https://github.com/NREL/PV-DMFA PV DMFA: Photovoltaic Dynamic Material Flow Assessment The PV DMFA model is a computational framework written in Python based on utility-scale PV electricity generation to quantify time-series stocks and flows of PV materials primarily in crystalline silicon PV technologies. The model evaluates the cradle-to-cradle life cycle of utility-scale solar PV systems in the United States from 2000 to 2100. PV DMFA serves as a sustainability analysis tool to assess the impacts of material circularity practices (i.e., reduce, reuse/refurbish, remanufacture, and recycle), PV module design shifts and sensitivity of material processing and technology-related parameters to installations, waste creation, and raw material depletion in PV material supply chains. This tool enables advanced planning for future material needs and informs sustainable pathways for PV material management in the circular economy.  Jupyter Notebook March 1, 2022 3/1/22 Solar
74338 https://github.com/NREL/PVcircuit PVcircuit The software contains objects that are building blocks for PV modeling and interactive data-fitting based on optoelectronic models for tandem/multijunction solar cells, including resistive and luminescent coupling; simulation of modules composed of 2T, 3T, and 4T tandem solar cells; and energy yield analysis of PV systems composed of tandem solar cells. Jupyter Notebook; Python Feb. 17, 2022 2/17/22 Solar
72315 https://github.com/NREL/hybrid-rl-mpc4clr Hybrid-RL-MPC4CLR: Hybrid Reinforcement Learning Model Predictive Control for Reserve Policy-Assisted Critical Load Restoration in Distribution Grids Hybrid-RL-MPC4CLR was developed as a hybrid controller for active distribution grid critical load restoration, combining deep reinforcement learning and model predictive control to maximize total restored load following an extreme event. The reinforcement learning determines a policy for quantifying operating reserve requirements, thereby hedging against uncertainty, while the model predictive control models grid operations incorporating the reinforcement learning policy actions (i.e., reserve requirements), renewable (wind and solar) power predictions, and load demand forecasts.  Jupyter Notebook; Python March 18, 2022 3/18/22 Grid Modernization
72273 https://github.com/NREL/mpc4clr MPC4CLR: Model Predictive Control for Critical Load Restoration in Power Distribution Systems MPC4CLR is a model predictive control for critical load restoration in power distribution systems to recover system service (electricity delivery) following an extreme event-triggered substation outage. The method considers the problem of controlling distributed energy resources on the distribution system with the objective of achieving maximum load pick-up while satisfying distribution network flow and voltage constraints.  Jupyter Notebook March 18, 2022 3/18/22 Grid Modernization
72248 https://github.com/NREL/pyvisco pyvisco pyvisco is a Python library that supports the identification of Prony series parameters for linear viscoelastic materials described by a Generalized Maxwell model. The necessary material model parameters are identified by fitting a Prony series to the experimental measurement data. pyvisco allows for the identification of Prony series parameters from experimental data measured in either the frequency-domain (via Dynamic Mechanical Thermal Analysis) or time-domain (via relaxation measurements). Python; Jupyter Notebook March 21, 2022 3/21/22 Solar
72324 https://github.com/NREL/rlc4clr RLC4CLR: Reinforcement Learning Controller for Critical Load Restoration Problems RLC4CLR uses a reinforcement learning controller to solve a critical load restoration problem, which improves grid resilience after a substation outage. RLC4CLR consists of two parts: (1) a reinforcement learning environment that encapsulates the problem to be solved and provides interfacing functions to follow the standard OpenAI Gym format and (2) a reinforcement learning training script that enables the agent to learn its control policy by interacting with the environment.  Python March 18, 2022 3/18/22 Grid Modernization
72078 https://github.com/NREL/PVwindow PVwindow: Photovoltaic Window Simulator PVwindow simulates photovoltaic window properties by allowing the user to build stacks of thin-film materials that compose the window layers. The only needed inputs are the complex refractive indices and thicknesses of the materials. The software will simulate the optical transmission, front reflection, and back reflection of the stack using the transfer matrix method. Properties specific to PV window optics such as visible transmittance and color are also calculated.  Python April 8, 2022 4/8/22 Buildings; Solar
72729 https://github.com/NREL/yamm MapPyMatch A surprisingly nontrivial technical challenge is to associate points in space (e.g., GPS data) with specific segments of a road network or map. The MapPyMatch software package allows users to match GPS point data to a road network (commonly known as "map matching"). Python March 28, 2022 3/28/22 Transportation and Mobility
73640 https://github.com/NREL/graph-env Graph-Env The Graph-Env library provides a framework for adapting graph search problems into OpenAI Gym environments for reinforcement learning. In other words, Graph-Env enables reinforcement learning algorithms to be applied to graph search problems. Graph search problems include molecule and crystal structure design problems; route planning problems, including traveling salesperson problem; puzzles and games, such as chess and go; shortest-path problems; minimum spanning tree; and vehicle path generation. Python April 15, 2022 4/15/22 Computational Science
73290 https://github.com/NREL/learning-building-control LBC: Learning Building Control LBC encompasses the source code and data to reproduce and extend results for a manuscript that compares demand-responsive control schemes for multizone buildings. It includes examples of model predictive control, value function approximation via CVXPYLAYERS, and differentiable predictive control. The goal of the study is to evaluate state-of-the-art controllers and establish the efficacy (if any) of learning-based approaches that leverage deep neural networks in one way or another. Python; Jupyter April 11, 2022 4/11/22 Buildings
74030 https://github.com/AMReX-Combustion/PeleLMeX PeleLMeX PeleLMeX is an adaptive-mesh low Mach number hydrodynamics code for reacting flows. PeleLMeX supports Embedded Boundary method to represent complex geometries and is parallelized with MPI + OpenMP for CPUs and MPI + CUDA or MPI + HIP for GPUs. C++ May 2, 2022 5/2/22 Computational Science
74425 https://github.com/NREL/Machine-Learning-Pipeline ML Pipeline: Machine Learning Pipeline  ML Pipeline allows the user to fit a model to predict a dependent variable, y, based on a feature set, X. ML Pipeline automatically generates features with its Feature Engineering function, automatically selects the most important features with its Feature Selection function, fits the model with its Fit function, and evaluates the model with its Evaluate function. ML Pipeline's functionality can not only help the user predict values for the desired variable but also gives the user a better understanding of which features are important and how effective the model is. MATLAB April 28, 2022 4/28/22 Computational Science
74151 https://github.com/NREL/WPGNN WPGNN and PLayGen: Wind Plant Graph Neural Network and Plant Layout Generator WPGNN is the graph neural network machine learning-based surrogate model and software that provides a streamlined approximation of wind plant wake models. It can rapidly estimate the energy production of the plant and turbines for any arbitrarily sized wind plant and layout under any inflow condition. The included plant layout generator can produce random realizations of realistic wind plant layouts from one of the four canonical styles: cluster, single string, multiple string, or parallel string.  Python May 5, 2022 5/5/22 Wind
74083 https://github.com/NREL/flasc FLASC: FLORIS-based Analysis for SCADA data FLASC provides a rich suite of analysis tools for SCADA data filtering, analysis, wind farm model validation, field experiment design, and field experiment monitoring. The repository is centrally built around NREL's FLORIS wind farm model and largely relies on the energy ratio to, among others, quantify wake losses in synthetic and historical data, perform turbine northing calibrations, and model parameter estimation. Python May 2, 2022 5/2/22 Wind
74434 https://github.com/NREL/E-Queue-HPC JobQueue-PG: A Task Queue for Coordinating Varied Tasks Across Multiple HPC Resources and HPC Jobs The software allows for queueing and dispatch of tasks of small, varied, or uncertain run times across multiple high-performance computing jobs, resources, and other computing systems. The software allows scientists to enqueue, run, and accumulate results from computational experiments in an efficient, manageable manner.  Python May 13, 2022 5/13/22 Computational Science
74722 https://github.com/NREL/shift SHIFT: Simple Synthetic Distribution Feeder Generation Tool SHIFT is a lightweight software package that allows users to build synthetic feeders around any location in India. It uses open street data, such as roads and buildings, and distribution system design principles to generate a distribution system model. Python May 10, 2022 5/10/22 Grid Modernization
74551 https://github.com/NREL/mesoflow mesoflow mesoflow is a continuum scale simulation tool for modeling transport and chemistry at the mesoscale. The solver uses Cartesian block-structured adaptive mesh refinement to resolve complex surface morphologies (of catalysts/biomass particles among others) directly obtained from X-ray tomography data. An immersed boundary-based formulation enables rapid representation of complex geometries prevalent in most mesoporous interfaces.  C++ May 16, 2022 5/16/22 Bioenergy
74457 https://github.com/NREL/BUTTER-Empirical-Deep-Learning-Experimental-Framework BUTTER: An Empirical Deep Learning Experimental Framework BUTTER is a system with which empirical deep learning experiments can be conducted and their results, including training and model performance characteristics, can be accumulated for further analysis. Jupyter Notebook May 14, 2022 5/14/22 Computational Science
75120 https://github.com/NREL/ml4pd ML4PD: Machine Learning for High Throughput Process Design ML4PD is a code base that uses machine learning-based modular process units that can be combined to create whole process models. The package is developed within Python and leverages TensorFlow for the machine-learning components. Python June 20, 2022 6/20/22 Transportation and Mobility; Bioenergy
74369 https://github.com/NREL/INN-interface INN Airfoil Tools This software package contains code to perform airfoil inverse shape design using a sparsified invertible neural network model. This is a specialized deep learning architecture that enables both network weights to be shared to evaluate forward or inverse passes through the network. As a design tool, this network allows practitioners to specify aerodynamic and structural properties and generate shapes that satisfy those properties.  Python May 17, 2022 5/17/22 Wind
72497 https://github.com/NREL/jade JADE JADE provides a simple, flexible interface to submit jobs to a high-performance computer (HPC). JADE is an HPC workflow management system that enables researchers to run simulations efficiently. It provides a simple, flexible interface to define jobs, as well as dependencies between jobs, and then dispatch them to an HPC with maximized parallelization.  Python July 7, 2022 7/7/22 Solar; Computational Science
75726 https://github.com/NREL/sup3r sup3r: Super Resolution for Renewable Resource Data The sup3r software uses generative adversarial networks to create synthetic high-resolution wind and solar spatiotemporal data from coarse low-resolution inputs. Python July 6, 2022 7/6/22 Solar; Wind
80217 https://github.com/NREL/FEDIS FEDIS: The "Fresnel Equations" for Diffuse radiation on Inclined photovoltaic Surfaces The Fresnel equations solve for the reflection and transmission of light for precise incident angles, but the transmission of diffuse radiation incident on a planar or domed surface is often needed for real-world applications. To efficiently estimate the solar energy resource for a glass-covered photovoltaic module, we derive an analytical solution of diffuse transmission based on the rigorous integration of an alternate form of the Fresnel equations. The approach leads to a simple yet accurate relative transmittance model that reconciles the solar energy sensed by pyranometers and PV panels.  Python July 12, 2022 7/12/22 Solar
75933 https://github.com/WISDEM/RAFT RAFT: Response Amplitudes of Floating Turbines RAFT is a Python code for frequency-domain analysis of floating wind turbines. RAFT works in the frequency domain to provide efficient computations of a floating wind system's response spectra, accounting for platform hydrodynamics, quasi-static mooring reactions, rotor aerodynamics, and linearized control. It can be used to calculate response amplitude operators, power spectral densities, mean/static properties, and response metrics based on mean and root-mean-square values of each output.  Python; Roff July 8, 2022 7/8/22 Wind
80018 https://github.com/NREL/PyChargeModel PyChargeModel: Oriented Programming-Based Electric Vehicle and Electric Vehicle Supply Equipment Charging Model in Python The PyChargeModel creates electric vehicles and electric vehicle supply equipment (or charging ports) and simulates charging behavior. These objects can be instantiated with properties such as battery chemistries, battery pack sizes, cell sizes, charging port power, and DC or AC chargers. The objects can communicate with one another, and each electric vehicle can be assigned to an electric vehicle supply equipment and charged using a default protocol or setpoint values communicated from a site controller. Python Aug. 18, 2022 8/18/22 Transportation and Mobility
74540 https://github.com/NREL/MPRL MPRL: Multi-Pulse Reinforcement Learning MPRL contains code for defining and deploying reinforcement learning control agents for multi-pulse, multi-fuel advanced compression ignition engines. Python; Shell Aug. 17, 2022 8/17/22 Transportation and Mobility
80201 https://github.com/NREL/BDEM BDEM: Discrete-Element Simulator for High-Solids Granular Flows BDEM is a discrete element method-based simulation tool for modeling high-solids granular flows that include polydispersity, heat transfer, moving boundaries, and chemistry. The solver provides facilities for simulating spherical/nonspherical particles with modified contact and friction models in complex dynamic geometries defined using level-sets or triangulated files. The solver is developed on top of NREL's open-source performance portable library, AMReX, providing parallel execution capabilities on current and upcoming high-performance computing architectures.  C++; C; Python Aug. 22, 2022 8/22/22 Transportation and Mobility; Bioenergy
80565 https://github.com/NREL/polyID PolyID: Polymer Inverse Design PolyID™ is a framework for building, training, and predicting polymer properties using graph neural networks. The code leverages Neural Fingerprint for building TensorFlow-based message-passing neural networks and Monomers to Polymers for building polymer structures.  Python Aug. 23, 2022 8/23/22 Transportation and Mobility; Bioenergy
92826 https://github.com/GMLC-TDC/cymepy CYMEpy CYMEpy is a high-level Python package that provides users HELICS bindings for CYMEDIST, CYME's distribution system simulator. Python Sept. 16, 2022 9/16/22 Grid Modernization; Solar
93103 https://github.com/Smart-DS/Bid-DS-data-model Bid-DS-data-model: Demand Side Bidding Data Model This model structure supports representation of power system dispatching for optimal power flow that includes bid-in demands for load. It is used to support the ARPA-E Grid Optimization Challenge 3 competition. Python; TeX Sept. 21, 2022 9/21/22 Grid Modernization
93368 https://github.com/NREL/hive HIVE The HIVE™ platform provides insight on the energy, infrastructure, service, and economic outcomes of various mobility as a service options. The HIVE platform takes a set of spatiotemporal travel origin-destination pairs and simulates the operation of a mobility service fleet, incorporating request pooling and various operational and charging behaviors. Hive specializes in fleets of automated electric vehicles and can be used to site and size direct-current fast charge stations and measure grid impacts of large-scale fleets serving real-world trip demand (similar to taxis, Uber, and Lyft).  Python Sept. 23, 2022 9/23/22 Transportation and Mobility
66470 https://github.com/NREL/CEWAM CEWAM: Circular Economy Wind Agent-based Model CEWAM is an agent-based model built with the MESA Python library. The tool enables users to study circular economy strategies by simulating actors' decisions. Python Oct. 29, 2021 10/29/21 Advanced Manufacturing; Wind
66377 https://github.com/NREL/osos OSOS: Open Source Ops and Statistics OSOS is a software package that helps track usage and operations statistics for open source software. Python Oct. 27, 2021 10/27/21 Wind
63192 https://github.com/NREL/SSRS SSRS: Stochastic Soaring Raptor Simulator SSRS is a generalizable, probabilistic, and predictive tool for wind energy developers, ecologists, wildlife managers and industry consultants to estimate the potential for soaring raptors to interact with operating wind turbines, without the need for site-specific data collection. Understanding the behavior of soaring raptors with varying atmospheric conditions is crucial for predicting and mitigating the risk of turbine collision. Python Oct. 18, 2021 10/18/21 Wind
57618 https://github.com/NREL/EFFORT EFFORT: EFFectiveness Of Rate sTructure for enabling demand response EFFORT helps utilities evaluate potential time-of-use price plans to find effective hours for on-peak periods and the potential price-elastic demand response. An optimization model can be used to find tiered prices for the time-of-use tariffs and analyze the impact on load profiles, energy consumption, utility, and customer savings. Python Sept. 1, 2021 9/1/21 Grid Modernization
63707 https://github.com/NREL/AI-Batt-OS AI-BATT-OS: Autonomous Identification of Battery Life Models – Open Source AI-BATT-OS is an open source implementation of some of the methods utilized by AI-Batt, a battery lifetime modeling and analysis toolkit. This software demonstrates the use of bi-level optimization and symbolic regression techniques to semi-autonomously identify algebraic models predicting the capacity fade of lithium-ion batteries during calendar aging. MATLAB Aug. 24, 2021 8/24/21 Transportation and Mobility
61774 https://github.com/NREL/clustering-analysis-domain-agnostic-features-2018 Code Artifact for Clustering Analysis of Commercial Vehicles Using Automatically Extracted Features From Time Series Data This repository contains data ingestion, feature extraction, and analysis code used in the NREL technical report Clustering Analysis of Commercial Vehicles Using Automatically Extracted Features From Time Series Data. Python Aug. 5, 2021 8/5/21 Transportation and Mobility
61138 https://github.com/NREL/MoorPy MoorPy: Quasi-Static Mooring Analysis in Python MoorPy is a quasi-static mooring model and a suite of associated functions for mooring system analysis. The core model supports quasi-static analysis of moored floating systems, including any arrangement of mooring lines and floating platforms. Python July 13, 2021 7/13/21 Water
63517 https://github.com/NREL/Marmot Marmot Marmot is a data formatting and visualization tool for production cost modeling results. It provides an efficient way to view PLEXOS production cost modeling results quickly while creating publication-ready figures and data tables. Python Sept. 1, 2021 9/1/21 Water; Wind
60841 https://github.com/NREL/virtual-battery-aggregator Virtual Battery Aggregator for Distributed Energy Resource Management Systems This codebase creates algorithms for a distributed energy resource (DER) management system platform that aggregate a set of DERs that can be modeled as batteries, create a virtual battery model for centralized grid control, and dispatch power setpoints to the individual DERs based on a desired virtual power setpoint received from the centralized grid control. It integrates with existing cosimulation frameworks and models for buildings, DERs, and distribution systems. Python June 23, 2021 6/23/21 Buildings
59799 https://github.com/NREL/cloud_fs cloud_fs: Cloud File System Utilities Cloud File System Utilities is a generalized file-system handler that will dynamically determine if files are local or on the cloud and perform basic file-system operations. Python June 22, 2021 6/22/21 Water
59329 https://github.com/NREL/HALOS HALOS: Heliostat Aimpoint and Layout Optimization Software HALOS is an open-source software package that allows users to explore solar field layout optimization, aimpoint strategy optimization, and performance characterization of concentrating solar power tower plants. Python June 15, 2021 6/15/21 Solar
59395 https://github.com/NREL/OpenDSS-wrapper OpenDSS-wrapper (Distribution System Co-simulator With Distributed Energy Resource Controls) This codebase integrates an electric power distribution system simulator, distributed energy resource models, and distributed energy resource controls. The codebase is based on OpenDSS, a distribution system simulator, and an existing open source cosimulation framework called HELICS. Python June 11, 2021 6/11/21 Grid Modernization
65113 https://github.com/NREL/WaterTAP3 WaterTAP3: Water Technoeconomic Assessment Pipe-Parity Platform WaterTAP3 facilitates consistent techno-economic assessments of desalination treatment trains. It is an analytically robust modeling tool that can be used to evaluate water technology cost, energy, environmental, and resiliency tradeoffs across different water sources, sectors, and scales. The model simulates steady-state water treatment train performance and costs, including flow and constituent mass balance across unit processes based on source water conditions, configurations of treatment technologies, and system-level techno-economic assumptions. Python June 8, 2021 6/8/21 Advanced Manufacturing
58655 https://github.com/WISDEM/WOMBAT WOMBAT: Windfarm Operations and Maintenance cost-Benefit Analysis Tool WOMBAT simulates the operations and maintenance phase of onshore or offshore windfarms. WOMBAT is a medium-fidelity tool designed to model turbine, cable, and substation failures at the subassembly level, but it is flexible enough that individual component or asset-level modeling can also be performed. WOMBAT enables users to model technological improvements and a range of service equipment and to analyze cost trends with varying trade-offs in conjunction with energy production, availability, and a growing range of metrics. Python May 27, 2021 5/27/21 Wind
56292 https://github.com/NREL/PSSE_Network_Reduction PsseReducer: PSSE Network Reduction This code can reduce power system network models in PSSE. The user selects single-port or two-port subnetworks for reduction, and the software reduces the subnetwork as described in the paper Power System Network Reduction for Power Hardware-in-the-Loop Simulation. Python May 11, 2021 5/11/21 Solar
65295 https://github.com/NREL/celavi CELAVI: Circular Economy Lifecycle Assessment and Visualization CELAVI allows stakeholders to quantify and visualize potential regional and sectoral transfers of impacts that could result from transitioning to a circular economy, with particular focus on energy materials. The framework uses system dynamics to model material flows for multiple circular economy pathways, and decisions are based on learning-by-doing and implemented via cost and strategic value of different circular economy pathways. Python April 22, 2021 4/22/21 Energy Analysis
55916 https://github.com/NREL/diversity_SR diversity_SR: Diverse Super-Resolution This deep learning tool for enhancing the spatial resolution of wind data is developed in Python using the TensorFlow deep learning package. Models for diversity super-resolution are provided. Included in the package are pretrained models with example code/data to perform the super-resolution as well as training models for different enhancement or data types. Python April 21, 2021 4/21/21 Computational Science
55668 https://github.com/NREL/K_Road KRoad KRoad is a 2D, lightweight, vehicle driver simulator that uses 3D vehicle driving model considerations and enables the driver to make control decisions with less computation time and programmer effort than is required with full-fidelity 3D simulators. Python April 20, 2021 4/20/21 Transportation and Mobility
60075 https://github.com/NREL/HybridBOSSE HybridBOSSE: Hybrid Balance-of-System Systems Engineering Model HybridBOSSE analyzes the potential for shared infrastructure cost savings at wind-plus-solar-photovoltaic hybrid plants. This Python-based cost modeling tool is an extension of NREL's LandBOSSE tool. Python April 12, 2021 4/12/21 Wind
55244 https://github.com/NREL/farms FARMS: Fast All-sky Radiation Model for Solar applications FARMS is an efficient model for approximating solar radiation at land surface with minimal loss of accuracy. It was developed using a simplified clear-sky radiative transfer model, REST2, and simulated cloud transmittances and reflectances from the Rapid Radiation Transfer Model with a 16-stream Discrete Ordinates Radiative Transfer. Python March 30, 2021 3/30/21 Solar
54544 https://github.com/NREL/NRWAL NRWAL: NREL Wind Analysis Library NRWAL contains a library of wind cost equations, dynamic Python tools for intuitive equation handling, ready-to-use configs for basic users, and easy equation manipulation without editing source code. Python March 29, 2021 3/29/21 Wind
52421 https://github.com/dsgrid/webspinner webspinner Python utilities for working with data source types used by NREL's Demand-Side Grid Model project. Python March 5, 2021 3/5/21 Buildings
55145 https://github.com/ravis-nrel/ravis RAVIS: Resource Forecast and Ramp Visualization for Situational Awareness RAVIS is an open-source tool for visualizing variable renewable resource forecasts and ramp alerts for significant up/down ramps in renewable resource and the consequent net-load. The modular dashboard of RAVIS contains configurable panes for viewing probabilistic time series forecasts, ramp event alerts on the look-ahead timeline, spatially resolved resource sites and forecasts, and system simulation and market clearing data. JavaScript March 5, 2021 3/5/21 Solar
61131 https://github.com/NREL/wtDigiTwin wtDigiTwin: Wind Turbine Digital Twin wtDigiTwin provides a digital twin solution for wind turbine applications. wtDigiTwin estimates loads, motions, and environmental conditions for an operating wind turbine. The program uses supervisory control and data acquisition measurements as inputs, together with a wind turbine model. MATLAB; Python Feb. 1, 2021 2/1/21 Wind
50325 https://github.com/urbanopt/DES_HVAC URBANopt DES_HVAC: District Energy Systems HVAC Measures DES_HVAC is a repository of a Parametric Analysis Tool project for scripts related to modeling of HVAC systems for buildings in a district served by a district thermal energy system. Jan. 26, 2021 1/26/21 Buildings
50272 https://github.com/NREL/ModuleOT ModuleOT ModuleOT is an open hardware security platform that provides all features necessary for securing remote energy resources. The module provides encrypted communications across an untrusted network, certificate-based authentication with secure storage, hardware cryptographic acceleration, IP-based whitelisting, local firewall management, and legacy device support. Jan. 25, 2021 1/25/21 Energy Security and Resilience
49823 https://github.com/NREL/turbine-models turbine-models This GitHub repo hosts an archive of turbine models already in the public domain. It includes mainly tabular power and thrust (when available) curve data in .csv files, other technical data, and documentation and references built with Sphinx/GitHub Pages. There is a script called "curve_parser.py" to assist with the parsing of power and thrust curves, but this repo is mostly a central location for turbine model data. Python Dec. 22, 2020 12/22/20 Wind
62413 https://github.com/NREL/AEflow AEFlow: Autoencoder Fluid Flow Compression Network In response to the growing size of turbulent flow simulations, the demand for in situ data compression is rising for visualization, analysis, and restart checkpointing. Employing a customized autoencoder architecture tailored for three-dimensional turbulent flows and well-suited for contemporary heterogeneous computing resources, our fully convolutional autoencoder achieves a compression factor of 64 with a single pass. It supports arbitrarily sized input fields, offers computational efficiency surpassing the randomized single-pass singular value decomposition for typical simulation sizes, performs well on novel flow configurations, and is publicly available. Python June 15, 2023 6/15/23 Computational Science
49523 https://github.com/NREL/rlmolecule rlmolecule: A Library for General-Purpose Material and Molecular Optimization Using AlphaZero-Style Reinforcement Learning This library includes code for the optimization of materials and molecules using reinforcement learning. This project seeks to develop a generalized machine learning approach for optimizing targeted, and often complex, functional properties over the space of possible material structures, allowing faster identification of promising candidates. Python Dec. 17, 2020 12/17/20 Computational Science
49943 https://github.com/NREL/SISSORegressor_MATLAB SISSO: Sure-Independence-Screening Sparsifying-Operator Regressor Implementation of the SISSO regression algorithm in MATLAB. The SISSO regression algorithm iteratively selects model features from candidates, converging even when the number of possible features is much greater than the number of available data points. MATLAB Dec. 16, 2020 12/16/20 Transportation and Mobility
51963 https://github.com/NREL/EnergyIntensityIndicators OSEII: Open-Source Energy Intensity Indicators Energy Intensity Indicators provides a framework to quantify how energy efficiency may or may not be affecting energy use relative to other economic trends. Python Dec. 15, 2020 12/15/20 Energy Analysis
49010 https://github.com/NREL/Panel-Segmentation Panel-Segmentation The Panel-Segmentation package is a computer vision (CV) framework for automated metadata extraction for solar PV arrays using satellite imagery. With Panel-Segmentation, a user inputs latitude-longitude coordinates to generate a satellite image using the Google Maps API and runs the image through a deep learning framework to get a pixel-by-pixel representation of the solar panel(s) in an image. Python Nov. 30, 2020 11/30/20 Solar
49934 https://github.com/NREL/ABSiCE ABSiCE: Agent-Based Simulations of the Circular Economy This agent-based model accounts for social factors in circular economy strategies assessment for end-of-life PV modules. Four types of agents are represented, and five possible end-of-life pathways are modeled. Python Nov. 13, 2020 11/13/20 Advanced Manufacturing
48638 https://github.com/SEED-platform/seedling SEEDling SEEDling uses GIS tools to automate and simplify the merging of multiple data sources prior to importing into the SEED platform. Geographic information about buildings and tax lots is often obtained from various data sources, and the process of synthesizing this information for many buildings across a city can be burdensome. Nov. 8, 2020 11/8/20 Buildings
61291 https://github.com/NREL/mobility_landscapeapp Interactive Mobility Landscape App This is the companion repository to NREL's Interactive Mobility Data Landscape. The app is an upstream NPM module that supports building interactive landscape websites such as the CNCF Cloud Native Landscape (source) and the LF Artificial Intelligence Landscape (source). JavaScript Oct. 26, 2020 10/26/20 Transportation and Mobility
61284 https://github.com/NREL/mobility_landscape Interactive Mobility Data Landscape This is the companion repository to NREL's Interactive Mobility Landscape App. The Interactive Mobility Data Landscape is a map through the previously uncharted, growing mobility data science field. It attempts to categorize the data sources, specifications, and tools in the field of mobility. Oct. 26, 2020 10/26/20 Transportation and Mobility
62900 https://github.com/NREL/ComStock ComStock ComStock™ is an analytic methodology for modeling the energy usage of the commercial building stock within the United States. The commercial building stock is represented through a sampling of complex probabilistic distributions of various features of interest for modeling energy usage within commercial buildings. Ruby Oct. 18, 2020 10/18/20 Buildings
51311 https://github.com/NREL/athena-bus Athena: Shuttle Bus Optimization and Event Driven Simulator This tool optimizes shuttle routes to and from terminals, given some airport campus location such as a rental car center. The optimization determines a set of shuttle routes, the type of shuttle on each route, and the number of shuttles servicing each route. The optimization aims to make these choices in a way that the energy consumption per hour by the fleet is minimized. Oct. 15, 2020 10/15/20 Transportation and Mobility
51344 https://github.com/NREL/athena-forecast Athena: Digital Twin and Infrastructure Model This software provides database access and analysis code for project Athena data. In addition, the software contains all the code related to modeling the Dallas-Fort Worth International Airport curbside using SUMO simulator. Python Oct. 13, 2020 10/13/20 Transportation and Mobility
49060 https://github.com/NREL/catcost-data-tools CatCost Data Tools CatCost™ enables catalyst researchers to develop comprehensive estimates of the cost to produce pre-commercial catalysts early in the catalyst development process. It includes both web browser and Excel-based tools, each with distinct strengths. Python Oct. 1, 2020 10/1/20 Transportation and Mobility; Bioenergy
46171 https://github.com/NREL/EMIS-Data EMIS-Data In support of the Electricity Markets Investment Suite, this repository holds the data sets used in the following Julia packages: EMISApproximateEquilibrium.jl, EMISCompetitiveEquilibrium.jl, and EMISAgentSimulation.jl. HTML Sept. 30, 2020 9/30/20 Energy Analysis; Grid Modernization
44964 https://github.com/NREL/EMIS-CompetitiveEquilibrium.jl EMIS-CE: Electricity Markets Investment Suite – Competitive Equilibrium EMIS-CE is an optimization-based power system investment model. It attempts to approximate a market-driven investment equilibrium outcome under the assumption of idealized or perfect competition and uncertain future conditions. Julia Sept. 30, 2020 9/30/20 Energy Analysis; Grid Modernization
46188 https://github.com/NREL/EMISAgentSimulation.jl EMIS-AS: Electricity Markets Investment Suite – Agent Simulation Model EMIS-AS is an agent-based model for simulating annual investment and retirement decisions of heterogeneous investors in the electricity sector. EMIS-AS is designed to capture the evolution of the electricity generation portfolio resulting from the interactions of heterogeneous investors under different policy and market designs. Julia Sept. 30, 2020 9/30/20 Energy Analysis; Grid Modernization
46150 https://github.com/NREL/EMISApproximateEquilibrium.jl EMIS-AE: Electricity Markets Investment Suite – Approximate Equilibrium EMIS-AE provides a solution to solve generation expansion equilibrium problems in electricity markets. EMIS-AE is designed to capture the evolution of the electricity generation portfolio resulting from the interactions of heterogeneous investors under different policy and market designs. Julia; Python Sept. 30, 2020 9/30/20 Energy Analysis; Grid Modernization
44561 https://github.com/nrel/evolve EVOLVE EVOLVE is a combination of a dashboard developed in React—which enables users to visualize net load evolution with emerging technologies such as PV, energy storage, and electric vehicles—and a Python backend that processes data. Python Sept. 16, 2020 9/16/20 Grid Modernization
45923 https://github.com/openEDI/open-data-access-tools OEDI-ODAT: Open Energy Data Initiative – Open Data Access Tools The Open Energy Data Initiative aims to improve and automate access of high-value energy data sets across the U.S. Department of Energy's programs, offices, and national laboratories. This platform was implemented to make data actionable and discoverable by researchers and industry to accelerate analysis and advance innovation. Partners at other national laboratories will use the platform for analysis, can be involved in determining requirements, and will be resources for new data sets. Python Sept. 14, 2020 9/14/20 Solar
44897 https://github.com/NREL/dw-tap-api DW TAP: Distributed Wind Tools Assessing Performance Computational Framework DW TAP supports the distributed wind (small-scale wind turbine) industry, particularly with respect to siting and resource assessment. The computational framework is the public access point and synthesis of these tools, providing open source implementations, an API for ease of access by third-party implementations, a reference implementation, and documentation. JavaScript; Python Sept. 11, 2020 9/11/20 Wind
54285 https://github.com/AMReX-Combustion/PeleLM PeleLM An adaptive mesh hydrodynamics simulation code for low Mach number reacting flows. C++ April 14, 2021 4/14/21 Computational Science
41785 https://github.com/NREL/phygnn PHYGNN: Physics Guided Neural Networks PHYGNN augments a traditional neural network loss function with a generic term that can be used to guide the neural network to learn physical or theoretical constraints. Python Aug. 20, 2020 8/20/20 Solar
65288 https://github.com/NREL/Caltalyst-Layer-Crack-Detector-CLCD CLCD: Catalyst Layer Crack Detector CLCD ("clicked") takes in optical micrographs of catalyst coatings for PEM fuel cells or electrolyzers and calculates the area that consists of cracks. It does so using a custom algorithm that searches for dark features larger than the background graininess of the catalyst layer. Python Aug. 13, 2020 8/13/20 Transportation and Mobility; Hydrogen and Fuel Cells
41113 https://github.com/NREL-SIIP/WaterModelsAnalytics.jl WaterModelsAnalytics.jl WaterModelsAnalytics.jl is an analytics package for visualizing water distribution networks in Julia. Julia Aug. 3, 2020 8/3/20 Water
40607 https://github.com/NREL/PVLCOE Comparative Photovoltaic Levelized Cost of Energy Calculator This calculator calculates levelized cost of energy for PV systems based on cost, performance, and reliability inputs for a baseline and a proposed technology. The user can choose inputs and watch the effect to determine whether a proposed technology is cost-effective, perform trade-off analysis among different technology options, and do break-even analysis of cost or performance. JavaScript July 29, 2020 7/29/20 Solar
41379 https://github.com/NREL/PLEXOSUtils.jl PLEXOSUtils.jl PLEXOSUtils.jl provides functionality for loading in PLEXOS result zip files on disk into in-memory Julia data structures. The data structures mirror the relationships defined in the original PLEXOS result XML and provide a convenient starting point for writing application-specific code. Julia July 27, 2020 7/27/20 Transportation and Mobility; Hydrogen and Fuel Cells
41387 https://github.com/NREL/hasty Hasty This web app creates semantic metadata models, namely, Haystack and Brick. Hasty assists in the auditing of building mechanical systems and controls. The software is designed to capture mechanical system topology and important information regarding real-world controls implementations. JavaScript; Python; CSS; HTML July 13, 2020 7/13/20 Buildings
42017 https://github.com/NREL/powerscenarios powerscenarios This software generates renewable energy scenarios for stochastic electrical grid operation problems. MATLAB; Python July 2, 2020 7/2/20 Grid Modernization
45155 https://github.com/NREL/RODeO RODeO: Revenue Operation and Device Optimization Model The RODeO model explores optimal system design and operation, considering different levels of grid integration, equipment cost, operating limitations, financing, and credits and incentives. RODeO is a price-taker model formulated as a mixed-integer linear programming model in the GAMS modeling platform. The objective is to maximizes the net revenue for a collection of equipment at a given site. GAMS; Batchfile; MATLAB; Python June 23, 2020 6/23/20 Transportation and Mobility; Hydrogen and Fuel Cells
44795 https://github.com/NREL/m2p m2p: Monomers to Polymers This software is Python-based code that takes monomers, represented as SMILES, and "reacts" them together to form long polymer chains, represented as SMILES, based on known polymer chemistries. The software is used in a machine-learning pipeline where a database and machine-learning approaches are used to predict polymer properties base on molecular structure. Python June 19, 2020 6/19/20 Transportation and Mobility; Bioenergy
48995 https://github.com/nrel/slide SLiDE: Scalable Linked Dynamic Equilibrium SLiDE replicates the blueNOTE (National Open source Tools for general Equilibrium analysis) datastream from the Wisconsin National Data Consortium. From there, it produces a recursive dynamic computable general equilibrium model of the U.S. states and eventually the global/national economies. Julia June 3, 2020 6/3/20 Energy Analysis
38865 https://github.com/NREL/PVDegradationTools PV Degradation Tools This open-source tool quantifies the relative humidity inside solar PV modules and the Arrhenius degradation acceleration factor. Python May 29, 2020 5/29/20 Solar
45140 https://github.com/NREL/Spawn Spawn Spawn is a next-generation building simulation engine that builds on the strengths of NREL's EnergyPlus engine. It adds advanced HVAC and controls modeling capability by incorporating the Modelica equation-based modeling language. In effect, Spawn is a hybrid of EnergyPlus and Modelica, with some new software between the components to provide a seamless end-user experience. C++; C May 8, 2020 5/8/20 Buildings
51870 https://solarapp.nrel.gov SolarAPP+: Solar Automated Permit Processing This collaborative effort with code officials, authorities having jurisdiction, and the solar industry is an instant solar permitting platform for code-compliant residential systems. SolarAPP provides a flexible, web-based PV-permitting tool for residential systems; enables standardization of instant permitting processes; evaluates applications for safety and code compliance, and offers opportunities to incorporate energy storage and expand to other market segments. Dec. 19, 2019 12/19/19 Solar
49326 https://github.com/NREL/dgen dGen: Distributed Generation Market Demand Model The dGen™ model is a geospatially rich, bottom-up, market-penetration model that simulates the potential adoption of distributed energy resources for residential, commercial, and industrial entities in the continental United States through 2050. dGen analyzes the factors that will affect market demand for distributed solar, wind, storage, and other distributed energy resource technologies in the United States within a single modeling platform. Python; Jupyter Notebook April 20, 2020 4/20/20 Solar; Wind
44388 https://github.com/NREL/gradeit GradeIT: Road Grade Inference Tool GradeIT is a modular Python package the leverages the United States Geological Survey's Digital Elevation Model. GradeIT employs a two-dimensional interpolation to approximate elevation at a point on a road from the nearest nodes in the model. Then, GradeIT applies multiple filtering techniques to smooth the elevation profile to a realistic road topology. Finally, road grade is derived from the elevation profile and returned as the primary output. Python April 17, 2020 4/17/20 Transportation and Mobility
35090 https://github.com/urbanopt/modelica-builder ModBuild: Modelica Builder This software implements a parser of the Modelica language that allows easy-to-implement transformations of Modelica files. Modelica April 7, 2020 4/7/20 Buildings
35134 https://github.com/nrel/rex rex: Resource Extraction Tool rex includes tools developed for reV and reVX related to the efficient access of, extraction from, and computation on NREL's renewable resource data sets. Python April 6, 2020 4/6/20 Wind
49728 https://github.com/NREL/BEEAM BEEAM: Building Electrical Efficiency Analysis Model BEEAM simulates the efficiency of building electrical distribution systems using harmonic power flow. BEEAM can model a variety of building distribution topologies, including three-phase AC, single-phase AC, unipolar DC, bipolar DC, and hybrid networks under balanced and unbalanced load conditions. BEEAM accurately models power electronic converter losses, provides granular estimates of losses throughout the distribution system, and properly models efficiency at part-load conditions. Modelica Oct. 15, 2020 10/15/20 Buildings
34875 https://github.com/NREL/PV_ICE PV_ICE: PV in the Circular Economy, Dynamic Energy, and Materials Tool This open-source tool implements circular economy metrics for PV materials. It can be used to quantify and assign a value framework to efforts on redesign, reduction, replacement, reuse, recycling, and lifetime and reliability increases in the PV value chain. Python March 24, 2020 3/24/20 Energy Analysis; Solar
34849 https://github.com/NREL/MAFRIT MAFRIT: Multi-Area Frequency Response Integration Tool MAFRIT integrates primary frequency response (turbine governor control) with secondary frequency response (automatic generation control). It simulates power system dynamic response in full time spectrum with variable time steps from millisecond to minutes to hours and days. Capable of simulating normal and event conditions, this tool can represent real power system operations and thus evaluate the primary and secondary reserves adequacy. MATLAB March 17, 2020 3/17/20 Wind
44154 https://github.com/NREL/EMeRGE EMeRGE: Emerging technologies Management and Risk evaluation on distribution Grids Evolution EMeRGE is a collection of mini tools to help users develop openDSS feeder models from GIS files, perform risk analysis at various PV scenarios, and visualize results in an interactive dashboard. March 9, 2020 3/9/20 Grid Modernization; Solar
34665 https://github.com/NREL/reVX reVX: The Renewable Energy Potential Exchange Tool reVX is a complementary tool set that enables the extraction, translation, and loading of reV results into formats required by downstream models such as RPM, ReEDS, and PLEXOS. Python March 2, 2020 3/2/20 Wind
34682 https://github.com/NREL/reV reV: The Renewable Energy Potential Model – Open Source The reV model is a platform for the detailed assessment of renewable energy resources and their geospatial intersection with grid infrastructure and land use characteristics. The reV model supports PV, concentrating solar power, and land-based wind turbine technologies. Modules function at different spatial and temporal resolutions, allowing for the assessment of resource potential, technical potential, and supply curves at varying levels of detail. Python March 2, 2020 3/2/20 Wind
62140 https://github.com/NREL/pySMARTS pySMARTS: Python Wrapper for Simple Model of the Atmospheric Radiative Transfer of Sunshine The pySMARTS module contains functions for calling SMARTS: Simple Model of the Atmospheric Radiative Transfer of Sunshine. Python Feb. 24, 2020 2/24/20 Solar
34269 https://github.com/NREL/GEOPHIRES-v2 GEOPHIRES v2.0: GEOthermal energy for Production of Heat and electricity ("IR") Economically Simulated GEOPHIRES v2.0 is a geothermal techno-economic simulation tool that combines reservoir, wellbore, and surface plant technical models with cost correlations and levelized cost models to estimate the capital and operation and maintenance costs, instantaneous and lifetime energy production, and overall levelized cost of energy of a geothermal plant. In addition to electricity generation, direct-use heat applications and combined heat and power or cogeneration can be modeled. Python Feb. 17, 2020 2/17/20 Geothermal
62988 https://www.i-jedi.org/scenario/start I-JEDI: International Jobs and Economic Development Impacts The I-JEDI model is a free tool for analyzing the economic impacts of renewable energy development. The tool estimates the potential gross economic impacts of wind, solar, biomass, and geothermal energy projects for a specific country. I-JEDI estimates the employment, earnings, gross domestic product, and output from the construction and operation of renewable energy projects and across the domestic supply chain. Sept. 3, 2019 9/3/19 Energy Analysis
38882 https://github.com/NREL/ParaOptimizationNS3 Parameter Optimization Toolbox for ns-3 This simulation-based parameter optimization framework tunes parameters of communication networks using ns-3 to achieve optimal network performance. It consists of three components: an ns-3 packet reporting module, a sampler running simulations with all possible parameter sets for the input parameter variables, and a hybrid optimization algorithm for tuning configurable parameters of hybrid designs and application parameter variables. C++; Python June 30, 2020 6/30/20 Solar
33932 https://github.com/NREL/CryptoConfig CryptoConfig Python class for handling encrypted elements in a config file. This class overrides the 'get' method of ConfigParser by replacing it with Fernet symmetric encryption so you can safely store encrypted passwords in an ini file. Python Jan. 21, 2020 1/21/20 Energy Security and Resilience
33311 https://github.com/WISDEM/ORBIT ORBIT: Offshore Renewables Balance of System and Installation Tool ORBIT simulates balance-of-system and installation processes for offshore wind plants. It is used to study the effects of weather delays on offshore vessel logistics and for medium-fidelity trade-off studies for offshore technologies. Python Dec. 22, 2019 12/22/19 Water; Wind
38361 https://github.com/NREL/DG2 (DG)2: Distributed Generation for Distribution Grids (DG)2 is an impact analysis tool for electrical utilities to perform spatio-temporal analysis with solar and battery energy storage systems. The purpose of the tool is to help distribution utilities identify impacts and costs associated with locating a megawatt-scale solar farm and energy storage system at a certain location over other choices. This tool also helps utilities assess reverse power flow at the transmission lines. Dec. 20, 2019 12/20/19 Solar
33140 https://github.com/NREL/Solar-Forecasting PSPI: A Physics-Based Smart Persistent Model for Intra-Hour Solar Forecasting PSPI improves the accuracy of the smart persistent model. It uses a cloud retrieval technique to estimate cloudy fraction and cloud albedo using surface-based observations of solar radiation. The solar radiation in future time steps is accurately given by actively computing individual cloud albedo related to the future solar position. PSPI significantly increases the accuracy of short-term forecasts of solar radiation, especially in thin cloud conditions. Python Dec. 18, 2019 12/18/19 Solar
63805 https://github.com/NREL/Secondary_pore_network Secondary Pore Network Design Optimization Analytical Diffusion Model for Lithium Ion Battery This model quantifies the impact of secondary pore network on ionic diffusion with a composite electrode through a simple analytical approach, considering various pore channel geometries and comparing to standard electrodes with identical gravimetric and volumetric specific theoretical capacity. Dec. 18, 2019 12/18/19 Transportation and Mobility
53450 https://github.com/NREL/HOPP HOPP: Hybrid Optimization and Performance Platform This software assesses optimal designs for the deployment of utility-scale hybrid energy plants, particularly considering wind, solar, and storage. Python Nov. 14, 2019 11/14/19 Wind
34983 https://github.com/NREL/bokeh-streaming bokeh streaming Simple examples of streaming data to bokeh plots. The plots are intended to be generic and able to infer some of the plot data from the structure of the data sent. The receiver accepts zlib compressed pickled Python dictionaries. Python Nov. 2, 2019 11/2/19 Grid Modernization
57899 https://github.com/watertap-org/watertap WaterTAP v1.0.0 WaterTAP is a library of water-specific models built on the IDAES Integrated Platform to support the design and optimization of integrated water treatment systems, improve existing systems, and enable the analysis of new designs that incorporate emerging technologies. WaterTAP enables advanced modeling and optimization for conceptual and multiscale design, dynamics, and model predictive control of water systems and networks. May 7, 2021 5/7/21 Water
28932 https://github.com/NREL/PathParser PathParser PathParser is computational tool for the thermodynamics and robustness analysis of native and designed metabolic pathways. Functionalities include max-min driving force optimization, protein cost estimation, and robustness analysis. Specifically, an ensemble of models is generated to simulate the system response to enzyme perturbation based on bifurcation theory and a continuation method. Python Oct. 21, 2019 10/21/19 Bioenergy
38861 https://github.com/Exawind/amr-wind AMR-Wind AMR-Wind is a massively parallel, block-structured adaptive-mesh, incompressible flow solver for wind turbine and wind farm simulations. The solver is built on top of the AMReX library, which provides the mesh data structures, mesh adaptivity, and the linear solvers used to solve the governing equations. The primary applications are performing large-eddy simulations of atmospheric boundary layer flows, simulating wind farm turbine-wake interactions using actuator disk or actuator line models for turbines, and as a background solver when coupled with a near-body solver with overset methodology to perform blade-resolved simulations of multiple wind turbines within a wind farm. Aug. 13, 2020 8/13/20 Wind
31311 https://github.com/NREL/fpeam FPEAM: Feedstock Production to Air Emissions Model FPEAM is a modeling framework that integrates agricultural and forestry production, supply data, and equipment budgets for those activities with methodologies for estimating air pollutant emissions. Python Oct. 2, 2019 10/2/19 Bioenergy
23851 https://github.com/NREL/CSG-public CSG-public The CSG model is a system dynamics model that simulates the transition from predominantly individual ownership of non-connected and automated vehicles to various future scenarios of high connectivity/automation. STELLA Sept. 30, 2019 9/30/19 Transportation and Mobility
29462 https://github.com/NREL/NaTGenPD NaTGenPD: National Thermal Generator Performance Database NaTGenPD is a code base for the processing (extraction, cleaning, filtering, and fitting) and analysis of Environmental Protection Agency continuous emission monitoring system data to produce a National Thermal Generator Performance Database. Python; Jupyter Notebook Sept. 17, 2019 9/17/19 Wind
29023 https://github.com/NREL/pysam PySAM: Python Wrapper for System Advisor Model PySAM is a Python wrapper for the System Advisor Model (SAM). SAM is a performance and financial model designed to facilitate decision-making for people in the renewable energy industry. Python Aug. 30, 2019 8/30/19 Solar
25517 https://www.nrel.gov/extranet/biorefinery/aspen-models Ex Situ and In Situ Catalytic Fast Pyrolysis Models (ASPEN PLUS MODELS) These models relate to an Aspen Plus process model for in situ and ex situ upgrading of fast pyrolysis vapors for the conversion of biomass to hydrocarbon fuels. They are based on conceptual designs that allow projections of future commercial implementations of the technologies based on a combination of research and existing commercial technologies. Feb. 27, 2019 2/27/19 Bioenergy
29479 https://github.com/NREL/PyDSS PyDSS PyDSS is a high-level Python interface for OpenDSS that provides object-oriented programming, dynamic visualization, custom controls, simulation parallelization, exporting results, improved error logging, and communication interface. Python Aug. 16, 2019 8/16/19 Grid Modernization
31076 https://github.com/NREL/OpenStudio-BuildStock ResStock The ResStock™ analysis tool helps states, municipalities, utilities, and manufacturers identify which home improvements save the most energy and money. It's a versatile tool that takes a new approach to large-scale residential energy analysis by combining large public and private data sources, statistical sampling, detailed subhourly building simulations, and high-performance computing. Aug. 8, 2019 8/8/19 Buildings
32580 https://github.com/NREL/DER-Dispatch Real-Time Distributed Energy Resource Energy Dispatch Using Distributed Control This software implements real-time energy dispatch for distributed energy resources, such as distributed PV, using a distributed control algorithm. Python Aug. 6, 2019 8/6/19 Grid Modernization
28741 https://github.com/NREL/PRAS PRAS: Probabilistic Resource Adequacy Suite PRAS provides a research-oriented collection of tools for analyzing the resource adequacy of a bulk power system. The simulation methods support everything from classical convolution-based analytical techniques to high-performance sequential Monte Carlo methods supporting multiregion composite reliability assessment, including simulation of energy-limited resources such as storage. Julia Aug. 5, 2019 8/5/19 Water
28343 https://github.com/NREL/SolarResourceTools SOLARUN: Solar Resource Uncertainty Critical to the design of solar energy projects with long-term profitability are accurate "bankable data," methodologies, and tools to understand the uncertainties in the data. SOLARUN assists stakeholders to quantify solar resource measurement uncertainty from radiometers, which supports the decision-making process, speeds up the acceptance and deployment of projects, and reduces risk to the financiers and developers. July 22, 2019 7/22/19 Solar
27787 https://github.com/NREL/ProgressiveHedging.jl ProgressiveHedging.jl This solves multistage optimization problems (e.g., stochastic programs or capacity expansion models). The user uses the StructJuMP extension of JuMP to create the model and build up the scenario tree. Julia July 15, 2019 7/15/19 Computational Science
38889 https://github.com/NREL/MATBOX_Microstructure_analysis_toolbox MATBOX: Microstructure Analysis Toolbox MATBOX is a MATLAB application for performing microstructure-related tasks, including microstructure numerical generation, image filtering and microstructure segmentation, microstructure characterization, result three-dimensional visualization and result correlation, and microstructure meshing. MATBOX was originally developed to analyze electrode microstructures for lithium ion batteries; however, the algorithms provided by the toolbox are applicable to other heterogeneous materials. Limbo; MATLAB July 1, 2020 7/1/20 Transportation and Mobility
29285 https://github.com/NREL/MinCostFlows.jl MinCostFlows.jl MinCostFlows.jl is a utility package for efficiently solving min-cost network flow problems through an implementation of the relaxation dual ascent method. The use of a dual ascent method allows for warm-starting the solver with a solution from a previously solved problem that need not be feasible for the new problem, providing computational performance benefits when repeatedly solving similar network flow problems. This approach is particularly useful for Monte Carlo power system resource adequacy models. Julia May 21, 2019 5/21/19 Water
25308 https://github.com/NREL/skyline skyline skyline is a header-only C++ library for the direct solution of linear algebraic equations that are stored in skyline format. It is intended for medium-sized sparse problems with moderate bandwidth. This solution approach has historically been used for pressure network solvers and in some finite element codes. It was developed to replace legacy solver code included in the EnergyPlus building energy modeling software package but is not limited to use by EnergyPlus. C++ April 24, 2019 4/24/19 Buildings
29320 https://github.com/NREL/REopt-API-Analysis REopt Lite The REopt Lite® Web Tool evaluates the economic viability of grid-connected solar PV, wind, and battery storage at a commercial site. It allows building owners to identify the system sizes and dispatch strategy that minimize the site's life cycle cost of energy. REopt Lite also estimates the time a PV or wind and battery system can sustain the site's critical load during a grid outage and allows the user to optimize for energy resilience. April 3, 2019 4/3/19 Energy Analysis
24275 https://github.com/NREL/FESTIV_MODEL FESTIV: Flexible Energy Scheduling Tool for Integrating Variable generation FESTIV simulates the steady-state power system operations and scheduling performed by an independent system operator, regional transmission organization, or vertically integrated regulated utility. The tool integrates security-constrained unit commitment, security-constrained economic dispatch, and automatic generation control into one model. April 1, 2019 4/1/19 Grid Modernization
23701 https://github.com/ladybug-tools-in2/standards-measure Ladybug Tools IN2 Measures Ladybug Tools IN2 Measures is a collection of OpenStudio® measures, file formats, scripts, and related tools for integrating Ladybug Tools with energy modeling via OpenStudio. March 6, 2019 3/6/19 Buildings
23683 https://github.com/NREL/OpenStudio-ERI OpenStudio Energy Rating Index Workflow This tool calculates an energy rating index via an OpenStudio/EnergyPlus-based workflow. Building information is provided through an HPXML file. Third-party, private sector software tools can connect to this open-source software workflow from their user interface to provide residential energy ratings. Feb. 27, 2019 2/27/19 Buildings
60889 https://github.com/NREL/bewley Bewley Lattice Diagram This is a basic package for creating Bewley Lattice Diagrams in Python. Python Feb. 6, 2019 2/6/19 Solar
23355 https://github.com/dss-extensions/OpenDSSDirect.jl OpenDSSDirect.jl This cross-platform Julia package implements a "direct" library interface to OpenDSS using dss_capi. OpenDSS is an open-source distribution system simulator. Julia Feb. 4, 2019 2/4/19 Grid Modernization
22185 https://github.com/NREL/nfp nfp: Neural Fingerprint Keras layers for end-to-end learning on molecular structure. Based on Keras, Tensorflow, and RDKit. Source code used in the study Message-Passing Neural Networks for High-Throughput Polymer Screening. Jan. 14, 2019 1/14/19 Bioenergy
27645 https://github.com/NREL/AirflowNetwork AirflowNetwork This software simulates air movement and the resulting transport of contaminants and other materials within a building. The performance of air distribution systems, including supply and return leaks, and multizone airflows driven by outdoor wind and forced air during HVAC system operation are simulated using a nodal network representation of the building. C++ June 19, 2019 6/19/19 Buildings
25357 https://github.com/NREL/PyDSS PyDSS This high-level Python interface for OpenDSS provides object-oriented programming, dynamic visualization, custom controls, simulation parallelization, exporting results, improved error logging, and a communication interface. Python Dec. 5, 2018 12/5/18 Grid Modernization
20891 https://github.com/NREL/pfibs pFibs: Parallel Fenics Implementation of Block Solvers This Python package acts as an interface between FEniCS and PETSc to facilitate the construction and application of parallel block solvers/preconditioners. The original intent of the software was to enable battery and wind farm simulations for use on high-performance computing systems. The code is written in Python and uses the petsc4py module to access the more advance features of the PETSc Krylov Solver. Python Nov. 28, 2018 11/28/18 Transportation and Mobility
11462 https://github.com/PowerSystemsHIL/EPHCC/tree/NREL_merge GHOST: Grid Hardware Open Source Testbed The software was developed for microgrid controller procurement, where multiple microgrid controller vendors were competing to prove the best performance. Each microgrid controller was connected to a real-time simulator (Opal-RT), where the real-time model of microgrid was simulated. Microgrid controllers were able to control most of the assets in the model. To fairly compare performance, each controller was evaluated using the same model, with the same initial conditions, and exactly the same test sequence. May 1, 2018 5/1/18 Grid Modernization
21229 https://github.com/NREL/alfalfa Alfalfa Alfalfa is a web-based software service that implements a virtual building control system using the EnergyPlus simulation as a backend. Conventional building energy simulation is noninteractive, meaning that a simulation is started and run to completion without any user input during the simulation. Alfalfa allows a client to start a building simulation and then interactively read sensor locations and dynamically command actuators in real time. JavaScript; Python Nov. 14, 2018 11/14/18 Buildings
28802 https://github.com/NREL/EnergyPlusRegressionTool EPRT: EnergyPlus Regression Tool A Python library and GUI for comparing EnergyPlus builds, EPRT is almost exclusively a developer tool for members of the EnergyPlus development team to ensure that code changes do not impact the test suite. Python Nov. 5, 2018 11/5/18 Buildings
23314 https://github.com/NREL/HDTADA HDTADA: Hydrogen Dispenser Test Apparatus HDTA validates hydrogen fueling station performance. This software takes the data generated from HDTA and compares it to fueling standards CSA HGV4.3 and SAE J2601. The software generates plots and metrics for pressure, temperature, and IR communications from the HDTA. MATLAB Oct. 18, 2018 10/18/18 Buildings
25321 https://github.com/NREL/CombIgor COMBIgor: A Data Assistant for Combinatorial Scientists in Igor Pro COMBIgor is a software package that assists combinatorial material scientists with large volumes of experimental data. This package, written in Igor Pro, offers a systematic approach to loading, processing, and visualizing combinatorial data sets. COMBIgor is designed to be expanded on a laboratory, group, or individual basis to adopt additional loading, processing, and visualization capabilities. April 16, 2019 4/16/19 Materials Science
27616 https://github.com/Smart-DS/R2PD R2PD: Renewable Resource and Power Data Tool R2PD is a power system modeler-friendly tool for downloading wind and solar power and forecast data. Python Sept. 25, 2018 9/25/18 Grid Modernization; Wind; Solar
20899 https://github.com/NREL/View3D-3.2 View3D This is a C program for the computation of geometric view factors. This version of View3D is included as part of the EnergyPlus installer package. The program uses a number of integration techniques to compute view factors between planar triangles or quadrilaterals in three dimensions. C Sept. 7, 2018 9/7/18 Buildings
32013 https://github.com/NREL/Industry-Energy-Tool IET: Industry Energy Tool IET is a calculator tool for projecting energy and emissions impacts of industrial sector energy efficiency, material efficiency, and fuel switching. Projections are available at the county and census region levels. The IET is based on a detailed county-level energy data set for agriculture, mining, construction, and manufacturing industries. Sept. 6, 2018 9/6/18 Advanced Manufacturing; Energy Analysis
25600 https://github.com/NREL/daft daft daft is a Haskell library that implements the key constructs of relational algebra via static structural typing. Its DataCube typeclass supports selection, projection, aggregation, disaggregation, natural joins, semijoins, and antijoins. Haskell Sept. 1, 2018 9/1/18
20914 https://github.com/NREL/pydbus PyDBus This software is an interface in Python for interacting with EPRI DBus software. Python Aug. 31, 2018 8/31/18 Grid Modernization
20908 https://github.com/GMLC-TDC/HELICS-HLA HELICS–HLA: Hierarchical Engine for Large-scale Infrastructure Co-Simulation–High Level Architecture HELICS–HLA is a cosimulation standard, various implementations of which have been widely used for cosimulations for several years, particularly in the defense community. The HELICS-HLA interface makes software connected with HLA implementations work with software connected with HELICS. Aug. 31, 2018 8/31/18 Grid Modernization
55137 https://github.com/NREL/AESD Records API for Advanced Energy System Design The Records API (Application Program Interface) for Advanced Energy System Design (AESD) enables software that serves multidimensional record-oriented data to interoperate with software than uses such data. This minimalist API avoids imposing burdensome metadata, structural, or implementation requirements on developers by relying on open-source technologies that are readily available for common programming languages. In particular, the API has been designed to place the least possible burden on services that provide data. Aug. 30, 2018 8/30/18 Energy Analysis
19413 https://github.com/NREL/L-TERRA L-TERRA This software is an error-reduction algorithm for lidar-measured turbulence. The algorithm is trained using colocated lidar and meteorological tower data. Lidar-measured parameters—such as wind speed, shear, and turbulence intensity—are used to predict the difference between the lidar- and tower-measured turbulence intensity. Python Aug. 22, 2018 8/22/18 Wind
58745 https://github.com/OpenFAST/KiteFAST KiteFAST KiteFAST is a simulator for airborne wind energy systems based on NREL's OpenFAST whole turbine simulator. KiteFAST is a multi-physics engineering tool for modeling the coupled aero-servo-elastic dynamics of airborne wind energy systems, i.e., a wind-energy kite. C; C++; Fortran; Python; Jupyter Notebook; Roff Aug. 16, 2018 8/16/18 Wind
20924 https://github.com/NREL/ditto DiTTo: Distribution Transformation Tool DiTTo provides a framework for converting and modifying different types of distribution model formats. These include commercial formats such as CYME, Synergi, DEW, ePHASORSIM as well as open-source formats such as OpenDSS and GridLAB-D. DiTTo consists of an API that represents electrical equipment, configurations, settings, and time series data. Python Aug. 14, 2018 8/14/18 Grid Modernization
32000 https://github.com/NREL/TEAM-TDM TEAM-TDM: A Tool for Evaluating an Array of Machine Learning Travel Demand Models This software automates the training and evaluation of many machine learning models on a given problem. It is primarily built on components from the scikit learn API. Aug. 8, 2018 8/6/18 Transportation and Mobility
23824 https://www.nrel.gov/csp/soltrace.html SolTrace This repository contains the source code, tools, and instructions to build a desktop version of the National Renewable Energy Laboratory's SolTrace. SolTrace is a software tool to model concentrating solar power systems and analyze their optical performance. Although ideally suited for solar applications, the code can also be used to model and characterize many general optical systems. July 27, 2018 7/27/18 Solar
27905 https://github.com/NREL/WaterSystems.jl WaterSystems.jl WaterSystems.jl is a Julia package for defining water delivery infrastructure system data and problem definitions. The package enables parsing from the EPANET *.inp file format and the expression of data for WaterSimulations.jl models. Julia July 20, 2018 7/20/18 Water
20994 https://github.com/NREL/PowerSystems.jl PowerSystems.jl and PowerSimulations.jl These data structures in Julia enable power systems analysis and power system modeling and simulation. The package provides a flexible modeling framework that can accommodate problems of different complexity and at different time-scales, streamline the construction of large-scale optimization problems to avoid repetition of work when adding/modifying model details, and exploits Julia's capabilities to improve computational performance of large-scale power system simulations. Julia July 9, 2018 7/9/18 Grid Modernization
59360 https://github.com/NREL/OSIF OSIF: Open Source Impedance Fitter OSIF allows users to easily fit electrochemical impedance spectra of proton exchange membrane fuel cells to a commonly accepted equivalent circuit model. The fitted parameters provide insight into the physical properties of the cell, which allow the user to support experimental hypotheses. Python July 2, 2018 7/2/18 Advanced Manufacturing
12483 https://github.com/NREL/dynamo dynamo This software is a toolbox for Dynamic Programming and Adaptive Dynamic Programming that enables stochastic, multiperiod decision optimization for arbitrary "black box" models. Its modular framework serves as a wrapper for other simulation tools. This enables forward-looking optimization under uncertainty to aid decision-making when facing an increasingly uncertain future. June 25, 2018 6/25/18 Grid Modernization
19424 https://github.com/BuildingSync/schema BuildingSync BuildingSync® is a standardized language for commercial building energy audit data that software developers can use to exchange data between audit tools. Taking the form of an XML schema, BuildingSync can be required by building owners and audit program managers to allow data analysis and aggregation across multiple buildings to evaluate program performance and analyze trends. May 31, 2018 5/31/18 Buildings
11489 https://github.com/Smart-DS/layerstack layerstack Lightweight Python package for assembling, sharing, and running workflows, especially those associated with modifying, running, and analyzing simulation models. May 22, 2018 5/22/18 Grid Modernization
11473 https://github.com/NREL/SolarPILOT SolarPILOT SolarPILOT™ advances the analytical flux image Hermite series approximation used in DELSOL3 by applying it to individual heliostat images rather than "zones," allowing characterization of a variety of heliostat field layouts. SolarPILOT also integrates the SolTrace Monte-Carlo ray tracing engine, providing improved receiver optical modeling capability, a user-friendly front end for geometry definition, and side-by-side validation of the analytical algorithms. April 8, 2018 4/8/18 Solar
20264 https://github.com/NREL/pv_tomcat PV TOMCAT PV TOMCAT predicts the outdoor operating temperature and output power of a PV module based on measured physical properties and outdoor conditions. It includes a ray tracing model of a PV module, which runs in the commercial SunSolve ray tracer. Output from this model is combined with meteorological time series data to produce a combined input file for a finite-element model of heat conduction and radiation. Finally, this finite-element model is run in the commercial COMSOL Multiphysics software, producing time series outputs of temperature and power. Python Aug. 22, 2018 8/22/18 Solar
59617 https://github.com/NREL/rts-vis-app RTS Data Vis App: Real-Time Streaming Data Visualization Tooling The RTS Data Vis App contains Conditioner, a tool to resample high-rate data from the relay for low-rate visualization, and Chart, a tool to plot the data from the relay, including a specialized copy of the Conditioner. The Conditioner is a command-line tool for reading ADMS data from ZMQ, resampling, and exporting over a websocket. The Chart is an example of a charting tool for ADMS applications, using a ZMQ message bus. C++ March 12, 2018 3/12/18 Grid Modernization
20941 https://github.com/NREL/BESTEST-GSR BESTEST-GSR: Building Energy Simulation Test – Generation Simulation and Reporting BESTEST is a method to validate the qualitative performance of whole-building simulations engines relative to one another. For EnergyPlus® and OpenStudio®, the generation of test cases, simulation, and reporting was a manual or partially automated process that took months after a new version of EnergyPlus came out. BESTEST-GSR automates this process so it is less error-prone and time-consuming and can quickly run on request for any development branch of EnergyPlus and OpenStudio. Feb. 28, 2018 2/28/18 Buildings
20967 https://github.com/NREL/psychrometricsExt SkySpark psychrometricsExt psychrometricsExt is a SkySpark extension that provides a set of psychrometric functions using equations from the ASHRAE Fundamentals handbook. Feb. 26, 2018 2/26/18 Grid Modernization
5464 https://www.nrel.gov/buildings/urbanopt.html URBANopt: Urban Renewable Building And Neighborhood Optimization URBANopt is a user interface for creating and running district- and city-scale building energy simulations. The framework is built around the OpenStudio Urban Measures, which are part of the OpenStudio project. Building footprints, building height, building type, and other data can be imported from public records or other sources. Footprints and locations for new buildings and district systems can also be specified. June 20, 2017 6/20/17 Buildings
19927 https://github.com/NREL/OpenOA Open OA: Wind Plant Performance Project Benchmarking This collection of software supports the Wind Plant Performance Project, including (but not limited to) operational analysis, historical validation, and benchmarking code. Python Feb. 17, 2018 2/17/18 Wind; Water
10510 https://github.com/NREL/bifacialvf bifacialvf: Bifacial PV View Factor Performance Simulation bifacialvf is a self-contained view factor (or configuration factor) model that replicates a 5-row PV system of infinite extent perpendicular to the module rows. Single-axis tracking is supported, and hourly output files based on typical meteorological year inputs are saved. Spatial nonuniformity is reported, with multiple rear-facing irradiances collected on the back of each module row. Feb. 16, 2018 2/16/18 Solar
19952 https://github.com/NREL/glm glm This is a Fast GridLAB-D file format parser. Feb. 12, 2018 2/12/18 Grid Modernization
25202 https://github.com/NREL/dao-tk DAO-Tk: Design, Analysis, and Operations Toolkit DAO-Tk allows users to explore design optimization, operations decision, and performance characterization of concentrating solar power tower plants. Users interface with the tool through a scripting language, and results are reported in time series tables, plots, runtime logs, and design outputs. Users choose from a list of variables such as tower height, solar multiple, design-point irradiance, and thermal storage size and specify information about the system using a list of parameters. The software can then optimize the specified variables to reduce the cost of energy produced by the system while meeting certain production requirements, accounting for uncertain weather and electricity price forecasts and correcting for equipment failures or repair time. April 26, 2019 4/26/19 Solar
10521 https://github.com/NREL/htem-api-examples HTEM-DB API Examples HTEM DB is a public database and web application that contains measurements of thin-film materials collected using high-throughput (combinatorial) synthesis and measurement processes. This software provides examples of using the HTEM-DB API to access, plot, and analyze the data contained therein. Dec. 26, 2017 12/26/17 Solar; Materials Science
10529 https://github.com/nrel/hsds-examples WIND Toolkit Highly Scalable Data Service API Examples The WIND Toolkit Highly Scalable Data Service API examples provide example Python software notebooks and a javascript visualization that demonstrate use of the HSDS API using data for NREL's WIND Toolkit. Dec. 26, 2017 12/26/17 Wind
6869 https://github.com/NREL/bifacial_radiance bifacial_radiance bifacial_radiance contains a series of Python wrapper functions to make working with RADIANCE easier, particularly for PV researchers interested in bifacial PV performance. Users can configure site details such as latitude/longitude and ground albedo. A bifacial PV system is created with a number of PV modules in rows. The user can specify ground clearance height, row spacing, tilt and azimuth angle, etc. The scene is created, and annual or hourly irradiance profiles are applied to identify the rear irradiance fraction for a given condition. Python Dec. 17, 2017 12/17/17 Solar
39183 https://github.com/MHKiT-Software/MHKiT-Python MHKiT-Python (Marine Hydrokinetic Toolkit) MHKiT-Python is a Python package designed for marine renewable energy applications to assist in data processing and visualization. The software package includes functionality for data processing, data visualization, data quality control, resource assessment, device performance, and device loads. Python Jan. 15, 2020 1/15/20 Water
39206 https://github.com/MHKiT-Software/MHKiT-MATLAB MHKit-MATLAB MHKiT-MATLAB is a MATLAB package designed for marine renewable energy applications to assist in data processing and visualization. The software package includes functionality for q-Quality control analysis, wave resource and wave performance, river resource and device, tidal resource and device, data visualization, mechanical loads analysis, and power quality assessments. MATLAB Jan. 15, 2020 1/15/20 Water
10783 https://github.com/Smart-DS/sssmatch sssmatch: Standard ScenarioS Match sssmatch accepts limited information about an existing transmission system model and computes a new generation mix based on matching a particular NREL Standard Scenario generation mix and minimizing the distance between the system's original mix and the final one. The distance metric is computed on a nodal basis. Oct. 30, 2017 10/30/17 Grid Modernization
57334 LibIsopach LibIsopach is a toolkit for high-performance, distributed, immersive visualization, leveraging modern OpenGL. It features a multiprocess scenegraph, explicit instance rendering, mesh generation, and three-dimensional user interaction event processing. C++ Dec. 6, 2016 12/6/16
5612 https://github.com/NREL/PIDG PIDG: PLEXOS Input Data Generator PIDG enables PLEXOS users to better version their data, automate data processing, collaborate in developing inputs, and transfer data between production cost modeling and other power systems analysis software. PIDG can process data in a generalized format from multiple input sources, including CSV files, PostgreSQL databases, and PSS/E .raw files and write it to an Excel file that can be imported into PLEXOS with limited manual intervention. Aug. 19, 2017 8/19/17 Grid Modernization
5600 https://github.com/NREL/SOEP-QSS Quantized State Systems Solver With Functional Mock-Up Units Support This is a quantized state systems solver for integration into Modelon's Optimica Compiler Toolkit as part of the "Spawn of EnergyPlus" project. Aug. 14, 2017 8/14/17 Buildings
5596 https://github.com/NREL/lk LK Scripting Language The LK scripting language is a simple and fast computer programming language designed for easy integration with existing software to enable automation of tasks. The LK language is used by NREL's System Advisor Model (SAM), the SAM Software Development Kit (SDK), and SolTrace products. LK is easily extensible and adaptable to new software because of its small footprint and is designed to be statically linked into other software. C++ Aug. 10, 2017 8/10/17 Energy Analysis
5583 https://github.com/dss-extensions/OpenDSSDirect.py OpenDSSDirect.py This is a Python direct-mode interface to OpenDSS, a distribution system simulator for electric power systems. Python Aug. 9, 2017 8/9/17 Grid Modernization
5565 https://github.com/NREL/rdtools RdTools RdTools is an open-source library to support reproducible technical analysis of time series data from photovoltaic energy systems. The library aims to provide best practice analysis routines along with the building blocks for users to tailor their own analyses. Python Aug. 7, 2017 8/7/17 Solar
5518 https://github.com/mdavezac/LaDa LaDa LaDa is a high-throughput software platform to create, launch, and analyze physics-related calculations. The frontend is a Python API that allows the user to create any conceivable first-principles physics calculation. Is It coupled to an ipython interface to launch and retrieve large number of calculations. It was successfully used in high-throughput calculations of point defect formation enthalpies, compound formation enthalpies, and a genetic algorithm search of direct-gap silicon/germanium structures. C++; Python July 18, 2017 7/18/17 Materials Science
5522 https://github.com/NREL/MAGMA MAGMA: Multi-Area Grid Metrics Analyzer The MAGMA software package is created in the R scripting language that reads a SQL database and outputs tables and figures of important data. The SQL database is created by another R package called "rplexos"ùand uses the .zip solution file output by PLEXOS, which is commercially available production cost modeling software. July 17, 2017 7/17/17 Wind
5508 https://github.com/NREL/haystack_ruby Haystack-Ruby The open source Project Haystack initiative defines meta data and communication standards related to data from buildings and intelligent devices. The Project Haystack REST API defines standard formats and operations for exchanging Haystack tagged data over HTTP. The HaystackRuby gem wraps calls to this REST API to enable Ruby application to easily integrate data hosted on a Project Haystack compliant server. The HaystackRuby gem was developed to support applications related to campus energy. July 16, 2017 7/16/17 Buildings
22151 https://github.com/NREL/ssc/blob/develop/shared/lib_pv_shade_loss_mpp.cpp; PV Shading Database This software is a simplified method for modeling the impact of arbitrary partial shading conditions on PV array performance. It implements a simple method for modeling shade loss: a database of shade impact results (loss percentages), generated using a validated, detailed simulation tool and encompassing a variety of shading scenarios. The database is intended to predict shading losses in crystalline silicon PV arrays and is accessed using basic inputs generally available in any PV simulation tool. Performance predictions using the database are within 1%–2% of measured data for several partially shaded PV systems and within 1% of those predicted by the full, detailed simulation tool on an annual basis. C++ Sept. 7, 2016 9/7/16 Solar
5441 https://github.com/NREL/WindSE WindSE: Wind Systems Engineering WindSE models atmospheric fluid flow within a wind plant and performs optimization of the turbine positions or operating settings. WindSE is a Python package that uses a FEniCS backend to perform wind farm simulations and optimization. Python June 1, 2017 6/1/17 Wind
6370 Geospatial Toolkit The Geospatial Toolkit is a map-based software application that integrates resource data and other geographic information systems data for integrated resource assessment. The nonresource, country-specific data for each toolkit comes from agencies within each country as well as global data sets. Aug. 15, 2016 8/15/16 Energy Analysis
23011 https://github.com/windview/client WindView WindView is a situational awareness and decision support platform that provides grid operators with knowledge of the state and performance of wind power on their system. WindView does not provide any data; it is a visualization platform that requires users to provide their own data. JavaScript; CSS; HTML Oct. 2, 2018 10/2/18 Wind
25846 https://github.com/Computational-Energy/plexos-coad plexos-coad: Plexos Class-Object-Attribute Data Manipulation Tool This class object attribute data software is written as a programmatic interface to the PLEXOS dataset that enables the decomposition of the data set in time and execution in parallel without loss of integrity. It also enables the recomposition of solution data sets that are the output of distributed parallel execution of the core simulator. May 2, 2017 5/2/17 Grid Modernization
65263 https://github.com/NREL/bsm-public BSM: Biomass Scenario Model BSM is a system dynamics model built on the STELLA software platform. The model represents the dynamic interactions of the major sectors of the biofuels industry: feedstock production, feedstock logistics, biomass to biofuels conversion, and biofuels end use, including fuels inventory, dispensing, distribution, fuel use, and the vehicle fleet. BSM represents contextual aspects of the developing biofuels industry, including investment in new biomass-to-biofuel conversion technologies, competition from petroleum fuels, vehicle demand for biofuels, and various government policies, using all of these to simulate the development of the industry. The purpose of the BSM is to generate and explore plausible scenarios for the evolution of a biofuels industry in the United States. STELLA March 22, 2017 3/22/17 Transportation and Mobility; Bioenergy
7518 https://github.com/NREL/DSS2ePHASOR DSS2ePHASOR: "OpenDSS" Files to "ePHASORSIM" Interface Files Converter This converter extracts the required feeder data information from Opendss format files, also known as .dss files, to construct the feeder data spreadsheets to be interfaced with the ePHASORSIM simulator. Feb. 17, 2017 2/17/17 Grid Modernization
57328 Retrospective Mobility Analysis This application provides users with ex post information on foregone travel conclusions to induce travel behavioral change. Python; JavaScript; Ruby Dec. 31, 2015 12/31/15 Transportation and Mobility
4569 https://github.com/NREL/hpxml2reso HPXML2RESO: Home Performance XML to Real Estate Standards Organization Data Dictionary Translator This translator takes fields from HPXML and translates them into RESO's Data Dictionary, which is used in Multiple Listing Service systems for real estate transactions across the country. The purpose is to get energy efficiency data into the real estate transaction. Aug. 23, 2016 8/23/16 Buildings
4577 https://github.com/NREL/developer.nrel.gov Developer Network NREL's Developer Network, developer.nrel.gov, provides data that users can access to provide data to their own analyses as well as mobile and web applications. Developers can retrieve the data through a web services application programming interface (API). The Developer Network handles overhead of serving up web services such as key management, authentication, analytics, reporting, documentation standards, and throttling in a common architecture while allowing web services and APIs to be maintained and managed independently. Aug. 22, 2016 8/22/16
4825 https://gitlab.osti.gov/osti-public/multivariate-gaussian-process-model-for-correlated-time-series-in-r Multivariate Gaussian Process Model for Correlated Time Series in R RmultiProcess software is designed to work with multiple correlated sensors. The characteristic that allows data to be filled in or the support to be changed is correlation, the interdependence between observations. June 27, 2016 6/27/16
4313 https://github.com/nrel/SOWFA SOWFA: Simulator for Wind Farm Applications This is a modular tool for simulating wind plant aerodynamics with computational fluid dynamics and turbine structural and control response to the incoming flow. June 27, 2016 6/27/16 Wind
4304 https://github.com/NREL/REPRA REPRA: Renewable Energy Probabilistic Resource Assessment This package is the R implementation of the REPRA tool, a statistical tool that models the effect of variable generation in the calculation of resource adequacy metrics. It is built as a research tool to explore different methodologies and technologies. C++; R June 27, 2016 6/27/16 Grid Modernization
4270 https://github.com/NREL/hescore-hpxml hescore-hpxml: HPXML to Home Energy Score Translator Home Energy Score is a simulation-based rating method for existing homes. Home Performance XML (HPXML) is a data transfer standard for home energy audit and retrofit data used throughout the industry. This software receives an HPXML document and translates the building characteristics into HEScore inputs compliant with their API. June 27, 2016 6/27/16 Buildings
4377 https://github.com/NREL/bioluc BioLUC: Bioenergy and Land Use Change This system dynamics global land use change (LUC) model examines LUC attributed to biofuel production. The model represents major global stocks and flows and produces results under different food and biofuel demand assumptions, with flexible regional divisions. This model is not intended to generate precise numerical estimates but to provide insights into the drivers and dynamic interactions of LUC, population, dietary choices, and biofuel policy. June 27, 2016 6/27/16 Transportation and Mobility; Bioenergy
4266 https://github.com/WISDEM/Plant_CostsSE LandOpExSE This is a cost model for operational expenditures for land-based wind plants. June 26, 2016 6/26/16 Wind
4343 https://github.com/wisdem/towerse TowerSE This is a module for static aerodynamic and structural analysis of wind turbine towers. June 26, 2016 6/26/16 Wind
4359 https://github.com/wisdem/airfoilpreppy AirfoilPrep.py This is a Python module for preprocessing and evaluating aerodynamic ainoil data, primarily for wind turbine applications. Python June 26, 2016 6/26/16 Wind
4347 https://github.com/wisdem/rotorse RotorSE This is a module for static aerodynamic and structural analysis of wind turbine rotors. June 26, 2016 6/26/16 Wind
4288 https://github.com/WISDEM/pyFrame3DD PyFrame3DD This module allows Frame3DD to interact with codes developed within the Systems Engineering WIDEM toolbox. June 26, 2016 6/26/16 Wind
4284 https://github.com/WISDEM/JacketSE JacketSE This is a module for static hydrodynamic, aerodynamic, and structural design and analysis of wind turbine jacket and towers within the Systems Engineering toolbox. June 26, 2016 6/26/16 Wind
4355 https://github.com/wisdem/ccblade CCBlade This is a blade element momentum method for analyzing wind turbine aerodynamic performance that is robust (guaranteed convergence), fast (superlinear convergence rate), and smooth (continuously differentiable). June 26, 2016 6/26/16 Wind
4274 https://github.com/REEEP/ckanext-climate-tagger Reegle Tagging API (CKAN Extension) The software consists of a CKAN extension to an existing REEGLE Tagging API. June 26, 2016 6/26/16 Wind
4248 https://github.com/NREL/gdx-pandas GDX-pandas This package builds on existing software to provide clear and simple interfaces between GDX files and pandas DataFrames. June 26, 2016 6/26/16 Wind
4325 https://github.com/wisdem/turbine_costsse Turbine_costSE: Turbine Cost Systems Engineering Model turb_costSE is a set of models that link wind turbine component masses (and a few other key variables) to component costs. June 26, 2016 6/26/16 Wind
4363 https://github.com/wisdem/nrel_csm NREL_CSM: NREL Wind Energy Cost and Scaling Model NREL_CSM is a set of models that provides an overall cost of energy analysis for the wind plant. June 26, 2016 6/26/16 Wind
4330 https://github.com/wisdem/drivese Nacelle Systems Engineering Model and Hub Systems Engineering Model nacelleSE and hubSE are models that size wind turbine hub system and drivetrain components based on key turbine design parameters and load inputs from a rotor model. June 26, 2016 6/26/16 Wind
4870 https://github.com/NREL/infovis-parallel Parallel Planes Information Visualization This software presents a user-provided multivariate data set as an interactive 3D visualization so the user can explore the correlation between variables in the observations and the distribution of observations among the variables. June 26, 2016 6/26/16
4392 https://github.com/NREL/BACnet BACnet Client The BACnet Client gathers data from building control systems through the BACnet protocol and sends them to various destinations for data logging and collection. June 26, 2016 6/26/16 Buildings
4368 https://github.com/WISDEM/DriveSE DrivePy DrivePy is physics-based drivetrain model that sizes drivetrain components based on aerodynamic and operational loads for use in a systems engineering model. It also calculates costs based on empirical data collected by NREL's National Wind Technology Center. June 26, 2016 6/26/16 Wind
4387 https://github.com/NREL/bsm-learning LEEI: Learning in Emerging Energy Industries This software is a learning model excerpted from the BSM that can be used to examine effects of different learning rates and different techno-economics on industry evolution. June 26, 2016 6/26/16 Energy Analysis; Bioenergy
4351 https://github.com/wisdem/pbeam pBEAM: Polynomial Beam Element Analysis Module pBEAM is a finite element code for beam-like structures. The methodology uses Euler Bernoulli beam elements with 12 degrees of freedom (three translation and three rotational at each end of the element). June 26, 2016 6/26/16 Wind
4293 https://www.nrel.gov/wind/floris.html FLORIS: FLOw Redirection and Induction in Steady State FLORIS is an engineering model of wind turbine wake interactions that accounts for the effects of turbines on the flow through the creation of wakes and accounting for both velocity deficit and wake redirection through yaw. June 26, 2016 6/26/16 Wind
4300 https://github.com/NREL/rplexos rplexos rplexos is an R package that processes and facilitates analysis of solutions from PLEXOS. PLEXOS is a production cost model that simulates the behavior of the power system. June 26, 2016 6/26/16 Grid Modernization
4383 https://github.com/wisdem/pyDAKOTA Dakota Driver This code connects the Sandia C++-based DAKOTA optimization and analysis tool with NASA's Python-based openMDAO systems engineering framework. It allows DAKOTA to be used as an openMDAO "driver." DAKOTA contains an array of advanced sensitivity, uncertainty quantification, and optimization methods. These are now available in a "pluggable" way to any openMDAO-based workflow. June 26, 2016 6/26/16
4855 https://github.com/NREL/wex DVIEW DView is a time series data visualization tool that provides several ways to plot time series data sets. It is particularly well suited for browsing the results of energy systems simulation programs such as BeOpt, SAM, and PVWatts. June 26, 2016 6/26/16
4252 https://github.com/NREL/buspy Bus.py GridLAB-D is an agent-based distribution system simulation environment that allows fine-grained end-user models, including geospatial and network topology detail. GridLAB-D addresses the lack of runtime interaction by designing a flexible communication interface, Bus.py, that uses Python to pass messages between one or more GridLAB-D instances and a Smart Grid simulator. June 26, 2016 6/26/16 Grid Modernization
4241 https://github.com/NREL/OpenStudio-fault-models OpenStudio - Fault Modeling The software provides a suite of OpenStudio measures (scripts) for modeling typical HVAC system faults in commercial buildings and also includes supporting materials, example projects, and OpenStudio measures for reporting fault costs and energy impacts. June 26, 2016 6/26/16 Buildings
4279 https://github.com/FUSED-Wind/fusedwind FUSED-Wind: Framework for Unified Systems Engineering and Design of Wind Plants Cost Models and Case Analyzer These are cost and case analyzer components of the FUSED-Wind software. These are small pieces of code that define interfaces between software to do wind plant cost of energy and analysis of load cases for an aeroelastic code. June 26, 2016 6/26/16 Wind
4234 https://github.com/NREL/streamm-tools STREAMM: Simulation Toolkit for Renewable Energy Advanced Materials Modeling STREAMM is a collection of Python classes and scripts that enables and eases the setup of input files and configuration files for simulations of advanced energy materials. The core STREAMM Python classes provide a general framework for storing, manipulating, and analyzing atomic/molecular coordinates to be used in quantum chemistry and classical molecular dynamics simulations of soft materials systems. The design focuses on enabling the interoperability of materials simulation codes such as GROMACS, LAMMPS, and Gaussian. June 26, 2016 6/26/16 Materials Science
4319 https://github.com/WISDEM/WISDEM NREL WISDEM: NREL Wind Integrated System Design and Engineering Model NREL_WISDEM is an integrated model for wind turbines and plants developed in Python based on the open source software OpenMDAO. NREL_WISDEM is a set of wrappers for various wind turbine models that integrates pre-existing models together into OpenMDAO. It is organized into groups, each with their own repositories, including Plant_CostSE, Plant_EnergySE, Turbine_CostSE, and TurbineSE. June 26, 2016 6/26/16 Wind
4308 https://github.com/WISDEM/LandBOSSE Land-Based Balance Of System This is a cost model for land-based balance of system for wind turbines. June 25, 2016 6/25/16 Wind
10651 https://github.com/NREL/bricr/releases/tag/v0.2.0 BRICR BRICR is software for translating NREL's BuildingSync® XML (BSXML) to OpenStudio® Workflow (OSW) files for simulation. Each BSXML contains information about a building as well as multiple possible energy-efficiency upgrades. An OSW file is created and run for each possible efficiency upgrade. The results of all simulations are stored in BSXML format. March 12, 2018 3/12/18 Buildings
57338 https://sourceforge.net/projects/electricdss Matlab-Excel Interface for OpenDSS This software allows users of the OpenDSS grid modeling software to access their load flow models using a GUI interface developed in MATLAB. The circuit definitions are entered into a Microsoft Excel spreadsheet, which makes circuit creation and editing a much simpler process than with the basic text-based editors used in the native OpenDSS interface. Plot tools can be accessed through a MATLAB GUI once the desired parameters have been simulated. MATLAB; Delphi; Free Pascal April 27, 2015 4/27/15 Grid Modernization
5835 https://github.com/NREL/EnergyPlus EnergyPlus Originally developed in 1999, EnergyPlus® is a whole-building energy simulation program that engineers, architects, and researchers use to model both energy consumption—for heating, cooling, ventilation, lighting, and plug and process loads—and water use in buildings. EnergyPlus is a console-based program that reads input and writes output to text files. It ships with a number of utilities, including IDF-Editor for creating input files using a simple spreadsheet-like interface, EP-Launch for managing input and output files and performing batch simulations, and EP-Compare for graphically comparing the results of two or more simulations. Major updates to EnergyPlus are released twice annually. Oct. 1, 2017 10/1/17 Buildings
19480 https://github.com/NREL/glmgen glmgen glmgen is Python scripting of GridLAB-D input files (.glm) derived from the Open Modeling Framework. Aug. 27, 2015 8/27/15 Grid Modernization
57283 https://github.com/OpenFAST/openfast FAST Simulation Tool Containing Methods for Predicting the Dynamic Response of Wind Turbines FAST is a simulation tool for modeling the dynamic response of horizontal-axis wind turbines. FAST employs a combined modal and multibody structural-dynamics formulation in the time domain. Fortran; C; MATLAB Aug. 12, 2015 8/12/15 Wind
5591 https://github.com/SEED-platform/seed SEED: Standard Energy Efficiency Data Platform The Standard Energy Efficiency Data Platform® provides public agencies and other organizations with a standardized but flexible, cost-effective, secure, enterprise data platform to manage portfolio-scale building performance data from a variety of sources. The SEED Platform streamlines the administrative effort required by public agencies implementing building performance and transparency programs. Aug. 9, 2017 8/9/17 Buildings
5574 https://github.com/jrood-nrel/PeleStuff PelePhysics PelePhysics is a suite of physics packages that provides functionality of use to reacting hydrodynamics CFD codes. The initial release includes an interface to reaction rate mechanism evaluation, transport coefficient evaluation, and a generalized equation of state facility. Both generic evaluators and interfaces to code from externally available tools (Fuego for chemical rates, EGLib for transport coefficients) are provided. Aug. 5, 2017 8/5/17 Computational Science
5569 https://github.com/jrood-nrel/PeleStuff PeleC PeleC is an adaptive-mesh compressible hydrodynamics code for reacting flows. It solves the compressible Navier-Stokes with multispecies transport in a block-structured framework. The resulting algorithm is well suited for flows with localized resolution requirements and robust to discontinuities. User-controllable refinement criteria have the potential to result in extremely small numerical dissipation and dispersion, making this code appropriate for both research and applied usage. Aug. 5, 2017 8/5/17 Computational Science
20680 https://github.com/AMReX-Combustion/PelePhysics PelePhysics v2.0 This software provides fluid properties—including thermodynamic relationships, transport properties, and reaction kinetics—for computational fluid dynamics packages. Aug. 15, 2018 8/15/18 Computational Science
57279 IHT: Tools for Computing Insolation Absorption by Particle Laden Flows IHT is a toolkit for computing radiative heat exchange between particles. The algorithm is based on the Photon Monte Carlo approach and implemented as a library that can be interfaced with a variety of CFD codes to analyze radiative heat transfer in particle laden flows. Fortran Sept. 17, 2013 9/17/13 Materials Science
3541 https://github.com/wisdem/aeroelasticse Aeroelastic Systems Engineering Module These small pieces of software wrap the FAST model so FAST can be integrated into WISDEM. Note: This repository is deprecated and was archived (read-only) in November 2019. NREL's WISDEM® software has moved to a single, integrated repository. Python Sept. 19, 2014 9/19/14 Wind
20289 https://github.com/NREL/GEAR-SCouP Gear-SCouP Gear-SCouP is an analytical model for the rating analysis of articulated spline coupling designs. Articulated splines are commonly used in the planetary stage of wind turbine gearboxes as the means of transmitting the driving torque while improving load-sharing. Direct measurement of spline loads and performance is extremely challenging because of limited accessibility and spline design standards are limited. For a given torque and shaft misalignment, Gear-SCouP quickly yields physical insights into relationships between the spline design parameters and resulting loads, bending, contact, and shear stresses, and safety factors considering various heat treatment methods. MATLAB Oct. 18, 2013 10/18/13 Wind
19678 https://github.com/WISDEM/dakota_driver WISDEM/dakota_driver This is an OpenMDAO driver for DAKOTA (Design Analysis Kit for Optimization and Terascale Applications). The code connects the Sandia National Laboratory's C++-based DAKOTA optimization and analysis tool with NASA's Python-based OpenMDAO systems engineering framework. It allows DAKOTA to be used as an openMDAO "driver. DAKOTA contains an array of advanced sensitivity, uncertainty quantification, and optimization methods. These are now available in a "pluggable" way to any OpenMDAO-based workflow. July 17, 2013 7/17/13 Wind
54266 https://github.com/AMReX-Codes/amrex AMReX AMReX is a software framework for the development and implementation of massively parallel algorithms using block-structured adaptive mesh refinement (AMR). Block-structured AMR provides the basis for the temporal and spatial discretization strategy for a variety of applications. AMReX provides a unified infrastructure with the functionality needed for applications to be able to effectively and efficiently use machines from laptops to exascale accelerator-based architectures. AMR reduces the computational cost and memory footprint compared to a uniform mesh while preserving accurate descriptions of different physical processes in complex multiphysics algorithms. C++ April 28, 2017 4/28/17 Computational Science
54948 https://www.nrel.gov/analysis/seds SEDS: Stochastic Energy Deployment System SEDS is an economywide energy model of the United States that captures dynamics among supply, demand, and pricing of the major energy types consumed and produced. These dynamics are captured by including the effects of macroeconomics; the resources and costs of primary energy types such as oil, natural gas, coal, and biomass; the conversion of primary fuels into energy products such as petroleum products, electricity, biofuels, and hydrogen; and the end-use consumption attributable to residential and commercial buildings, light and heavy transportation, and industry. Projections from SEDS extend to the year 2050 by 1-year time steps and are generally projected at the national level. SEDS differs from other economywide energy models in that it explicitly accounts for uncertainty in technology, markets, and policy. Ruby Nov. 30, 2011 11/30/11 Energy Analysis
5216 https://github.com/GMLC-TDC/HELICS-src HELICS: Hierarchical Engine for Large-scale Infrastructure Co-Simulation HELICS is designed to support very large-scale (100,000+ federates) cosimulations with off-the-shelf power system, communication, market, and end-use tools. Key features include cross-platform operating system support, the integration of event-driven (e.g., packetized communication) and time series (e.g., power flow) simulations, and the ability to coiterate among federates to ensure physical model convergence at each time step. April 23, 2017 4/23/17 Grid Modernization
4561 https://github.com/NREL/OpenStudio OPENSTUDIO OPENSTUDIO® is a cross-platform (Windows, Mac, and Linux) collection of software tools to support whole-building energy modeling using EnergyPlus and advanced daylight analysis using Radiance. It is an open-source project to facilitate community development, extension, and private sector adoption. OpenStudio includes graphical interfaces along with a software development kit. In addition to the graphical interface, OpenStudio allows building researchers and software developers to quickly get started through its multiple entry levels, including access through C++, Ruby, and C#. Users can leverage the Ruby interface to create OpenStudio Measures that can be easily shared and applied to OpenStudio Models. Aug. 15, 2016 8/15/16 Buildings
22737 https://sam.nrel.gov/ SAM: System Advisor Model The SAM Open Source Project repository contains the source code, tools, and instructions to build a desktop version NREL's System Advisor Model. SAM is a simulation program for electricity generation projects. It has models for renewable energy systems and financial models for residential, commercial, and utility-scale projects. Aug. 1, 2007 8/1/07 Solar
39136 https://github.com/NREL/EPXMLPreprocessor EPXMLPreprocessor The EPXMLPreprocessor reads an abstract description of a building and writes a complete, fully-functional EnergyPlus input file. The building XML model is the text input file to the preprocessor that contains a minimal set of high-level parameters to describe the building type, geometry, loads, and systems. The preprocessor constructs the resulting EnergyPlus building model by automatically generating and connecting all of the required EnergyPlus objects based on a set of built-in modeling assumptions. This software is no longer supported, and users may use at their own risk. Pascal Buildings
18515 https://github.com/NREL/api-umbrella-cookbook api-umbrella-cookbook This is the repository for the api-umbrella-cookbook.
18505 https://github.com/NREL/api-umbrella API Umbrella API Umbrella is an open-source API management platform for exposing web service APIs. The goal of API Umbrella is to make life easier for both API creators and API consumers.

The links to outside entities provided on this page are not intended to imply any endorsement, recommendation, or favoring of any entity, product, or service by Alliance for Sustainable Energy LLC, the National Renewable Energy Laboratory, the U.S. Department of Energy, or the U.S. Government.


Share