Coordinate System

Lead: SPH

Developer: WCS

Tester: JMB

 

 

Explore

Known Bugs

Other Findings/To Do

Requirements

Interface/Functional Spec

Overview

Description

Fields

GUI

Remarks

Examples

Test Procedures

Assumptions

Existing Tests

Recommended Additional Tests

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

 

     GMT-2811 User Error in coordinate system dialog box results in loss of input data

     GMT-2790 Tight orthogonality tolerance causes run to fail

     GMT-2096 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 built-in 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 GMT-3177 : 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 GMT-3168 : Appears we are passing in TT instead of TDB to IAU data for bodyfixed axes calculations

      Reported GMT-3176: 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 GMT-3168 :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 GMT-3175: Moon test for CB specific axes fail? 

      Reported GMT-3170: Need to deprecate these fields: J2000Body and UpdateInterval parse but should not be used.

      Reported GMT-3186 : Creating coordinate system with spacecraft as origin and axes as Equator is allowed then crashes when used in orbit dialog box

      Reported GMT-3187 : Creating coordinate system with spacecraft as origin and axes as BodyFixed doesn’t tell user what is wrong.

      Reported GMT-3186 No error thrown when axes BodySpinSun and origin is not celestial body. For BodyInertial and Topocentric, non-standard error messages are thrown.

      Reported GMT-3187 Four pop-up windows thrown for single error on theses tests

      CoordinateSystem_Validation_OriginAxesCoupling_BodyInertial

      CoordinateSystem_Validation_OriginAxesCoupling_Topocentric

      Reported GMT-3122 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 GMT-3223 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 GMT-3223 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

 

FRR-35.1.0

The system shall allow the user to create and configure coordinate systems with the following objects as the origin :

FRR-35.1.1

1)      Spacecraft

FRR-35.1.2

2)      Celestial body

FRR-35.1.3

3)      Barycenter

FRR-35.1.4

4)      Libration point

FRR-35.1.5

5)      Ground station

FRR-35.2.0

The system shall allow the user to create and configure coordinate systems with the following axes types:

FRR-35.2.1

1)      Mean J2000 Earth Equator

FRR-35.2.2

2)      Mean J2000 Ecliptic

FRR-35.2.3

3)      True of Epoch Earth Equator

FRR-35.2.4

4)      True of Epoch Ecliptic

FRR-35.2.5

5)      Mean of Epoch Earth Equator

FRR-35.2.6

6)      Mean of Epoch Ecliptic

FRR-35.2.7

7)      Mean of Date Earth Equator

FRR-35.2.8

8)      Mean of Date Ecliptic

FRR-35.2.9

9)      Celestial Body Fixed ( if origin is a celestial body )

FRR-35.2.10

10)   Celestial Body Inertial (if origin is a celestial body )

FRR-35.2.11

11)   Geocentric Solar Magnetic

FRR-35.2.12

12)   Geocentric Solar Ecliptic

FRR-35.2.13

13)   Object Referenced (sometimes called Body-Body Rotating)

FRR-35.2.14

14)   Topocentric  (if origin is a ground station )

FRR-35.2.15

15)     True of Date Earth Equator

