Demonstrating SolarPILOT’s Python API Through Heliostat Optimal Aimpoint Strategy Use Case

Research output: Contribution to conferencePaperpeer-review


SolarPILOT is a software package that generates solar field layouts and characterizes the optical performance of concentrating solar power (CSP) tower systems. SolarPILOT was developed by the National Renewable Energy Laboratory (NREL) as a stand-alone desktop application but has also been incorporated into NREL's1 System Advisor Model (SAM) in a simplified format. Prior means for user interaction with SolarPILOT have included the application's graphical interface, the SAM routines with limited configurability, and through a built-in scripting language called "LK."This paper presents a new, full-featured, Python-based application programmable interface (API) for SolarPILOT, which we hereafter refer to as CoPylot. CoPylot provides access to all SolarPILOT's capabilities to generate and characterize power tower CSP systems seamlessly through Python. Supported capabilities include (i) creating and destroying a model instance with message reporting tools; (ii) accessing and setting any SolarPILOT variable including custom land boundaries for field layouts; (iii) programmatically managing receiver and heliostat objects with varied attributes for systems with multiple receiver or heliostat types; (iv) generating, assigning, and modifying solar field layouts including the ability to set individual heliostat locations, aimpoints, soiling rates, and reflectivity levels; (v) simulating solar field performance; (vi) returning detailed results describing performance of individual heliostats, the aggregate field, and receiver flux distribution; and, (vii) exporting Python-based model instances to multiple file formats. CoPylot enables Python users to perform detailed CSP tower analysis utilizing either the Hermite expansion technique (analytical) or the SolTrace ray-tracing engine. In addition to CoPylot's functionality, Python users have access to the over 100,000 open-source libraries to develop, analyze, optimize, and visualize power tower CSP research. This enables CSP researchers to perform analysis that was previously not possible through SolarPILOT's existing interfaces. This paper discusses the capabilities of CoPylot and presents a use case wherein we demonstrate optimal solar field aiming strategies.

Original languageAmerican English
Number of pages6
StatePublished - 2021
EventASME 2021 15th International Conference on Energy Sustainability, ES 2021 - Virtual, Online
Duration: 16 Jun 202118 Jun 2021


ConferenceASME 2021 15th International Conference on Energy Sustainability, ES 2021
CityVirtual, Online

Bibliographical note

See NREL/CP-5700-78774 for preprint

NREL Publication Number

  • NREL/CP-5700-80737


  • concentrating solar power
  • CoPylot
  • CSP
  • heliostat field layout
  • open-source
  • power tower
  • Python API
  • SolarPILOT


Dive into the research topics of 'Demonstrating SolarPILOT’s Python API Through Heliostat Optimal Aimpoint Strategy Use Case'. Together they form a unique fingerprint.

Cite this