Tag Archives: training

February in California

Being an astronomer means that I get to travel far away from home for work at least on a few occasions every year. It might be an observing run (working during the night in the control room of a huge telescope, most likely on a deserted mountain far from civilisation, under the bright Milky Way), a conference (where I present my work and mingle), or a collaboration. This time I spent a full month in the USA participating in the Galactic Archaeology and Precision Stellar Astrophysics program at the Kavli Institute for Theoretical Physics (University of California, Santa Barbara). Since I planned this month to be half work, half cycling, I did not take a camera with me, so I don’t have any quality pictures to show, only a collage of photos taken with my phone. My sincere apologies for that…


I arrived in Santa Barbara (or more precisely, Goleta, right in between the city and the campus) after 1+11 hours of flying (with Air New Zealand across the Atlantic Ocean, spent mostly catching up with editing my pictures from our holidays, and watching a few movies), an overnight stay in an airport hotel in Los Angeles, and a 2.5 hour bus ride. It was the afternoon of the Super Bowl (so later I could go shopping to an empty supermarket), a beautiful sunny day with 21°C. Also, I turned 30 on that day. I rented a quite spacious house with two other scientists, where I had my private room and bathroom. Two hours after my arrival I already had a rental beach cruiser bicycle (delivered to my door), I had filled up my cereal supplies for the mornings, and I had everything unpacked. For the rest of the afternoon my only goal was to stay awake until as late as possible, which was not so easy since I had moved 9 time zones to the West earlier. Any case, I had to adjust fast, as the next day was already a working day…

During the first week of my stay I attended the conference The Milky Way and its Stars: Stellar Astrophysics, Galactic Archaeology, and Stellar Populations. My daily commute was a 20 minute bike ride in the sunshine (or morning fog), passing by a nature reserve with lots of birds right before the last kilometre, which led under huge palm trees along the coast. The conference was a mix of stellar and galactic talks, much broader than the ones I had attended before, which helped to see the importance of seismic studies from yet another angle. I also gave a talk with the title Calibrating the stellar structure and evolution models of massive stars with asteroseismology.

I spent the next three weeks with training on a rental racing bike in the mornings and the weekends, and working at the KITP during the day. I have to say that at least partly thanks to the nice weather and the amount of cycling I managed to do, I was also very motivated at work, so even though I had not so much time left after all the different meeting and working group discussions, I got lots of things done. I did my first refereeing, I wrote and submitted a paper (which is almost accepted by now) and a proposal, etc. So I was very productive :)

And now about that cycling. Besides the cruiser that I used for commuting, I also rented a racing bike for three weeks starting from the Saturday after the conference. It was a Trek Domane 5.9 equipped with Shimano Ultega Di2. My initial goal for these three weeks was to bike 1000 km, but it became clear to me quite quickly that I could easily go beyond this, thus I adjusted my goal and aimed to complete all Strava challenges for February (1250 km cycling, at least 150 km in one ride, and 28000 feet of climbing).


I rode every day except for Mondays (as a rest day was definitely necessary), typically for two hours in the mornings (getting up every day at 6, biking 7-9), then I did longer rides over the weekends. I have ridden through the morning fog and in the heat of the afternoon sun, in 4°C and 29°C, from sea level to 1200 metres, along the coast and around the small valleys. The list of rides also includes a real epic Century (a ride of 100 miles). Both the roads and the view were really great, and the car drivers payed attention to the cyclists (I was only pissed off once by someone passing by me way too close).


Not counting the two training weeks on Mallorca, the week of the 16th of February with its 512.9 km was my best week on the bike. In total, February with 1361 km was my 4th best month, but since I had quite some elevation gain (14885 m), and all my rides were solo rides, I was a bit slower than usual, which means that looking at the duration, this month was my 2nd best with 53h 21m, and if you add the time I spent running to this (three 10k runs, on the last day of my stay almost breaking my 5k and 10k PR), then it turns out that February was my most sporty month ever with 55h 53m. That’s not bad (ok, that’s simply awesome), especially given that all this cycling was done in 3 weeks instead of a full month.


