VRMC Home
California Thirteeners List
Vulgarian Ramblers
Thirteeners Update on 2004-08-01

Create VRMC Account
VRMC Site Help

Gory Details of the First Major Overhaul Since the Original Analysis

When I noticed that new California DEMs were available in a 10m x 10m grid, I tried running DropDEMs on it to create the binary files I had used as input to RidgeWalker for the original analysis (c.2000) and the revisions I made in early 2001 and mid 2003. Unfortunately, DropDEMs crashed, and no updated version was available. I tried SDTS++, but couldn’t get that library to compile in VC++ 2003. Finally, I found Frank Warmerdam’s ISO 8211 Access code, and ported it to CodeWarrior on the Mac, using it to replace the binary file access code in RidgeWalker.

Once I got the new version of RidgeWalker running fast enough to process the much larger data sets, I told it to find all summits in the new DEMs that were at least 3950 meters tall, outputting to “California 3950m Maxima.out”. I then removed all peaks from this file with saddles less than 80 meters deep (by hand), producing the file “California 3950m Rising 80m.out”. This output file will eventually have to be compared to my final 13er output file to make sure there are no summits on the former which do not appear on the latter.

I took the latest (2001-02-17) elevation list “California 13,000-Footers.ell”, updated it to make sure I’d addressed all of the bugs that had surfaced in the meantime, added a header and comments describing the gory details, and placed the results in “California 13ers ELL.pkl”. I ran this file through RidgeWalker as a peak list without supplying an elevation list, outputting to “California 13ers ELL.out”. The run took 2 hours and 20 minutes (see “California 13ers ELL.status” for details.)

Rationale: The peak list file just needs summit locations within 100m of the high points in the DEM data. In contrast, the elevation list file really needs accurate locations, as these essentially replace points in the DEM data, and it is therefore these locations that become the official summit locations in the output. As it turns out, though, I guess I could have done what I apparently did last time: run the peak list once without an elevation list, then use this output to build the elevation list. The advantage of doing it the way I did is that I began my search for each local maximum in the 10m data from the local maximum in the 30m data. The danger is that the 30m run can jump 100m off the true location, and the 10m run can jump another 100m from there. However, this just made it easier to identify the problem peaks (see problem 1 below). Actually, I still need to do the double peak list run to create my new elevation list, since the elevation list really does want to have the higher of the input (map) elevations and the 10m DEM elevations, but nothing to do with the 30m DEM elevations - bummer.

While I was at it, I checked the output location for Black Kaweah (4045320N, 364400E) using TopoZone to make sure that this seemed to be a NAD27 vs. WGS84/NAD83 location. It did, which proves that the new 10m DEMs are also NAD27.

The run gave me correct locations in “California 13ers ELL.out”, but two problems remained:

  1. The location of 13 peaks couldn’t be resolved due to the imprecision of the 100m vicinity criterion. The highest location within 100m was either not a local maximum (point on a ridge leading to a higher summit), or two peaks on the list were resolved to the same local maximum location. Here are the relevant status lines:

    [22:44:40] Input peak Sharktooth (4044210N, 388160E) is not a local maximum
    ### RidgeWalker - [00:15:39] Error! Two input locations (Aiguille du Paquoir and ?) near same high point UTM845478 (4047840N, 384530E)
    [00:15:39] Input peak Aiguille Extra (4048110N, 384670E) is not a local maximum
    [00:15:39] Input peak Third Needle (4048230N, 384600E) is not a local maximum
    ### RidgeWalker - [00:15:40] Error! Two input locations (Crooks Peak and ?) near same high point UTM845484 (4048380N, 384520E)
    ### RidgeWalker - [00:15:40] Error! Two input locations (Koontz Pinnacle and ?) near same high point UTM651453 (4045300N, 365120E)
    ### RidgeWalker - [00:15:41] Error! Two input locations (Squaretop and ?) near same high point UTM660442 (4044230N, 365950E)
    ### RidgeWalker - [00:15:41] Error! Two input locations (Michael’s Pinnacle and ?) near same high point UTM653447 (4044700N, 365310E)
    ### RidgeWalker - [00:16:11] Error! Two input locations (Balcony Peak and ?) near same high point UTM696032 (4103210N, 369610E)
    [00:16:11] Input peak Polemonium Peak (4106190N, 365510E) is not a local maximum
    ### RidgeWalker - [00:16:11] Error! Two input locations (Starlight Peak and ?) near same high point UTM655062 (4106210N, 365490E)
    ### RidgeWalker - [00:16:33] Error! Two input locations (East Summit of Mt. Baxter and ?) near same high point UTM787802 (4080190N, 378670E)
    ### RidgeWalker - [00:33:29] Error! Two input locations (Southwest summit of Temple Crag and ?) near same high point UTM676079 (4107890N, 367570E)

    To solve problem (1), I built a separate “Problem 13ers.pkl” containing the problem peaks, resolving the location of each to 20m and fixing up the Known (Map) Elevations (see problem 2). I then made sure all problem peak output (including Aguille Junior & Bilko Pinnacle, which were also grabbing the wrong local maxima) was removed from “California 13ers ELL.out”.
  2. The input elevations had already been through a 30m run, picking up higher elevations from the 30m DEMs.

    To solve problem (2), I constructed a new “California 13ers.pkl” file starting with the latest (2001-02-13) “California 13ers.pkl” file. I used the latest (2003-07-21) White Mountain area elevation list “White Mountains.ell” to make sure I had updated locations for White Mountain Peak and Mt. Barcroft, and correct entries for Montgomery Peak, Mt. Dubois, UTM882683, and UTM892671. After that, I removed the “problem” peaks that now live in the separately processed “Problem 13ers.pkl” file. I ran this file through RidgeWalker without any elevation list file, sending the output to “California 13ers (-ELL).out”. The run took 2 hours and 25 minutes (see “California 13ers (-ELL).status” for details).

