Search NASA⌕ Search

SEARCH · Search NASA

Results for “Plugins”

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 37 records · Page 2

Chrono-Validation of Near-Real-Time Landslide Susceptibility Models via Plugin Statistical Simulations

The idea behind any validation scheme in landslide susceptibility studies is to test whether a model calibrated on a certain data can predict an unknown dataset of the same nature (landslide presences/absences and covariates). Almost the entirety of landslide susceptibility studies are validated by subsetting a single dataset into a training and test sets. This dataset usually corresponds either to event-specific or to historical inventories. Very rarely, a multi-temporal inventory is available and, in the few cases where this condition is met, the validation practices involve training a model on a specific landslide inventory, deriving a single predictive equation and validating it on a subsequent landslide inventory. This commonly leads landslide predictive studies, even those with a strong statistical rigor, to neglect the uncertainty estimation in their modeling scheme. In statistics, validation can also be performed via statistical simulations. This means that after fitting a given model, one can generate any number of predictive functions and test their predictive skills on any type and number of unknown datasets. In this work, we take a similar direction and we apply it to model and validate three separate co-seismic inventories, including an uncertainty estimation phase. We mapped these inventories within the same area in Indonesia, for three earthquakes occurred in 2012, 2017 and 2018. Specifically, we build three event-specific Bayesian Generalize Additive Models of the binomial family. From each model we then simulate 1000 predictive realizations over the remaining two inventories, by using a plug-in scheme where all the morphometric covariates are kept fixed and only the ground motion is replaced according to the prediction target. By doing so, we introduce a new analytical tool for near-real-time landslide predictive purposes, which is able to produce a probabilistic model which stands in between the definitions of susceptibility and hazard. In fact, our model is able to accurately estimate “where” and “when” - although not “how frequently” - landslide have occurred by featuring the multitemporal information of the trigger. In our findings, the simulations are quite similar to the fitted models; and the nine combinations we analyse produce excellent performance. This result confirms the assumption that “the past is the key to the future”, as we show that the relative contribution of each variable and their interactions in each probabilistic model remains practically the same across temporal replicates. This information is not trivial because it supports the routines implemented in global near-real-time applications.

Temporal validation↗

Rapid Model Import Tool (RMIT)

Our project is about developing a tool to implement conversion of 3D Computer Aided Design (CAD) models produced with software such as Delmia, 3DS Max, or Maya, into a size and format compatible with the Unity 3D environment. RMIT will be used to aid KSC engineering personnel in the design, development, testing, operations, and training on spacecraft, launch vehicles, facilities, and ground support equipment. For our project, we are using Blender, a free/open-source 3D graphics software, with the goal of developing, testing, and deploying a 3D CAD model converter tool. I worked on using Blender to import 3D CAD models exported from CATIA software into Collada file format. The Collada file format has file extension DAE. Importing the Collada DAE file as is into Blender, generates dots and dashes. In 3DS Max, there is an existing OpenCollada plugin and with that plugin, 3DS Max can import the DAE file successfully. But, Blender does not seem to have an OpenCollada plugin, so I worked on writing a new OpenCollada plugin for Blender. Since 3DS Max was able to display the image, I looked into comparing differences between the original DAE file and the DAE file exported from 3DS Max using the OpenCollada plugin. As Collada documents describing digital assets are XML files with file extension DAE, Collada files contains XML tags, making them easily modifiable. After some research, it appears that Blender does not like primitive 2D tags like tristrips and trifans. Changing those tags to polygons slightly improved the image, but the pieces were exploded. I found after further research comparing differences between the original file and the file exported from 3DS Max that the values inside the translate tags in the original file are scaled down by a factor of 25.4 in the exported file from 3DS Max, representing the millimeters to inches conversion (1 inch = 25.4 millimeters). After scaling down values inside all of the translate tags by 25.4, the exploded pieces stuck back in, but the image needed further improvement. I have been able to create a new plugin in Blender that takes the original DAE file, replaces the primitive 2D tags tristrips and trifans with polygons, scales down the values inside the translate tags by a factor of 25.4, and saves the changes into a temporary DAE file. After the temporary DAE file is imported into Blender, the temp file is then deleted, keeping the original DAE file intact. Starting with a DAE file that is exported using the NASA Enterprise Visualization Application (NEVA), a Collada exporter, from CATIA gives better results. NEVA is a Design Visualization product that is used for exporting 3D models from CATIA. With NEVA, the up axis is defined in the top-level node if navigation gravity is enabled. With that file, just replacing the primitive tags tristrips and trifans with polygons in yields a much improved image in Blender. As we identify more differences between the original DAE file and the DAE file exported from 3DS Max, this plugin can be improved further. Our goal is to have a model that is formatted and sized for import into Unity, and we are trying out different 3D programs to see which will work best.

