Release Notes for FreeFlyer 7.1

Top  Previous  Next

New Features in FreeFlyer 7.1


Timing Precision

Added a nanosecond timing precision mode to FreeFlyer that maintains time precision down to the nanosecond level

Epochs are stored in TimeSpan objects in nanosecond precision mode to facilitate the increase in precision

By default, FreeFlyer will utilize the millisecond timing precision mode to maintain backwards compatibility with older versions of the software

Old Mission Plans created in FreeFlyer 7.0.2 and earlier will load as millisecond timing precision mode Mission Plans

Millisecond Mission Plans must be converted manually to the new mode if nanosecond precision is desired

Nanosecond timing precision mode will become the default as of FreeFlyer 7.3

 

Generating Output

FreeFlyer can now generate output windows with FF.exe and the runtime Application Program Interface (API)

Output windows can now be printed and exported both from the Output Properties tab and the output window context menu

Graphics card information has been moved from the Output Properties tab to the Help menu at the top of the FreeFlyer interface

Control+Right Click in an output window now opens up the output window context menu

ViewWindow

oA new Viewpoint type, the Star Map, has been added to the list of available view modes in the ViewWindow

oViewWindow objects now support size scaling of the CelestialObject axes when they are displayed

oPlanetary shadowing can now be visualized on 3D models rendered in a ViewWindow

ThreeDModel

oLightWave / Modo Object, Wavefront Object, and Stereolithography file types are now supported for ThreeDModel objects in FreeFlyer

oNew group handling functionality has been added to the ThreeDModel object to simplify adding and managing 3D nodes in the object

PlotWindow

oThe background color of legends in PlotWindow objects can now be modified

oSpecific series can be hidden from the PlotWindow legend as needed

 

Extensions

The FreeFlyer Extensions SDK is now at version 2

oFreeFlyer extensions now support the passing of TimeSpan objects in association with the new nanosecond timing precision mode

oUsers can now estimate properties of custom force extensions in orbit determination (OD) processes

oArray and Matrix properties and method returns are now supported

 

Rotating Libration Points

FreeFlyer now supports rotating libration point functionality natively with the new RotatingLibrationPoint object

The new object supports Lagrange point-based conversions from L1 all the way to L5

 

Ephemerides

The FreeFlyer ephemeris format is now at version 3

oAdds support for TimeSpan columns (supporting nanosecond timing precision) and String columns

oNow supports a new EphemerisVector object to simplify accessing and handling data in the ephemeris

oImproved efficiency by representing the epoch column by a Variable or TimeSpan epoch

CCSDS OEM Updates

oAdded the ability for FreeFlyer to read CCSDS OEM files with multiple data blocks without time gaps

oFreeFlyer now supports both Blue Book standard comment blocks within CCSDS OEM files

oA number of issues related to CCSDS OEM parsing in FreeFlyer have been addressed

 

Miscellaneous Improvements

JPL's De430 planetary ephemeris file has been added to FreeFlyer's installer, and is now used as the default.

The Design tier of FreeFlyer has been removed, and now FreeFlyer has only two tiers of functionality: Engineer and Mission

State update de-weighting is now supported for both the extended and unscented Kalman filters

The FreeFlyer user profile (profile.xml) now creates a temporary file when being generated before overwriting the old profile

Installation for FreeFlyer now offers either an executable for the full installation or a set of MSI variants for remote installation

Static methods and properties are now supported in some FreeFlyer objects, and more will be appearing in the future

An assortment of other bug fixes and minor enhancements were made

 

 

Migrating to FreeFlyer 7.1


While we always strive to maintain 100% backwards compatibility in our new releases, our efforts to make FreeFlyer more flexible and consistent in FreeFlyer 7.1 and higher have necessitated a few changes which may require user intervention when migrating your existing Mission Plans. These changes are outlined below.

 

Randomly generated numbers in FreeFlyer will differ from those generated in previous versions of FreeFlyer even when using identical seed values.

 

