How can I implement a clock that can be used to synchronize another clock?
Do you mean a Clock[] or an animated wall clock, or some other sort of clock, like a game clock? Why do you need two clocks: cannot the output of one clock be used in multiple places? Or is one a physical clock, controlled by Mathematica?
I have a clock that is not synchronized, so I need Mathematica to show me the current atomic time so that I can synchronize it.
I feel there is something probably still missing from the description of the problem, but when I want something to show me the time, I use a cell phone or maybe my computer’s clock, which set their times from one of the NIST servers. In Mathematica you can use DateString[] or DateList[]. I don’t know what its source is, maybe the computer’s clock.
I just want Mathematica to get the atomic time from a server and display it in real time so that I can synchronize my watch on my wrist.
Why do you need Mathematica to do this? On a Linux or Mac OS shell
cat </dev/tcp/time.nist.gov/13
Your computer is probably set to synchronize its clock with NIST so you can just do this from the shell
date
I don’t need that. I need real-time time.
What do you mean by “real-time time”?
I mean that the clock must update atomically.
I think the US does at least a decent job of providing accurate time at: https://www.time.gov.
That said, I needed a challenge this afternoon.
How about this (it seems to match https://www.time.gov):
First cell:
now = DateString[Now, "ISODateTime"];
Dynamic[now]
Second cell:
i = 1;
While [i < 10000000, i++; now = DateString[Now, "ISODateTime"]]
Though you will have to force the engine to stop.
You can use this
Dynamic[Refresh[Now, UpdateInterval -> 1]] or
Dynamic[Refresh[DateString[], UpdateInterval -> 1]]
I usually style the datestring to larger font and color.
First the use of the term “atomic”: I believe it is just a branding terminology from watch manufacturers
So, I believe the poster is trying to have Mathematica generate a modified IRIG H signal which will be locally transmitted (minimal broadcast meeting legal standards) somehow to the watch.
This signal will reset or synchronized “radio-controlled clocks” the preferred term by NIST:
In the US we have two of short-wave stations that broadcast the signals which can be used to synch radio-controlled clocks.
There is plenty of information available on the internet on the subject of radio-controlled clocks and the stations that broadcast the signals. One can start here:
Follow the links in the comments, watch the video, etc. The most informative was the following video
The youtuber provides many links. Most notable is
Now there are other solutions that can be found online none found using Wolfram Language.
Radio JJY Time Pulse Emulator
These sites as asides:
When or if time permits I may make a go of it but with no way to test I don’t have access to a radio-controlled clock (watch). First function that comes to mind involves SquareWave[] or the like.
Wolfram Data
EntityClass["BroadcastStation",
"City" ->
Entity["City", {"FortCollins", "Colorado",
"UnitedStates"}]] // EntityList
WWV is not on the list. Yes it is short-wave, but.