I was very tired at the end, but also very happy that my stay in California worked out so well, both for science and my fitness level. I also lost ~2 kg thanks to the amount of exercise (even with all the pizza and pasta I ate), so I am now at a very good 70.5 kg. I would be surprised if I managed to have a more hardcore month of training after this in 2015, but you never know ;)


My new power meter tells me that I still ‘suck’ (although on the first rides that was partly due to the massive jet lag I had), so there is plenty of room for improvement… But again, it’s only the beginning of the cycling season. And for that, I am doing better than before. And the new bike is also perfect :)

27, and some minor thoughts

There is no problem with 27. I prefer odd numbers anyway, so this should be better that 26 :) And until my average speed on the racing bike (on a one hour time trial effort on a flat course) – in kilometres per hour – is above my age – in terrestrial years – there should be no problem. So I do not have any problems with my age yet. This is good.

My motivation levels are still high, so work is good, cycling is good. I have trained more than twice as much this January than during the same period last year (bit more than 500 km and 17 hours)! In 2010, only May was a better month than January, 2012. Unluckily my indoor trainer broke down, so I had to send it in for repair, and thus I was forced to go and ride outside in much lower temperatures than I am used to. But a new wind-stopper base layer (making it a total of two layers on my legs, and four layers on my upper body) solved the problem, and I managed to stay warm and comfortable even in 0°C. And since then the temperature only got lower, seriously lower, so I have to be very grateful to Tijl, who let me use his old trainer as a backup while mine is gone. And I have to place the weather forecast here, because now it is freezing since last Monday. And as you can see, positive temperatures are off the chart…

Wednesday was already so cold, that I had to wear knee warmers and the upper base layer while cycling to work… Everything is frozen. Luckily it is sunny, so at least it looks nice, so with some good music (and I mean the new Lana del Rey album here) it is easy to fell good about the situation. On one hand I miss the snow (and now I see that Hungary will get loads of it on the weekend), because winter should be snowy, but on the other hand I really don’t mind that I don’t have to clean my bike every evening after riding home from work…

For my birthday – although I do not need occasions to validate a purchase – I had already bought a new lens (Canon EF 70-200mm f/4.0 L IS USM) and a pair of cycling shoes (SIDI Genius 5.5 Carbon Composite, white), but I will not stop here. I am just about to order a new wheel set for my racing bike… To be honest, I do not need anything else (what can be bought). Oh, and we have booked our flight to Mallorca and also the “villa” where we will stay for a week in May (it will be a great week of – finally not lonely – cycling). This year started well, and I have a feeling that it will turn out to be a very nice year. I hope :)

Update (from a day later): we have got the snow too. A bit more than forecasted, something like 5-7 cm… (Image source: NASA/GSFC, Rapid Response) The ice age is real…

The Performance Management Chart

Now that I can analyze and plot my workouts in detail, and I can estimate the Training Stress Score (TSS) of each ride, it is time to make use of all the statistics. It is nice to have numbers quantifying my trainings one-by-one, but how nice would it be to track my form and fitness during the season based on the volume and intensity of my rides. This is the concept behind creating the Performance Management Chart. I will write down (partly quote, or just rephrase) here the most basic things, but again, everything is based on the following two articles (take time to read them, they are very interesting):

What is the Performance Management Chart in TrainingPeaks WKO+?, by Hunter Allen
The scientific inspiration for the Performance Manager, by Andrew R. Coggan, Ph.D.

Andrew R. Coggan defines form as a combination of fitness and freshness (Form = Fitness + Freshness). You will have a really good day in the saddle when your fitness level is high, and when your fatigue level is low. Fitness is a response to training stress (or training load); the more you train the better you will be. Freshness is simply a result of rest. As TSS quantifies training load, knowing TSS values of workouts from the past enables us to determine the rider’s fitness in the present, and see how much training is needed in the future to raise this level higher.

The Performance Management Chart is based on Banister’s impulse-response model (see 2nd article for details), and we define the following components:

1) Chronic training load (CTL) provides a measure of how much an athlete has been training historically (chronically). It is calculated as an exponentially-weighted moving average of daily TSS values, with the default time constant set to 42 days. CTL can be viewed as analogous to the positive effect of training on performance in the impulse-response model. It is a relative indicator of changes in performance ability due to changes in fitness.

