..

POTA US-1178 Mount Tamalpais

Intro

January 20-21 was the annual ARRL VHF amateur radio contest weekend. I drove to Mount Tamalpais State Park to listen in on contest traffic. The park also qualifies as a Parks On The Air activation site. The contest rules are published on the ARRL website.

Location and Weather

I had planned to hike from the East Peak visitor center parking lot to the East Peak summit. I operated from the car instead due to weather conditions. The wind was steady and strong around 20mph with rain coming in sideways.

Operating location shown on map of Tesla Model 3 display

Operating location shown on map of Tesla Model 3 display

The location was good even through the summit blocked signals in the NE direction. I made contacts Northward up to Sonoma (27 miles) and Santa Rosa (38 miles), and quite a few in the South Bay including Fremont, San Jose, Campbell, Saratoga, Los Gatos.

Line of sight map for East Peak Mount Tamalpais parking area

Line of sight map for East Peak Mount Tamalpais parking area

Here is the map showing the improved coverage had I been on the summit.

Line of sight map for East Peak Mount Tamalpais summit

Line of sight map for East Peak Mount Tamalpais summit

Maps were generated using https://heywhatsthat.com/.

Contacts Made

There was a good amount of traffic on calling freqencies 146.52 and 446.00. Currently I have only dual-band (2m, 70cm) radio gear.

I made 19 contacts in about an hour, for a successful POTA activation.

Then I tried reaching some new repeaters around the Bay Area but only got responses from WA6HAM (Kregor Peak) and W6CX (Mount Diablo).

POTA Log (ADI)

My logging method is currently pen and paper.

Contact logging with pen and paper

Contact logging with pen and paper

For this trip I logged QSOs in local 12h time (Pacific Standard) and planned to manually convert the timestamp for each QSO later. The calculation is easy enough but pushes one of my QSOs to the following day which requires advancing the qso_date field by one. I’ve been using a script to generate my POTA logs in ADI format for upload to pota.app. Yesterday I extended the code to handle timezone conversion from local to UTC and the upload was successful.

Contest Log (Cabrillo)

For the VHF contest log I first removed duplicates, preferring 70cm over 2m based on points awarded. The result was 16 unique contacts from my location at CM87RW02 to grid squares CM87, CM88, CM97.

I might have mistakenly omitted valid contacts for others, unfortunately. After reviewing the Cabrillo specification I should have kept all QSO entries but marked ones for exclusion using “X-QSO” instead of “QSO”. This way each contact would potentially count as points for one or both parties but would be selectively excluded based on my contesting class (single operator, fixed station, low power, fm only). I would expect the contest scoring code to automatically exclude duplicates and non-qualifying contacts such as those which do not match the primary location for fixed station, or any with timestamps falling outside the contest operating window.

Attempting manual points calculation

# 446.00/FM
(2 points) * (4 contacts) * (1 grid-square) = 8 points

# 146.52/FM
(1 points) * (12 contacts) * (3 grid-squares) = 36 points

# Total points
44

Grid square exchange

Given my location up on the mountain I often heard several QSOs at a time, and it was my first time to hear contest oriented communications, particularly the exchange of grid squares.

Oona Räisänen (Mysid), CC BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/, via Wikimedia Commons

Oona Räisänen (Mysid), CC BY-SA 3.0 http://creativecommons.org/licenses/by-sa/3.0/, via Wikimedia Commons

My favorite tool for exploring grid squares on a laptop is the f5len locator.

Maidenhead grid map overlaid on the Bay Area

Maidenhead grid map overlaid on the Bay Area

For mobile I’m using the EasyQTHLocator app.

For coding projects I’ve been playing around with the maidenhead module for Python.

Cabrillo format log generation

I manually entered 16 QSOs into this online tool to generate the contest log in Cabrillo format.

Manually entering QSO data into the Cabrillo log generator

Manually entering QSO data into the Cabrillo log generator

The tool produced a Cabrillo format QSO log.

Reviewing the Cabrillo log output before submission

Reviewing the Cabrillo log output before submission

After reviewing the log I went ahead and submitted it using the same tool, which redirects the browser to the ARRL submission page.

Submitting the Cabrillo log to ARRL

Submitting the Cabrillo log to ARRL

The ARRL VHF contest log was submitted successfully.

