Search NASA⌕ Search

SEARCH · Search NASA

Results for “version control”

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 73 records · Page 4

Better together: Elements of successful scientific software development in a distributed collaborative community

Many scientific disciplines rely on computational methods for data analysis, model generation, and prediction. Implementing these methods is often accomplished by researchers with domain expertise but without formal training in software engineering or computer science. This arrangement has led to underappreciation of sustainability and maintainability of scientific software tools developed in academic environments. Some software tools have avoided this fate, including the scientific library Rosetta. We use this software and its community as a case study to show how modern software development can be accomplished successfully, irrespective of subject area. Rosetta is one of the largest software suites for macromolecular modeling, with 3.1 million lines of code and many state-of-the-art applications. Since the mid 1990s, the software has been developed collaboratively by the RosettaCommons, a community of academics from over 60 institutions worldwide with diverse backgrounds including chemistry, biology, physiology, physics, engineering, mathematics, and computer science. Developing this software suite has provided us with more than two decades of experience in how to effectively develop advanced scientific software in a global community with hundreds of contributors. Here we illustrate the functioning of this development community by addressing technical aspects (like version control, testing, and maintenance), community-building strategies, diversity efforts, software dissemination, and user support. We demonstrate how modern computational research can thrive in a distributed collaborative community. The practices described here are independent of subject area and can be readily adopted by other software development communities

97 MATHEMATICS AND COMPUTING↗

Templates for developing and versioning data standards and reporting formats using GitHub

This data package contains three templates that can be used for creating README files and Issue Templates, written in the markdown language, that support community-led data reporting formats. We created these templates based on the results of a systematic review (see related references) that explored how groups developing data standard documentation use the Version Control platform GitHub, to collaborate on supporting documents. Based on our review of 32 GitHub repositories, we make recommendations for the content of README Files (e.g., provide a user license, indicate how users can contribute) and so 'README_template.md' includes headings for each section. The two issue templates we include ('issue_template_for_all_other_changes.md' and 'issue_template_for_documentation_change.md') can be used in a GitHub repository to help structure user-submitted issues, or can be modified to suit the needs of data standard developers. We used these templates when establishing ESS-DIVE's community space on GitHub (https://github.com/ess-dive-community) that includes documentation for community-led data reporting formats. We also include file-level metadata 'flmd.csv' that describes the contents of each file within this data package. Lastly, the temporal range that we indicate in our metadata is the time range during which we searched for data standards documented on GitHub.

54 ENVIRONMENTAL SCIENCES↗

EXCHANGE Campaign 2 - Microbial Biomass Collapse (EC2-MBC): Carbon Availability Under Prolonged Flooding in Mid-Atlantic and Great Lakes Coastal Ecosystems

Our collective research focus is on investigating the interaction between carbon availability and microbial demands during prolonged flooding. Through laboratory experiments utilizing freshly collected soil samples from diverse transition zone environments, we aim to simulate flooding and understand the mechanisms governing carbon cycling under anoxic conditions. Our primary objective is to elucidate how carbon becomes available to microbes and how they utilize it, discerning between maintenance and investment processes. By examining soils from regions with differing native redox conditions, our aim is to gain comprehensive insights into carbon dynamics across various soil types. Future data types will be added to the ESS-DIVE data package as they are completed and will be version-controlled in the Change History section of EC2_MBC_README.pdf. This data package includes: EC2_MBC_README.pdf flmd.csv dd.csv EC2_SampleIdentificationKey.csv EC2_SoilMoistureKey.csv Processed_GHGFlux_Entisols.csv Processed_GHGFlux_Inceptisols.csv Processed_GHGFlux_Ultisols.csv Processed_Porewater_Iron_II.csv Processed_Porewater_Nutrients.csv Processed_Porewater_Sulfate.csv Processed_Probe_Measurements.csv Processed_Soil_HydrolyticEnzymes.csv Processed_Soil_MicrobialCN.csv Processed_Soil_NPOC_TN_SaltExtracted.csv Processed_Soil_NPOC_TN_WaterExtracted.csv Processed_Soil_Nutrients_OlsenPExtracted.csv Processed_Soil_Nutrients_SaltExtracted.csv Processed_Soil_Nutrients_WaterExtracted.csv Processed_DO_Probe.zip Processed_Temperature_Probe.zip

Carbon Cycling↗

InfraPy: Python-Based Signal Analysis Tools for Infrasound

