Search NASA⌕ Search

SEARCH · Search NASA

Results for “programing languages”

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 505 records · Page 28

Biclique: an R package for maximal biclique enumeration in bipartite graphs

Bipartite graphs are widely used to model relationships between pairs of heterogeneous data types. Maximal bicliques are foundational structures in such graphs, and their enumeration is an important task in systems biology, epidemiology and many other problem domains. Thus, there is a need for an efficient, general purpose, publicly available tool to enumerate maximal bicliques in bipartite graphs. The statistical programming language R is a logical choice for such a tool, but until now no R package has existed for this purpose. Our objective is to provide such a package, so that the research community can more easily perform this computationally demanding task. Biclique is an R package that takes as input a bipartite graph and produces a listing of all maximal bicliques in this graph. Input and output formats are straightforward, with examples provided both in this paper and in the package documentation. Biclique employs a state-of-the-art algorithm previously developed for basic research in functional genomics.

97 MATHEMATICS AND COMPUTING↗

SEGUID v2: Extending SEGUID checksums for circular, linear, single- and double-stranded biological sequences

Background Synthetic biology involves combining different DNA fragments, each containing functional biological parts, to address specific problems. Fundamental gene-function research often requires cloning and propagating DNA fragments, such as those from the iGEM Parts Registry or Addgene, typically distributed as circular plasmids. Addgene’s repository alone offers around 150,000 plasmids. To ensure data integrity, cryptographic checksums can be calculated for the sequences. Each sequence has a unique checksum, making checksums useful for validation and quick lookups of associated annotations. For example, the SEGUID checksum uniquely identifies protein sequences with a 27-character string. Objectives The original SEGUID, while effective for protein sequences and single-stranded DNA (ssDNA), is not suitable for circular DNA since there is no natural starting position nor for double-stranded DNA (dsDNA) since two separate sequences are present. Challenges include how to uniquely represent linear dsDNA, circular ssDNA, and circular dsDNA. To meet these needs, we propose SEGUID v2, which extends the original SEGUID to handle additional types of sequences. Conclusions SEGUID v2 produces orientation and rotation invariant checksums for single-stranded, double-stranded, possibly staggered, linear, and circular DNA and RNA sequences. Customizable alphabets allow for other types of sequences. In contrast to the original SEGUID, which uses Base64, SEGUID v2 uses Base64url to encode the SHA-1 hash. This ensures SEGUID v2 checksums can be used as-is in filenames, regardless of platform, and in URLs, with minimal friction. Availability SEGUID v2 is readily available for major programming languages, distributed under the MIT license. JavaScript package seguid is available on npm, Python package seguid on PyPi, R package seguid on CRAN, and a Tcl script on GitHub. These tools, along with documentation, examples, and an online SEGUID Calculator , can be found at https://www.seguid.org .

Pereira, Humberto↗

Community Based Data of Uranium Adsorption onto Quartz