During this run, Petit Griffon was rejected (not a local maximum), so I moved it from “California 13ers.pkl” to “Problem 13ers.pkl”.

I took the “California 13ers (-ELL).out” file, removed all columns from it except for the Peak Name, Summit Elevation, Summit Northing and Summit Easting (using Microsoft Excel), and placing the result in my new “California 13ers.ell”.

Finally, it was time to do the central part of the data processing! I took my new “California 13ers.pkl” and my new “California 13ers.ell”, and ran them through RidgeWalker, sending the output to “California 13ers.out”. The run took 2 hours and 18 minutes (see “California 13ers.status” for details.)

I took my new “Problem 13ers.pkl” and my new “California 13ers.ell”, and ran them through a special version of RidgeWalker employing a 20m vicinity criterion, sending the output to “Problem 13ers (-ELL).out”.

I took the “Problem 13ers (-ELL).out” file, removed all columns from it except for the Peak Name, Summit Elevation, Summit Northing and Summit Easting (using Microsoft Excel), and placing the result in my new “Problem 13ers.ell”.

Finally, it was time to do the very last part of the RidgeWalker data processing! (Or so I thought.) I took my new “Problem 13ers.pkl” and my new “California 13ers.ell” & “Problem 13ers.ell”, and ran them all through a special version of RidgeWalker employing a 20m vicinity criterion, sending the output to “Problem 13ers.out”.

