FRR35CoordinateSystems.docx
Coordinate System
Lead: SPH
Developer: WCS
Tester: JMB
Explore
This section is to document an initial list all known issues with this feature. Put findings here during feature exploration. This is a temporary holding place, and all of these items MUST be moved to JIRA early in the feature finalization or they will not be tracked or scheduled to be fixed!
Known Bugs
● GMT2811 User Error in coordinate system dialog box results in loss of input data
● GMT2790 Tight orthogonality tolerance causes run to fail
● GMT2096 Modal Dialogs Exit (Close) Button inconsistent behavior
Other Findings/To Do
Issues you find when performing exploratory testing.
Wrap Up.
Can’t test BodySpinSun because it is not complete at this time.
● Test in GUI conversion
● Test in GUI that origin must be Celestial Body
● Add in script numeric tests
●
Code/Spec Cleanup
● Refactor ICRF code and CoordinateConverter:ConvertFromBaseToBase
● Create builtin systems for EarthITRF and EarthICRF?
● Update config section of user doc’s to explain how to maintain the new EOP files required for ICRF/ITRF.
● Should we add RotationDataSource to Earth with options of IAU1976 and IAU2000A?
● We should NOT have different ITRF and EarthFixed systems. We need to determine what to do about that issue.
● Resolve base to base issue and write spec.
● Remove ITRF and make sure it does not appear in options for axes. Make error messages consistent for BodyInertial, BodyFixed, Equator when origin is not celestial body.
Bugs to Report
● Reported GMT3177 : Changing field on coordinate system after a run, then creating command summary uses old coordinate system configuration. Same does not occur on the coordinate system field of the orbit state dialog
● Reported GMT3168 : Appears we are passing in TT instead of TDB to IAU data for bodyfixed axes calculations
● Reported GMT3176: Clicking cancel when topocentric axis is selected for coordinate system when ground station is not origin still applies the invalid coordinate system. Appears to happen for any invalid axes/origin combination. You must first create a valid coordinate system and click OK, then edit that system, make it invalid, and click ok, then click cancel. Perhaps we just shouldn’ allow invalid axes in the list.
● Reported GMT3168 :GUI fields should not be active
○ For BodySpinSun axes, no other fields should be active in GUI.
○ Epoch field should not be active for ICRF and ITRF axes
● Reported GMT3175: Moon test for CB specific axes fail?
● Reported GMT3170: Need to deprecate these fields: J2000Body and UpdateInterval parse but should not be used.
● Reported GMT3186 : Creating coordinate system with spacecraft as origin and axes as Equator is allowed then crashes when used in orbit dialog box
● Reported GMT3187 : Creating coordinate system with spacecraft as origin and axes as BodyFixed doesn’t tell user what is wrong.
● Reported GMT3186 No error thrown when axes BodySpinSun and origin is not celestial body. For BodyInertial and Topocentric, nonstandard error messages are thrown.
● Reported GMT3187 Four popup windows thrown for single error on theses tests
○ CoordinateSystem_Validation_OriginAxesCoupling_BodyInertial
○ CoordinateSystem_Validation_OriginAxesCoupling_Topocentric
● Reported GMT3122 Inconsistency in how coupled fields that are inactive are handled. On a CoordinateSystem, you can set Primary or Secondary, even if axes are not ObjectReferenced, however, on ForceModel, you cannot set Flux Values in script unless SRP is on. The issue is that in one place we allow setting of inactive fields and simply don’t use them, in other areas, we wont even let the user set them. We should address this inconsistency at some point. Setting secondary on GSM axes type changes numerics and it shouldn’t
Comments
● Editing coordinate system definition with orbit dialog box open and set to that coordinate system creates potential circular dependency. Comment: GMAT is consistent in how it handles state data. The state is defined w/r/t Earth J2000Eq internally and changing the coordinate system while the panel open does NOT change the internal state. Then changeing to the new system gives the correct results in that system.
Future Improvements
● Reported GMT3223 I believe we should not have two panels for Coordinate system. We currently have one for create, and one for edit. In the future we may consider combining these into a single panel.SPH
● Reported GMT3223 Disallowed axes origin pairs in the GUI menus should not appear. We currently allow the selection but then throw an error which is acceptable but not the best solution. For example, if Topocentric is axes, only groundstations should appear as Origin options. If Origin is Not a celestial body, the axes types that require a CB at origin should not appear as options in the Axes field. SPH
Requirements
FRR35.1.0 
The system shall allow the user to create and configure coordinate systems with the following objects as the origin : 
FRR35.1.1 
1) Spacecraft 
FRR35.1.2 
2) Celestial body 
FRR35.1.3 
3) Barycenter 
FRR35.1.4 
4) Libration point 
FRR35.1.5 
5) Ground station 
FRR35.2.0 
The system shall allow the user to create and configure coordinate systems with the following axes types: 
FRR35.2.1 
1) Mean J2000 Earth Equator 
FRR35.2.2 
2) Mean J2000 Ecliptic 
FRR35.2.3 
3) True of Epoch Earth Equator 
FRR35.2.4 
4) True of Epoch Ecliptic 
FRR35.2.5 
5) Mean of Epoch Earth Equator 
FRR35.2.6 
6) Mean of Epoch Ecliptic 
FRR35.2.7 
7) Mean of Date Earth Equator 
FRR35.2.8 
8) Mean of Date Ecliptic 
FRR35.2.9 
9) Celestial Body Fixed ( if origin is a celestial body ) 
FRR35.2.10 
10) Celestial Body Inertial (if origin is a celestial body ) 
FRR35.2.11 
11) Geocentric Solar Magnetic 
FRR35.2.12 
12) Geocentric Solar Ecliptic 
FRR35.2.13 
13) Object Referenced (sometimes called BodyBody Rotating) 
FRR35.2.14 
14) Topocentric (if origin is a ground station ) 
FRR35.2.15 
15) True of Date Earth Equator 
FRR35.2.16 
16) True of Date Ecliptic 
Interface/Functional Spec
Overview
An axis and origin pair
Description
A coordinate system in GMAT is defined as an origin and an axis system. You can select the origin of a coordinate system from various points such as a celestial body, spacecraft, ground station, or libration point to name a few. GMAT supports numerous axis systems such as J2000 equator, J2000 ecliptic, IRCF , ITRF, Topocentric, and ObjectReferenced among others . Coordinate systems are tightly integrated into GMAT to enable you to define, report, and visualize data in coordinate systems relevant to your application or visualize.
See Also : Spacecraft, Parameters, OrbitView
Fields
See the User Interface Spec spreadsheet for reference information for fields. This section is usually empty other than the hyperlink.
GUI
Figure 1 New Coordinate System Properties
The New Coordinate System dialog box shown above appears when you add a new coordinate system in the Resource Tree. You provide a name for the new CoordinateSystem in the Coordinate System Name box and configure the CoordinateSystem by selecting the Origin and Axes types along with other settings. Some settings, such as Primary and Secondary, are only active for particular Axes types and those dependencies are described below.
Figure 2 Coordinate System Origin
When editing an existing CoordinateSystem, you use the CoordinateSystem dialog box. The default configuration is shown above.
Figure 3 Coordinate System Axes
If you select ObjectReferenced for the Axes type, then the Primary, Secondary, X, Y, and Z fields are activated. You can use the ObjectReferenced axis system to define coordinates based on the motion of two space objects such as spacecraft, celestial bodies, or barycenters to name a few . See the Remarks section below for a detailed definition of the ObjectReferenced axis system.
Figure 4 Coordinate System Axis Type
If you select TOEEq, TOEEc, MOEEq, or MOEEc as the axis type, then the (A1MJd) Epoch field is activated. Use the A1MJd Epoch field to define the reference epoch of the coordinate system.
Remarks
Computation of J2000Based Axes using IAU76/FK5 Reduction
FK5 reduction is the transformation that rotates a vector expressed in the MJ2000Eq system to the EarthFixed coordinate system. This section describes how the following axes types are computed: MJ2000Eq, MJ2000Ec, EarthFixed, MODEq, MODEc,TODEq,TODEc, MODEq, MODEc, TODEq, and TODEc axes systems. The true of Date systems and Mean of Date axes systems are intermediate coordinate systems in FK5 reduction.
The time varying orientation of the Earth is complex due to interactions between the Earth and its external environment (the Sun and Moon and Planets) and internal dynamics. The orientation cannot currently be modelled to the accuracy required by many space applications and FK5 reduction is a combination of dynamical modelling along with daily corrections from empirical observations. The figure below illustrates components of motion of the Earth with respect to inertial space. The primary components of the motion of the Earth with respect to inertial space are Precession, Nutation, Sidereal time and, Polar Motion.
Figure 5 Components of Motion of the Earth
The principal moment of inertia is defined as the Celestial Ephemeris Pole. Due to the fact that Earth’s mass distribution changes with time, the Celestial Ephemeris Pole is not constant with respect to the Earth’s surface. Precession is defined as the coning motion that the Celestial Ephemeris Pole makes around the ecliptic north pole. The other principal component of the motion of the Celestial Ephemeris Pole is called nutation and is the oscillation in the angle between the Celestial Ephemeris Pole and the north ecliptic pole. The theory of Precession and Nutation come from dynamical models of the Earth’s motion. The Sidereal time is the rotation of the Earth about the Celestial Ephemeris Pole. The sidereal time model is a combination of theory and observation. The Earth’s spin axis direction is not constant with respect to the Earth’s crust and its motion is called Polar Motion. A portion of polar motion is due to complicated dynamics, and a portion is due to unmodelled errors in nutation. Polar motion is determined from observation.
The True of Date (TOD) systems and Mean of Date (MOD) systems are intermediate coordinate systems in FK5 reduction and are commonly used in analysis. The details of the computations are contained in the GMAT mathematical specification and the figure below is included here for summary purposes. The following abbreviations are used in the figure. PM: Polar Motion, ST: Sideral Time, NUT: Nutation, PREC: Precession, ITRF: International Terrestrial Reference Frame (Earth Fixed), PEF: Pseudo Earth Fixed, TODEq: True of Date Equator, TODEc: True of Date Ecliptic, MODEc: Mean of Date Ecliptic, MODEq: Mean of Date Equator, FK5: J2000 Equatorial Inertial (IAU1976/1980).
Figure 6 GMAT Mathematical Specification
Computation of ICRF and ITRF Axes using IAU2000 Conventions
The computation for the International Celestial Reference Frame (ICRF) and the International Terestrial Reference Fame (ITRF) are computed using an IAU 2000A theory with the 2006 update to precession. GMAT uses the Celestial Intermediate Origin (CIO) method of transformation which avoids issues associated with precession and nutation. In the CIO model, the Celestial Intermediate Pole unit vector is modeled using the variables X and S and the CIO locator, s. For performance reasons, GMAT interpolates X, Y, and s, from precomputed values stored in the file named ICRF_Table.txt distributed with GMAT.
Computation of ObjectReference Axis System
An ObjectReferenced axis system is defined by the motion of one object with respect to another object. The figure below defines the six principal directions of an Object Referenced axis system. One is the relative position of the secondary object with respect to the primary object, denoted by r, expressed in the inertial frame. The second is the relative velocity, denoted here by v, of the secondary object with respect to the primary, expressed in the inertial frame. The third direction is the vector normal to the direction of motion which is denoted by n and is calculated using n = r × v. The remaining three directions are the negative of the first three yielding the complete set: {R,R, V,V, N,N}.
Figure 7 ObjectReference Axis System
You define an Object Referenced axis system by defining two axes from the three available [X, Y, and Z] using the six available options {R,R, V,V, N,}. Given two directions, GMAT constructs an orthogonal, righthanded coordinate system. For example, if you choose the xaxis to be in the direction of R and the zaxis to be in the direction of N, GMAT completes the righthanded set by setting the yaxis in the direction of NxR. If you choose permutations that result in a nonorthogonal or lefthanded CoordinateSystem, GMAT will throw an error message.
Caution: GMAT currently assumes that terms involving the cross and dot product of acceleration are zero when computing ObjectReferenced rotation matrices. 
Overview of Builtin Coordinate Systems
Name 
Origin 
Axes 
Description 
EarthMJ2000Eq 
Earth 
MJ2000Eq 
An Earth equator inertial system based on IAU1976/FK5 theory with 1980 update to nutation. 
EarthMJ2000Ec 
Earth 
MJ2000Ec 
An Earth ecliptic inertial system based on IAU1976/FK5 theory with 1980 update to nutation. 
EarthFixed 
Earth 
BodyFixed 
An Earth fixed system based on IAU1976/FK5 theory with 1980 update to nutation. 
EarthICRF 
Earth 
ICRF 
An Earth equator inertial system based on IAU2000 theory with 2006 update to precession. 
Description of Axes Types
Axes Name 
Origin Limitations 
Base Type 
Description 
MJ2000Eq 
None 
IAU1976 FK5 
An inertial coordinate system. The nominal xaxis points along the line formed by the intersection of the Earth’s mean equatorial plane and the mean ecliptic plane (at the J2000 epoch), in the direction of Aries. The zaxis is normal to the Earth’s mean equator at the J2000 epoch and the yaxis completes the righthanded system. The mean planes of the ecliptic and equator, at the J2000 epoch, are computed using IAU1976/FK5 theory with 1980 update for nutation. 
MJ2000Ec 
None 
IAU1976 FK5 
An inertial coordinate system. The xaxis points along the line formed by the intersection of the Earth’s mean equator and the mean ecliptic plane at the J2000 epoch. The zaxis is normal to the mean equatorial plane at the J2000 Epoch and the yaxis completes the righthanded set. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
ICRF 
None 
IAU2000 
An inertial coordinate system. The axes are close to the mean Earth equator and pole at the J2000 epoch, and at the Earth’s surface, the RSS difference between vectors expressed in MJ2000Eq and ICRF is less than 1 m. Note that since MJ2000Eq and ICRF are imperfect realizations of inertial systems, the transformation between them is time varying. This axis system is computed using IAU2000A theory with 2006 update for precession. 
ITRF 
None 

