pyRS: a user-friendly package for the reduction and analysis of neutron diffraction data measured at
Explore the source record for details and available documents.
SEARCH · Engineering Papers
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.
Explore the source record for details and available documents.
We present PyOECP, a Python-based flexible open-source software for estimating and modeling the complex permittivity obtained from the open-ended coaxial probe (OECP) technique. The transformation of the measured reflection coefficient to complex permittivity is performed based on two different models, including the capacitance model and the antenna model. The software library contains dielectric spectra of common reference liquids, which can be used to transform the reflection coefficient into the dielectric spectra. Several Python routines that are commonly employed (e.g., SciPy and NumPy) are only required so that the users can alter the software structure depending on their needs. The modeling algorithm exploits the Markov chain Monte Carlo method for the data regression. The discrete relaxation models can be built by a proper combination of well-known relaxation models. In addition to these models, the electrode polarization, which is a common measurement artifact for interpreting the dielectric spectra, can be incorporated in the modeling algorithm. A continuous relaxation model, which solves the Fredholm integral equation of the first kind (a mathematically ill-posed problem) is also included.
While the Experimental Physics and Industrial Control System (EPICS) is widely used at large laboratories for slow controls and instrumentation, the deployment of a full EPICS installation can be difficult, with a steep learning curve to new users. Taking advantage of the pythonSoftIOC module, we developed an EPICS slow controls implementation for Jefferson Lab's Hall B cryotarget written entirely in Python and based on software IOCs that communicate with instruments over Ethernet. Here, this system ran successfully, interfacing with Jefferson Lab's full EPICS network, and we offer it as an example of the capabilities of pythonSoftIOC to build lightweight, yet robust and flexible instrumentation platforms that would be easily adapted for use at a small-scale laboratory. University groups can use these examples to build complete slow controls systems, from device communication to data archiving and display, using open-source, mature EPICS tools and student-friendly Python as an alternative to expensive and proprietary systems such as LabVIEW.
The Evaluated Gamma-ray Activation File (EGAF) is one of the most comprehensive resources for thermal neutron-capture data. This database contains data from prompt gamma activation analysis measurements carried out in a consistent manner using the same experimental configuration at the Budapest Research Reactor for 245 isotopes. Although these valuable datasets have been freely available for many years, one of the drawbacks is the outdated and cryptic Evaluated Nuclear Structure Data File (ENSDF) format that is currently adopted for dissemination, making it difficult for users unfamiliar with the format to access and utilize the data contained therein. Furthermore, the ENSDF format does not readily lend itself to modern computational technologies and a parser is required to interpret the complicated mixed-record format. To help overcome these challenges, we have developed a translator to convert the ENSDF-formatted datasets into an open standard JavaScript Object Notation (JSON) format enabling accessibility to applications using different programming languages running in different environments. To compliment this effort, we have also developed an open-source software package implemented in Python, pyEGAF, that is designed to interact with the JSON data structures for general purpose access, manipulation, and analysis of the neutron-capture $\gamma$-ray data in EGAF. The new format, together with the pyEGAF library, greatly enhances access to the wider applications community where EGAF data may be useful or is required.
There are generally three types of scientific software users: users that solve problems using existing science software tools, researchers that explore new approaches by extending existing code, and educators that teach students scientific concepts. Python is a general-purpose programming language that is accessible to beginners, such as students, but also as a language that has a rich scientific programming ecosystem that facilitates writing research software. Additionally, as high-performance computing (HPC) resources become more readily available, software support for parallel processing becomes more relevant to scientific software.There currently are no Python-based evolutionary computation frameworks that support all three types of scientific software users. Moreover, some support synchronous concurrent fitness evaluation that do not efficiently use HPC resources. We pose here a new Python-based EC framework that uses an established generalized unified approach to EA concepts to provide an easy to use toolkit for users wishing to use an EA to solve a problem, for researchers to implement novel approaches, and for providing a low-bar to entry to EA concepts for students. Additionally, this toolkit provides a scalable asynchronous fitness evaluation implementation friendly to HPC that has been vetted on hardware ranging from laptops to the world’s fastest supercomputer, Summit.
Due to software fragmentation, PV system modeling teams can be limited to language specific packages, preventing cross-sectional analysis of different modeling techniques and workflows. To this end, PVplr, a popular PV performance modeling R software package, has been ported to the Python programming language. To verify and test the robustness of the port, NSRDB data has been used to simulated PV installations at native resolution (~2 million Sites), with a variety of degradation rates, degradation patterns, and modules. Performance Ratios were calculated using the ported functions from pvplr-python and compared against Rdtools YoY values. Due to the complicated nature of degradation, a new metric has been proposed to quantify the performance loss of a system. The cumulative production loss, is the total amount of energy lost due to the degrading performance of the system. Cumulative production loss alleviates the problems with fitting linear functions to non-linear degradation. Cumulative Production loss was shown to better estimate the total lost revenue for non-linear degradation patterns. $XbX + UTC$ was found to most accurately predict the total lost revenue in simulated systems.
This research discusses development of a software-controlled laboratory instrument based spread spectrum time domain reflectometry system (SSTDR). This constitutes one task within PNNL’s Light Water Sustainability Program (LWRS) whose mission includes advancing nondestructive examination (NDE) techniques for off-line and on-line in-situ cable condition monitoring. In 2022, PNNL evaluated SSTDR for detection and characterization of a number of cable anomalies (Glass et al. 2022). The review included comparison of SSTDR to Frequency Domain Reflectometry (FDR) techniques which have enjoyed encouraging feedback and are starting to be used in nuclear power plants for periodic cable condition monitoring of cable systems as part of the plant’s overall cable aging management program. The FDR test introduces a broad-band chirp onto the cable at the cable end then listens for any reflection from a change of impedance along the cable caused by a damaged conductor or insulation, splices, contact with moisture, or other cable anomalies. The signal is captured in the frequency domain then transformed back to the time domain using an inverse Fourier transform (IFT). Based on the velocity of propagation, the impedance response signal is plotted against distance along the cable. Peak locations along the X-axis indicate the distance along the cable where a portion of the signal has been reflected back to the instrument as a result of a cable anomaly. The FDR test is considered the gold standard of reflectometry however it does require the cable to be de-energized to perform the test. The LIVEWIRE commercial SSTDR produces a similar plot to the FDR however all processing is in the time domain. A pseudo-random noise code (PN code) is input onto the cable conductor and the instrument listens for any reflected response from cable anomalies. The SSTDR processes the signal as an autocorrelation comparing the input PN code to any reflected signal detected. The autocorrelation analysis for thermal aging, water and water ingress detection, ground fault and phase-to-phase fault detection at various locations along the cable and with the cable attached and detached from a motor load, and on both energized and un-energized conditions were performed. These results were contrasted to Frequency Domain Reflectometry (FDR) measurements of the un-energized cable. Results were encouraging but indicated more work was warranted – particularly with the SSTDR, it seemed that the insulation damage would likely be better evaluated with multiple bandwidth cable tests particularly including larger bandwidths than were possible with the current commercial instrument. The commercial instrument’s bandwidth was set at 6, 12, 24, and 48MHz but note that SSTDR and FDR definitions of bandwidth trend similarly but are not the same. The FDR response could be more broadly adjusted, and the bandwidth of 100 to 500 MHz produced the best responses. FDR responses to anomalies were clearer than SSTDR responses and indications were that a broader bandwidth SSTDR may lead to improved SSTDR detection capability. This project used a laboratory instrument based SSTDR (primarily using an Arbitrary Waveform Generator (AWG) and a digital oscilloscope plus Python in-house software) that allowed software adjustment of the SSTDR bandwidth, window functions applied to the exciting Pseudo-random Noise (PN) code plus and other aspects of the SSTDR signal processing. Hereafter, this will be referred to as the PNNL SSTDR. Evaluating specific performance of the PNNL SSTDR is left to a separate report. This report documents hardware and software development to produce the SSTDR cable test system.
We propose a framework to develop cyber solutions to support the remote steering of science instruments and measurements collection over instrument-computing ecosystems. It is based on provisioning separate data and control connections at the network level, and developing software modules consisting of Python wrappers for instrument commands and Pyro server-client codes that make them available across the ecosystem network. We demonstrate automated measurement transfers and remote steering operations in a microscopy use case for materials research over an ecosystem of Nion microscopes and computing platforms connected over site networks. The proposed framework is currently under further refinement and being adopted to science workflows with automated remote experiments steering for autonomous chemistry laboratories and smart energy grid simulations.
Deep learning tools for enhancing the spatial resolution of wind data. The software is developed in Python using the TensorFlow deep learning package. Models for diversity super-resolution is provided. Included in the package are pretrained models with example code/data to perform the super-resolution as well as tools of training models for different enhancement- or data-types. The super-resolution is an inherently ill-conditioned problem, with multiple high-resolution fields plausibly mapping to the same coarse field. Considitional GANs provide a framework for generating a distribution of high-resolution realizations from a given low-resolution input. Stochastic estimation is used to inform the network of the expected degree and location of sub-grid diversity. The package includes a pretrained network to generate distributions of 10x-enhanced fields of wind data.
The Radiological Anomaly Detection and Identification (RADAI) software package is a python library for implementing, training, and storing algorithms that detect and identify anomalies in gamma-ray spectra. The library defines a general framework for implementing detection (binary) and identification (classification) algorithms, objects to encapsulate the results of analyses, a variety of temporal filtering tools that can be used in constructing algorithms, and conceptual design that allows easy reading and writing of algorithms (and their time dependent state). In addition to this framework, the library includes implementations of a variety of algorithms from the scientific literature including: gross-counts k-sigma, SPRT, N-SCRAD, Region of Interest, and Censored Energy Window. The implementation of these algorithms within the RADAI package was done to facilitate user-initiated training and configuration to by applied to different gamma-ray detector types. Finally, benchmarked and synthetic datasets will be made available for standardized algorithm characterization with corresponding utilities in the RADAI package for data access and processing.
dbprocessing is a python framework for automating data processing pipelines. The dbprocessing package uses a configuration file to define the input, intermediate, and output data products for a particular data type as well as the processes that connect those data products. In addition, dbprocessing uses python scripts called inspectors to determine if a particular file matches a configured data product. If a particular data product is found, it is ingested into the dbprocessing database (sqlite3 or postgres) which then triggers all of the chained processes to the final data product. While the framework is written in python, it can run software in any language but may require a “wrapper” to translate the dbprocessing command line arguments to the form expected by the software.
This software implements a one-dimensional model of a supercapacitor and calibrates it to experimental data. A system of coupled partial differential equation models the salt concentration and the ionic and electronic potentials. The term in the equation modeling the capacitance contains a neural network, whose parameters are optimized to fit the provided experimental data. The software is written in python using the open-source library JAX to calculate the gradients needed for the optimization.
The software provides machine learning analysis and visualization to detect patterns in microbiome data, including topic modeling, probabilistic graphical modeling, conventional machine learning methods, and deep learning. The software is written in python and R, it uses some python and R libraries as well as big open-source libraries like sklearn, networkX, pytorch (python), pgmpy (python), and bnlearn (R). It also has a script to use for MALLET and DTM (open-source packages for topic modeling, written in Java).
The software provides machine learning analysis and visualization to detect patterns in epigenetic data, including conventional machine learning and statistical methods, and open-source packages like pyBigWig (https://github.com/deeptools/pyBigWig) for data processing. The software is written in python, it uses some python libraries.
SAND2024-10158O Python HITMIX is a software package for computing hitting time moments of vertices in a graph. Hitting time moments can be used to rank the strengths of relationships between vertices in a graph. Examples are provided for computing and using hitting time moments on generic graphs and similarity graphs arising from the analysis of text documents in information retrieval applications. 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.
The WEBAT (Wind Energy with Bat AI-based Tracker) is a Python-based bat tracking software, integrating machine learning and computer vision with infrared thermal sensors to enhance the monitoring and protection of bats in proximity to wind turbines.
This data was collected between October 12 and December 15 of 2021 at the University of New Hampshire (UNH) and Atlantic Marine Energy Center (AMEC) turbine deployment platform (TDP). This data set includes over 29 days of grid connected turbine operation during this 65 day time frame. The priority for this measurement campaign was to collect data while the turbine was electrically connected to the grid by means of a rectifier and inverter. The Fall_2021_UNH_Measurement_Timeline.png highlights when each instrument was functioning and the Fall_2021_UNH_Test_Log.jpg indicates the four main regions for analysis available from this measurement campaign. The TDP is a floating structure moored on the Portsmouth facing side of Memorial Bridge pier #2, which spans the Piscataqua River between Portsmouth, NH and Kittery, ME. The Piscataqua River connects the Great Bay Estuary to the Gulf of Maine and the river currents are dominated by tidal forcing with water velocities exceeding 2.5 m/s during spring ebb tides at this site which were previously characterized by Kaelin Chancey (Assessment Of The Localized Flow And Tidal Energy Conversion System At An Estuarine Bridge - UNH MS Thesis 2019). The turbine under test was a modified New Energy Corporation (Calgary, CA) model EVG-025 4-blade H-Darrius type vertical axis cross flow turbine that rotates in the clockwise direction with a rotor diameter of 3.2m and blade length of 1.7m. The hydro-foil profile was a NACA 0021 with a 10 inch chord length and a blade preset pitch angle of +4deg with a positive angle corresponding with the toe in direction. The standard EVG-025 has a rotor diameter of 3.4m and its rated power output is 25kW at 3 m/s. The rotor diameter was reduced to accommodate the size of the existing TDP moon-pool. This project was pursued to quantify device performance for cross flow turbines operating in a marine environment. Accurate physical models, to characterize cross flow turbine performance, require real operational data sets due to the complexity of blade fluid interactions. This data can help support model development which will help predict turbine performance when analyzing perspective project locations in the future. Instrumentation was deployed to measure; water speed/direction, electrical power output, turbine shaft speed, turbine thrust force, and platform motion. Concurrent measurements of these parameters allow for correlations (cause and affect) to be inferred, allowing for characterization of device performance over a range of operating conditions. Water currents were measured using Acoustic Doppler Current Profilers (ADCP's) and Acoustic Doppler Velocimeters (ADV's) directly upstream and downstream of the turbine for inflow, wake and turbulence measurements. Electrical power output was measured using the Voltsys rectifier and the Shark power meter. Shaft speed was calculated based on the Voltsys measurements of the permanent magnet three phase generator AC generation frequency, coupled directly to the cross flow turbine under test (i.e., no gear box). Platform motions were captured using a Yost IMU (inertial measurement unit). Turbine thrust loading was measured using a reaction arm about the turbine deployment platform spanning beam, where two bi-directional load cells were connected to the system via a pinned connection. This submission includes zipped folders for each instrument containing quality controlled (QC'd) data in daily .csv files for the relevant duration specific to each instrument, along with separate .csv file that contains the units for each variable. Some instrument daily files are quite large and can pose a challenge for a visual spreadsheet editor to open. A processing software like MATLAB or Python is recommended. Note the degree of QC varied between each instrument due to time constraints. Particular time and attention was given to perform quality control tests on the acoustic based instruments that are particularly suscep...
This data was collected between October 25 and December 12 of 2022 at the University of New Hampshire (UNH) and Atlantic Marine Energy Center (AMEC) turbine deployment platform (TDP). The goal was to collect blade strain data from a crossflow turbine operating in a tidal flow. A table in ('Deployment Schedule.PNG') outlines the various dates when each instrument was operational, and more details can be found via literature listed in 'Related Publications'.txt. This dataset includes zipped folders for each instrument containing data in .csv files for the relevant duration specific to each instrument, along with separate README file for each measurement. Some instrument files are quite large and can pose a challenge for a visual spreadsheet editor to open. A processing software like MATLAB or Python is recommended. All data contained in this submission is unfiltered/unprocessed data unless otherwise noted in the README file. Blade strain was measured using 8 foil-based strain gauges along the span of a single turbine blade. Water currents were measured using Acoustic Doppler Current Profilers (ADCP's) and Acoustic Doppler Velocimeters (ADV's) both upstream and downstream of the turbine for inflow, wake and turbulence measurements. Electrical power output was measured using the Voltsys rectifier. Shaft speed was calculated based on the Voltsys measurements of the permanent magnet three phase generator AC generation frequency, coupled directly to the cross flow turbine under test (i.e., no gear box). Platform motions were captured using a Yost IMU (inertial measurement unit). Turbine thrust loading was measured using a reaction arm about the turbine deployment platform spanning beam, where two bi-directional load cells were connected to the system via a pinned connection. The TDP is a floating structure moored on the Portsmouth facing side of Memorial Bridge pier #2, which spans the Piscataqua River between Portsmouth, NH and Kittery, ME. The Piscataqua River connects the Great Bay Estuary to the Gulf of Maine and the river currents are dominated by tidal flow with water velocities exceeding 2.5 m/s during spring ebb tides at this site which were previously characterized by Chancey 2019. The turbine under test was a modified New Energy Corporation (Calgary, CA) model EVG-025 4-blade H-Darrius type vertical axis cross flow turbine that rotates in the clockwise direction with a rotor diameter of 3.2m and blade length of 1.7m. The hydro-foil profile was a NACA 0021 with a 10 inch chord length and a blade preset pitch angle of +4deg with a positive angle corresponding with the toe in direction. The standard EVG-025 has a rotor diameter of 3.4m and its rated power output is 25kW at 3 m/s. The rotor diameter was reduced to accommodate the size of the existing TDP moon-pool. A single blade of this turbine was further modified to accommodate 8 full-bridge strain gauges (Bharath et al 2023, Bichanich et al 2024). For power performance and other relevant details on the turbine and its characteristics, see O'Byrne 2022.