Ayyangar, Arjun↗

Application Programming in AWIPS II

Since its inception almost 8 years ago, NASA's Short-term Prediction Research and Transition (SPoRT) Center has integrated NASA data into the National Weather Service's decision support system (DSS) the Advanced Weather Interactive Processing System (AWIPS). SPoRT has, in some instances, had to shape and transform data sets into various formats and manipulate configurations to visualize them in AWIPS. With the advent of the next generation of DSS, AWIPS II, developers will be able to develop their own plugins to handle any type of data. Raytheon is developing AWIPS II to be a more extensible package written mainly in Java, and built around a Service Oriented Architecture. A plugin architecture will allow users to install their own code modules, and (if all the rules have been properly followed) they will work hand-in-hand with AWIPS II as if it were originally built in. Users can bring in new datasets with existing plugins, tweak plugins to handle a nuance or desired new functionality, or create an entirely new visualization layout for a new dataset. SPoRT is developing plugins to ensure its existing NASA data will be ready for AWIPS II when it is delivered, and to prepare for the future of new instruments on upcoming satellites.

Smit, Matt↗

Flexible Integration of Diverse HVAC Technologies in EnergyPlus via Python-Enabled Workflows

Analysis of advanced controls and novel system types is often not directly feasible in building energy simulation tools. Various techniques extend building energy simulation tool capabilities to allow the use of user-defined scripts and programs, but these approaches have limitations. The EnergyPlus Python plugin offers users new flexibility to use EnergyPlus to call an external Python module at specific points in the simulation, as well as to use Python to call EnergyPlus functionality through an application programming interface (API). This paper presents four case studies leveraging the EnergyPlus Python plugin to facilitate analysis of advanced controls and system types. The use of the Python plugin offers greater modularity and flexibility relative to previous approaches, is less error prone, and is simpler for users to adopt. The Python plugin allows EnergyPlus to be used in a more flexible manner and to accommodate the expanding realm of energy modeling applications.

32 ENERGY CONSERVATION, CONSUMPTION, AND UTILIZATI↗

T-infinity: The Dependency Inversion Principle for Rapid and Sustainable Multidisciplinary Software Development

The CFD Vision 2030 Study recommends that, “NASA should develop and maintain an integrated simulation and software development infrastructure to enable rapid CFD technology maturation.... [S]oftware standards and interfaces must be emphasized and supported whenever possible, and open source models for noncritical technology components should be adopted.” The current paper presents an approach to an open source development architecture, named T-infinity, for accelerated research in CFD leveraging the Dependency Inversion Principle to realize plugins that communicate through collections of functions without exposing internal data structures. Steady state flow visualization, mesh adaptation, fluid-structure interaction, and overset domain capabilities are demonstrated through compositions of plugins via standardized abstract interfaces without the need for source code dependencies between disciplines. Plugins interact through abstract interfaces thereby avoiding N 2 direct code-to-code data structure coupling where N is the number of codes. This plugin architecture enhances sustainable development by controlling the interaction between components to limit software complexity growth. The use of T-infinity abstract interfaces enables multidisciplinary application developers to leverage legacy applications alongside newly-developed capabilities. While rein, a description of interface details is deferred until the are more thoroughly tested and can be closed to modification.

O'Connell, Matthew D.↗

Receiver-Based Auralization of Broadband Aircraft Flyover Noise Using the NASA Auralization Framework

The NASA Auralization Framework (NAF) consists of a set of dynamic link libraries (DLLs) to facilitate auralization of aircraft noise. Advanced capabilities for synthesis, propagation, and external interfaces are provided by the NAF Advanced Plugin Libraries (APL); a separate set of DLLs that are made accessible through the NAF’s plugin architecture. In the typical time domain use case, the sound is first synthesized at the source location based on a source noise definition, and is then propagated in the time domain to a receiver on or near the ground. Alternatively, it may be desirable to synthesize the sound at the receiver, after it has been propagated in the frequency domain, e.g., when the source definition is inaccessible or when alternative propagation methods are needed. Receiver-based auralization requires three new developments in the NAF APL: a component plugin to interpolate the propagated noise spectra as a function of time for input to sound synthesis, and a path finder and path traversal plugin to calculate the effects of the differential propagation path length between the direct and ground reflected rays. This paper describes those developments and demonstrates their use in the auralization of broadband flyover noise.