With FreeFlyer now distributing JPL's De430 planetary ephemeris file and using it as the default, small numerical differences will show up throughout all of FreeFlyer's orbital calculations. If users would like to go back to the previous, outdated planetary ephemeris files to retain identical values to those achieved in previous versions of FreeFlyer, they are still distributed with FreeFlyer for convenience.

 

The "--profile" and "-p" command line switches have been replaced with "--use-profiler" and "-up", respectively. Command line calls to ff.exe using these switches will need to be updated.

 

When writing observations to the FFGroundObservationFile and SpacecraftObservationFile formats, leading zeroes in the Spacecraft.SatelliteId property are now correctly respected. This can lead to changes in output FFGroundObservationFile and SpacecraftObservationFile files where the leading zeroes will now be present.

 

The ComplexSensor object, which has long since been deprecated, has now been removed from FreeFlyer. Any Mission Plans still using this outdated object should update to using the Sensor object instead.

 

FileInterface objects in FreeFlyer 7.1 will clear an additional end of file (EOF) character when the FileInterface.SeekG method is used. Users should update their scripts to account for this change if they're using that method.

 

VirtualArray.Fill methods have been removed in FreeFlyer 7.1, but are kept on the Array object. The most typical case where a user might be impacted by this would be is when using script such as "(mySpacecraft.Propagator AsType Integrator).ForceModel.UseBodyForce.Fill(0)". For this particular example, you would instead assign an Array object of identical size containing all 0 values to that property.

 

Ephemeris functionality related to outdated NASA-specific formats PODS, TRAJEX, OTIS, GVPAT, POST, and DUKSUP has been removed from FreeFlyer.

 

The ClearEphemeris method of the Ephemeris object no longer clears all columns from the Ephemeris. To do this now, use the FFEphemProperties object's RemoveAllColumns method.

 

A case where users could use Step To functionality with a conditional statement comparing the Spacecraft's epoch directly to a UTC string has been disabled. The specific script that will no longer work is "Step mySpacecraft to (mySpacecraft.Epoch == "Jan 01 2010 14:42:30.000")". Users should convert the UTC string to an MJD TAI epoch before performing the Step command.

 

Version 2 of the FreeFlyer ephemeris format would previously not set the CentralBody property when loaded, which could cause undesirable and incorrect behavior when using the format for non-Earth central bodies. This erroneous behavior has since been corrected, which will cause a change in results for anyone encountering it in previous versions of FreeFlyer.

 

PercentShadow calculations have been updated to use the Montenbruck and Gill formulation over the Wertz formulation to reduce noisiness in the solution that could put the complete percent shadow as greater than 100% in the umbral to penumbral transition. This will change numerical results of PercentShadow calculations marginally, but have no impacts on the interfaces themselves.

 

FreeFlyer movies generated from command line no longer attempt to read user preferences from the user profile and will require all parameters be provided at the command line via the relevant switches.

 

Loading a CCSDS OEM file into a Spacecraft object no longer changes the Spacecraft.Name property to reflect the Spacecraft's name in the ephemeris. This information is still stored in the CCSDSOEMProperties sub-object of the Ephemeris object, however, if the user needs to get it.

 

All previously existing deprecated properties and functionality have been removed from nanosecond timing precision mode, but are retained in millisecond timing precision mode for backwards compatibility. While this won't directly affect users moving their Mission Plans to FreeFlyer 7.1, users moving their Mission Plans to nanosecond will need to be aware of these changes. Please see the conversion guide for moving Mission Plans from millisecond to nanosecond timing precision mode.

 

Various Objects, Properties, Methods, and Functions have been deprecated

oDeprecated Objects, Properties, Methods, and Functions are elements of FreeFlyer which are no longer recommended for use. The description of each deprecated element indicates the new recommended way to achieve the functionality of that element. The complete list of affected elements is given on the Deprecated Objects, Properties, Methods, and Functions page.

 

 

See Also


Release History