Summary

category value
distance_km 52.50
elevation_gain_m 3,265
peak_elevation_m 725
elapsed_time 12:14:45
is_race TRUE
course_type circular
start_location Bosan station, line 1
finish_location Bosan station, line 1
start_has_lockers FALSE
garmin_link link

The course

The race, Korea 50K, is one of Korea’s few international trail running races. Held in Dongducheon north of Seoul, it first started in 2015. The 2025 50K was my first official 50K ultrmarathon, although I have done 100K ultras in the past.

Officially, the course is 52.50KM with a total elevation gain of 3,265m, which goes through 3 major mountains. The race also offered 4 aid stations throughout the course.

The course

Although the first 20K were quite runnable, the later half was quite technical, and it had ascents where I had to literally crawl on all fours as well as descents where I had to slowly shimmy sideways to not fall over. Overall, I would say it was about a 4 out of 5 for the terrain’s technical level.

Gear shakedown

Shakedown

The gear I used for the race is below:

category item
clothing Motbell EX Light Wind Jacket
clothing The North Face T-shirt
clothing Nike Trail shorts
clothing Injinji Trail Midweight Mini-Crew
clothing Vivobarefoot Primus Trail Knit FG
clothing Mesh cap
clothing Lululemon Metal Vent Tech Headband
clothing Fingerless gloves
clothing Arm sleeves
tech Garmin Epix Pro Gen 2 47mm
tech Garmin HRM Dual strap + monitor
tech Nitecore NB10000 Gen 3 power bank
tech Nitecore NU25 UL Headlamp
tech Bose Ultra Open Earbuds
tech USB-C to USB-C cable
tech Garmin charging puck
gear Ultimate Direction Ultra Vest 6.0
gear Gossamer Gear Storage Sack, Small
gear Trekking poles
gear Sea to Summit Frontier Cup
gear First aid kit
gear Survival blanket
food Beef jerkey
food Chocolate bars
food Jelly
food Almonds
food Amino acid drink
misc. Debit card

There were some safety equipment required by the race that I didn’t use, and I didn’t finish all my food thanks to there being plenty of food available at the aid stations, but overall I didn’t overpack and felt good about my gear.

Planning the run

Prior to race day, I had planned out two target times for myself:

  1. Ambitious - 9:00:00
  2. Comfortable - 9:45:00

PacePro

I had based these times on the fact that I had done the first 50K of Mt. Bukhan Trail in about 9:35. If I felt good on the morning, I would try for the ambitious target time of 9 hours, but shoot for the comfortable time of 9:45 if I didn’t.

Since the Mt. Bukhan Trail attempt was a run that I had done with no real time pressure, I assumed that I would be able to push myself a bit further on race day. It turned out that I had grossly underestimated the terrain of the trail (more to follow)…

Pre-race check-in

I got to Bosan station the evening before the race, as racers could start checking in a day before. When I got there at around 18:00, the area was full of trail runners, and I felt right at home with my people.

Check-in

I scanned a QR code to virtually que for check-in, and since I had some time to kill, I walked around the venue and visited some pop-up booths of some of my favorite running brands, especially the Garmin booth.

Garmin booth