An Earthfixed system. This system is computed using IAU2000A theory with 2006 update for precession. 
MODEq 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to Earth’s mean equator at the current epoch. The current epoch is defined by the context of use and usually comes from the spacecraft or graphics epoch. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
MODEc 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to the mean ecliptic at the current epoch. The current epoch is defined by the context of use and usually comes from the spacecraft or graphics epoch. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
TODEq 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to Earth’s true equator at the current epoch. The current epoch is defined by the context of use and usually comes from the spacecraft or graphics epoch. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
TODEc 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to Earth’s true ecliptic at the current epoch. The current epoch is defined by the context of use and usually comes from the spacecraft or graphics epoch. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
MOEEq 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to Earth’s mean equator at the reference epoch. The reference epoch is defined on the CoordinateSystem object. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
MOEEc 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to the mean ecliptic at the reference epoch. The reference epoch is defined on the CoordinateSystem object. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
TOEEq 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to Earth’s true equator at the reference epoch. The reference epoch is defined on the CoordinateSystem object. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
TOEEc 
None 
IAU1976 FK5 
A quasiinertial coordinate system referenced to the true ecliptic at the reference epoch. The reference epoch is defined on the CoordinateSystem object. This system is computed using IAU1976/FK5 theory with 1980 update for nutation. 
ObjectReferenced 
None 

