Suppose we have a spacecraft orbiting around Earth and we neglect all effects of Earth's $z$-axis motion, i.e., no wobble, precession, or nutation. For simplicity, we only assume a rotation rate $\omega_e$ about the $z$-axis.

My question is regarding how to express a vector in an ECEF frame vs. an ECI frame. In my orbit propagation mode, I am using order $n$ gravity, given by the spherical harmonic expansion

$$ \ddot{\mathbf{r}} = \nabla U = \nabla \frac{\mu}{r}\left[1 + \sum_{k=2}^{n} \sum_{m=0}^{k} \left(\frac{R_e}{r}\right)^{n} \bar{P}_{nm}(\sin\phi)(\bar{C}_{nm} \cos m\lambda + \bar{S}_{nm} \sin m\lambda)\right]. $$

Naturally, since the spherical harmonic expansion is in terms of $(r,\lambda,\phi)$, this yields the acceleration in an Earth-fixed (ECEF) coordinate system as a function of the Earth-fixed position vector $\mathbf{r}$ since for a given latitude $\phi$, the longitude varies in time, i.e., $\lambda(t) = \lambda(t_0) + \theta t$.

In the book Montebruck & Gill, they state that the transformation to space-fixed coordinates is simply

$$ \mathbf{\ddot{r}}_{ECI} = U^\intercal(t) \mathbf{\ddot{r}}_{ECEF}, $$ where $U(t)$ is simply a rotation about the $z$-axis by angle $\theta$ (GHA), again neglecting all other effects of the Earth's rotation. The book then states: "It should further be emphasized that both $\ddot{\mathbf{r}}_{ECEF}$ and $\ddot{\mathbf{r}}_{ECI}$ are aceelerations in inertial coordinate systems which are rotated against each other by a given rotation $U$. The acceleration in a rotating coordinate system would be different by Coriolis and centrigular terms."

However, I am having trouble understanding this from the point of view of reference frames. From my understanding of dynamics, I thought that in order to transform an acceleration from a rotating frame to a (locally) inertial frame, one must take into account terms such as centrifugal and coriolis accelerations as well. But the book contends that all that is needed is a transformation that describes the Earth's rotation.

So my question is the following: What is the difference between an acceleration (or velocity for that matter) with respect to the ECEF frame, but expressed in inertial coordinates, versus an acceleration (or velocity) with respect to the ECEF frame, but expressed in ECEF coordinates?

  • 3
    $\begingroup$ What you have in the first formula is not the acceleration w.r.t. ECEF. It's the acceleration w.r.t. ECI expressed in ECEF coordinates. $\endgroup$
    – Litho
    Commented Apr 30, 2021 at 19:12
  • 3
    $\begingroup$ The acceleration vector is still defined WRT ECI. That transformation doesn't change that. It merely resolves the original vector in ECEF axes. $\endgroup$
    – user39728
    Commented Apr 30, 2021 at 21:25
  • 1
    $\begingroup$ This is it! Thank you, it makes complete sense now. Since the acceleration is already in the ECI frame, just in ECEF coordinates, all that is needed is a simple $z$-axis rotation to get it in ECI coordinates! $\endgroup$ Commented Apr 30, 2021 at 21:48

1 Answer 1


The acceleration due to the spherical harmonics is a vector in 3D space. How you choose to describe it (with an inertial or non inertial frame) doesn't change the vector itself. However when it comes to plugging in that acceleration to propagate the orbit (solve the differential equation), it matters which frame you describe it in because $F = \cfrac{dp}{dt}$ (often simplified to $F=ma$) only holds in an inertial frame. That is why you want to describe that acceleration vector in ECI coordinates, so you can propagate it using F=ma.

An example of propagating in a non-inertial frame is for spacecraft attitude control, when you use Euler's equation (re-arranged to solve for $\dot{\omega}$): $\dot{\omega}=J^{-1}(T-\omega^{x}J\omega)$ where $\omega$ is the spacecraft angular velocity, $J$ is the spacecraft inertia matrix, and $T$ is external torques. This equation accounts for the spacecraft's angular velocity in order to propagate everything in the spacecraft's non-inertial body reference frame. The angular velocity itself is still just a vector in 3D space, but in this case you are choosing to describe it in the non-inertial frame because the inertia matrix is in the body reference frame, where in a lot of cases you can assume it to be constant (not always though). With respect to the inertial frame, the J matrix is changing if the spacecraft body is not inertially fixed, which in why a lot of cases its more convenient to propagate in the non-inertial frame. I hope this helps.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.