2) Acute training load (ATL) provides a measure of how much an athlete has been training recently (acutely). It is calculated as an exponentially-weighted moving average of daily TSS values, with the default time constant set to 7 days. ATL can be viewed as analogous to the negative effect of training on performance in the impulse-response model. It is a relative indicator of changes in performance ability due to fatigue.

3) Training stress balance (TSB) is the difference between CTL and ATL, i.e., TSB = CTL – ATL. TSB provides a measure of how much an athlete has been training recently, compared to how much they have been training historically. It can be viewed as an indicator of how fully-adapted an individual is to their recent training load, i.e., how “fresh” they are likely to be.

In the Performance Manager concept, an individual’s CTL determines their performance potential, but their TSB influences their ability to fully express that potential. Their actual performance at any point in time will therefore depend on both their CTL and their TSB, but determining how much emphasis to accord to each is now a matter of trial-and-error/experience, not science. (Really go and see more details in the original article.)

Some other interesting quotes before I tell you about my progress in the topic:

“The following approximate guidelines may prove useful when analyzing prior data: a TSB of less than ‑10 would usually not be accompanied by the feeling of very fresh legs, while a TSB of greater than +10 usually would be. A TSB of -10 to +10, then, might be considered neutral, i.e., the individual is unlikely to feel either particularly fatigued or particularly rested. The precise values, however, will depend not only on the individual but also the time constants used to calculate CTL and ATL, and therefore should not be applied too literally.”

“The optimal training load seems to lie at a CTL somewhere between 100 and 150 TSS/d. That is, individuals whose CTL is less than 100 TSS/d usually feel that they are undertraining, i.e., they recognize that they could tolerate a heavier training load, if only they had more time available to train and/or if other stresses in life (e.g., job, family) were minimized. (…) On the other hand, few, if any, athletes seem to be able to sustain a long-term average of >150 TSS/d.”

“In addition to the absolute magnitude of CTL, considerable insight into an individual’s training (and/or mistakes in training) can often be obtained by examining the pattern of change in CTL over time. Specifically, a long (e.g., 4-6 week) plateau in CTL during a time when a) the focus of training has not changed, and b) the athlete’s performance is constant is generally evidence of what might be termed training stagnation – that is, the individual may feel that they are training well, by being very consistent and repeatedly performing the same workouts, but in fact they are not training at all, but simply maintaining, because the overload principle is not being applied. On the other hand, attempting to increase CTL too rapidly, i.e., at a rate of >5-7 TSS/d/week for four or more weeks, is often a recipe for disaster, in that it appears to frequently lead to illness and/or other symptoms of overreaching/overtraining. Of course, since changes in CTL are driven by changes in ATL, this means that any sudden increase in the training load (e.g., training camp, stage race) must be followed by an appropriate period of reduced training/recovery, so as to avoid too great of an overload.”

So now that I have all my rides processed with my python script (even the indoor ones, so really all cycling workouts), I only had to write a script which grabs the TSS values from every statistics file (then calculates daily values if there were more rides on a given day), calculates the ATL, CTL and TSB values for every day in the given period, and plots them (plus saves the data as a table). This was not too hard ;) There is even an option to change the default time constants in the parameter file (the same parameter file which is used by the workout analyzer and plotter script), and to define a start date and end date for the plotting in the command line. Then after giving the

>python plotgarmintcx_makePMC.py 20101201 20110920

command (where the dates are optional and only affect the plotting limits, while the calculations are always done using all the data), you have your Performance Management Chart plotted and all the data saved in an ASCII file too. Let’s see how the result (with some additional comments photoshopped over in red) looks like (click and it will be bigger)!