InfraPy is a Python-based analysis toolkit being development at LANL. The algorithms are intended for ground-based nuclear detonation detection applications to detect, locate, and characterize explosive sources using infrasonic observations. The implementation is usable as a stand-alone Python library or as a command line driven tool operating directly on a database. With multiple scientists working on the project, we've begun using a LANL git repository for collaborative development and version control. Current and planned work on InfraPy focuses on the development of new algorithms and propagation models. Collaboration with Southern Methodist University (SMU) has helped identify bugs and limitations of the algorithms. The current focus of usage development is focused on library imports and CLI.

97 MATHEMATICS AND COMPUTING↗

Final Report: Non-Visible, Automated Target Acquisition and Tracking

The Roadside Tracker (RST) represents a new approach to radiation portal monitors. It uses a combination of gamma-ray and visible-light imaging to localize gamma-ray radiation sources to individual vehicles in free-flowing, multi-lane traffic. Deployed as two trailers that are parked on either side of the roadway (Fig. 1); the RST scans passing traffic with two large gamma-ray imagers, one mounted in each trailer. The system compensates for vehicle motion through the imager’s fields of view by using automated target acquisition and tracking (TAT) software applied to a stream of video images. Once a vehicle has left the field of view, the radiation image of that vehicle is analyzed for the presence of a source, and if one is found, an alarm is sounded. The gamma-ray image is presented to the operator together with the video image of the traffic stream when the vehicle was approximately closest to the system (Fig. 2). The offending vehicle is identified with a bounding box to distinguish it from other vehicles that might be present at the same time. The system was developed under a previous grant from the Department of Homeland Security’s (DHS’s) Domestic Nuclear Detection Office (DNDO). This report documents work performed with follow-on funding from DNDO to further advance the development of the RST. Specifically, the primary thrust was to extend the performance envelope of the system by replacing the visible-light video cameras used by the TAT software with sensors that would allow operation at night and during inclement weather. In particular, it was desired to allow operation after dark without requiring external lighting. As part of this work, the system software was also upgraded to allow the use of 64-bit computers, the current generation operating system (OS), software development environment (Windows 7 vs. Windows XP, and current Visual Studio.Net), and improved software version controls (GIT vs. Source Safe.) With the upgraded performance allowed by new computers, and the additional memory available in a 64-bit OS, the system was able to handle greater traffic densities, and this also allowed addition of the ability to handle stop-and-go traffic.

98 NUCLEAR DISARMAMENT, SAFEGUARDS, AND PHYSICAL P↗

Opacity Table Generation

Radiation opacity is a key property of material systems which describes the absorption and scattering of photons. Such processes are an important part of energy transport, diagnostics, and astrophysical phenomena. Recent experiments in iron opacity and continuum lowering have sparked renewed interest in and careful vetting of opacity models. Even within the local thermodynamic equilibrium approximation, opacity varies over a large parameter space: material, temperature, density, and energy. Opacity tables that span wide regimes of this parameter space are of prime importance to radiation-hydrodynamics codes. Accurate opacity calculations cannot be achieved inline during a radiation hydrodynamics simulation since they involve accounting for all possible electron transitions of all important atomic states of a thermal ensemble. Livermore’s current framework utilizes precalculated tables at many densities, temperatures, and energies. Last year, the opacity theory team completed an L2 milestone concerning the development of a new code, Opus, which served the dual purpose of creating a modern code infrastructure and version control as well as the basis for training new members of that team, a critical need as key members near or are passed retirement. For the current L2 milestone, we exercised and validated Opus on three elements: boron, carbon, and nitrogen, which have few enough electrons to allow a careful convergence study over many input parameters. Here, we report on the production of new tables, show their convergence with respect to important parameters, state some of their limitations, and document a mostly automated production process. In this section, we address the milestone completion criteria, found on the title page and the subsection headings. In section 2, we validate Opus against Tycho and compare with TabOp and Atomic. Section 3 details some of the physics implemented in Opus and relevant to this report. We then cover details of the density-temperature grid in section 4 and do a spectral comparison between different parameter settings and different codes in section 5. After summarizing these results in section 6, we give instructions how to run the opacity table scripts in appendix A and document the scripts and input/output files in appendix B.

70 PLASMA PHYSICS AND FUSION TECHNOLOGY↗

HED Hydrodynamics in the Common Modeling Framework