Several problems surfaced in the output:

  1. UTM682547 fell off the list because RidgeWalker found a point 4132m high on the west end of the summit ridge, 200m away from where the high point (4129m) is marked on the quad. The high point in the marked summit vicinity (east end of the ridge) was 4128m. On another note, should I list this as “Milestone Mesa”? Probably. See Secor, p.114 for details. I do wonder whether they actually located the high point when they surveyed this peak. It’s probably worth walking over to the west side and looking for other summits.
  2. I still had UTM809631 named “Courte-Echelle” in the peak and elevation lists, even though I’d changed this in the previously published output (2001-02-14).
  3. I still had “Polychrome Peak” named UTM808592 in the peak and elevation lists, even though I’d changed this in the previously published output (2000-10-16).
  4. “Wheeler Peak” fell off the list because RidgeWalker found a point 3967m high on the (supposedly lower) south summit, 300m away. The high point in the north summit vicinity of the DEM was 3966m. The peak is supposedly 13,000'+ (3962m+). This is probably why I had the South Summit of Wheeler Peak entered in the (30m) “California 13,000-footers.ell”, with elevation 3961m. Wow! It’s a good thing I’m taking notes this time! On another note, the old 15' map had the peak’s elevation at 12,966' (exactly).
  5. “Mt. Tom Ross” fell off the list because RidgeWalker thinks the summit is at UTM524158 instead of the input location UTM525128. The 30m run put the summit at 4115768N, 352397E. I can’t check the map carefully in TopoZone right now, as the site appears to be down. Checking my map carefully, though, it appears I made a measurement error when I first encoded the location in the peak list. It now appears to be just west of UTM524158, which would have been over 100m west of the (incorrect) input location.
  6. “Mt. Baxter” fell off the list because RidgeWalker found a point 4005m high on the (supposedly lower) east summit, 300m away. The high point in the west summit vicinity of the DEM was 4004m. The peak is supposedly 4004m. This apparently happened with the 30m data as well, since I have a note in my copy of Secor (p.168) about the east summit being higher (again 4005m) in the 30m DEM. This is probably why I had the East Summit of Mt. Baxter entered twice in the (30m) “California 13,000-footers.ell”, with elevation 4003m. Wow! It’s a good thing I’m taking notes this time!
  7. Vennacher Needle appeared on the list, but only because RidgeWalker found a point 3968m high in the DEM. The peak is supposedly 3961m. This is probably why I had Vennacher Needle in the (30m) “California 13,000-footers.ell”, with elevation 3961m. Wow! It’s a good thing I’m taking notes this time!
  8. UTM662058 appeared on the list, but only because RidgeWalker found a point 4259m high in the DEM. The peak is supposedly 13,962' (4256m). That said, perhaps I really should consider this a 13er, as I report saddle depths as the difference between the summit and saddle in the DEM data (see note to this effect in “Even More Technical Information” on the web page).
  9. Ericsson Crag 1 appeared on the list, but only because RidgeWalker found a point 4011m high in the DEM. The peak is supposedly 4000m. That said, perhaps I really should consider this a 13er, as I report saddle depths as the difference between the summit and saddle in the DEM data (see note to this effect in “Even More Technical Information” on the web page).
  10. Mt. Muir appeared on the list, this time just squeeking by with a 92m saddle depth. However, the 30m run gave it a 98m saddle depth, which we revised to 276'+/-20' (or 84m+/-6m) after studying it with our altimeters. Thus, although the 10m DEM also shows it as a 13er, the new DEM is even less sure about it than the 30m DEM was.

Note that there didn’t seem to be a problem with Temple Crag this time, as the highest point in the DEM matched the summit elevation of 3955m. Apparently there was a problem in the 30m run, since I had both Temple Crag and Southwest summit of Temple Crag in the “California 13,000-footers.ell”, each with elevation 3955m.