You can see that I came into the season with some residual CTL (in blue) from last year, but one 1 hour trainer session per week was not enough to keep that on a steady level… Then as the spring was exceptionally warm and sunny I had some quite good trainings in March and April raising my CTL from 20 TSS/d to 55 TSS/d, which then dropped because of no training and very low training load during my observing run. Then the four hard days of cycling on La Palma gave a huge amount of training load (ATL in magenta), my CTL jumped from 45 TSS/d to 68 TSS/d, but my TSB (in yellow) fell to -87 TSS/d, which is extremely low, if you keep riding there then the chances are high that you will get an injury… It also resembles well that I was extremely tired after that week… Then, only after two days of rest, with a still pretty negative TSB I rode my personal best on the standard Leuven-Mechelen-Leuven route. Probably I should have waited a bit more, because another 4 days later I did a ride where I easily had a better average speed on 62 kilometers than my personal best on 48 kilometers from 2010. I was extremely surprised about my performance on that day. It is not such a surprise anymore when you look at this plot. My CTL was still very high, and as I was resting a lot in the days before, my TSB became almost zero. This is the perfect combination (high CTL, zero or slightly positive TSB – remember, actual form is a combination of fitness and freshness) for record breaking rides (or races), this is an example of a sweet spot on the Performance Management Chart. Unluckily after this really good period I could not ride for almost three weeks (work, work, and weather…), which had a huge impact on my CTL (dropping all the way down to 43 TSS/d). From this point, I started a quite systematic and serious training, as I wanted to finish July with at least 1000 kilometers. You can see that my ATL is almost always above my CTL, which leads to the increase of CTL. Then I crashed into a car just days before I was about to climb the Mont Ventoux, which gave me some time to rest (and a bit if pain in my right knee, which is missing from this chart…), so again I had a high CTL and an ~zero TSB when I went to France. And I was again very surprised how easy the first ride felt there, especially after an accident. But now from this chart, it is not so surprising anymore. My TSB was still only -13 TSS/d when I climbed the Mont Ventoux, so it was close to optimal, but I could have done better with a bit less riding on the first two days in France. It was also the day of my highest CTL with 71.3 TSS/d this year (till now). Then during my observing run, it dropped again (to 57 TSS/d), so now I am working on getting it back up to the region where is should be :) Next year I want to be at 100 TSS/d at this time. At least. Especially if I am serious about my plans for the summer…

As a conclusion, I think it is a very nice visualization and an extremely useful tool for a cyclist!

Estimating cycling power and training load

Updated 1: I modified the script slightly to perfectly match the estimation method of Joe Friel (see below), and as this had a small but clearly positive effect on the results, I have also updated the last plot and the paragraphs describing it at the end.

Updated 2: I have also tested the power estimate on very low intensity efforts with known average wattages (check out the bottom of the post).

You might remember that I have written a python script earlier this year, to analyze my cycling workouts and besides the calculation of detailed statistics, also create all kinds of fancy (multidimensional) plots. If you do not remember, or you would like to refresh your memories, please click here before reading this post further.

The most important thing missing from my script was the ability to directly compare different workouts. Of course you can tell that a 150 km ride with 5000 meters of elevation gain is more difficult than an easy 50 km Sunday afternoon ride, but how much more difficult? And what about an easy 75 kilometer training and a short but hard interval session? How do these compare? How tired am I going to feel myself after these? I really wanted to create or find a metric which tells me how much I did on a training. Of course this is only a problem when you don’t have a power meter installed on the bike, because that would directly tell you the amount of work in SI units for every workout. But power meters are expensive, and most importantly I don’t have one. This situation might change in the future, but till then let’s see what can we do.

I kinda forgot about the problem (and I did not even start dealing with it earlier, I just simply made a note on my To Do list), but some days ago Strava (a similar site to Garmin Connect, but with competitive – social media based – extras, unluckily with basically no users in Europe, so it is not an alternative for me) introduced a so called suffer score on their website, basically giving a rating to every ride based on its intensity (estimated from heart rate – HR – data) and duration. I knew that the algorithm behind this will be quickly decoded on one of the blogs I frequently read, and indeed it did happen very quickly, go and have a look there. First I wanted to implement this into my script, but then I got some extra motivation from the post and the comments there, so I looked a bit into the literature, and thus I got to know about the Training Stress Score, or simply TSS (among others, but this is the most important thing for us right now). To save some space here, check out the following three sites, so I can skip retyping things which are already on the Internet.

Estimating Training Stress Score (TSS), by Joe Friel
Normalized Power (NP), Intensity Factor (IF), and Training Stress Score (TSS), by Andrew R. Coggan, Ph.D.
What does 100 TSS mean, and the connection to Functional Threshold Power (FTP)