An ObjectReferenced system is a CoordinateSystem whose axes are defined by the motion of one object with respect to another object. See the sections above for a detailed description of the ObjectReferenced axis system. 
Equator 
Celestial Body 

A true of data equator axis system for the celestial body selected as the origin. The Equator system is defined by the body’s equatorial plane and its intersection with the ecliptic plane, at the current epoch. The current epoch is defined by the context of use and usually comes from the spacecraft or graphics epoch. The BodyFixed system for Earth is computed using IAU1976/FK5 theory. For the Moon, the BodyFixed system is computed using the theory selected in the field Luna.RotationDataSource. For other builtin celestial bodies, the body fixed axes are computed using models provided by the IAU in “Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites: 2000”. 
BodyFixed 
Celestial Body 

The BodyFixed axis system is referenced to the body equator and the prime meridian of the body. The BodyFixed system for Earth is computed using IAU1976/FK5 theory. For the Moon, the BodyFixed system is computed using the theory selected in the field Luna.RotationDataSource. For other builtin celestial bodies, the body fixed axes are computed using models provided by the IAU in “Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites: 2000”. 
BodyInertial 
Celestial Body 

An inertial system referenced to the equator ( at the J2000 epoch ) of the celestial body selected as the origin of the CoordinateSystem. Because the accuracy of available models varies for different solar system bodies, the BodyInertial axis system uses different theories for different celestial bodies.
For Earth, the BodyInertial axis system is identical to the MJ2000Eq system. For the Moon, the orientation at the J2000 epoch is computed using the theory selected in the field Luna.RotationDataSource. For all other builtin celestial bodies, the BodyInertial axis system is based upon the IAU report entitled “Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites: 2000”.
Because the BodyInertial axis system uses different theories for different bodies, the following definitions describe only the nominal axis configurations. The xaxis points along the line formed by the intersection of the bodies equator and earth’s mean equator at J2000. The zaxis points along the bodies spin axis direction at the J2000 epoch. The yaxis completes the righthanded set. 
GSE 
None 