Within the Common Modeling Framework (CMF), the HED Hydrodynamics Project has implemented a common methodology, or "Authority", for modeling high energy density (HED) experiments by extending development of the Eulerian Applications Project code Authority, "EAPA," to include relevant physics models, customization tools and templates, and in situ and post-processing capabilities. Additionally, several models for small-scale HED experiments were successfully added to the CMF and simulations reproduce the results of preexisting, benchmarked input decks. We expect use of the CMF to improve our effectiveness in developing predictive capabilities for experiments ranging from small-scale planar single-interface, single-shock to multi-interface, multi-shock configurations and up through multi-shell inertial confinement fusion (ICF) implosions. Additionally, this will strengthen our ability to design future targeted experiments. Using the CMF infrastructure and Authorities for HED modeling has three key impacts. First, it enables a version-controlled, pedigreed and archived base model for each experiment with tools that allow easy setup, execution and analysis of simulations to assess and/or expose sensitivities to various parameters. Second, having a common base set of inputs and physics definitions helps identify systematic differences between models in the codes and experimental data to support code validation, and build confidence in our predictive capabilities. Finally, designed to work in concert with multiple programs and projects including PEM, IC, OES, V&V and DSW, the CMF supports improved collaboration and integration through shared model definitions, data, simulations and results, enhancing the workflow required to underwrite the knowledge base and capabilities ultimately required for stockpile stewardship

72 PHYSICS OF ELEMENTARY PARTICLES AND FIELDS↗

An X-ray Intensity Operations Monitor (AXIOM) (Final LDRD Project Report)

The Saturn accelerator has historically lacked the capability to measure time-resolved spectra for its 3-ring bremsstrahlung x-ray source. This project aimed to create a spectrometer called AXIOM to provide this capability. The project had three major development pillars: hardware, simulation, and unfold code. The hardware consists of a ring of 24 detectors around an existing x-ray pinhole camera. The diagnostic was fielded on two shots at Saturn and over 100 shots at the TriMeV accelerator at Idaho Accelerator Center. A new Saturn x-ray environment simulation was created using measured data to validate. This simulation allows for timeresolved spectra computation to compare the experimental results. The AXIOM-Unfold code is a new parametric unfold code using modern global optimizers and uncertainty quantification. The code was written in Python, uses Gitlab version control and issue tracking, and has been developed with long term code support and maintenance in mind.

43 PARTICLE ACCELERATORS↗

Crosslink V.0.11.x User Manual

CrossLink is a novel two-dimensional and three-dimensional geometry and mesh generation software package developed by the Simulation Tools team at Los Alamos National Laboratory. This software represents the third generation of topology-based mesh generation technology developed by the Department of Defense and the Department of Energy with a special focus on complex multi-material hydrodynamic applications, mesh scalability, and high-order element mesh generation. The topology-based meshing approach offered by CrossLink enables users to quickly and easily mesh complex geometries in a repeatable and robust manner. CrossLink’s topology-based meshing approach is well-suited for parametric design studies, parametric design optimization, damage scenario assessment, and iterative design modification (i.e. feature addition and/or removal). CrossLink’s python API allows workflow scripting of the geometry creation and mesh generation process for traceability, repeatability, data provenance, and version control. CrossLink consists of three main components: a graphical user interface (GUI), a geometry creation and mesh generation engine, and a python API that provides a workflow scripting interface to the geometry and meshing functions.

97 MATHEMATICS AND COMPUTING↗

Engineering Computational Practices (Rev. 1)

This manual will attempt to motivate the use of an automated build system for the purposes of computational science and engineering. As part of this motivation, the surrounding computational practices of version control, documen tation, compute environment management, and regression testing will also be addressed as applied to the practice of computational engineering. Specifically, this manual intends to motivate the adoption of these traditional software engineering practices for use in research and production engineering simulation projects. This manual is not the first such effort in the greater scientific computing community. In fact, the authors relied heavily on the lesson plans of the Software Carpentry, established to teach computing skills to researchers in 1998. As the intention for this manual is to lay out fundamental practices of engineering computing, it will not attempt to fully teach the underlying concepts and will instead reference the well designed lesson plans of the Software Carpentry. Where possible, this manual will explain to general computing practices and concepts and limit discussion of specific software implementations to examples or vehicles for practice in concrete application. The specific software taught by the Software Carpentry curriculum is an excellent starting point to learn the core concepts of computational engi neering. However, the authors have found that applications to engineering simulation and analysis require translation of these software development concepts into the language and workflows of computational engineers. Adopting these computational tools may require engineers to re-imagine their workflows in some combination of traditional engineer ing and software concepts. It has also been necessary to extend existing software build systems for engineering practices beyond the simple wrap ping of engineering software execution. Where necessary, examples of specific software and their method of extension to engineering simulations will be given, with reference to the User Manual for recommended practical use. Where this manual relies on specific implementation examples, it should be understood that the practicing engineer may find that different software is more amenable to their specific work. It is always the overall collection of computational practices is more important than any specific software implementation. The ability to recognize which concepts are implemented by a software package will make a practicing engineer agile to changing project needs, computing resources, numeric solvers, programming languages, and even available funding.

