What I use currently is:
The thing that has made the most difference though is the addition of an active receive loop to these antennas for HF work. I use an LZ1AQ amplifier with a small loop made from 20mm wide aluminium strip, right at the top of the attic. Using the fan dipoles for Rx results in a very high noise floor even with careful minimisation (and measurement of) common mode currents. I have previously used an end-fed wire cut to 20m length, bent into a U shape to fit in my 5m x 5m attic space, which was great on transmit but even worse on receive than the fan dipoles as you would expect!
But the 'all.txt' file records every decode made on receive, and I started thinking about using that as the data source. One problem here is that these files can become huge, and take an age to open in notepad (I eventually found Notepad++ which opens them much faster). So I started thinking about automating the process.
Wsjt_all, at Version 1.3, is focussed on exactly this problem. It takes two 'all.txt' files and looks for 'sessions' within them. I've defined a session as a set of decodes where the gap between one decode and the next doesn't exceed a particular number of seconds and the band and mode don't change. This alone is a useful thing to start with, and I made it the first step so that later versions might do something useful with indivudual all.txt files as well as pairs.
Once the sessions are found, the program looks for sessions that exist in both files at the same time (i.e. overlap in time to contain at least some decodes in each file). Once these sessions are found, they are processed to do some analysis based on the reports they contain.
Comparing 'signal reports' automatically seems to be a good idea, and there is certainly some useful information there. However, this can only reasonably be done if the reports are simultaneous, or very close in time; if there is too much time between the reports, uncertainty creeps in due to fading and lack of knowledge about the transmitting station's power settings and beam heading (for example). And that also throws away the information about the callsigns received by one station and not the other.
Perhaps what's more important is the simple fact of whether a station was received or not - after all, that's the defining characteristic of communication. So counting the number of times each callsign was received in each all.txt file probably carries a lot of weight.
At the top of the image, the title identifies the 'joint' session frequency, mode, start time and duration. Immediately under the title is a graphic that illustrates the number of callsigns received in A only, B only, and in both A and B. This alone is good information!
Below that, the first graph shows a coloured spot for each callsign received, with the X and Y axis showing the number of times that particular callsign was received in each all file. Points lying on the dashed diagonal line were received an equal number of times in each file (receive configuration). Points lying on one axis were received only in the all file referred to in the axis label. Note that some random movement is applied to the points so that points don't fully lie on top of each other, so points won't necessarily lie on an exact grid.
The second plot compares the SNR reports, only for callsigns with decodes in both all files. Again, points lying on the dashed diagonal line represent equality between each file (receive configuration). The number of callsigns received in a typical session on a very active HF band can easily be in the hundreds, and it is not possible to create a colour palette that enables the human eye to track individual callsigns in the mix. Hence, I've added lines connecting reports for each individual callsign. Note that this chart is not intended to be used for detailed inspection: it is the overall 'impression' that is important, along with 'outliers' that can be easily seen.
So one of the next things I'll do is experiment more with the plots. I might also add a 'data dump' feature for the chart data, so that others can produce their own plots. I've started tracking ideas in the 'issues' section on GitHub, so have a look there too.