Engineering Papers⌕ Search

SEARCH · Engineering Papers

Results for “Python API”

Search indexed NASA NTRS and DOE OSTI research on propulsion, heat transfer, battery materials and energy systems. Follow report and document links to the original sources.

Quote a phrase for an exact phrase match. Source license links do not imply unrestricted reuse.

At least 91 records · Page 5

3_wise_bears

This is a small set of python scripts and HTML that uses OpenAI API to control large language models (LLMs) working agentically to solve a posed question / problem. There are 3 agents and they work to get it "just right" by taking on various "roles" of friendly and adversarial critics. It repeats a number of times specified by the user, and then writes a report.

DeBardeleben, Nathan Andrew [Los Alamos National L↗

A high-fidelity building performance simulation test bed for the development and evaluation of advanced controls

We present an open-source building performance simulation test bed, the Advanced Controls Test Bed (ACTB), that interfaces high-fidelity Spawn of EnergyPlus building models, with advanced controllers implemented in Python. Additionally, the ACTB leverages the Building Optimization Testing and Alfalfa platforms for managing simulations, providing an external clock, a representational state transfer (REST) application programming interface (API), and key performance indicators for evaluating the effectiveness of control strategies. The REST API allows the development of external controllers programmed in languages such as Python, which provides flexibility and a rich choice of scientific libraries for designing control sequences. We present three test cases based on the U.S. Department of Energy's Reference Small Office Building to demonstrate the ACTB's capabilities: (a) rule-based controls compliant with ASHRAE Guideline 36 control sequences; (b) an economic model predictive control implemented using do-mpc; and (c) a deep Q-network reinforcement learning agent implemented using OpenAI Gym.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

NSU Hack-a-Thon Workshop v.2.0

SAND2021-6722 O This is a fitness tracking mobile application and server created to train college-level students to build full stack software. The front end is written using an open-source framework called Flutter. The API server is written using an open-source python framework called Flask. The app functions as a workout tracker and is intentionally partially functional for the purpose of training students during the live workshops hosted by Sandia's HR recruiting teams. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Carpenter, Logan↗

tesuract v.1.0

SAND2021-14370 O Tesuract (tensor surrogate approximation and computation) provides Python tools to build machine learning regressors that include polynomial chaos expansions. The software also offers methods for creation regressors for tensor outputs such as spatially varying fields and using a reduced order modeling methodology. The library is built on and compatible with the scikit-learn API, which allows integration with one of the most ubiquitous machine learning Python libraries out there. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Chowdhary, Kamaljit↗

SEAS Communication Engine: An Extensible, Flexible Wrapper for Co-Simulation Agents

When modeling and analyzing the power grid and other large scale systems, researchers often express scenarios as optimization problems and feed them into advanced software solvers. In order to allow multiple solvers to communicate with each other and share data from different domains, the National Renewable Energy Laboratory (NREL) and associated Department of Energy (DOE) labs have developed a software framework called the Hierarchical Engine for Large-scale Infrastructure Co-Simulation (HELICS). HELICS allows cosimulation via a collection of client libraries for different languages that can be called from the appropriate optimization software. However, these client libraries do not provide a higher level of abstraction beyond reading and writing data off of the shared HELICS bus. In this paper, we describe a new software library called the SEAS Communication Engine that exposes a higher-level API for running cosimulation problems. The SEAS Engine provides a class-based abstraction on top of the Python HELICS client, in order to allow users to implement their domain-specific cosimulations without needing to interact with core HELICS primitives. This will make adoption of HELICS and cosimulation in general easier, by exposing a simpler API. In the second part of the paper, we validate our library on a collection of different simulation examples, including the canonical IEEE 13 Bus Feeder. Lastly, we demonstrate using the SEAS Engine to directly call domain-specific code written in the Julia programming language. Our hope is that this will serve as a template for easily calling software in different programming languages via the SEAS Engine, thereby avoiding code duplication and complexity.

co-simulation↗

exfor_client

A lightweight Python client and CLI for interacting with the [EXFOR Web API](https://nds.iaea.org/exfor/x4guide/API/). This tool enables searching, retrieving, and parsing experimental nuclear data — including uncertainties, covariance information, and metadata — while preserving provenance.

Grosskopf, Mike [Los Alamos National Laboratory]↗

MontePy: a Python library for reading, editing, and writing MCNP input files.

The Monte Carlo N-Particle (MCNP) radiation transport code is a highly capable and accurate code with a long legacy. MCNP uses the Monte Carlo simulation process to simulate the path of particles (e.g., neutrons, photons, charged particles, etc.), and their interaction with materials. It is widely used in nuclear engineering, high-energy physics, and other fields. Its origins in the mid-twentieth century predate many modern software conventions. MCNP users provide an input file to MCNP, which it then uses to create an internal representation of the simulation problem. These input files originally had to be stored as punchcard decks, and the user manual still uses the terminology of cards and decks, despite moving beyond punchcards. MCNP predates nearly all modern human readable markup or data serialization languages, such as the extensible Markup Language (XML), the Standard Generalized Markup Language (SGML), YAML (YAML Ain’t Markup Language), and Javascript Object Notation (JSON). Due to this, MCNP uses an entirely custom defined syntax language for its input, making off-the-shelf libraries for XML, YAML, and JSON impossible to use for scripting various operations on MCNP input files (Kulesza et al., 2022).

97 - MATHEMATICS AND COMPUTING↗

Best practices for documenting a scientific Python project

Documentation is a crucial component of software development that helps users with installation and usage of the software. Documentation also helps onboard new developers to a software project with contributing guidelines and API information. The INTERSECT project is an open federated hardware/software library to facilitate the development of au- tonomous laboratories. A documentation strategy using Sphinx has been utilized to help developers contribute to source code and to help users understand the INTERSECT Python interface. Docstrings as well as reStructuredText files are used by Sphinx to automatically compile HTML and PDF files which can be hosted online as API documentation and user guides. The resulting documentation website is automatically built and deployed using GitLab runners to create Docker containers with NGINX servers. The approach discussed in this paper to automatically deploy documentation for a Python project can improve the user and developer experience for many scientific projects.

Wiggins, Gavin↗

The Virtual Solar Observatory: What Are We Up To Now?

In the nearly ten years of a functional Virtual Solar Observatory (VSO), http://virtualsolar.org/ we have made it possible to query and access sixty-seven distinct solar data products and several event lists from nine spacecraft and fifteen observatories or observing networks. We have used existing VSO technology, and developed new software, for a distributed network of sites caching and serving SDO HMI and/ or AlA data. We have also developed an application programming interface (API) that has enabled VSO search and data access capabilities in IDL, Python, and Java. We also have quite a bit of work yet to do, including completion of the implementation of access to SDO EVE data, and access to some nineteen other data sets from space- and ground-based observatories. In addition, we have been developing a new graphic user interface that will enable the saving of user interface and search preferences. We solicit advice from the community input prioritizing our task list, and adding to it

Gurman, J. B.↗

ExactPack: A python library of exact analytic solutions

Verification of multi-physics simulation software against problems with known analytic or semi-analytic solutions is an important aspect of research into a wide variety of fields involving the motion of fluids, shock physics and other dynamic material properties. Previous work comparing simulation results against analytic solutions has been ad-hoc, with developers frequently writing their own analytic solvers. This has resulted in a large amount of duplicated effort. The python library ExactPack has been developed as a collection of analytic and semi-analytic solvers to a variety of multi-physics problems, providing a consistent API to a set of well-tested solver implementations.

97 MATHEMATICS AND COMPUTING↗

Dispatch Optimization Variable Engine

The Dispatch Optimization Variable Engine (DOVE) is software tool written in python, developed at Idaho National Laboratory (INL) that provides an easily accessible application-programming-interface (API) to performing resource dispatch optimization analysis for integrated energy system (IES) configurations. DOVE is an integral part of the Framework for Optimization of Resources and Economics (FORCE) software suite and is leveraged by codes such as the Holistic Energy Resource Optimization Network (HERON) and the Optimization of Real-Time Capacity Allocation (ORCA). The philosophy behind DOVE is to provide a modular software solution to IES planning and operation by utilizing state-of-the-art algorithms and machine learning. The goal is to accurately capture the dispatching behavior of a complex energy system given varying time-dependent signals for demand and commodity pricing.

McDowell, DylanJ. [Idaho National Laboratory (INL)↗

POST Explorer: A Design Space Exploration Tool for POST2

Recent improvements for the Program to Optimize Simulated Trajectories II (POST2) have included the development of an application programming interface (API). This API allows POST2 simulation inputs to be directly manipulated from other applications (such as MATLAB or Python), and the outputs from POST2 are streamed directly to the external application that enables visualization, data manipulation, etc. Through this framework, a new tool called POST Explorer is being developed that provides a user the capability to modify the simulation inputs and interrogate the outputs within the same application, with raw data inspection and visualization embedded. This tool can be leveraged for multiple types of analyses, such as parametric sweeps and sensitivity studies, and will be available with a future release of the POST2 software.

Robert Anthony Williams↗

POST Explorer: A Design Space Exploration Tool for POST2

Recent improvements for the Program to Optimize Simulated Trajectories II (POST2) have included the development of an application programming interface (API). This API allows POST2 simulation inputs to be directly manipulated from other applications (such as MATLAB or Python), and the outputs from POST2 are streamed directly to the external application that enables visualization, data manipulation, etc. Through this framework, a new tool called POST Explorer is being developed that provides a user the capability to modify the simulation inputs and interrogate the outputs within the same application, with raw data inspection and visualization embedded. This tool can be leveraged for multiple types of analyses, such as parametric sweeps and sensitivity studies, and will be available with a future release of the POST2 software.

Anthony Williams↗

ZPAL v.1.0.0

SAND2024-01003O ZPAL is a Python software development kit designed for use by network automation engineers. It is an application programming interface (API) wrapper that is compatible with ZPE System's Nodegrid API. ZPE produces networking equipment. ZPAL simplifies connections to the ZPE Nodegrid API and makes configuration changes on the associated networking equipment. Sandia National Laboratories is a multimission laboratory managed and operated by National Technology & Engineering Solutions of Sandia, LLC, a wholly owned subsidiary of Honeywell International Inc., for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-NA0003525.

Hill, Roscoe↗

Multispectral and thermal surface imagery and surface elevation mosaics (camspec-air)

This dataset contains high resolution image products (orthomosaics) acquired from midsized uncrewed aerial systems, which have been processed for value added quality. The instrument itself, a multispectral imager, the Altum by Micasense, captures 6 spectral bands (red, green blue, NIR, red edge, and LWIR/thermal1) as radiance, which is converted to reflectance. The code used to develop these images first uses tools from the Micasense python library2 to apply dark level corrections, row gradient corrections, and radiometric corrections. Next it uses the processing API from Agisoft Metashape software to align and mosaic the processed imagery, following the processes developed by the USGS' structure from motion workflow documentation3. Captures at different altitudes (recorded in MSL) produce an orthomosaic, a tif image containing information related to the 6 spectral bands, and a digital elevation model (DEM), a tif image containing information related to the elevation of the surveyed terraine. Metadata included in every image can be used to extract lat, lon, and reflectance values. 1https://www.arm.gov/publications/tech_reports/handbooks/doe-sc-arm-tr-281.pdf 2https://micasense.github.io/imageprocessing/MicaSense%20Image%20Processing%20Setup.html 3https://pubs.usgs.gov/of/2021/1039/ofr20211039.pdf

54 ENVIRONMENTAL SCIENCES↗

Multispectral and thermal surface imagery and surface elevation mosaics - SGP July 2022

This data set contains high-resolution image products (orthomosaics) acquired from midsized uncrewed aerial systems that have been processed for value-added quality. The instrument itself, a multispectral imager, the Altum by Micasense, captures six spectral bands (red, green blue, NIR, red edge, and LWIR/thermal1) as radiance, which is converted to reflectance via custom code. The code used to develop these images first uses tools from the Micasense Python library2 to apply dark level corrections, row gradient corrections, and radiometric corrections. Next, it uses the processing API from Agisoft Metashape software to align and mosaic the processed imagery, following the processes developed by the USGS' structure from motion workflow documentation.3 Captures at different altitudes (recorded in MSL) produce an orthomosaic, a tif image containing information related to the six spectral bands, and a digital elevation model (DEM), a tif image containing information related to the elevation of the surveyed terraine. Metadata included in every image can be used to extract lat, lon, and reflectance values. 1 https://www.arm.gov/publications/tech_reports/handbooks/doe-sc-arm-tr-281.pdf 2 https://micasense.github.io/imageprocessing/MicaSense%20Image%20Processing%20Setup.html 3 https://pubs.usgs.gov/of/2021/1039/ofr20211039.pdf

54 ENVIRONMENTAL SCIENCES↗

Multispectral and thermal surface imagery and surface elevation mosaics - Pendleton Feb 2023

This data set contains high-resolution image products (orthomosaics) acquired from midsized uncrewed aerial systems that have been processed for value-added quality. The instrument Altum multispectral imager by Micasense, captures in six bands (blue - 475nm, green - 560nm, red - 668nm, red edge - 717nm, near-infrared - 840 and LWIR/thermal - 11000nm. The optical bands are converted to reflectance via custom code using the instantaneous band horizontal irradiance ratio to the radiance of the pixel. The code used to develop these images first uses tools from the Micasense Python library to apply dark level corrections, row gradient corrections, and radiometric corrections. Next, it uses the processing API from Agisoft Metashape software to align and mosaic the processed imagery, following the processes developed by the USGS' structure from motion workflow documentation. Captures from different altitudes are used to produce an orthomosaic at each height. A tif image containing information related to the six spectral bands, and a digital elevation model (DEM), a tif image containing information related to the elevation of the surveyed terrain. 1 https://www.arm.gov/publications/tech_reports/handbooks/doe-sc-arm-tr-281.pdf 2 https://micasense.github.io/imageprocessing/MicaSense%20Image%20Processing%20Setup.html 3 https://pubs.usgs.gov/of/2021/1039/ofr20211039.pdf

54 ENVIRONMENTAL SCIENCES↗