Though TSS and all these metrics are used in and based on power measurements, you can see that it is possible to give a good estimate (as good as estimating the realtive power on climbs from the slope gradient and VAM, which my script already did before) of it from time spent in HR zones using the scaling values from Joe Friel. We have seen that by definition a TSS of 100 equals to a one hour ride at FTP (so as hard as you can go for one hour). This means that rides shorter than one hour can have a TSS/hour higher than 100, but longer rides will have a lover value. So the TSS value tells you how big the training load of a given ride was (and it is related to the amount of post-ride fatigue), and the TSS/hour value gives you the intensity of your workout. The way it’s calcualted, TSS varies by the square of intensity. That means if you’re only going at 90% for an hour then you’re only accumulating 81 TSS per hour (90% = 0.9, which squared is 0.81, then you multiply by 100 to get TSS). So from the TSS/hour you can calculate an intensity factor, which gives you your average power output in units of your FTP power for the whole workout. Given that you know your FTP power, you can have a good estimate of the average power of any of your training rides! Now that is pretty cool. So that is what I have built into my script, this way now the TSS, TSS/h, average power and total work estimate values are also given in the summary file. And I also performed some test calculations and comparisons – because you should never forget, these are estimates! You need to know your FTP, and your HR at FTP, and then you might even get a reasonable value…

First of all, I wanted to see what is the intensity factor of my personal best ride to Mechelen and back. It was an approximately 1 hour 20 min all out effort, and the script gave an intensity factor of 1.00, meaning that I was riding on FTP. Though the ride was a bit longer than one hour (when it should not be possible to ride on FTP anymore), but I had a small 10 min break between the two legs in Mechelen, so it might still be a valid approximation, but for sure it should be extremely close to reality. Also, though it was a very tough ride, because it was short, the TSS value is ‘only’ 135.0, meaning that in 24 hours I might have probably almost fully recovered. In comparison, a normal ride (in my terms, so an average of 32 km/h instead of the record 35.7 km/h) on the same route gives a TSS around 110, while a recovery ride is probably below 100, and my epic ride (147 km and a bit more than 5000 meters of elevation gain) climbing twice up from sea level to the highest point of La Palma had a TSS of 483.7, which – as you have already guessed it probably – is in the epic category. Just as comparison, the last short  (46 km and 400 meters of ascent) and recovery paced ride from France had a TSS of 69.5 (which is approximately half the TSS of my personal best ride which was done on an almost equally long, but completely flat route, so this really shows how easy this French ride was). So as I got an IF (intensity factor) of 1.00 on a ride which is very close to the definition of FTP I was already quite happy with the result. (If for such a ride you get something like 1.05 or even higher as IF, then that is a sign that your threshold heart rate is now higher, so you should change it accordingly in the parameter file.)

As a second test I wanted to see how does this power estimate compare to the power estimate from VAM and average gradient, which is a widely accepted and used relation for climbing sections. If the power values from the two methods match, then it is OK to use the power estimate from the hourly TSS value on rides even with no climbing at all. So first I took my recent ride up to the Mont Ventoux, where I did 1 hour and 40 minutes of all out riding, so I expect to get an IF around 0.95 and of course I am very interested to see how the two different power estimates will differ from each other (if they will differ at all). So here is the statistics file (recent additions marked with a grey background):

So from the IF of 0.96 you can see that indeed I did all I could in this time frame. Now we can estimate the average power from my FTP, which is somewhere around 300 W (or maybe a bit more, but I have to admit I don’t have a recent measurement, so I can only guess this from my workouts on the trainer back in the first months of the year). The result from this is 288 W. What about the value from the other method? I was ~70.5 kg and my bike + drink and food + clothes is an extra ~11.5 kg, then with a total weight of 82 kg and the relative power estimate from the VAM and gradient you get an average power of 287 W. These values are surprisingly almost perfectly identical! This means that I can most probably trust the TSS based method, and use it for complete rides, while the VAM and gradient based method only works on climb sections. This is quite nice! Of course one measurement is not a measurement, so I wanted to check this on other climbs as well. Unluckily I don’t have to many climbs (as Flanders is pretty flat), but I still managed to put together a sample of 18 climbs from this year, mostly from my rides on La Palma in may, and some others from later (so there is a chance that my FTP was not the same at the time of the different rides, but I still calculated with the same value, while for my total weight – with equipment included – I could make small changes based on me having a backpack with 2 extra liters of water or not). The sample has climbs from short explosive hills to the long ascents of La Palma, steep climbs and not so steep climbs, climbs where I was really fit and well recovered, and also climbs where I was tired, to see what is the effect of these on the relation. So all these climbs are displayed on the plot below (the size of the circles is related to the length of the climb, while the colour resembles the steepness).

