NASA’s Conjunction Assessment Risk Analysis (CARA) team has developed a suite of powerful tools designed to ensure the safety and sustainability of space operations. This Software Development Kit (SDK), freely available under a NASA Open Source Software Agreement, provides essential Cara Tool functionalities and data products for assessing and mitigating the risks of close approach events between satellites orbiting Earth. For anyone involved in satellite operations, space traffic management, or orbital mechanics, understanding and utilizing CARA tools is crucial. This document offers an overview of this invaluable resource.
Navigating the CARA Tools SDK: Directory and File Structure
The CARA Tools SDK is organized intuitively, making it easy to access the resources you need. Upon downloading and exploring the SDK, you will find the following key directories and files at the top level, each contributing to the overall functionality of the cara tool package:
-
DataFiles
: This directory is a repository of static data essential for the operation of various tools within the SDK. These data files, carefully curated and validated, are utilized across different modules, ensuring consistency and accuracy. They serve as a foundational element for both unit testing and the practical application of the cara tool functionalities. -
DistributedMatlab
: A core component of the SDK, this directory houses the Matlab codebase and specialized tools that NASA has made publicly accessible. Matlab’s powerful computational environment is leveraged to provide robust analytical capabilities. For detailed information on the specific tools and their applications, theREADME.md
file within theDistributedMatlab
directory offers a comprehensive guide to these valuable cara tool resources. -
References
: Understanding the theoretical underpinnings of the CARA tools is essential for effective utilization. This directory provides a collection of reference documents that lay out the theoretical framework and methodologies employed in the SDK. These documents are invaluable for users seeking a deeper understanding of the algorithms and analyses performed by the cara tool software. -
NOSA_GSC-18593-1.pdf
: This file contains the NASA Open Source License Agreement. It is crucial to review this agreement to understand the terms and conditions under which the CARA tools SDK is distributed and can be used. NASA’s commitment to open source sharing ensures broad accessibility to this vital cara tool technology. -
README.md
: Serving as the primary guide to the SDK, this document provides a general overview of the CARA tools, their purpose, and how to navigate the SDK. It is the recommended starting point for anyone new to the CARA tools and seeking to understand its structure and capabilities. This README is your initial introduction to the world of cara tool applications.
Accessing Help Documentation for CARA Tools
Effective use of any software tool hinges on readily available and comprehensive documentation. The CARA Tools SDK prioritizes user support by embedding help documentation directly within the code and file structure. Most top-level functions within the Matlab codebase are equipped with help text. To access this documentation, simply utilize the help
or doc
commands directly in the Matlab prompt. By using commands like help functionName
or doc functionName
, users can quickly retrieve detailed explanations of function usage, parameters, and outputs.
Furthermore, comprehensive help documentation can often be found within a directory’s README.md
file, providing a higher-level overview of the tools within that directory. In some cases, a dedicated Documentation
subdirectory may exist, offering more extensive guides and tutorials. Whenever code or documentation references external sources, those referenced documents are meticulously included within the References
directory, ensuring users have access to the complete theoretical and methodological context of the cara tool functionalities.
Validating Functionality with Unit Tests
To ensure the reliability and correctness of the CARA tools, a suite of automated unit tests is integrated into the SDK. These tests are designed to verify the functionality of individual components and modules, providing confidence in the accuracy of the results generated by the cara tool software. It is highly recommended to run these unit tests immediately after downloading the SDK to confirm that all necessary toolboxes and dependencies are correctly installed and functioning.
To execute the complete suite of unit tests, navigate to the main SDK folder in Matlab and execute the following command:
results = runtests('IncludingSubfolders',true);
Matlab will automatically discover and run all unit tests included within the SDK’s subdirectories. This process verifies the integrity of your CARA tools installation and helps identify any potential issues early on. If any unit tests fail, the system will display a table outlining the failed tests, enabling users to pinpoint and address any configuration or dependency problems. For a summary of the test results, including the number of tests passed, failed, or incomplete, use the command disp(results)
. For a detailed table view of each test case and its outcome, use the command table(results)
. Running unit tests is a crucial step in ensuring the proper operation and validated performance of your cara tool setup.