Aumann, Aric R.↗

A Synthesis Plug-in for Steady and Unsteady Loading and Thickness Noise Auralization

This paper describes the development and architecture of a plugin for the NASA Auralization Framework that synthesizes rotor sound pressures sample by sample for simulated propagation to auralize rotorcraft flyovers. The main component of the plugin is a preprocessor that synthesizes sound pressures before propagation methods are called. Rotor blade loadings, motion, and geometry data from various tools serve as input to the plugin. Farassat formulation 1A, a solution to the Ffowcs Williams-Hawkings equation, is used for the sound pressure calculations. Use of the plugin is demonstrated with two examples of steady periodic sound synthesis, but the synthesis method and preprocessor architecture described in this paper are also applicable to unsteady periodic and aperiodic sound syntheses.

Siddhartha Krishnamurthy↗

Modeling and Simulation of the Angel Upper Limb Offload Device: Branching Into New Methods

BACKGROUND: The Active Response Gravity Offload System (ARGOS) provides an analog environment for extravehicular activity (EVA) testing and training. Discomfort has been observed during longer suited test sessions. While the subject’s core is offloaded during surface EVA evaluations, his/her arms experience full Earth gravity and can become overly fatigued, especially during suited tests which involve reaching and prolonged arm extensions. A device (ARGOS Negation of Gravitational Effects on the Limbs: ANGEL) to offload the weight of the arms and suit sleeves is being developed by JSC’s Flight Systems Branch of the Software, Robotics, and Simulation Division. Previously we have shared preliminary modeling of that device and kinematics based on motion capture data. Here we present an alternative approach to determine device kinematics by calculating ANGEL component angles with an OpenSim plugin. We compare calculated angles to inverse kinematics (IK) derived ones with the goal of validating the model. This new method can be further informative for device design and analytically testing different configurations to achieve desired reduced gravity conditions (e.g., lunar gravity (Lg) or Martian gravity (Mg)). We have compared calculated angles with IK-derived angles in tests with a shirt-sleeve subject positioned in a test stand with a Mark-III Hard Upper Torso (HUT) and Portable Life Support System (PLSS) mockup and arm weights to emulate the weight of the suit sleeve as well as a suited subject in ARGOS with a Mark-III suit. A variety of upper body tasks were completed in the former and full-body tasks in the latter. METHODS AND RESULTS: To model the offload device, we augment the OpenSim human model topology with the offload mechanism components and joints, using CAD models to represent the mechanism graphically. The joint angles of the device are calculated in the OpenSim plugin by modeling how the components configure themselves under the offloading spring tension given a particular IK-derived arm position. There are four ANGEL components with a total of 5 degrees of freedom (DOFs), each component has a single DOF except for the cuff which is modeled as 2 DOFs. The sickle/yaw bracket and cuff rotation angles are determined statically based on the assumptions that the sickle will track the attachment point of the cuff and that the cuff will rotate such that the attachment point is at its highest point. The cuff tilt, linker and V-bracket angles are then determined by optimizing their positions to approach a mechanical equilibrium. The calculated linker angle is compared to three different methods of determining the linker line-of-force kinematically (from V-bracket to center-cuff, cuff highest point or marker-derived position). Given the joint angles of the device, the spring force and resulting force on the arm is computed by the plugin and applied as an external load in inverse dynamics (ID) to enable study of overall shoulder joint torques as well as offload achieved. We verify the calculated joint angles by using the inverse kinematic data. The average difference in angles is the smallest for the V-bracket and linker, around 1 to 5 degrees for most trials. The resulting offload and shoulder torque are comparable between calculated and IK-derived angles. In summary, we have developed a method to calculate the joint angles of an exoskeleton-like upper limb offloading device currently in development. We have also developed a custom plugin which will be a valuable tool to optimize device configurations for a desired gravitational environment, probe the offload achieved for motions recorded outside of our test suite, and inform future design improvements.