With a perfect 1:1 relation between the two different power estimates we expect the climbs to fall on the x=y linear (which is the grey dashed line here). The correlation is well visible, with of corse some noise, but the trend seems to be pretty clear. The biggest outlier is the Smeysberg on the top right, which is a very short (430 meter) but very steep (an average of 9.8%) climb, and the reason why it is an outlier is that it was a sprint effort well above threshold, but starting with a very low heart rate, so it took some time till my HR got up into the regime which really corresponds to the level of my power output, and this time was in the order of the full length of the effort, so of course the TSS based metric is lower. For such sprint efforts the heart rate based estimated TSS will be always lower than the power based, because 1) the already mentioned lag of HR behind the sudden raise of power output, 2) that much above FTP the HR will not get higher, it does not matter if you maintain 400 W or 600 W for 30 seconds, your HR will be probably stuck at you maximum HR value. But these problems only arise when you do very short above threshold sprints. This is also why one of the small blue dots is also a clear outlier. Still, in the region where most of my training rides are (~220 W to 300 W) the match is almost perfect. Fitting a linear [y = f(x) = mx + b] to all the climbs (solid grey line) or only climbs which were longer than 3 km (a.k.a. efforts where there was a significant heart rate lag were dropped, thick black line) gives the following equations:

a) m = 1.41±0.16, b = -99±41, but we don’t really care about this
b) m = 1.00±0.12, b = 0±31, which is a perfect 1:1 match (with some noise of course)!

The other problem with HR based power estimates, that your heart rate at, e.g., 250 W will not be the same for two workouts which were ridden in different conditions, as for example dehydration and the level of residual fatigue strongly affects the heart rate. So again, these can significantly change the resulting estimated power. Like in case of the medium sized light blue circle slightly above the 1:1 line in the bottom left – this was a very slow paced ride (I was not alone), but I was extremely fit (after more than 1000 km ridden already in the same month, but basically no hard workouts in the previous one week), so probably my heart rate zones were a bit shifted. On the other hand, the two other climbs where the difference between the two values is larger than 5% (the small blue circle and the larger dark blue circle slightly below the 1:1 line towards the bottom left) were the last climbs of my two hardest days on La Palma, so at those ascents I was already very tired, which led to the shift of my HR zones – but now to the other direction. (At least this is my explanation.) Furthermore, small ascending sections can effect the estimate from overall VAM and slope gradient, and to convert relative power to power you need to know your total weight with bike, clothes, and everything included. Taking all these factors into account it is easy to understand why there is a scatter around the 1:1 relation.

To see what happens when you go to lower power – so the region of true recovery workouts – I have modified the script to be able to handle TCX files which do not contain GPS position information (so files which contain indoor trainer workouts). I have only three rides where I maintained a constant power instead of doing intervals (where the heart rate based method is clearly off, but we know that already), but in case of these, I can compare the ‘real’ average power (from the Tacx Flow) to the estimate. So for these three rides, the real average power values were 156 W, 140 W, and 200 W, while the estimates for the same rides are 133 W, 136W, and 220 W (assuming an FTP of 290 W as these were done very early in the season). The difference between the measurements and the estimates is in the order of ~10% (of the trainer values), which is OK for an estimate.

Conclusions: we can say that indeed the TSS based method can be used to estimate the average power (and workload) of workouts (even from HR data) if they do not consist of (only) short sprint efforts (so sections where there is a significant lag in the change of heart rate compared to the power output), as it scales well with another widely used power estimation method, and as it is consistent with wattage data from indoor trainer workouts (though the latter is only tested for low intensities). As a second conclusion: I really need a power meter (to test these estimates, and to have real power data, damn it)…

And oh, this was my 500th post!

New personal best to Mechelen and back

