It is possible to calculate training load using a custom activity field and also update the intensity and load on the activity. Under the ride timeline chart choose “Custom” and “Add Field”. Name it MTBLoadCalc or similar and paste this on the script tab:
{
let fixed_watts = icu.streams.fixed_watts
let ans
if (fixed_watts) {
let tot = 0, n = 0
for (let v of fixed_watts) {
if (v) {
tot += v
++n
}
}
if (n > 0) {
ans = tot / n
if (icu.activity.type === 'MountainBikeRide') {
//console.log("ftp", icu.activity.icu_ftp)
let intensity = ans / icu.activity.icu_ftp
//console.log("intensity", intensity)
let hours = icu.activity.moving_time / 3600.0;
//console.log("hours", hours)
let load = intensity * intensity * hours * 100.0;
//console.log("load", load)
icu.activity.icu_training_load = Math.floor(load + 0.5)
icu.activity.intensity = Math.floor(intensity * 100 + 0.5)
}
}
}
ans
}
You can see it is calculating the average power excluding zeros and returning that. However it also updates intensity and icu_training_load on the activity as a side effect … you need to re-analyse existing activities to get the new load calculation.