L B Nilsson↗

Modeling and Simulation of The Angel Upper Limb Offload Device: Branching into New Methods

BACKGROUND: The Active Response Gravity Offload System (ARGOS) provides an analog environment for extravehicular activity (EVA) testing and training. Discomfort has been observed during longer suited test sessions. While the subject’s core is offloaded during surface EVA evaluations, his/her arms experience full Earth gravity and can become overly fatigued, especially during suited tests which involve reaching and prolonged arm extensions. A device (ARGOS Negation of Gravitational Effects on the Limbs: ANGEL) to offload the weight of the arms and suit sleeves is being developed by JSC’s Flight Systems Branch of the Software, Robotics, and Simulation Division. Previously we have shared preliminary modeling of that device and kinematics based on motion capture data. Here we present an alternative approach to determine device kinematics by calculating ANGEL component angles with an OpenSim plugin. We compare calculated angles to inverse kinematics (IK) derived ones with the goal of validating the model. This new method can be further informative for device design and analytically testing different configurations to achieve desired reduced gravity conditions (e.g., lunar gravity (Lg) or Martian gravity (Mg)). We have compared calculated angles with IK-derived angles in tests with a shirt-sleeve subject positioned in a test stand with a Mark-III Hard Upper Torso (HUT) and Portable Life Support System (PLSS) mockup and arm weights to emulate the weight of the suit sleeve as well as a suited subject in ARGOS with a Mark-III suit. A variety of upper body tasks were completed in the former and full-body tasks in the latter. METHODS AND RESULTS: To model the offload device, we augment the OpenSim human model topology with the offload mechanism components and joints, using CAD models to represent the mechanism graphically. The joint angles of the device are calculated in the OpenSim plugin by modeling how the components configure themselves under the offloading spring tension given a particular IK-derived arm position. There are four ANGEL components with a total of 5 degrees of freedom (DOFs), each component has a single DOF except for the cuff which is modeled as 2 DOFs. The sickle/yaw bracket and cuff rotation angles are determined statically based on the assumptions that the sickle will track the attachment point of the cuff and that the cuff will rotate such that the attachment point is at its highest point. The cuff tilt, linker and V-bracket angles are then determined by optimizing their positions to approach a mechanical equilibrium. The calculated linker angle is compared to three different methods of determining the linker line-of-force kinematically (from V-bracket to center-cuff, cuff highest point or marker-derived position). Given the joint angles of the device, the spring force and resulting force on the arm is computed by the plugin and applied as an external load in inverse dynamics (ID) to enable study of overall shoulder joint torques as well as offload achieved. We verify the calculated joint angles by using the inverse kinematic data. The average difference in angles is the smallest for the V-bracket and linker, around 1 to 5 degrees for most trials. The resulting offload and shoulder torque are comparable between calculated and IK-derived angles. In summary, we have developed a method to calculate the joint angles of an exoskeleton-like upper limb offloading device currently in development. We have also developed a custom plugin which will be a valuable tool to optimize device configurations for a desired gravitational environment, probe the offload achieved for motions recorded outside of our test suite, and inform future design improvements.

L B Nilsson↗

Java Application Shell: A Framework for Piecing Together Java Applications

This session describes the architecture of Java Application Shell (JAS), a Swing-based framework for developing interactive Java applications. Java Application Shell is being developed by Commerce One, Inc. for NASA Goddard Space Flight Center Code 588. The purpose of JAS is to provide a framework for the development of Java applications, providing features that enable the development process to be more efficient, consistent and flexible. Fundamentally, JAS is based upon an architecture where an application is considered a collection of 'plugins'. In turn, a plug-in is a collection of Swing actions defined using XML and packaged in a jar file. Plug-ins may be local to the host platform or remotely-accessible through HTTP. Local and remote plugins are automatically discovered by JAS upon application startup; plugins may also be loaded dynamically without having to re-start the application. Using Extensible Markup Language (XML) to define actions, as opposed to hardcoding them in application logic, allows easier customization of application-specific operations by separating application logic from presentation. Through XML, a developer defines an action that may appear on any number of menus, toolbars, and buttons. Actions maintain and propagate enable/disable states and specify icons, tool-tips, titles, etc. Furthermore, JAS allows actions to be implemented using various scripting languages through the use of IBM's Bean Scripting Framework. Scripted action implementation is seamless to the end-user. In addition to action implementation, scripts may be used for application and unit-level testing. In the case of application-level testing, JAS has hooks to assist a script in simulating end-user input. JAS also provides property and user preference management, JavaHelp, Undo/Redo, Multi-Document Interface, Single-Document Interface, printing, and logging. Finally, Jini technology has also been included into the framework by means of a Jini services browser and the ability to associate services with actions. Several Java technologies have been incorporated into JAS, including Swing, Internal Frames, Java Beans, XML, JavaScript, JavaHelp, and Jini. Additional information is contained in the original extended abstract.

