JT65 - Deep Search of all OOO signals from an EME DXpedition

Contact: wu1itu@wu1itu.club
Last updated: 2017-10-07

Summary: JT65 signals can be decoded by a Deep Search algorithm in some cases where other algorithms fail. However, the set of possible Deep Search output messages is not perfectly compatible with the goal of decoding signals from an EME DXpedition. This page describes an unsupported/unofficial change to the WSJT-X (and WSJT 10) software that adds Deep Search for the DXpedition's OOO transmissions to other stations. This differs from the standard WSJT-X and WSJT behavior in which Deep Search can only decode the DXpedition's OOO report to your own station (or, in general, any message sent to your own station, or any CQ). The net result is more decodes of DXpedition signals, potentially giving you better information about the moon elevations that are best for you.

I already know how to make unofficial WSJT-X or WSJT changes. What do I do?
For WSJT-X, apply the WSJT-X unofficial-dx-ooo-deep-search patch to your copy of the WSJT-X software (e.g., with "cd wsjtx/lib" and "patch -p1") and rebuild. For WSJT 10, apply the WSJT 10 unofficial-dx-ooo-deep-search patch to your copy of the WSJT 10 software (e.g., with "cd trunk" and "patch -p1") and rebuild.
Why would I want this?
It gives you a few dB more sensitivity for many of the messages transmitted by an EME DXpedition. See this 2005 Deep-Search Decoder description.
Once I am using my unofficial WSJT-X build, what do I look for?
You should occasionally see decodes, with a "d1" flag, in which the first callsign is not yours, and the second callsign exactly matches the current contents of the WSJT-X "DX Call" box. As explained in the "FALSE DECODES" section of the http://www.bigskyspaces.com/w7gj/JT65.pdf document, the decoded message may not correspond to an actual DXpedition transmission; you need to rely on your understanding of other parts of the WSJT-X display before making any conclusion about message validity. What is important, however, is that any occurrence of these d1 lines -- starting with neither your own callsign nor CQ -- means that the unofficial patch is in place, and is attempting to do Deep Search of every OOO transmission from the DXpedition. For example, during the North American moonset on 2017-10-07, one or more North American stations saw (false) decodes of:
      1251 -27  4.8 1282 ## SL4BP VK9XGJ OH29 OOO  d1
      1301 -30  5.0 1277 ## SK3SN VK9XGJ OH29 OOO  d1
For WSJT 10, there are slight differences. For example, the "DX Call" box is named the "To radio" box.
Has the patch been extensively tested?
Are there known cases of correct Deep Search decodes of these other-station OOO reports?
Not yet.
Was the WSJT-X development team asked about this unofficial patch?
The patch design was proposed in the https://sourceforge.net/p/wsjt/mailman/message/36053220/ email but there has not yet been a response from anyone.
What specific source code was used to construct the patch?
For WSJT-X, it was https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/tags/wsjtx-1.8.0-rc2/ and for WSJT 10, it was r6470.
If the DXpedition is sending an OOO report to someone else, may I continue calling (with a sufficiently separated audio Tx frequency)?
You should review the operating preferences of the specific DXpedition operator, e.g., at http://www.bigskyspaces.com/w7gj/DXpedition%20Procedure.pdf or a different expedition web site. Some DXpedition operators may want you to include OOO in your transmitted message if you have copied anything from the DXpedition (such as an OOO report to someone else) in the immediately preceding sequence.
If I cannot copy the DXpedition sending an OOO report to someone else, a CQ, or any other message, may I blindly call anyway?
You should review the operating preferences of the specific DXpedition operator, e.g., at http://www.bigskyspaces.com/w7gj/DXpedition%20Procedure.pdf or a different expedition web site.
If I accept the DJ5HG Deep Search analysis, should I use this unofficial patch?
You are free to uncheck "Enable deep search" in the WSJT-X Decode menu. If you have done that, then the unofficial patch has no effect. Otherwise, if you are using Deep Search at all, you may find it most helpful to try decoding everything that the DXpedition transmits. In particular, using Deep Search to watch the DXpedition's QSO attempt with someone else would have to be much less controversial than using Deep Search to watch the DXpedition's QSO attempt with yourself.
Is it possible that my computer does not have enough CPU or memory resources for this extra OOO decoding?
Yes. Extra decoding increases Deep Search resource needs by about 50 percent. If you are concerned about that, you could try using a shorter CALL3.TXT file, and possibly also change MAXCALLS=10000 in the WSJT-X hint65.f90 file (or MAXCALLS=7000 in the WSJT 10 deep65.f90 file) to a smaller number. This has not been tested or documented in detail.
If I do not have a CALL3.TXT file, does this unofficial patch help?
No. Maintaining CALL3.TXT is outside the scope of this page. You can refer to https://sourceforge.net/p/wsjt/wsjt/HEAD/tree/trunk/CALL3.TXT or other sources for this file. On modern Windows systems, CALL3.TXT should be in the %LOCALAPPDATA%\WSJT-X directory for WSJT-X. (For WSJT 10, it is typically in a directory under the C:\WSJT directory.) The most important aspect of this file is the grid square of the DX station that you are trying to work, correct in at least the first four digits.
How do I make an unofficial build of WSJT-X?
Maintaining WSJT-X builds is outside the scope of this page. See the WSJT-X documentation and/or the KI7MT GitHub page. The most important aspect of an unofficial build is that you NOT provide copies to other people. Circulating an unofficial build makes it very difficult for anyone to provide WSJT-X technical support.
How do I make an unofficial build of WSJT 10?
Once you have installed everything needed for WSJT-X builds, you should do an svn checkout of https://svn.code.sf.net/p/wsjt/wsjt/trunk to your C:\JTSDK\src\trunk directory. (You should already have svn installed at the C:\JTSDK\subversion\bin\svn pathname. You may find it easier to checkout to a different directory and then move it, e.g., with a move "C:\JTSDK\wsjt-wsjt" "C:\JTSDK\src\trunk" command.) At this point, you can apply a patch. Then, within a JTSDK-PY window, enter a build-wsjt command. To use the resulting new software, first ensure that you have installed the latest version of the official WSJT 10 distribution. You should create a safe backup copy of two files from the official installation before proceeding: wsjt.exe and WsjtMod.Audio.pyd. Finally, if you want your unofficial build to use the same settings that had been used by your official installation, it might be simplest to copy C:\JTSDK\wsjt\install\bin\wsjt.exe on top of your official wsjt.exe file, and copy C:\JTSDK\wsjt\install\bin\WsjtMod.Audio.pyd on top of your official WsjtMod.Audio.pyd file. To stop using the unofficial build, simply restore wsjt.exe and WsjtMod.Audio.pyd from your backup.
Is the unofficial patch to hint65.f90 obviously wrong because it constructs "CALLx CALLy GRIDy" messages when I actually want to decode "CALLx CALLy GRIDy OOO" messages?
No. OOO is not a "report" of the same type as the reports in the hint65.f90 rpt array.
Suppose that I plan to call the DXpedition continuously during our common moon window. Is there then any reason to install this unofficial patch?
Maybe. You may want to know about every achievable decode of any DXpedition transmission, so that you can correlate them with data about the moon elevation or your station configuration. You might also be interested in the false decodes because they expose you to a fascinating alternate universe of stations that are shut off and/or long past their moonsets. Some of these stations have highly advanced technology that enables their signals to travel to the moon and back in a negative amount of time!