After checking in, I received my bib (#826), and I went to a nearby motel to rest and get ready for the race.

The run

Race-day morning

I unfortunately couldn’t sleep very well the night before, so I woke up feeling tired, especially since I hadn’t been able to get much sleep for the last couple of weeks, getting an average of around 6 hours of sleep per day.

Sleep

Despite my poor sleep, I was excited to run the ultra, and I decided to shoot for the ambitious target of 09:00.

I checked-out from the motel at around 05:20 to check in my bag before the 06:00 starting time. After checking in my bag, I headed to the starting line at 05:45, which was already packed with runners by then.

Starting line

While waiting for the starting gun, I couldn’t help but notice that I was the only runner wearing minimal shoes (that I could see), and most were wearing maximalist shoes. Different strokes for different folks, but I personaly think that everyone can benefit from incorporating minimalist shoes to strengthen the feet and legs and to get attuned to listening to your feet’s sensory receptors. Plus, feeling the ground while running is fun!

A single minimal shoe in a sea of maximalist shoes

The race ended up getting delayed by around 15 minutes, but at 06:15, the countdown started, and everyone was off to the races.

First leg

After about 1.5K of pavement, we soon reached the start of the trail, where the runners were bottlenecked from the starting point of the singletrack trailhead.

Traffic jam

But soon after, the bottleneck started to clear out, and the runners were finally able to start actually trail running in the beautiful mountains.

Real start of trail run

It was my first time running in the mountains in Dongducheon, and it had some gorgeous views.

First view

The first leg was very runnable, with the grades of the trail not beeing too steep, which made for a great trail running experience. After running about 10.5K in 1 hour and 55 minutes, I reached the first aid station. At this point, I was actually ahead of my target time of 9:00 by a couple minutes.

First aid station

I was running at a pretty good pace, but my Garmin was telling me that I was running with an average HR in the mid-to-high 180bpm. This was definitely not how I should be pacing myself during the first 2 hours of a 50K ultra, but but my HR-Dual monitor had sporadically been giving strange readings recently, and I genuinely felt like I was running at around 160bpm. So I chalked it up to some miscalibration issue with my HR monitor and decided to keep running at the same pace.

Second view

Third view

Fourth view

At this point, some of the ascents started getting quite steep and technical, to the point where I had to crawl on all fours to get myself up the trail. The rise in the trail’s technical levels started to get to me, and I decided to adjust my target goal to the more comfortable 09:45.

So I tried to stop my ongoing PacePro plan of 09:00 and restart my alternative PacePro plan of 09:45, and that’s when disaster struck at around the 16K mark.

Garmin malfunction

On a Garmin device, you can stop and resume your course navigation mid-activity at any time. I had assumed that PacePro Plans would be similar, and that you can stop a PacePro Plan and start a new PacePro Plan during the same activity. Unfortunately, I was mistaken.

After I realized that my initial target of 09:00 was too ambitious for the trail’s terrain, I stopped my 09:00 PacePro Plan and tried to start my alternative 09:45 PacePro Plan. Unfortunately, I couldn’t find the option to start a new PacePro Plan mid-activity, so I thought that it would be better to just continue using the previous 09:00 plan. To try to force my watch to resume the PacePro I just exited, I went back to the watch face, into my race calendar glance, and clicked the Use PacePro option under the Korea 50K race event.

Apparently my Epix didn’t like that, and it started creating multiple laps in succession within the trail run I activity I had been tracking, and then…froze. No matter what I did, the watch did not respond, and then after a couple minutes, did a soft reboot on its own. When it rebooted, it pulled up the trail running activity, but with everything reset to 0.

As a Garmin and data nerd who believes “If it’s not on Garmin, it didn’t happen”, this was a huge mental blow, since I thought that I had lost the first 16K of the 50K race. Distraught, I restarted my activity from scratch, and started re-tracking my run from scratch.

This meant that I could no longer easily track my total distance or total elapsed time, which made pacing myself extremely difficult. Since I could still start course naviation, I could technically do some mental math of 51K - remaining_course_distance = total_distance and current_time - 06:15 = total_elapsed_time to figure them out, but in an ultra, you don’t have much headspace for much else besides taking the next step.

As I was still mid-race, I couldn’t stop to figure out exactly what happened, but I was heartbroken to see that the first 16K of the race was not saved as a separate activity in my watch’s history log. For all I knew, it was gone, and I could only track the remaining 35K.

This Garmin malfunction took a heavy toll on my motivation levels, and the fact that I had been running for 4 hours with my heart rate peaking to 197bpm started to get to me physically.

HR and elevation for the first 4 hours

The hole

Although demotivated, I still kept going with the hope that I would be able to recover my data somehow. I was also starting to feel severe fatigue in my heart, so I started to slow down and tried to keep my HR within the range of 160-170bpm. I could feel myself slowly sinking into “the hole”, where the option of just giving up starts to become more and more tantalizing and your motivation, confidence and willpower are all depleted, making it harder and harder to keep going.

The climbs during the 17th and 18th kilometers were especially tough, where it was difficult for me to climb for more than 5 minutes. I simply didn’t have it within me to keep going, so I had to stop frequently and recover both mentally and physically. Those two kilometers alone took me more than 48 minutes.

I tried to dig myself out of the hole by focusing on the beautiful nature around me, which barely kept me going until I got to the second aid station at around the 20K mark.

View 5

View 6

Taking a short breather at the second aid station helped me recover both mentally and physically, and I felt my motivation levels rising to the point where I was confident that I would be able to finish the run. Even my comfortable target time of 9:45 was out of the question at this point, but I was enjoying myself again, and that was enough for me.

Back at it again

I was still physically exhausted, but with my mental strength recovered, I started tackling the race again with newly-found determination. Thankfully, the next segments were not very technical, as it followed a trail paved for cars, which was exactly the mental break I needed.

Paved 1

Paved 2

I soon reached aid station 3 at around the 32K mark, and then the trail started to get more technical again with the trail at this segment following along a river. But I found this change of scenery refreshing, and crossing the river several times by hopping on rocks was a welcome distraction from the pain.

River

I crawled up the final big climb, and at the last aid station at 43K, I was greeted with a sign with the most beautiful 6-letter-word you see in an ultra: FINISH.

Last aid station

I was now officially at the final stretch of the race.

The final stretch

There were not many hills during the final stretch of the race, but my quads and feet were totally shot at this point, and the downhills especially started to get quite painful. But I was able to keep chugging along, with each FINISH sign filling me up with more and more strength and hope.

Last stretch

Soon, I had made it down the mountain, and I was now running the last road segment towards the finish line, with the sounds of the finish line echoing in the distance.

Once I saw the finish line, I ran as fast as my fatigued heart, feet and legs would take me, until I crossed the finish line with an official finishing time of 12:17:16.

Official record

Adventures in data recovery

After I finished the race, I checked to see if my watch had actually saved the entire 12 hours of the run. I was pleasantly surprised to see that my watch had actually saved everything, but as a multi-activity with two legs of trail running activities combined into one. However, I was unable to view the details of the activity or to sync the history to Garmin Connect.

Although the data was supposedly corrupted, I was ecstatic to see that the data was at least captured and saved, which meant I would hopefully be able to recover my data. Thus, my adventure into the rabbit hole of data recovery had begun.

After I got home, I did some research, and I found I had several options I could attempt for data recovery:

  1. Use first-party Garmin tools to recover the data
    1. Manually sync with Garmin Express with a cable connection
    2. Extract the corrupt FIT file through a cable connection and manually upload the FIT file to Garmin Connect
    3. Create a GPX extract of the FIT file using Garmin Basecamp, and manually upload the GPX file to Garmin Connect
  2. Use third-party tools to recover the data
    1. Use the LiveTrack export tool to extract a GPX file from the run’s LiveTrack link, which was thankfully intact throughout the entire run, then manually upload the GPX file to Garmin Connect
    2. Use GOTOES Utilities to repair the FIT file and export to GPX, then manually upload the GPX file to Garmin Connect
    3. Use Fit File Repair Tool to repair the FIT file and manually upload the repaired FIT file to Garmin Connect

I tried all of the above options, but each option had some sort of limitation, except for the Fit File Repair Tool option:

option limitation
1-1 Does not work
1-2 Error message during upload
1-3 GPX is too large for upload
2-1 GPX only contains distance and elevation with no laps
2-2 GPX only contains distance, elevation, and HR with no laps

Thankfully, the Fit File Repair Tool was able to recover every single datapoint from the corrupt FIT file, and I was able to manually upload the repaired FIT file into Garmin Connect:

Recovered data

Although I had to pay for the license, I am more than happy to pay for quality software, and I am so grateful that I was able to recover the data from my Korea 50K ultra.

Thank you, Mathias, for your amazing work with the Fit File Repair Tool!

Lessons learned

There were several lessons I learned throughout my Korea 50K ultra:

  1. Every mountain is different, so fully take elevation profile and trail technical levels into account when pace planning.
  2. When your watch says that you’re at 190+bpm, you probably are at 190+bpm. Listen to your watch!
  3. Don’t overpace, especially in an ultramarathon.
  4. It is not possible to start a PacePro plan, new or existing, mid-activity on a Garmin device.
  5. The Fit File Repair Tool is amazing for Garmin data recovery.

Closing thoughts

The Korea 50K ultramarathon was the most painful run I have done, even more so than the 100K ultramarathon I did back in 2013. Physically, the 100K was definitely a more demanding endeavour, but this 50K was more painful than the 100K.

It must have been because I had mispaced myself in the initial couple hours of the race and I had pushed myself way too hard, which made the later parts of the race almost unbearably painful. I know better now than to overpace myself in the beginning of an ultra, so hopefully I won’t repeat that mistake again.

I’m glad I was able to push through the pain and finish the run. Overall, the race was very well organized, and I think it was a great send-off for myself and the beautiful Korean trails before I return to the flat Netherlands.