ARRL confirmation page 1

ARRL confirmation page 1

ARRL confirmation page 2

ARRL confirmation page 2

Future Ideas

Web-based logging app

The best logging app I found so far is MacLoggerDX. It supports call sign and location lookup from most common providers: QRZ, QRZCQ, HamCall, HamQTH, HRDLOG, Club Log, eQSL, LoTW.

I’d really like a web-based application where I can upload manual logs and then output to ADI or Cabrillo format. It seems that contests have unique field requirements. I’m somewhat surprised I haven’t found more open source software in the amateur radio community. Meanwhile I’m having fun writing some of my own tools and creating workflows that suit my use cases.

Contact Mapping

Given a QSO log I want to generate a map of contacts. Paid logging applications appear to have this support, including MacLoggerDX. I was using HAMRS which offers contact mapping but it seems to require manual entry of each contacts grid square.

I have not tried with a valid subscription for QRZ API access although the iOS app apparently doesn’t support that provider and has other issues which have made it unusable for me since the last MacOS Sonoma update.

Using the QRZ API from the command line I confirmed that grid square and other data is available via the API.

Here is a QRZ API query response without using a valid subscription:

<?xml version="1.0" encoding="utf-8" ?>
<QRZDatabase version="1.36" xmlns="http://xmldata.qrz.com">
<Callsign>
<call>KO6BGT</call>
<fname>Travis S</fname>
<name>Bostick</name>
<addr2>Walnut Creek</addr2>
<state>CA</state>
<country>United States</country>
</Callsign>
<Session>
<Key>REDACTED</Key>
<Count>1154</Count>
<SubExp>non-subscriber</SubExp>
<Message>A subscription is required to access the complete record.</Message>
<GMTime>Wed Jan 24 03:53:51 2024</GMTime>
<Remark>cpu: 0.020s</Remark>
</Session>
</QRZDatabase>

And here is one with the full API data available:

<?xml version="1.0" encoding="utf-8" ?>
<QRZDatabase version="1.36" xmlns="http://xmldata.qrz.com">
<Callsign>
<call>AA7BQ</call>
<aliases>N6UFT,AA7BQ/DL1,KJ6RK,AA7BQ/HR6</aliases>
<dxcc>291</dxcc>
<attn>AA7BQ</attn>
<fname>FRED L</fname>
<name>LLOYD</name>
<addr1>24 W. Camelback Rd, STE A-488</addr1>
<addr2>Phoenix</addr2>
<state>AZ</state>
<zip>85013</zip>
<country>United States</country>
<lat>33.509665</lat>
<lon>-112.074142</lon>
<grid>DM33xm</grid>
<county>Maricopa</county>
<ccode>271</ccode>
<fips>04013</fips>
<land>United States</land>
<efdate>2022-04-29</efdate>
<expdate>2030-01-20</expdate>
<class>E</class>
<codes>HAI</codes>
<qslmgr>via QRZ</qslmgr>
<email>aa7bq@qrz.com</email>
<u_views>339171</u_views>
<bio>12804</bio>
<biodate>2023-02-17 17:37:29</biodate>
<image>https://cdn-xml.qrz.com/q/aa7bq/fred1962.jpg</image>
<imageinfo>636:800:90801</imageinfo>
<moddate>2022-10-09 17:32:38</moddate>
<MSA>6200</MSA>
<AreaCode>602</AreaCode>
<TimeZone>Mountain</TimeZone>
<GMTOffset>-7</GMTOffset>
<DST>N</DST>
<eqsl>0</eqsl>
<mqsl>0</mqsl>
<cqzone>3</cqzone>
<ituzone>6</ituzone>
<born>1953</born>
<lotw>0</lotw>
<geoloc>user</geoloc>
<name_fmt>FRED L LLOYD</name_fmt>
</Callsign>
<Session>
<Key>REDACTED</Key>
<Count>1153</Count>
<SubExp>non-subscriber</SubExp>
<GMTime>Wed Jan 24 03:53:51 2024</GMTime>
<Remark>cpu: 0.019s</Remark>
</Session>
</QRZDatabase>

So it appears the app should support location lookup via call sign.

Practice

There is another ARRL VHF contest in June. I look forward to the Summer contest and I’m considering operation as a rover class station next time, or maybe a new mountain top fixed location.