Miller, Philip↗

Modeling and Simulation Efforts to Support Improved Comfort in ARGOS

BACKGROUND: The Active Response Gravity Offload System (ARGOS) provides an analog environment for extravehicular activity (EVA) testing and training. Discomfort has been observed during longer suited test sessions. While the subject’s core is offloaded during surface EVA evaluations, his/her arms experience full Earth gravity and can become overly fatigued, especially during suited tests which involve reaching and prolonged arm extensions. A device (ARGOS Negation of Gravitational Effects on the Limbs: ANGEL) to offload the weight of the arms and suit sleeves is being developed by JSC’s Flight Systems Branch, and here we present preliminary modeling of that device using the open-source biomechanical tool OpenSim [1,2] with an in-house developed plugin. We analyze a series of motions performed by a single shirt-sleeved subject with goals of characterizing the device, validating the model, and predicting whether reduced gravity conditions (i.e., lunar gravity (Lg) or Martian gravity (Mg)) can be accurately simulated with the device, as well as providing comfort to the ARGOS user. METHODS AND RESULTS: To model the offload device, we augment the OpenSim human model topology with the offload mechanism components and joints, using CAD models to represent the mechanism graphically. The joint angles of the device are either obtained from (1) inverse kinematics (IK) using motion capture markers on the various components of the device or (2) calculated in the OpenSim plugin by modeling how the components configure themselves under the offloading spring tension given a particular IK-derived arm position. Given the joint angles of the device, the resulting force on the arm is computed by the plugin and applied as an external load in inverse dynamics (ID) in order to enable study of overall shoulder joint torques as well as offload achieved. We verify the calculated joint angles by using the inverse kinematic data and the forces from manual measurements of the spring both independently and integrated within the device. We found that calculated joint angles generally represent the angles measured and computed with IK, supporting a possible analysis workflow inputting human motion data and observing system behavior under varied design parameters. In two different device configurations in which the maximum applied force was 131 N, our current model accurately captured force with a difference of 2-3 N from measured loads. Though our initial test was performed with a shirt-sleeve subject, arm weights were added to emulate the weight of the suit sleeve and the subject was positioned in a test stand with a Mark-III Hard Upper Torso (HUT) and Portable Life Support System (PLSS) mockup. Arm range of motion tasks were performed outside of the HUT, inside the HUT, and inside the HUT while using the device. A variety of other upper body tasks were completed as well. In summary, we have developed a model to investigate and verify an upper limb offload device currently in development. We believe this model will be a valuable tool not only for device characterization but also to predict proper configurations to simulate Lg or Mg conditions, investigate range of motion concerns, predict limitations such as internal collisions and contacts, and inform future design improvements.

L B Nilsson↗

Datum: A Scientific Metadata Catalog