42 ENGINEERING↗

SAM Software Quality Assurance Plan Implementation and NQA-1 Assessment

The System Analysis Module (SAM) is an advanced and modern system analysis tool being developed at Argonne National Laboratory under the U.S. DOE Office of Nuclear Energy’s Nuclear Energy Advanced Modeling and Simulation (NEAMS) program. As a modern-day software, SAM development included efforts to follow best practices in software development. These best practices include version control using git, independent reviews of development activities, and detailed descriptions of developments and bug fixes using the GitLab issue and merge request system. In Fiscal Year 2023 (FY23), the SAM development team set out to formalize a Software Quality Assurance (SQA) program that allowed industry partners to credit the informal steps being taken by the SAM development team to ensure the quality of the software. As part of formalizing an SQA program, a SQA Plan (SQAP) was developed, implemented, and assessed. The SAM SQAP targets compliance with NQA-1-2008/2009 Addenda. The SQAP builds on the MOOSE SQAP and the Argonne SSQAPP while accounting for the needs of the multi-organization SAM development team. Modifications to the SAM repository structure, including a new testing system, updated test cases, and the development of an internal website, facilitate the implementation of the SAM SQAP. The initial assessment of the SAM SQAP indicated that the SAM SQAP was adequately and effectively implemented and additional work was required to improve the compliance of the SAM SQAP with NQA-1 2008/2009 Addenda. Several improvements to the SQAP have already been drafted to address these assessments and future work is planned to further improve the SAM SQAP in support of end-user needs.

22 GENERAL STUDIES OF NUCLEAR REACTORS↗

Measurements of TRACER pre-convective conditions and mesoscale circulations using small unmanned aircraft systems (sUAS)

Improved comprehension of the physical processes governing convective cloud formation and lifecycle are of critical importance for understanding and predicting future climate states. The influence of these clouds on the planetary energy budget, including on precipitation, is significant. Things are particularly complex in coastal regimes, where gradients in aerosol particle properties, localized circulations such as sea breezes, and large population centers are found. To date, numerical models struggle to accurately represent these critical clouds and are therefore challenged to provide a realistic view on the planetary energy budget. Through the proposed research, we deployed two uncrewed aircraft systems (UAS) equipped with a variety of instruments alongside sensors deployed by the US Department of Energy Atmospheric Radiation Measurement (ARM) program for the TRACER (Tracking Aerosol Convection Interactions Experiment) field campaign. The two small UAS platforms consisted of a CU RAAVEN fixed-wing airplane and an OU CopterSonde system, with the copter collecting frequent vertical profiles of thermodynamic and kinematic variables such as temperature, pressure, wind and humidity. At the same time, the fixed-wing captured horizontal gradients of these quantities and aerosol size distribution. These systems were deployed south of the Houston metro area, in an area that is impacted by the Gulf of Mexico sea breeze on a daily basis. These observations offer enhanced and complementary perspectives to those provided by the DOE ARM Mobile Facility (AMF) which is was deployed in southeast Houston, and an ancillary site in a more rural location west of the urban Houston area. Quality-controlled versions of the UAS data were collected and posted on the DOE ARM data archive after the conclusion of the campaign where they are accessible by the research community and general public. The UAS perspective offers revolutionary insight into key spatial and temporal effects that have not been evaluated previously.

54 ENVIRONMENTAL SCIENCES↗

Shaping the FutureWorkforce: Challenges and Lessons Learned in HPC Education from National Labs and Computing Centers

Workforce training at national laboratories and computing centers is essential and typically falls into two categories: foundational training for newcomers and advanced training for experienced users. Foundational topics—such as version control, build systems, and basic HPC usage—are largely transferable across institutions, while cluster-specific training varies due to differences in hardware, job schedulers, and local workflows. Training on emerging technologies is split between hardware-specific content and broadly applicable programming paradigms. Here, to reduce redundancy and increase impact, national labs, computing centers, and vendors are collaborating through initiatives like the HPC Training Working Group to share best practices, co-develop materials, and broaden outreach. These coordinated efforts aim to make HPC training more accessible, scalable, and consistent across the community.

HPC↗

Teaching Computational Reproducibility for Neuroimaging