The Geocentric Solar Ecliptic system. The xaxis points from Earth to the Sun. The zaxis is defined as the cross product RxV of the earth’s position and velocity with respect to the sun. The yaxis completes the righthanded set. The GSE axes are computed using the relative motion of the Earth and Sun even if the origin is not Earth. 
GSM 
None 

The Geocentric Solar Magnetic system. The xaxis points from Earth to the Sun. The zaxis is defined to be orthogonal to the xaxis and lies in the plane of the xaxis and Earth’s magnetic dipole vector. The yaxis completes the righthanded set. The GSE axes are computed using the relative motion of the Earth and Sun even if the origin is not Earth. 
Topocentric 
Earth 

The Topocentric coordinate system is a groundstation based coordinate system. The yaxis points due East and the zaxis is normal to the local horizon. The xaxis completes the right handed set. 
BodySpinSun 
Celestial Body 


Examples
Define a spacecraft’s state in EarthFixed coordinate.
Create Spacecraft aSpacecraft; aSpacecraft.CoordinateSystem = EarthFixed; aSpacecraft.X = 7100; aSpacecraft.Y = 0; aSpacecraft.Z = 1300; aSpacecraft.VX = 0; aSpacecraft.VY = 7.35; aSpacecraft.VZ = 1; 
Report a spacecraft’s state in GroundStation Topocentric coordinates.
Create Spacecraft aSat; Create Propagator aProp; Create GroundStation aStation
Create CoordinateSystem stationTopo stationTopo.Origin = aStation; stationTopo.Axes = Topocentric;
Create ReportFile aReport; GMAT aReport.Filename = 'ReportFile1.txt'; aReport.Add = {aSat.stationTopo.X aSat.stationTopo.Y aSat.stationTopo.Z aSat.stationTopo.VX aSat.stationTopo.VY aSat.stationTopo.VZ};
BeginMissionSequence;
Propagate aProp(aSat) {aSat.ElapsedSecs = 8640.0}; 
View a trajectory in an ObjectReferenced, rotatinglibrationpoint system.
% Create the EarthMoon Barycenter and Libration Point Create Barycenter EarthMoonBary EarthMoonBary.BodyNames = {Earth,Luna};
Create LibrationPoint SunEarthMoonL1 SunEarthMoonL1.Primary = Sun; SunEarthMoonL1.Secondary = EarthMoonBary SunEarthMoonL1.Point = L1;
% Create the coordinate system Create CoordinateSystem RotatingSEML1Coord; GMAT RotatingSEML1Coord.Origin = SunEarthMoonL1; GMAT RotatingSEML1Coord.Axes = ObjectReferenced; GMAT RotatingSEML1Coord.XAxis = R; GMAT RotatingSEML1Coord.ZAxis = N; GMAT RotatingSEML1Coord.Primary = Sun; GMAT RotatingSEML1Coord.Secondary = EarthMoonBary;
% Create the spacecraft and propagator Create Spacecraft aSpacecraft GMAT aSpacecraft.DateFormat = UTCGregorian; GMAT aSpacecraft.Epoch = '09 Dec 2005 13:00:00.000'; GMAT aSpacecraft.CoordinateSystem = RotatingSEML1Coord; GMAT aSpacecraft.X = 32197.88223741966; GMAT aSpacecraft.Y = 211529.1500044117; GMAT aSpacecraft.Z = 44708.57017366499; GMAT aSpacecraft.VX = 0.03209516489451751; GMAT aSpacecraft.VY = 0.06100386504053736; GMAT aSpacecraft.VZ = 0.0550442738917212;
Create Propagator aPropagator aPropagator.FM = aForceModel; GMAT aPropagator.MaxStep = 86400; Create ForceModel aForceModel aForceModel.PointMasses = {Earth,Sun,Luna};
% Create a 3D graphic Create OrbitView anOrbitView; anOrbitView.Add = {aSpacecraft, Earth, Sun, Luna}; anOrbitView.CoordinateSystem = RotatingSEML1Coord; anOrbitView.ViewPointReference = SunEarthMoonL1; anOrbitView.ViewPointVector = [1500000 0 0 ]; anOrbitView.ViewDirection = SunEarthMoonL1; anOrbitView.ViewUpCoordinateSystem = RotatingSEML1Coord; anOrbitView.Axes = Off; anOrbitView.XYPlane = Off;
BeginMissionSequence
Propagate aPropagator(aSpacecraft, {aSpacecraft.ElapsedDays = 180}); 
Test Procedures
Assumptions
If you are making assumptions about how tests will be performed or that other test areas will cover some of this functionality, describe that here.
Existing Tests
Tests for coordinate system are broken down into three areas.
1 Origin tests that verify translations are being performed correctly
2 Axes tests that verify rotations are performed correctly
3 Coupled origin and axes tests that test at a system level those endtoend transformations are performed correctly.
Axes test procedures, in general, are described by the bulleted list below. Note, not all types are applicable to each system and differences are discussed in the table below:
● Test conversion to and from EarthMJ2000Eq
● Test conversion to and from coordinate systems that employ a different base coordinate system (i.e, IAU1976 or IAU2000)
Special earthbased coordinate systems are: MJ2000Ec, MJ2000Eq, ICRF,MODEq, MODEc, TODEq, TODEc, MOEEq, MOEEc, TOEEq, TOEEc, GSE, GSM
Priority 
Status 
Description 
P1 
Done:SPH 
Test coordinate system conversion from each spacepoint type to every other space point type: Spacecraft, Libration point, Barycenter, SSB, Planet, user planet, user comet, user asteroid, user moon, ground station. Set all allowed state types with respect to each space point type and test conversions:
See: OrbitState_SpacePoint*.script CoupledInputTests Orbit_CoordinateSystemConversions* 
P1 
Done:SPH 
Test coordinate system conversion from each special Earthbased axis systems type to every other axis type, with Earth as central body.
See files like:
CoordSysTest_MODEc_To_MODEq CoordSysTest_MODEc_To_TOEEc CoordSysTest_MJ2000Eq_To_ICRF 
P1 
Done:SPH 
Test coordinate system conversion from each special Earthbased axis type to all other axis types, with Moon as central body. This tests decoupling of axes with Earth.
See files like:
CoordSysTest_Luna_MJ2000Eq_To_GSE CoordSysTest_Luna_MJ2000Eq_To_ICRF 
P1 
Done:SPH 
Test conversion from from selected systems where the origin and axes for each system are different. This tests transformations when both translation and rotations are required.
See tests named: CoupledInputTests Orbit_CoordinateSystemConversions*