My standard training route is a perfectly flat, ~48 km long section of quite good quality asphalt along the channel (the Dijlekanaal) which connects the city of Leuven with Mechelen. I have ridden it 37 times since I bought my racing bike in February, 2010. It can be very windy, but riding this route is the best (as it is always consistent) and easiest (no cars, very few crossroads, good infrastructure, and starts very close to my place) way to see how trained I am. If I push as hard as I can, and there is not too much wind, then my average speed will reflect the level of my fitness. Basically this is my individual time trial course. My seasonal best (SB) for 2010 was set on the 7th of June, with an average speed of 33.95 km/h (this value differs a bit from what can be seen on Garmin Connect, but it is more precise, believe me – and you will see in the next post, how did I get it). Now this year I had a quite different training strategy, with additional low intensity rides and interval workouts, instead of the mostly strictly high intensity rides of last year, when I almost always tried to break my previous record. The reason for this is that 1) it is better to train like this, and 2) it got really stressing after some time that I never managed to break my record from June, so I realised that I should not try to always break my record if I do not want to demotivate myself. There is also no point of going for a record, if I do not feel perfectly fit, if the wind is stronger than 10 km/h, or if the temperature is too high/low, because now I have reached the point when it is not that easy to break a record, so I need perfect or near optimal conditions to try – if I also want to have chance for succeeding. So far this year I only tried once, but too early in the season, so I have failed miserably (I thought the aerodynamic wheels would do the job just by themselves, but this is not true at all – of course). But now after all the training I had on La Palma, I really felt strong, and as the weather forecast was perfect (temperature in the low twenties, and a wind of maximum 5-10 km/h), and I had a feeling that I had already recovered after the hard  rides of the Canaries, I had to try it. So on Wednesday after work I left with the goal of setting a new personal best on the Leuven – Mechelen – Leuven course. On the way towards Mechelen I had a slight tailwind, and I felt really good; my cadence was high, I had no ‘difficult’ breathing at a constant high heart rate of 180-183 BPM, and I could relatively easily concentrate on keeping the pace high without getting distracted by any doubtful thoughts (because sometimes that’s the worst, when you don’t feel perfect, and you start thinking about it, doubting that you will be able to hold this speed for long). This way I was riding with typically 37-39 km/h, and I have arrived to Mechelen with a personal best split time. My average speed was 36.5 km/h (because at crossroads I have to slow down to basically 0, and this have a huge impact on the average) when I turned back (after my usual short stop) towards Leuven. I knew that I had a very good first leg, but I was not sure if it was because of the slight help from the wind, or because my training on La Palma was really this useful. So I was very curious how will I perform against the wind (and a bit afraid what if it was just the wind – as it would have not been the first time in history). But it was relatively easy, I really do not remember if I have ever felt this comfortable (relatively speaking, as you never feel comfortable after keeping your heart rate above 180 BPM for an hour) while riding against the headwind. After the first kilometers it became clear that if I do not make a big mistake, then this will be a new record. As my speed was typically 35-37 km/h during this stage, I knew that the final average would be lower than what I saw at the turn-around point, but still much better, than my best time from 2010. And knowing that I can make it, and that the end result can be really good helped me a lot psychologically. Because there are moments when there is a stronger gust, and then you need to push against the wind with a much higher power to keep a steady speed, and it is very easy to loose the rhythm when this happens if your mind is not devoted or concentrated enough. In the last 15 km I just tried to keep my cadence at or near 100 RPM, and go without thinking about anything else (except for drinking frequently enough, because that’s very important). So at the end, I crossed the imaginary finish line completely exhausted, knowing that I really gave the maximum I could. Then I looked down to the screen of my Garmin Edge 500, and it displayed an average speed more than 1.5 km/h better, than what I had on the 7th of June in 2010. After a very easy (and extremely happy) ride home (from the end of the channel, where the imaginary finish line lies), I got to know my final, ‘official’ average speed, setting my new personal best (PB) at 35.70 km/h (individual TT on 48.06 km, not closed roads, no TT bike). An improvement of 1.75 km/h! For me this was a success as big as riding up twice to the Roque de los Muchachos on one day. In the second half of last year I tried so much to break the record without succeeding, that I really started to think that I had set it in such perfect conditions (it is true that the weather was even better than now), that I would never be able to break it again. And now, such an improvement, it is still almost unbelievable. I really am very happy about it! :)