Creating a "Cabrillo-like log for the ARRL EME Contest

The ARRL EME Contest is not supported as of November 2016 by a Contest Robot, and Cabrillo logs are not the preferred log format for this contest. The User-Defined-Contest (UDC) file on the N1MM Website does not allow N1MM to score the contest.

But with a little work it is possible to produce a Cabrillo-like log format from the wsjt.log file generated by MAP65, if you have a working Python installation and the N1MM+ Logger. There are only a few steps involved:

1. Add US States to wsjt.log file
2. Create ADIF file from modified wsjt.log file
3. Create a new contest in N1MM+ using my UDC file
4. Use N1MM+ to score contest and create Cabrillo header and generic log files with proper formats
5. Merge Cabrillo header and log body files

How to do this is described below.

The wsjt.log file generated by MAP65 looks like this:


wsjt.log

The first step is to add to the end of each line that represents a contact with one of the 48 continental United States the two digit abbreviation for the State. Place a comma before this addition. Once you have done that, your wsjt.log file will look like this:


> wsjt-plus-states.log

Then you run the very simple wsjt-to-adif.py file to make an ADIF file from this modified wsjt.log file. The python code looks like this:


wsjt-to-adif

The complete code is here. In this code, you need to change the string for "filename" to the proper file locator string for your modifed wsjt.log file, and you need to change the string for filename2 to the proper file locator string for the adif file that you will generate when you run this simple program. If there are contest dates that are in months other than October or November then you need to add lines for those months similar to lines 17 and 18 as shown above. The adif file that you generate by running this Python program will look like this:


adif file

Before starting N1MM you want to place the UDC file that I created in to the N1MM+ Logger "UserDefinedContests" folder. On my computer this is located at "C:/Users/73w3s/Documents/N1MM Logger+/UserDefinedContests. The UDC file is here. Once you place it into the proper directory, the file will appear in the N1MM+ Logger Contest List as "ARRL-EME-V0".

Once you have set up N1MM with a new contest using the UDC file above, you are ready to import the adif file that you just created into N1MM using the "Import>>Import ADIF from file..." function. You can then use "Tools>>Rescore Current Contest" to have N1MM+ score the contest. The scoring window in N1MM+ will look something like this:


N1MM Scoring Window

Next you want to create a Cabrillo file so that you can use the header from that Cabrillo file for your final log file. You create the Cabrillo file by way of the "File>>Generate Cabrillo File" function. The Cabrillo file so generated will look like this:


Original Cabrillo

You can see that while the header is fine, the body of the log is not in the format that we want. We fix that by having N1MM create a generic file with columns for Date, Time, Band, Mode, YourCall, Sent Report, Station Contacted, Received Report, Multiplier, New State, New Country, and Points and then fine-tuning the format of that file with another Python file. To generate the generic file from N1MM use the function "File>>Export>>Export to File(Generic)>>Export to File(Generic), Order by QSO Time (Normal)". This will produce a file that looks like this:


N1MMGenericOuput

This is almost what we need. We just need to run the Python file, n1mm-to-cabrillo.py to add the new country multipliers to the MULT column and the body of the log will be complete. The complete code for the python file is at the link immediately above, and the body of that code looks like this:


n1mm-to-cabrillo-py

You need to change filename to the location of the generic file that you output from N1MM above, and you need to change filename2 to the location of the output file generated when you run this Python program. This output file will look like this:


CabrilloBottomPreMerge

The final step is to take the header from the Cabrillo file that you generated with N1MM and to attach it to the beginning of this file generated by n1mm-to-cabrillo.py. This final file will look like this:


CabrilloPostMerge

Copyright 1997-2016 COPYRIGHT Roger Rehr W3SZ. All Rights Reserved.

Brought to you by the folks at W3SZ