Thus, my initial review suggests that we didn’t lose any 13ers, but we added at least Squaretop, with a 92m (302') saddle. I may also decide to add UTM662058 and Ericsson Crag 1, but since the true elevation of each is known, it feels wrong to rely on a higher DEM summit elevation just to nose their saddle depths over 300'. It also feels wrong to add Mt. Muir back in, since our field study seems to discard it.

I fixed problems (4) and (5) by editing “California 13ers.pkl” and “California 13ers.ell”, and decided to use “Milestone Mesa” instead of UTM682547 while I was at it.

I fixed problems (3), (6) and (8) by creating a special “Big Vicinity 13ers.pkl” containing the rows from “California 13ers.ell” describing these three peaks, and then running this through a special version of RidgeWalker that searched a 400m vicinity, complaining about any higher locations, and sending the status output to “Big Vicinity 13ers.status”. For each higher location in “Big Vicinity 13ers.status”, I added an entry to “California 13ers.ell” artificially lowering the location to match the local maximum.

I fixed problem (7) by changing the input location of “Mt. Tom Ross” to (4115800N, 352400E) in the “California 13ers.pkl”. I then had to run a special “Fixed 13ers.pkl” containing the updated version of this peak’s “California 13ers.pkl” entry in order to come up with the updated entry for “California 13ers.ell”. “Fixed 13ers.pkl” also contained the other peaks with problems (3) - (12) above so that I could check out my solutions.

I ran “Fixed 13ers.pkl” through RidgeWalker with “California 13ers.ell”, placing the output into “Fixed 13ers.out”. I then grabbed the new “Mt. Tom Ross” local maximum location and DEM elevation from the latter and used it to update its entry in “California 13ers.ell”. I also checked the other records in “Fixed 13ers.out” to make sure I’d fixed problems (3) - (11) above, and everything looked good.

For good measure, I ran my updated “California 13ers.pkl” and “California 13ers.ell” through RidgeWalker, placing the output in “California 13ers.out”. (I had to rename the files from the first complete run “California 13ers (bugs).out”.) The output also addressed problems (3) - (11) correctly.

I opened “California 13ers.out” with Microsoft Excel, pasted in the contents of “Problem 13ers.out”, and saved the result as “California 13ers Raw.xls”. I then sorted the rows by Saddle Depth (descending), and then separated out the peaks with saddles less than 92m. I then sorted the peaks with sufficient saddles by Input Summit Elevation (descending), and separated out the peaks with official summit elevations less than 3962m. I had to do this last step by hand, referring to which peaks had surveyed elevations.

Finally, I fixed problem (12) by moving Mt. Muir to the section of peaks with failing saddle depths. The final result was no 13’ers dropping off the list, but one new 13’er jumping on: Squaretop, with a very marginal 92m saddle depth.

I took the latest (2003-08-31) 13’er spreadsheet “California 13,000-Footers.xls”, and renamed it “California 13ers.xls”. I moved Squaretop into the 13ers section, renamed UTM682547 to be “Milestone Mesa”, and sorted this section by Mountain. Next, I quoted the unofficial peak names in the 13ers section of “California 13ers Raw.xls”, and sorted this section by Peak Name. I then spot checked the two spreadsheets to ensure I had the same list of peaks in the same order. Finally, I copied columns Summit Location...Saddle Depth of the 13ers section from “California 13ers Raw.xls” and pasted them into columns Summit UTM...Saddle Depth (meters) of “California 13ers.xls”.

Next, I did the same thing with the peaks that fail my 13’ers criteria, sorting the names in both spreadsheets, adding the unofficial peak name quotes to “California 13ers Raw.xls”, re-sorting and copying the same set of columns.

I updated the background colors and bolding for cells coming close but not making my 13’ers criteria, so it was clearer which peaks were close to making it onto the list and why.

I fixed the Map Elevation of Mt. Solomons (13,034' instead of 13,016') and the elevation of White Mountain Peak (14,246' instead of 14,256'). I also updated their entries in “California 13ers.pkl”.

I rewrote the old “ExcelDumpToHTML” MPW script, turning it into “TSVToHTML”, which now takes care of building the links to TopoZone.com, coloring the guidebook references, etc. While I was doing so, I noticed that the TopoZone.com link for Mt. Shasta had the wrong UTM zone (11 vs. 10), so I fixed that in the script too.

I followed the directions in my new “TSVToHTML” MPW script to output “California 13ers.xls” to “California 13ers.tsv” and format its peak data rows for inclusion in “cal13ers.html”.

I updated “cal13ers.html” to summarize the above, etc.

Finally, I was faced with the job I didn’t want to do: comparing “California 3950m Maxima.out” against “California 13ers.out”. I opened both files in Excel, selected the peaks with 80m or deeper saddles, sorted those rows by summit northing then summit easting, removed all other columns, and saved the results in “California 3950m UTMs.out” and “California 13er UTMs.out”. I then used CodeWarrior to compare these two text files and study the differences. There were several instances where multiple, equally high summits appear in “California 3950m Maxima.out”. Other expected differences included elevations in the DEMs that exceed surveyed summit elevations (sometimes in locations a few hundred meters away), but these are all addressed via elevation corrections in the elevation list file. The following genuine issues surfaced during my review:

  1. I noticed that my input location for “Second Kaweah” was wrong. I had correctly identified it as UTM664440, but I»d entered 4044100N 366100E into the peak list, and this had resulted in 4044020N 366200E in the elevation list.

    I fixed this by changing its entry in “California 13ers.pkl” to 4044000N 366400E.

  2. There was a failing peak in “California 3950m Maxima.out” at 4046770N 366510E barely meeting my search criteria (summit 3950m).

    I decided to add this peak to “California 13ers.pkl” with location 4046800N 366500E.

  3. Rodgers Peak appeared as a failing peak in “California 3950m Maxima.out”, though it met my search criteria (summit 3956m).

    I decided to add this peak to “California 13ers.pkl” with location 4177500N 301100E.

  4. I noticed that my input location for Mt. Shasta was wrong. I had incorrectly identified it (via TopoZone.com or some map server?) as UTM673845, but I’d entered 4584400N 567300E into the peak list, and this had resulted in 4584410N 567340E in the elevation list. The correct location is 4584270N 567390E or UTM674843.

    I fixed this by changing its entry in “California 13ers.pkl” to 4584300N 567400E.

To save myself from having to run the entire “California 13ers.pkl” twice, I created a “More Fixed 13ers.pkl” containing just the peaks mentioned in (1)...(4) above, and ran that through RidgeWalker with no elevation list, placing the output into “More Fixed 13ers (-ELL).out”.

I used the local maxima locations from that run to update “California 13ers.ell”.

I modified RidgeWalker to maintain a list of DEM elevations in the data sets that get modified by the elevation lists, and to use the original DEM elevations in the DEM Elevation column it outputs. I also have it check to make sure that it never modifies anything by more than 20m, which would have caught the “Second Kaweah” bug above.

I ran my “California 13ers.pkl” and “California 13ers.ell” through RidgeWalker, sending the output to “California 13ers.out” (I had to rename the old version of the latter “California 13ers (bugs 2).out”.) The run crashed at the end due to a bug I had in disposing of my new modified elevations array, so I didn’t save the status file.

RidgeWalker complained about having to change the elevation of Mt. Humphreys by more than 20m (from 4224m to 4263m), and the highest local maximum it finds within 100m of the input location (4126000N, 351800E) is 110m east (4125940N, 351860E) of the true summit (4126000N, 351750E). To fix this, I edited “California 13ers.ell” by hand to use the true summit location. Note that RidgeWalker still complains about having to make such a large modification to the summit height.

To avoid running the entire “California 13ers.pkl” again, I created a “Humphreys.pkl” containing only Mt. Humphreys, and ran that through RidgeWalker with “California 13ers.ell”, sending the output to “Humphreys.out”. I then used the single output line to replace the Mt. Humphreys output line in “California 13ers.out” by hand.

I certainly should have done this before I did the last run, so I finally bit the bullet and quoted all of the unofficial Peak Names in “California 13ers.pkl”, “California 13ers.ell”, “Problem 13ers.pkl”, “Problem 13ers.ell”, and “California 13ers.out”. This will make sorting the output for copying into “California 13ers.xls” much easier.

In order to get the DEM Elevations correct for the problem peaks, I took “Problem 13ers.pkl”, “California 13ers.ell” & “Problem 13ers.ell”, and ran them all through a special version of RidgeWalker employing a 20m vicinity criterion, sending the output to “Problem 13ers.out”. (I had to rename the old output file “Problem 13ers (bugs).out”.)

I opened “California 13ers.out” with Microsoft Excel, pasted in the contents of “Problem 13ers.out”, and saved the result as “California 13ers Raw.xls” (I had to rename the old one “California 13ers Raw (bugs 2).xls”.) I then sorted the rows by Saddle Depth (descending), and then separated out the peaks with saddles less than 92m. I then sorted the peaks with sufficient saddles by Input Summit Elevation (descending), and separated out the peaks with official summit elevations less than 3962m. I had to do this last step by hand, referring to which peaks had surveyed elevations. I then moved Mt. Muir to the section of peaks with failing saddle depths.

I saved a copy of “California 13ers.xls” as “California 13ers (bugs 2).xls”, opened it, and sorted the passing peaks by Mountain. I sorted the passing in “California 13ers Raw.xls” by Peak Name. After spot checking the results, I copied columns Summit Location...Saddle Depth of the 13ers section from “California 13ers Raw.xls” and pasted them into columns Summit UTM...Saddle Depth (meters) of “California 13ers.xls”.

Next, I added UTM665468 and Rodgers Peak to the failing section of “California 13ers.xls”, using the data from “California 13ers Raw.xls” and editing the rest of the cells by hand.

Next, I updated the DEM elevations of the peaks that fail my 13’ers criteria, sorting the names in both spreadsheets, and then copying that column of data. By not copying all of the columns, I avoided having to update the background colors/bolding for the other columns.

I updated the background colors and bolding for cells coming close but not making my 13’ers criteria, so it was clearer which peaks were close to making it onto the list and why.

I followed the directions in the “TSVToHTML” MPW script to output “California 13ers.xls” to “California 13ers.tsv” and format its peak data rows for inclusion in “cal13ers.html”.

Finally, I worked on summarizing the rest of the above in “cal13ers.html” and including all the gory details in this new document, “2004-08-01.html”.


Things I Should Change About RidgeWalker

I should output something to the status file when the known elevation is lower than the DEM elevation. Hopefully, this will be fairly rare.

Should we make sure that saddles and higher locations saved in processedPeaks are known elevations?

Does kDirectionStrings really work in the error strings? I don’t think it’s coming through in the output.