FRR-35.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 J2000-Based 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 (IAU-1976/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, right-handed coordinate system. For example, if you choose the x-axis to be in the direction of R and the z-axis to be in the direction of N, GMAT completes the right-handed set by setting the y-axis in the direction of NxR.  If you choose permutations that result in a non-orthogonal or left-handed 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 Built-in Coordinate Systems

 

Name

Origin

Axes

Description

EarthMJ2000Eq

Earth

MJ2000Eq

An Earth equator inertial system based on IAU-1976/FK5 theory with 1980 update to nutation.

EarthMJ2000Ec

Earth

MJ2000Ec

An Earth ecliptic inertial system based on IAU-1976/FK5 theory with 1980 update to nutation.

EarthFixed

Earth

BodyFixed

An Earth fixed system based on IAU-1976/FK5 theory with 1980 update to nutation.

EarthICRF

Earth

ICRF

An Earth equator inertial system based on IAU-2000 theory with 2006 update to precession.

 

Description of Axes Types

 

Axes Name

Origin

Limitations

Base Type

Description

MJ2000Eq

None

IAU-1976 FK5

An inertial coordinate system. The nominal x-axis 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 z-axis is normal to the Earth’s mean equator at the J2000 epoch and the y-axis completes the right-handed system. The mean planes of the ecliptic and equator, at the J2000 epoch, are computed using IAU-1976/FK5 theory with 1980 update for nutation.

MJ2000Ec

None

IAU-1976 FK5

An inertial coordinate system. The  x-axis points along the line formed by the intersection of the Earth’s mean equator and the mean ecliptic plane at the J2000 epoch.   The z-axis is normal to the mean equatorial plane at the J2000 Epoch and the y-axis completes the right-handed set.   This system is computed using IAU-1976/FK5 theory with 1980 update for nutation.

ICRF

None

IAU-2000

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 IAU-2000A theory with 2006 update for precession. 

ITRF

None

 

An Earth-fixed system.  This system is computed using IAU-2000A theory with 2006 update for precession.

MODEq

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

MODEc

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

TODEq

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

TODEc

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

MOEEq

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

MOEEc

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

TOEEq

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/FK5 theory with 1980 update for nutation.

TOEEc

None

IAU-1976 FK5

A quasi-inertial 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 IAU-1976/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 IAU-1976/FK5 theory.  For the Moon, the BodyFixed system is computed using the theory selected in the field  Luna.RotationDataSource.  For other built-in 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 IAU-1976/FK5 theory.  For the Moon, the BodyFixed system is computed using the theory selected in the field  Luna.RotationDataSource.  For other built-in 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 built-in 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 x-axis points along the line formed by the intersection of the bodies equator and earth’s mean equator at J2000.  The z-axis points along the bodies spin axis direction at the J2000 epoch. The y-axis completes the right-handed set.

GSE

None

 

The Geocentric Solar Ecliptic system.  The x-axis points from Earth to the Sun. The z-axis is defined as the cross product RxV of the earth’s position and velocity with respect to the sun.

The y-axis completes the right-handed 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 x-axis points from Earth to the Sun. The z-axis is defined to be orthogonal to the x-axis and lies in the plane of the x-axis and Earth’s magnetic dipole vector.  The y-axis completes the right-handed 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 ground-station based coordinate system. The y-axis points due East and the z-axis is normal to the local horizon.   The x-axis 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, rotating-libration-point system.

%  Create the Earth-Moon 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 3-D 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 end-to-end 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, IAU-1976 or IAU-2000)

Special earth-based 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 Earth-based 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 Earth-based 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 user-defined bodies.

 

see files like:

CoordSysTest_Titan_Equator

CoordSysTest_Pluto_Equator

P1

Done:SPH

Test BodyFixed axes for all built in coordinate systems and for user-defined bodies.

 

See files like:

CoordSysTest_Titan_BodyFixed

CoordSysTest_Pluto_BodyFixed 

P1

Done:SPH

Test BodyFixed axes for all built in coordinate systems and for user-defined 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 non-ObjectReferenced axes types

P1

Done:SPH

Verify error warning is thrown setting Secondary for non-ObjectReferenced axes types

P1

Done:SPH

Verify error warning is thrown setting Xaxis for non-ObjectReferenced axes types

P1

Done:SPH

Verify error warning is thrown setting Yaxis for non-ObjectReferenced axes types

P1

Done:SPH

Verify error warning is thrown setting Zaxis for non-ObjectReferenced 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 GMT-3168

P1

SPH: Done

Verify that Primary and Secondary, XAxis, YAxis, ZAxis are only active for ObjectReferenced axes.

 

Comment: Reported GMT-3168

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\FRR-35_CoordinateSystems

and named:

GUIOrbitSpacePointConversionResults.docx

GUIOrbitSpacePointConversionResults.script

 

Comment: found one bug GMT-3185

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\FRR-35_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 GMT-3187 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 GMT-3186

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 GMT-3187 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