Origin Dependent and Configurable Systems
These systems have the following additional tests.
● Test special field that configure the axes. For example, the primary and secondary on ObjectRefereced Axes.
● Test special axes models that vary by origin type. For example, if Axes are body fixed, then the orientation is determined by the model for the body and each model must be tested.
Priority 
Status 
Summary 
P1 
Done:SPH 
Test Equator axes for all built in coordinate systems and for userdefined bodies.
see files like: CoordSysTest_Titan_Equator CoordSysTest_Pluto_Equator 
P1 
Done:SPH 
Test BodyFixed axes for all built in coordinate systems and for userdefined bodies.
See files like: CoordSysTest_Titan_BodyFixed CoordSysTest_Pluto_BodyFixed 
P1 
Done:SPH 
Test BodyFixed axes for all built in coordinate systems and for userdefined bodies.
CoordSysTest_Titan_BodyInertial CoordSysTest_Pluto_BodyInertial 
P1 
Done:SPH 
Test conversion to and from ground centered origin topocentric:
See files named:
CoordSysTest_ICRF_To_Topocentric CoordSysTest_Topocentric_To_TODEc 
BodySpinSun 

Test BodySpinSun coordinates 
ObjectReferenced 
Done: SPH 
Test all allowed permutations of ObjectReferenced Coordinate Systems
See tests like: CoordSysTest_XAxis_N_YAxis_R CoordSysTest_XAxis_N_YAxis_V CoordSysTest_XAxis_N_YAxis_R CoordSysTest_XAxis_N_YAxis_V CoordSysTest_XAxis_N_ZAxis_R CoordSysTest_XAxis_N_ZAxis_V CoordSysTest_XAxis_N_ZAxis_R

