JPL Horizons has trajectory data for the International Space Station, SPKID = -125544
Revised: Nov 23, 2022
Trajectory is TLE-based. Predicts run for 4 weeks into future, but are of low accuracy for times more than a few days past the revision date above.
Horizons can give position and velocity vectors of the ISS relative to the centre of the Earth in the ICRF frame. Unfortunately, it doesn't do the ECEF frame, so I improvised an approximate solution using the geometry of the WGS84 ellipsoid. The Earth's polar axis points in the Z direction of the ICRF frame.
First we find where the position vector intersects the ellipsoid surface. We need the distance from that intersection point to the Earth's axis to determine the rotation speed at that latitude. The rotation velocity vector at that point is perpendicular to the position vector and to the Earth's axis. Once we have that velocity vector we can subtract it from the velocity vector of the ISS. Hopefully, I haven't made any blunders with my geometry or algebra. ;)
The top graph below shows a typical result, over ~2 orbits, with a 1 minute time step. It gives a mean speed of ~7376 m/s. The second graph shows the raw ISS speed relative to the centre of the Earth. The third graph shows the Earth rotation speed. That is, the speed in the top graph is derived from the vector difference of the 2nd graph minus the 3rd graph.
Here's the ISS geocentric declination over the same timespan.
Note that times in the speed plots are in TDB, the declination plot uses UTC.
Here's my Sage / Python speed plotting script.
It can also be used on other Earth satellites. Horizons has several other satellites in its database, eg the Hubble has id# -48. Type
mb into the
target field for the full list of major bodies (spacecraft are towards the end). You can also type body names into the
target field. Horizons will respond with a list of matching bodies if the name is ambiguous.
Here's the declination script. Any major body can be the observing
center, and any body can be the
target. Please see the Horizons docs for details on specifying bodies and times.
Here's a little interactive 3D ellipsoid script I used to verify my maths.