From the official GPS website:
How accurate is GPS for timing?
GPS time transfer is a common method for synchronizing clocks and networks to Coordinated Universal Time (UTC). The government distributes UTC as maintained by the U.S. Naval Observatory (USNO) via the GPS signal in space with a time transfer accuracy relative to UTC(USNO) of ≤40 nanoseconds (billionths of a second), 95% of the time. This performance standard assumes the use of a specialized time transfer receiver at a fixed location.
How is this possible, though, if relativistic time dilation effects (both from SR and GR) are already in the order of 38µs/day which the satellite's time signal clearly has to correct for? (In contrast, such a correction is not needed for mere position fixing, see e.g. this answer.)
I mean, the GR effects assume that we live in a more or less perfect Schwarzschild spacetime (which is clearly not the case) and so the time dilation calculations are merely an approximation. Now I haven't done any calculations but to me it seems very unlikely that the time dilation of 38µs/day is accurate to within 0.1% (= 40ns / 40µs) 95% of the time. (For instance, the gravitational acceleration $g$ at ground level already varies from place to place by 0.5%.)
Now that I'm thinking about it: Could my initial assumption be wrong in that the time in the GPS time signal does not actually come from the atomic clocks on board the satellites but from a ground station (whose signal the satellites merely reflect / amplify)?
But even then I'm still astounded by the accuracy of 40ns, given that there's also a significant delay (far greater than a few nanoseconds) between the time the satellite emits the signal and the time the receiver on the ground gets it. But maybe I'm not understanding the term "time transfer accuracy" correctly?