This data upload includes a compilation of experiments for quantifying uranium adsorption onto quartz. The provided .csv file has been compiled from the literature in a findable, accessible, interoperable, reusable (FAIR) data format. This was accomplished using the Lawrence Livermore National Laboratory Surface Complexation Database Converter (SCDC) code written in the R programming language (free licensing available at https://ipo.llnl.gov/technologies/software/llnl-surface-complexation-database-converter-scdc). This constitutes all current data compiled on uranium-quartz interactions in the L-SCIE (LLNL Surface Complexation/Ion Exchange) database (as of 02/28/2022). This data was used to develop surface complexation models that fit the global community dataset (https://doi.org/10.1021/acs.est.1c07109). The FAIR-formatted dataset also enables the implementation of alternative machine-learning approaches that can be explored in the future.

54 ENVIRONMENTAL SCIENCES↗

Community Based Data of Potentiometric Titration of Iron Oxides: Ferrihydrite (HFO), Goethite, Hematite, Magnetite

This data release includes experimental data of potentiometric titration for iron oxides. The data in the provided .csv files is not our own experimental data but have been compiled from the multiple literature sources. The master database is L-SCIE (LLNL Surface Complexation/Ion Exchange) database, and the provided .csv files are extracted data from L-SCIE. The .csv files were obtained by using the Lawrence Livermore National Laboratory Surface Complexation Database Converter (SCDC) code written in the R programming language (free licensing available at https://ipo.llnl.gov/technologies/software/llnl-surface-complexation-database-converter-scdc).The released data was used for developing a comprehensive community data-driven surface complexation modeling (SCM) framework for simulating potentiometric titration of mineral surfaces. Compiled community data for ferrihydrite, goethite, hematite, and magnetite are fit to produce representative protolysis constants that can reproduce potentiometric titration data collected from multiple literature sources.

54 ENVIRONMENTAL SCIENCES↗

Classification of River Catchments in the Contiguous United States: Code, Dataset, Similarity Patterns, and Resulting Classes

This dataset serves as supplementary information for the paper by Ciulla F. and Varadharajan C. A Network Approach for Multiscale Catchment Classification using Traits (see reference 1). It contains environmental and physical catchment traits, such as temperatures, precipitation, land use and human interference, from 9067 sites across the contiguous United States (CONUS). The purpose of this dataset is to provide information for a better trait-based categorization of river catchments in the CONUS using networks as an analytical tool. The traits variables match the ones present in the GAGES-II dataset and the preprocessing steps are described in the Methods section (processed_dataset.csv). Additionally we include the topologies (nodes, edges and clusters, also referred as classes) of the catchment network and traits network generated by said dataset (csv and json files). A series of tables support the information carried by the network providing more detailed descriptions of cluster components (SI1.pdf). A summary of all the plots of clusters of catchments with at least 50 nodes is provided (SI2.pdf). The characteristic traits for each cluster of catchments is presented as z-score (traits_categories_zscores_per_catchment_class.csv). The link to the hydrological behavior of clusters of catchments is displayed by boxplots, each describing a particular river discharge index (SI3.pdf). Both csv and json files can be read by common text editors but the data contained into them can be better handled using programming languages like python and database oriented libraries like pandas. Pdf files can be read by any pdf reader software.[02-23-2024] Update: The code and datasets necessary to reproduce the results of the study are available as a zipped repository (code_datasets_catchments_similarity.zip).

54 ENVIRONMENTAL SCIENCES↗

Building heights and urban canopy parameters for urban modeling

GLObal Building heights for Urban Studies (UT-GLOBUS) is a random forest model based framework that provides a level-of-detail-1 (LoD-1) building height dataset. The primary objective of UT-GLOBUS is not to precisely predict the height and footprint of individual buildings, but rather to offer a functional framework for generating building level information using open-source datasets for modeling applications. Specifically, UT-GLOBUS is tailored to meet the requirements of deriving urban canopy parameters (UCPs) for the multi-layer model within the Weather Research and Forecasting (WRF) model and building heights for the SOLWEIG and SUEWS model. Building-level data is accessible in vector file format (GeoPackage: .gpkg), which can be converted into raster file format (geoTIFF). The vector files employ the Universal Transverse Mercator (UTM) projection. The vector files are compatible with GIS platforms like QGIS and ArcGIS, and can be imported for analysis using programming languages such as Python. We are also providing UCPs required by the multi-layer urban model in the urban WRF in binary file format. Additionally, we provide the urban fractions calculated using ESA world cover dataset (https://esa-worldcover.org/en) for WRF model in binary file format. These binary files can be directly incorporated into the WRF pre-processing system (WPS).

54 ENVIRONMENTAL SCIENCES↗

Litter Production and Foliar Nutrient Resorption in Pioneer and Non-Pioneer Species in a Selective Logging Experiment in the Central Amazon, BIONTE, ZF-2, Manaus, 2022-23

This dataset was collected near the city of Manaus, Brazil, at the Experimental Station of Tropical Forestry (EEST, aka “ZF2”), inside the BIONTE (BIOmass and NuTrient Experiment). The experiment included three levels of increasing selective logging intensity, along with control, with 1-hectare permanent plots (12 total) located at the center of 4-hectare treatment plots. The vegetation has a high floristic diversity, the soils of the region are poor in nutrients, and the topography is characterized by plateaus (where BIONTE is located), and also valley bottoms and slopes. Three treatments of differing logging intensities were applied in the BIONTE experiment (T1, T2 and T3). The study was conducted in Treatment 3 (Block I – permanent plot), which represents the most intensive logging treatment, with 69% of the basal area (m²∙ha⁻¹) removed in 1988. The present dataset spans the period from May 1, 2022, to May 1, 2023. The data package includes leaf_nutrient_data, litterfall_total_data, leaf_litterfall_species_specific_data, and species_info, all provided in .csv format. These formats allow users to process and analyze the data in various software applications and programming languages, such as Python and R. This dataset was collected to advance knowledge on nutrient cycling in Amazonian forests, specifically distinguishing between species with two distinct functional traits: fast-growing and slow-growing. It also aims to improve Earth System Models, such as the E3SM Functionally Assembled Terrestrial Ecosystem Simulator (FATES). Additionally, it was used in a paper currently in preparation (Carvalho et al., in prep.), which aims to quantify seasonal litter production and foliar nutrient resorption in pioneer (fast-growing) and non-pioneer (slow-growing) tree species in the central Amazon. Specifically, it seeks to answer two key questions: 1) Is there a difference in leaf litter production, leaf nutrient flux and leaf nutrient concentration between pioneers and non-pioneers species? Is there a difference in the efficiency of foliar nutrient resorption between pioneers and non-pioneers species?

54 ENVIRONMENTAL SCIENCES↗

Comparative analysis of nutrient concentrations in generalist and specialist tree species and soils, Manaus, Brazil

This dataset was collected near Manaus, Brazil, at ZF-2 site, inside the North-South transect plots from 20221011 to 20221020. Measurements were made on specialists and generalist tree species along topographic gradient (in upland high-clay content soils of plateaus and high sandy content and partially flooded soils of valleys). We selected nine species (with four replicates each, totaling 35 individuals) occurring in different topographic positions: three plateau specialists, three valley specialists, and three generalists, where leaf and trunk samples were collected from each individual, and soil samples for carbon and nutrient analysis and quantification. Three soil pits were opened around each sample tree, about one meter apart (total of 105 soil pits each 60-cm deep), where soil samples were collected at four depths: 0-5, 5-10, 10-30 and 30-50 cm. In each of the three pits around each tree, one single sample was taken at each depth and combined to obtain a composite sample per depth per individual tree (35 trees × 4 depths = 140 soil samples). The files “Plant_Nutrient_Concentrations_NS_Transect_Manaus.csv” and “Soil_Nutrient_Concentrations_NS_Transect_Manaus.csv” contain the nutrient concentration data from plant and soil material, respectively. Additionally, the file “Sample_Info.csv” contains details about each variable including units and data type. The file “Species_Info.csv” includes information about each sampled individual, such as species, family, diameter at the breast height (DBH), and more. The dataset is ready to be used in any programming language like python or R. This dataset was originally published on the NGEE Tropics Archive and is being mirrored on ESS-DIVE for long-term archival Acknowledgement: Funding for NGEE-Tropics data resources was provided by the U.S. Department of Energy Office of Science, Office of Biological and Environmental Research.

54 ENVIRONMENTAL SCIENCES↗

OpenOA: An Open-Source Codebase For Operational Analysis of Wind Farms

OpenOA is an open source framework for operational data analysis of wind energy plants, implemented in the Python programming language. OpenOA provides a common data model, high level analysis workflows, and low-level convenience functions that engineers, analysts, and researchers in the wind energy industry can use to facilitate analytics workflows on operational data sets. OpenOA contains documentation, worked out examples in Jupyter notebooks, and a corresponding example dataset from the Engie Renewable’s La Haute Borne Dataset.

17 WIND ENERGY↗

cppTPSA/pyTPSA: a C++/Python package for truncated power series algebra

The truncated power series algebra (TPSA), also referred to as differential algebra (DA), is a well-established and widely used method in particle accelerator physics and astronomy. The most straightforward usage of TPSA/DA is to calculate the Taylor expansion of a given function at a specific point up to order ?. In recent years, as the application of TPSA/TA has been extended to other fields, a reusable implementation of TPSA/DA as a modern C++ library or other high level programming language like Python has become desirable. The cppTPSA package implements TPSA/DA in C++11 and provides developers a convenient library with which to build advanced TPSA/DA-based methods. A Python 3 library, pyTPSA, has also been developed based on the C++ lib.

97 MATHEMATICS AND COMPUTING↗

pyTCR: A tropical cyclone rainfall model for python

pyTCR is a climatology software package developed in the Python programming language. It integrates the capabilities of several legacy physical models and increases computational efficiency to allow rapid estimation of tropical cyclone (TC) rainfall consistent with the large-scale environment. Specifically, pyTCR implements a horizontally distributed and vertically integrated model [Zhu et al., 2013] for simulating rainfall driven by TCs. Along storm tracks, rainfall is estimated by computing the cross-boundary-layer, upward water vapor transport caused by different mechanisms including frictional convergence, vortex stretching, large-scale baroclinic effect (i.e., wind shear), topographic forcing, and radiative cooling [Lu et al., 2018]. The package provides essential functionalities for modeling and interpreting spatio-temporal TC rainfall data. pyTCR requires a limited number of model input parameters, making it a convenient and useful tool for analyzing rainfall mechanisms driven by TCs. To sample rare (most intense) rainfall events that are often of great societal interest, pyTCR adapts and leverages outputs from a statistical-dynamical TC downscaling model [Lin et al., 2023] capable of rapidly generating a large number of synthetic TCs given a certain climate. As a result, pyTCR significantly reduces computational effort and improves the efficiency in capturing extreme TC rainfall events at the tail of the distributions from limited datasets. Furthermore, the TC downscaling model is forced entirely by large-scale environmental conditions from reanalysis data or coupled General Circulation Models (GCMs), simplifying the projection of TC-induced rainfall and wind speed under future climate using pyTCR. Finally, pyTCR can be coupled with hydrological and wind models to assess risks associated with independent and compound events (e.g., storm surges and freshwater flooding).

54 ENVIRONMENTAL SCIENCES↗

solposx: A Python package for determining solar position and atmospheric refraction

solposx is a Python package of reference algorithms for calculating the sun’s position and atmospheric refraction. The package includes 11 solar position algorithms and 6 refraction models from the past 50 years. All functions follow a standardized design pattern, making it easy to compare different algorithms. The provided algorithm implementations have been thoroughly vetted, making the package a valuable research tool and a reliable reference for implementing solar position algorithms in other programming languages or applications.

Jensen, Adam R. [Technical University of Denmark, ↗

A simple json format for storing and exchanging code calculation and experimental results

Calculation codes and code systems give their results in a plethora of different formats and/or files. For instance, MCNP gives a user the MCNP specific output file, the mctal file, the ptrac file, etc. while PARTISN has a PARTISN specific output file and a number of binary files with various kinds of information about the calculation. However, the results we are interested in are always the same. These can be single values such as the effective multiplication factor k eff or the effective delayed neutron fraction β eff . It can be histogram data (such as particle spectra, reaction rates, sensitivity profiles, etc.) or even pointwise data (for example the nuclide composition as a function of time, etc.). It is also worthwhile to note that this would also apply to experimental data that we may wish to compare with as well. Calculation and experimental results can basically be split into two components: attributes (or metadata) and the actual result itself. Attributes represent information about the result that are not necessarily required for its’ interpretation but that are still good to have. Often, these attributes are what we will want to filter results on. This means that these attributes are often the answer to specific questions we may have about the result. The following is a non exhaustive list of such basic questions: what type of result is it: e.g. the effective multiplication factor k eff , the effective delayed neutron fraction β eff , etc.; which case does it relate to: e.g. a specific ICSBEP case such as PU-MET-FAST-001-001; which code and version produced this result: e.g. MCNP 6.2, etc.; which nuclear data library was used to obtain the result: e.g. ENDF/B-VIII.0 or JEFF 3.3; which nuclide and reaction does it apply to (for reaction rates and sensitivity profiles); which volume in the geometry was it calculated in? The second component of the calculation or experimental result is the actual numerical data of the result. It is this data that we want to compare, exchange, plot, interpret, etc. It consists of values with optional uncertainties and units. It also includes the underlying structure (if any structure is required to interpret the result). Depending on the type of result, it may be a single value (e.g. the effective multiplication factor), an array of values (e.g. a reaction rate or particle spectrum) or even a multidimensional array. In order to exchange results between different organisations, for instance for benchmarking, people often resort to spreadsheets or custom text files that need to be filled out. While this approach works well if little information is to be exchanged, it can become cumbersome when dealing with large amounts of data (like for instance particle spectra for thousands of cases). In addition, such an approach does not always capture the metadata we may be interested in to allow for automated processing of these files. The purpose of this report is to propose a standardised json structure to store any type of result and present an associated python interface to interact with these results directly. For such a structure to be useful, it must fulfill a specific set of functional requirements that we try to meet with this proposal. The format must allow for the calculation result to stand by itself. This means that we should not have to look in multiple places to be able to understand it. For example, if the result relates to a particle spectrum, the group structure in which the result is given should be stored with it. The format should be code agnostic. This means that we do not need to know where it came from to understand it. The format should be result type agnostic. This means that the format must be generic enough so that we can even use it for results we have not thought of yet. The format should be relatively easy to interact with through different scripting or programming languages (i.e. the machine interface) while still providing a clean structure that can be used directly by any human.

97 MATHEMATICS AND COMPUTING↗

CRADA Final Report: Open Microgrid Platform

Current microgrid control technology is mostly proprietary, expensive, and inflexible. An open-source, vendor-neutral, publish-subscribe controller will significantly lower the barrier to entry for new technologies and market entrants: inverter, battery, and load control manufacturers; cloud and services providers; and energy aggregators. An OpenFMB controller can significantly reduce the acquisition, integration, and ongoing operating and maintenance costs and increase revenue opportunities for energy producers and consumers. It allows distributed energy resource (DER) owners to replace individual DER components as richer-function, lower-cost devices become available or to incorporate new forecast and optimization algorithms as they are developed. A standard, secure, full-function DER field controller will also provide a low-cost means for grid operators to effectively manage the variability and uncertainty of solar photovoltaics (PV). Under the terms of this CRADA, ORNL has worked with Open Energy Solutions (OES) to advance the transition of ORNL’s existing open-source microgrid controller into a platform geared toward mainstream implementation. Using a more prevalent and memory-safe programming language, Rust, OES has converted ORNL’s current generation on-grid optimization into an application more suitable for industry use. The results of the ported optimization were analyzed by inputting the same arguments in both the current-generation and next-generation optimizers and verifying that the results were equivalent.

24 POWER TRANSMISSION AND DISTRIBUTION↗

The GABLE Report: Garbled Autonomous Bots Leveraging Ethereum

Simple but mission-critical internet-based applications that require extremely high reliability and availability could potentially benefit from running on robust public programmable blockchain platforms such as Ethereum. Unfortunately, program code running on such blockchains is ordinarily publicly viewable, rendering these platforms unsuitable for applications requiring strict privacy of application code, data, and results. However, might it be possible to encode an application's business logic and data for these platforms in such a way that it becomes impossible for unauthorized parties to infer any meaningful information whatsoever about the semantics of the data, and the operations being performed on that data? In this report, we describe GABLE (Garbled Autonomous Bots Leveraging Ethereum), a system concept developed at Sandia that achieves this security goal in a limited, but still useful range of circumstances. GABLE, uses simple but effective algorithms to permit secure private execution of garbled state machines (and more efficient garbled circuits) on public computing resources. We give an example working implementation for garbled state machines, written using the Python and Solidity programming languages, and outline how our methods can be extended to support a more powerful garbled universal circuit model of computation. The capability embodied by the GABLE, system has significant potential applications, a few of which we discuss in this report.

97 MATHEMATICS AND COMPUTING↗

CpRad User's Manual

This is the reference manual for users of the C programming language based proton Radiography simulation package CpRad, pronounced "see p-rad." These simulations are developed and maintained by Los Alamos National Laboratory personnel. Currently there are threaded versions, versions written for MPI, as well as versions that use GPUs. The fundamentals of our proton radiography model are well described in a review. The ray tracing in CpRad also includes the incident angle of the protons based on position in the field of view due to the matching conditions.

73 NUCLEAR PHYSICS AND RADIATION PHYSICS↗

Reimagining Codesign for Advanced Scientific Computing: Report for the ASCR Workshop on Reimagining Codesign

In March 2021, the U.S. Department of Energy’s Advanced Scientific Computing Research program convened the Workshop on Reimagining Codesign. The workshop, also known as ReCoDe, was organized around discussions on eight topic areas: (1) codesign for traditional high-performance computing workloads; (2) codesign of memory/storage systems; (3) codesign of machine learning, neuromorphic, quantum, and other non-von Neumann accelerators; (4) codesign for edge computing and processing at experimental instruments; (5) codesign for security and privacy; (6) hardware design tools and open-source hardware for high-productivity codesign; (7) tools, software stack, and programming languages for high-productivity codesign; and (8) quantitative tools and data collection for modeling and simulation for codesign. The panels identified four Priority Research Directions from these deliberations: (1) breakthrough computing capabilities with targeted heterogeneity and rapid design; (2) software and applications that embrace radical architecture diversity; (3) engineered security and integrity, from transistors to applications; and (4) design with data-rich processes.

97 MATHEMATICS AND COMPUTING↗

Rattlesnake User's Manual

Rattlesnake is a combined-environments, multiple input/multiple output control system for dynamic excitation of structures under test. It provides capabilities to control multiple responses on the part using multiple exciters using various control strategies. Rattlesnake is written in the Python programming language to facilitate multiple input/multiple output vibration research by allowing users to prescribe custom control laws to the controller. Rattlesnake can target multiple hardware devices, or even perform synthetic control to simulate a test virtually. Rattlesnake has been used to execute control problems with up to 200 response channels and 12 drives. This document describes the functionality, architecture, and usage of the Rattlesnake controller to perform combined environments testing.

97 MATHEMATICS AND COMPUTING↗