Edge/Corner/Stress
Priority 
Status 
Summary 
P1 
Done: SPH 
Test ObjectReferenced axes handle case when relative position is zero resulting in undefined axes:
See CoordinateSystem_Validation_ObjectReferencedUndefined1 
P1 
Done:SPH 
Test ObjectReferenced axes handle case when relative velocity is zero resulting in undefined axes
See CoordinateSystem_Validation_ObjectReferencedUndefined2 
P1 
Done:SPH 
Test ObjectReferenced axes handle case when relative position and velocity is zero resulting in undefined axes.
See CoordinateSystem_Validation_ObjectReferencedUndefined3 
Unique Validation
Priority 
Status 
Summary 
P1 
Done:SPH 
Verify error if origin is not groundstation for topocentric axes 
P1 
Done:SPH 
Verify error if origin is not celestial body for Equator axes 
P1 
Done:SPH 
Verify error if origin is not celestial body for BodyInertial axes 
P1 
Done:SPH 
Verify error if origin is not celestial body for BodyFixed axes 
P1 
Done:SPH 
Verify error if origin is not celestial body for Equator axes 
P1 
Done:SPH 
Verify error warning is thrown setting Primary for nonObjectReferenced axes types 
P1 
Done:SPH 
Verify error warning is thrown setting Secondary for nonObjectReferenced axes types 
P1 
Done:SPH 
Verify error warning is thrown setting Xaxis for nonObjectReferenced axes types 
P1 
Done:SPH 
Verify error warning is thrown setting Yaxis for nonObjectReferenced axes types 
P1 
Done:SPH 
Verify error warning is thrown setting Zaxis for nonObjectReferenced axes types 
Unique Mode Tests
Coordinate systems are not settable in assignment mode so no additional tests required. SPH
Priority 
Status 
Summary 









