I tried but failed to change the time format on the UCCM-P. I think it only supports T1 (and since that is in GPS time not UTC isn't very useful to me).
If you can get the leapsecond offset count, you can add it to GPS time to get UTC. I do that to convert UTC time to GPS time on receivers that do not support GPS time. It is particularly easy to do if you can convert Julian date/time to Gregorian. Get the seconds from the T1 message, add the leapsecond offset, add Julian seconds of 6 Jan 1980, convert to Gregorian.
The only way I have figured to get UTC time is with the TOD EN command and decoding the ascii-hex output that repeats until a TOD DI command is sent. I have my serial interrupt handle these packets and filter them out, easy enough because each packet starts with 'c5' byte and ends with 'ca' followed by space, cr, lf. Regular expression "c5.{127}ca\s\r\n" gets it for me.
I've no idea what most of those bytes are, but seconds since 6 Jan 1980 are bytes 28-31. I believe the offset is byte 33 but I can't be sure until they change the leap second again
Observing the logs I do see byte 33 switch from 00 to 11 (17 seconds) exactly when the SYST:STAT? reports 'Synchronized to UTC' instead of 'Synchronized to GPS'
ACQUISITION ................................................ [ GPS 1PPS Valid ]
Tracking: 3 ____ Not Tracking: 4 ________ Time ____________________________
PRN El Az C/N PRN El Az GPS 13:20:41 22 JUN 2016
21 33 164 34 5 9 69 GPS Synchronized to GPS
25 32 108 37 9 5 345 ANT DLY +0.000E+00
29 59 66 41 16 16 287 Position ________________________
31 59 221 MODE Hold
... ** ** ** ** **
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 2a 00 00 60 04 85 40 00 00 00 00 ce 94 ca
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 2c 00 00 60 04 85 40 00 00 00 00 f5 f3 ca
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 2e 00 00 60 04 85 40 00 00 00 00 33 31 ca
...
ACQUISITION ................................................ [ GPS 1PPS Valid ]
Tracking: 3 ____ Not Tracking: 4 ________ Time ____________________________
PRN El Az C/N PRN El Az GPS 13:22:09 22 JUN 2016
21 33 163 30 5 10 68 GPS Synchronized to UTC
25 31 109 38 9 5 345 ANT DLY +0.000E+00
29 58 65 43 16 16 287 Position ________________________
31 58 220 MODE Hold
... ** ** ** ** **
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 82 00 11 60 04 85 40 00 00 00 00 db 6b ca
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 84 00 11 60 04 85 40 00 00 00 00 d0 0c ca
c5 00 80 00 00 00 00 28 1c 52 00 00 20 60 c1 91 00 00 00 00 00 00 00 00 00 00 00 44 95 53 86 00 11 60 04 85 40 00 00 00 00 26 ce ca
The TOD message can interrupt regular terminal output like in the middle of a SYST:STAT? response for example, but nothing appears to mangle the TOD stream. The TOD output occurs every 2 seconds whether in 1PPS or PP2S modes. I have also checked the timing between the actual 1PPS output and the data burst on my scope. I've found the end of the TOD packet (at 57600 baud) occurs between 90ms - 100ms of the actual pulse.
Another byte I have observed is 37. It indicates 40 if GPS PPS valid, 50 if invalid, and 60 when the GPS antenna is unplugged.
Of course the TOD output keeps time and continues in these conditions, unlike NMEA.
So I think I will build a Raspberry Pi NTP server using the TOD output