We describe a project-based introduction to reproducible and collaborative neuroimaging analysis. Traditional teaching on neuroimaging usually consists of a series of lectures that emphasize the big picture rather than the foundations on which the techniques are based. The lectures are often paired with practical workshops in which students run imaging analyses using the graphical interface of specific neuroimaging software packages. Our experience suggests that this combination leaves the student with a superficial understanding of the underlying ideas, and an informal, inefficient, and inaccurate approach to analysis. To address these problems, we based our course around a substantial open-ended group project. This allowed us to teach: (a) computational tools to ensure computationally reproducible work, such as the Unix command line, structured code, version control, automated testing, and code review and (b) a clear understanding of the statistical techniques used for a basic analysis of a single run in an MR scanner. The emphasis we put on the group project showed the importance of standard computational tools for accuracy, efficiency, and collaboration. The projects were broadly successful in engaging students in working reproducibly on real scientific questions. We propose that a course on this model should be the foundation for future programs in neuroimaging. We believe it will also serve as a model for teaching efficient and reproducible research in other fields of computational science.

60 APPLIED LIFE SCIENCES↗

Systematic and objective evaluation of Earth system models: PCMDI Metrics Package (PMP) version 3

Systematic, routine, and comprehensive evaluation of Earth system models (ESMs) facilitates benchmarking improvement across model generations and identifying the strengths and weaknesses of different model configurations. By gauging the consistency between models and observations, this endeavor is becoming increasingly necessary to objectively synthesize the thousands of simulations contributed to the Coupled Model Intercomparison Project (CMIP) to date. The Program for Climate Model Diagnosis and Intercomparison (PCMDI) Metrics Package (PMP) is an open-source Python software package that provides quick-look objective comparisons of ESMs with one another and with observations. The comparisons include metrics of large- to global-scale climatologies, tropical inter-annual and intra-seasonal variability modes such as the El Niño–Southern Oscillation (ENSO) and Madden–Julian Oscillation (MJO), extratropical modes of variability, regional monsoons, cloud radiative feedbacks, and high-frequency characteristics of simulated precipitation, including its extremes. The PMP comparison results are produced using all model simulations contributed to CMIP6 and earlier CMIP phases. An important objective of the PMP is to document the performance of ESMs participating in the recent phases of CMIP, together with providing version-controlled information for all datasets, software packages, and analysis codes being used in the evaluation process. Among other purposes, this also enables modeling groups to assess performance changes during the ESM development cycle in the context of the error distribution of the multi-model ensemble. Quantitative model evaluation provided by the PMP can assist modelers in their development priorities. In this paper, we provide an overview of the PMP, including its latest capabilities, and discuss its future direction.

54 ENVIRONMENTAL SCIENCES↗

Best practices in software development for robust and reproducible geoscientific models based on insights from the Global Carbon Budget's dynamic vegetation models

Computational models play an increasingly vital role in scientific research by enabling the numerical simulation of complex processes. Such models are also fundamental in geosciences. For instance, they offer critical insights into the impacts of global change on the Earth system today and in the future. Beyond their value as research tools, models are also software products and should therefore adhere to certain established software engineering standards. However, scientists are rarely trained as software developers, which can lead to potential deficiencies in software quality like unreadable, inefficient, or erroneous code. The complexity of models, coupled with their integration into broader workflows, also often makes it challenging to reproduce results, evaluate processes, and build upon them. In this paper, we review the state and current practices of the development processes of the state-of-the-art land surface models used by the Global Carbon Budget. We combine the experience of modelers from the respective research groups with the expertise of software engineers from tech companies to outline key principles and tools for improving software quality in research. We explore four main areas: (1) model testing and validation, (2) scientific, technical, and user documentation, (3) version control, continuous integration, and code review, and (4) the portability and reproducibility of workflows. Our review reveals that while modeling communities are incorporating many best practices, significant room for improvement remains in areas such as automated testing, automated documentation, and reproducibility. Therefore, we here identify and promote essential software engineering practices, including numerous examples of practices from within the community that can serve as guidelines for other models and could help streamline processes across the entire community. We conclude with an open-source example implementation of these principles, demonstrating portable and reproducible data flows, a continuous integration setup, and web-based visualizations. This example may serve as a practical resource for model developers, users, and all scientists engaged in scientific programming.

Gregor, Konstantin [Technical Univ. of Munich (Ger↗

SAGA: A project to automate the management of software production systems

The Software Automation, Generation and Administration (SAGA) project is investigating the design and construction of practical software engineering environments for developing and maintaining aerospace systems and applications software. The research includes the practical organization of the software lifecycle, configuration management, software requirements specifications, executable specifications, design methodologies, programming, verification, validation and testing, version control, maintenance, the reuse of software, software libraries, documentation, and automated management.

Campbell, Roy H.↗