Unique GUI Tests
These are tests that are unique to the GUI interface for this feature that are not covered by the standard GUI test template and procedures.
Priority 
Status 
Summary 
P1 
SPH: Done 
Verify that Epoch field is active only when axes are one of the following: TOEEc MOEEc TOEEq MOEEq
Comment: Reported GMT3168 
P1 
SPH: Done 
Verify that Primary and Secondary, XAxis, YAxis, ZAxis are only active for ObjectReferenced axes.
Comment: Reported GMT3168 
P1 
SPH: Done 
Verify Invalid Epoch is denied for TOEEc MOEEc TOEEq MOEEq 
P1 
SPH: Done 
Ensure that all allowed space point objects appear as options in the origin field. Need to create some before they will appear: Spacecraft, GroundStation, SolarySystemBarycenter, user defined barycenter, libration point, Celestial Body, user defined celestial body 
P1 
SPH: Done 
Ensure all allowed axes types appear in menu. 
P1 
SPH: Done 
Create a coordinate system for each space point type and use in computation comparing GUI computation to script computation: Spacecraft, GroundStation, SolarySystemBarycenter, user defined barycenter, libration point, Celestial Body, user defined celestial body.
The GUI results and script results are located in Jazz\trunk\test\script\extern\Resources\FRR35_CoordinateSystems and named: GUIOrbitSpacePointConversionResults.docx GUIOrbitSpacePointConversionResults.script
Comment: found one bug GMT3185 
P1 
SPH:Done 
Create a coordinate system for each core axes type and use in computation comparing GUI computation to script computation: MJ2000Eq, MJ2000Ec, TODEq, TOEEq, BodyInertial, Topocentric, ICRF, objRef … Note that I assumed don’t need to test all of the TOD and TOE types just one of each.
The GUI results and script results are located in Jazz\trunk\test\script\extern\Resources\FRR35_CoordinateSystems and named: GUIOrbitAxesConversionResults.docx GUIOrbitAxesConversionResults.script

P1 
SPH:Done 
Verify error message for BodyInertial axes if origin is not a celestial body
Comment: Reported GMT3187 because error message is not complete. 
P1 
SPH:Done 
Verify error message for BodyFixed axes if origin is not a celestial body

P1 
SPH: Done 
Verify error message for Equator axes if origin is not a celestial body
Comment: Reported GMT3186 
P1 
SPH: Done 
Verify error message for Equator axes if origin is not a celestial body 
P1 
SPH:Done 
Verify error message for Topocentric axes if origin is not a celestial body
Comment: Reported GMT3187 because error message is not complete. 
P1 
SPH:Done 
For ObjectReferenced axes, verify GUI disallows Primary and Secondary set to same object. 
P1 
SPH:Done 
For ObjectReference axes, verify GUI disalllows setting non empty selection for all three axes, XAxis, YAxis, and ZAxis ( you can only choose two). 
P1 
SPH:Done 
For ObjectReferenced Axes verify that if two axes are set the same, an error is thrown. 
P1 
SPH:Done 
For ObjectReferenced Axes verify that error is thrown if all axes are set to empty. 
P1 
SPH:Done 
For ObjectReference Axes verify that error is thrown if two of three axes are set to empty 