The data catalog market is currently flooded with a myriad of different products, but none serve the scientific community well. There are cloud-native tools like Databricks, Snowflake,to on-premise solutions like Collibra and Datahub. The common failing of all these tools however, is their inability to serve the scientific data community directly. Most catalogs are targeted towards financial, health, or user data - not sensor or scientific domain data. They also prioritize integrations that often don’t exist or are just starting to be used in the scientific realm - all while ignoring common scientific tools and file types. Datum is a catalog which targets the scientific data directly, including the tools and networks in which those tools are used. We work with the producers and consumers of the data where they are, targeting cloud and on-premise with a focus on classified networks. Datum is an Erlang/Elixir application. Technical Features Note: The features listed below are still under development and may change, slightly, upon final delivery of the product. File Formats - Datum has the ability to read additional metadata and provides processing pipelines for the following file formats: Plain Text, PDF, LaTeX, HTML, Open Document Format (.odt), XML, CSV/TSV (and other standard delimiters), OpenDocument Database and Spreadsheets, Geo-Referenced TIFF, Common Data Format, HDF/HDF5, LabView TDMS, Excel, DeltaTables, Parquet, Apache Iceberg, Apache Hudi and many others. Metadata Collection - Scanners for the local and networked file systems and cloud storage providers. Network integration with common databases such as MSSQL and MySQL. User Plugin System - Users are able to provide either file processing, metadata extraction, or sampling plugins in the programming language of their choice. Authentication/Authorization -: OIDC integration, SCIM provisioning and EntraID integration out of the box. Full user and group management system with a “least privilege” operating mode. Governance - Customizable data governance platform; dictate and enforce required metadata, enforce data embargos, and enforce user agreements and NDAs before data access. Ability to create health checks on data, rejecting abandoned or poorly curated data and automatically removing it from the search index. Ability for users to submit corrections. Search - Semantic search is a first class citizen. No licenses to expensive, external software required. Integrated use of vectors and vector-based search allows for AI agent integration at all levels of operation. Metadata Model - Display and control data’s lineage and connections to other data and data directories. Data is modeled after a filesystem - an organization instantly recognizable and navigable by most any user. CLI and SDK - Ships with a Command Line Interface (CLI) tool and with a fully-featured Python SDK. This allows for rapid and programmatic use of Datum by every level of user. Minimal Infrastructure - Datum ships as a single executable file and can be run on any operating system and most CPU architectures. Datum has no reliance on external databases, search indexing tools, or other outside services - and it runs equally well on edge computing devices, cloud services, or in a clustered HPC environment.

darrington, john↗

UMap: An application-oriented user level memory mapping library

Exploiting the prominent role of complex memories in exascale node architecture, the UMap page fault handler offers new capabilities to access large memory-mapped data sets directly. UMap provides flexible configuration options to customize page handling to each application, including analysis of massive observational and simulation data sets. The high-performance design features I/O decoupling, dynamic load balancing, and application-level controls. Page faults triggered by application threads and processes accessing data mapped to a UMapp’ed region are handled via the Linux userfaultfd protocol, an asynchronous message-oriented kernel-user communication mechanism that avoids the context switch penalty of traditional signal fault handlers. UMap is fully open source. In this paper, we give an overview of the UMap library architecture, its extensible plugin architecture, and the use/performance of UMap in emerging heterogeneous memory hierarchies such as near-node Non-volatile Memory (NVM) and network attached memories. We highlight new capabilities in two pagefault management plugins, the NetworkStore and SparseStore. We demonstrate the integration between UMap and multiple ECP products including Caliper, Metall, ZFP, Mochi, and Ripples.

97 MATHEMATICS AND COMPUTING↗

A CSP-Based Agent Modeling Framework for the Cougaar Agent-Based Architecture

Cognitive Agent Architecture (Cougaar) is a Java-based architecture for large-scale distributed agent-based applications. A Cougaar agent is an autonomous software entity with behaviors that represent a real-world entity (e.g., a business process). A Cougaar-based Model Driven Architecture approach, currently under development, uses a description of system's functionality (requirements) to automatically implement the system in Cougaar. The Communicating Sequential Processes (CSP) formalism is used for the formal validation of the generated system. Two main agent components, a blackboard and a plugin, are modeled as CSP processes. A set of channels represents communications between the blackboard and individual plugins. The blackboard is represented as a CSP process that communicates with every agent in the collection. The developed CSP-based Cougaar modeling framework provides a starting point for a more complete formal verification of the automatically generated Cougaar code. Currently it is used to verify the behavior of an individual agent in terms of CSP properties and to analyze the corresponding Cougaar society.

Gracanin, Denis↗

A New Architecture for Extending the Capabilities of the Copernicus Trajectory Optimization Program

This paper describes a new plugin architecture developed for the Copernicus spacecraft trajectory optimization program. Details of the software architecture design and development are described, as well as examples of how the capability can be used to extend the tool in order to expand the type of trajectory optimization problems that can be solved. The inclusion of plugins is a significant update to Copernicus, allowing user-created algorithms to be incorporated into the tool for the first time. The initial version of the new capability was released to the Copernicus user community with version 4.1 in March 2015, and additional refinements and improvements were included in the recent 4.2 release. It is proving quite useful, enabling Copernicus to solve problems that it was not able to solve before.

Williams, Jacob↗