Public
Edited
Jul 13, 2023
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
fastFinishRunDetails = {
return {
instructions:
"Include 12-16 x 1 minute at 5K-10K effort, 1 minute recovery jog between each repetition. include a warm-up and cool-down",
notes:
"Fartlek means Speed Play. Begin this run with 10-20 minutes of easy running then alternate between a faster pace (5K-10K) and Easy Run Pace. End the workout with 10-20 minutes of easy running to cool down."
};
}
Insert cell
longRunDetails = {
return {
instructions:
"Include 12-16 x 1 minute at 5K-10K effort, 1 minute recovery jog between each repetition. include a warm-up and cool-down",
notes:
"Fartlek means Speed Play. Begin this run with 10-20 minutes of easy running then alternate between a faster pace (5K-10K) and Easy Run Pace. End the workout with 10-20 minutes of easy running to cool down."
};
}
Insert cell
tempoRunDetails = {
return {
instructions:
"Include 3-5 miles at Tempo Pace; include a warm-up and cool-down",
notes:
"Your lactate threshold pace is a key indicator of your marathon success. Today is your first threshold or stamina workout where you work on running that fine line between easy and hard. Include a warm-up and cool-down and remember that it's better to run slower and longer than faster and shorter on these workouts."
};
}
Insert cell
mediumRunDetails = {
return {
instructions:
"Maintain a steady zone 2 pace and avoid pushing yourself too hard. Include a warm-up and cool-down",
notes:
"These runs are intended to build up long distance leg strength. If you're not feeling up to or at the brink of injury, make this an easy day or skip it."
};
}
Insert cell
easyRunDetails = {
return {
instructions: "",
notes:
"Easy Runs comprise the bulk of a race-ready plan. The goal is simply to build and maintain your fat burning and oxygen delivery system as well as to condition the legs to handle the race distance."
};
}
Insert cell
optionalRestDetails = {
return {
instructions:
"",
notes:
"Today is an optional rest day. If you're feeling fresh, go for an easy run. If you need it, take the day off or spin lightly on a bike."
};
}
Insert cell
restDetails = {
return {
instructions:
"",
notes:
"Take this day completely off or if you normally exercise on this day, you may cross train or run easy for 30-45 minutes."
};
}
Insert cell
intervalRunDetails = {
return {
instructions:
"Include 12-16 x 1 minute at 5K-10K effort, 1 minute recovery jog between each repetition. include a warm-up and cool-down",
notes:
"Fartlek means Speed Play. Begin this run with 10-20 minutes of easy running then alternate between a faster pace (5K-10K) and Easy Run Pace. End the workout with 10-20 minutes of easy running to cool down."
};
}
Insert cell
Plot.plot({
y: {
grid: true,
percent: false
},
// color: { scheme: "Dark2", legend: true },
marks: [
Plot.ruleY([0]),
Plot.barY(groupedWeeks, {
x: "week",
y: "miles",
fill: "period"
})
]
})
Insert cell
Insert cell
basePeriod = getDays(0, baseWeeks, startLongRunDistance, 'base')
Insert cell
buildPeriod = getDays(
basePeriod[basePeriod.length - 1].week + 1,
buildWeeks,
basePeriod[basePeriod.length - 1].distance,
"build"
)
Insert cell
peakPeriod = getDays(
buildPeriod[buildPeriod.length - 1].week + 1,
peakWeeks,
buildPeriod[buildPeriod.length - 1].distance,
"peak"
)
Insert cell
Insert cell
Insert cell
Inputs.table(peakPeriod)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
addDays = function (date, days) {
let date0 = new Date(date);
date0.setDate(date.getDate() + days);
return date0;
}
Insert cell

One platform to build and deploy the best data apps

Experiment and prototype by building visualizations in live JavaScript notebooks. Collaborate with your team and decide which concepts to build out.
Use Observable Framework to build data apps locally. Use data loaders to build in any language or library, including Python, SQL, and R.
Seamlessly deploy to Observable. Test before you ship, use automatic deploy-on-commit, and ensure your projects are always up-to-date.
Learn more