| # | Distanse | Tid | Pace | vs target | HR steady | HR siste 500m | REST HR | Split | Power | Laktat |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1.00 km | 4:00 | 3:59/km | ✓ | 146 | 146 | 151 −-5 | — | — | |
| 2 | 1.03 km | 3:58 | 3:50/km | ↑ 10s | 153 | 153 | 153 −0 | — | 🔴 3.8 | |
| 3 | 1.02 km | 3:58 | 3:52/km | ↑ 8s | 155 | 155 | 141 −14 | — | — | |
| 4 | 1.02 km | 3:54 | 3:50/km | ↑ 10s | 164 | 164 | 173 −-9 | — | — | |
| 5 | 1.03 km | 3:54 | 3:46/km | ↑ 14s | 175 | 175 | 150 −25 | — | 🔴 4.0 | |
| 6 | 1.02 km | 3:49 | 3:44/km | ↑ 16s | 167 | 167 | 140 −27 | — | — | |
| 7 | 1.01 km | 3:55 | 3:51/km | ↑ 9s | 169 | 169 | 170 −-1 | — | — | |
| 8 | 1.04 km | 3:54 | 3:45/km | ↑ 15s | 171 | 171 | 171 −0 | — | — | |
| 9 | 1.02 km | 3:54 | 3:48/km | ↑ 12s | 173 | 173 | 144 −29 | — | — | |
| 10 | 1.01 km | 3:49 | 3:46/km | ↑ 14s | 158 | 158 | 164 −-6 | — | — | |
| 11 | 1.04 km | 3:50 | 3:41/km | ↑ 19s | 166 | 166 | 104 −62 | — | — | |
| 12 | 1.01 km | 3:44 | 3:40/km | ↑ 20s | 157 | 157 | 146 −11 | — | — |
| 2026-01-01 | 8 x 1000 terskel | 3:48/km | 146 bpm |
| 2025-12-30 | 3 x 10 min terskel | 3:58/km | 145 bpm |
| 2025-12-27 | 3-2-1 km | 3:40/km | 146 bpm |
| 2025-12-24 | Langtur 21 km | 4:05/km | 150 bpm |
| 2025-12-22 | 2 x 10 x 45/15 terskel | 4:44/km | 142 bpm |
Vi er i build-fasen mot Berlin halvmaraton 2026 (mål-dato 29. mars), og blokk-taggen er «VO2max» — denne økten var ment å være hard. TSB dagen før var +4,1 (CTL 83,2, ATL 79,1) — fersk. Wellness var god på de autonome markørene: HRV-snittet 73,6 ms med IN_RANGE-status (om enn fallende trend), hvilepuls 39. Men Training Readiness lå på bare 39 (LOW), og søvnen var moderat (6 timer 33 minutter, score 82). Det var svært kaldt: −9,3 °C, følt −13,8, men økten ble kjørt innendørs på bane.
Sko: Saucony Endorphin Pro 4 med 157 km. Den sosiale konteksten er verdt å notere: Strava-navnet sier «God drahjelp av Nils Bjørnerud på siste to dragene ❤️». Carl fikk altså draft/pacing-hjelp på de avsluttende, raskeste kilometerne — det hjalp ham å holde fart når trettheten hadde bygd seg opp, men det betyr også at de siste dragenes pace delvis ble muliggjort av en hare, ikke av egen jevn styring.
Strukturen er to 3-2-1-pyramider, med et detaljert pace-mål i Strava-navnet: 4:00-3:55-3:50-3:55-3:50-3:45. Carl løp dem raskere enn planlagt og med en del variasjon: 3:59, 3:50, 3:52, 3:50, 3:46, 3:44 i første pyramide, og 3:51, 3:45, 3:48, 3:46, 3:41, 3:40 i andre. Mønsteret er en generell nedtrapping innenfor hver pyramide og en raskere andre pyramide enn første — men pacingen er mer ujevn enn i en kontrollert terskeløkt, med sprang fram og tilbake mellom dragene. Det er forventet for en VO2-økt der målet er høy intensitet snarere enn metronomisk likevekt, og hvor drahjelp på slutten endrer dynamikken.
Den raskeste delen kom på de siste dragene av hver pyramide (ned mot 3:40), der Nils ga draft. Pacestrategien var altså å bygge mot stadig raskere, harde avslutningsdrag — en VO2-stimulus snarere enn en terskel-likevekt. Det forklarer både den høye pulsen og den variable pacingen.
Dette er kjernen, og laktatmålingene gjør den entydig. hr_steady svingte kraftig gjennom de tolv dragene, fra 146 i åpningen opp til 175 på drag 5 — det hardeste — og lå gjennomgående høyt (165–173) i andre halvdel. Med LT1 på 159, LT2 på 169 og HRmax 186 betyr en hr_steady på 175 at Carl var oppe i I4, rundt 94 % av maks — ekte VO2-territorium. Snittpulsen for kvalitetsdelen var 162.
Laktatmålingene bekrefter og presiserer dette: Lt(2) = 3,8 mmol ble målt etter drag 2 (pace 3:50, hr 153), og Lt(5) = 4,0 mmol etter drag 5 (pace 3:46, hr 175). Begge ligger over LT2-laktatet på 3,3 — Carl var supra-terskel allerede fra drag 2 og klart inn i I4 ved drag 5. Det er en hard, glykolytisk økt, ikke en aerob terskel-likevekt. Inter-rep-driften (+11 bpm fra første til siste drag) reflekterer denne bevisste opptrappingen mot VO2-intensitet. For en VO2max-merket økt er dette nøyaktig den responsen man designer for — men det er en helt annen belastningsprofil enn en kontrollert terskeløkt, og scoringsmalen, som premierer jevnhet og terskel-likevekt, leser den deretter.
Per-drag-watt ble ikke separert ut i denne økten, men snitt-power for kvalitetsdelen lå på 443 watt — 6,0 W/kg ved 74 kg, holdt gjennom tolv kilometer med betydelig intensitetsvariasjon. For en VO2-økt der pulsen toppet i I4 er det en solid kraftproduksjon. Det er verdt å merke at de raskeste dragene (ned mot 3:40) ble løpt med drahjelp fra Nils — draften reduserer luftmotstanden og lar Carl holde høyere fart for samme egne kraftinnsats, hvilket er en del av forklaringen på at han nådde 3:40-pace på de avsluttende dragene. Den gjennomsnittlige watten bekrefter likevel at dette var en kraftkrevende økt over hele linja.
Den store inter-rep-driften (+11 bpm) og den høye toppulsen (175) er her tegn på en bevisst VO2-stimulus, ikke på patologisk fatigue — men de viser samtidig at økten var krevende. Laktatet på 4,0 mmol bekrefter at Carl jobbet supra-terskel, hvilket innebærer en høyere restitusjonskostnad enn en terskeløkt. Readiness-tallet på 39 (LOW) pre-økt antyder dessuten at kroppen ikke var optimalt klar for en så hard dose, selv om de autonome markørene (HRV, hvilepuls) var greie. Kombinasjonen av lav readiness og en supra-terskel VO2-økt er verdt å merke: det var en hard belastning på en ikke-ideelt uthvilt kropp, og restitusjonen etterpå måtte respekteres.
Mot samme-sone-historikken (I4) er 5. januar en av de hardere øktene. Naboene — 15. desember (6×1000 @ 3:45, hr 156, skår 8.9) og 10. desember (6×1000 @ 3:45, hr 159, skår 8.9) — er jevne terskeløkter på 3:45-pace med kontrollert puls, og de scorer høyere. 5. januar skiller seg ut ved å være en bevisst supra-terskel VO2-økt med pulsen oppe i 175 og laktat på 4,0 — en helt annen belastningsprofil. At den scorer lavere (7.1 mot 8.9) er ikke fordi den var dårligere trening, men fordi den ujevne, harde VO2-stimulusen passer dårligere inn i en mal bygd for jevn terskel. Som VO2-økt i en build-fase var den verdifull; som «terskeløkt» målt mot et jevnhetsideal scorer den middels.
TSB +4 inn i økten var fersk, men readiness 39 antyder at kroppen ikke var optimalt klar for en hard VO2-dose. CTL 84 viser en solid base. En VO2max-merket pyramide er fasekoherent for en build-fase mot et halvmaraton — VO2-stimulus hever taket som terskelarbeidet senere fylles inn under. Men timingen, på en LOW-readiness-dag, var på den aggressive enden. At Carl brukte en hare (Nils) for å nå de hardeste pacene var et fornuftig grep for å sikre VO2-stimulusen når egen tretthet bygde seg opp. Subjektivt — «❤️» for drahjelpen — var dette en sosial, hard fellesøkt som Carl satte pris på.
Det taktisk interessante er bruken av laktatmåling og hare. At Carl målte laktat etter drag 2 og 5 viser at han behandlet økten som en test — han fikk objektiv bekreftelse på at han var supra-terskel (3,8 og 4,0 mmol). At han brukte Nils som hare på de raskeste dragene var et smart grep for å holde VO2-intensiteten oppe når trettheten kom. Den eneste observasjonen for scoringen er at en så hard, ujevn VO2-økt ikke bør forventes å score som en jevn terskeløkt — den har et annet formål. For treneren er det verdt å merke at en supra-terskel VO2-dose på en readiness-39-dag er krevende, og at restitusjonen etterpå må prioriteres.
Eksekusjonen på 6.4 reflekterer spenningen mellom en hard VO2-økt og en terskel-kalibrert mal. Den store inter-rep-driften (+11 bpm) og den variable pacingen straffes begge i en mal som premierer jevnhet, selv om de her er naturlige trekk ved en bevisst VO2-stimulus. Plan-fullføringen er komplett, og laktatdataene bekrefter at intensiteten traff det tiltenkte supra-terskel-nivået, men disse veier ikke opp for jevnhets-straffen. Kontekstscoren på 8.7 er høy: fersk TSB, god base og god fasekoherens for en VO2-økt i build-fasen, trukket litt ned av readiness 39. Den ærlige lesningen er at 7.1 undervurderer øktens VO2-verdi — som hard VO2-stimulus var den vellykket; som «jevn terskeløkt» målt scorer den middels.
Det meste handler om klassifisering, ikke utførelse. Hadde økten blitt scoret eksplisitt som en VO2-/supra-terskel-økt — der høy puls og intensitet er målet, ikke avviket — ville den reflektert den faktiske kvaliteten bedre. Det er en kjent begrensning i systemet, beslektet med hvordan progressive økter straffes. Fysiologisk kunne Carl fått en jevnere økt ved å pace de to pyramidene likere uten drahjelp, men det ville motvirket VO2-formålet. Den mest reelle forbedringen er kontekstuell: å legge en så hard VO2-økt på en friskere dag (readiness over 50) ville gitt bedre fasekoherens og en mer bærekraftig dose.
Dette var en hard, bevisst VO2-økt forkledd som en middels terskelscore: to pyramider som gikk supra-terskel (laktat 3,8 og 4,0) med pulsen oppe i I4, og drahjelp fra Nils på finishen. Den scorer 7.1 fordi den ujevne, harde VO2-profilen passer dårlig i en jevn-terskel-mal, ikke fordi gjennomføringen var svak. Take-away for treneren er todelt: VO2-økter trenger sin egen scoringslogikk, og en supra-terskel-dose på en readiness-39-dag er krevende og krever respekt for restitusjonen. For Berlin-prognosen var dette et VO2-løft i build-fasen — det hever taket, men de jevne terskeløktene som fyller inn under det er der formen virkelig bygges mot halvmaratonet.
| # | Distanse | Tid | Pace | HR snitt | HR maks | Kadens | Power |
|---|---|---|---|---|---|---|---|
| 1 | 1.00 km | 4:00 | 3:59/km | 143 | 161.0 | — | — |
| 2 | 1.03 km | 3:58 | 3:50/km | 153 | 161.0 | — | — |
| 3 | 1.02 km | 3:58 | 3:52/km | 154 | 157.0 | — | — |
| 4 | 1.02 km | 3:54 | 3:50/km | 161 | 175.0 | — | — |
| 5 | 1.03 km | 3:54 | 3:46/km | 175 | 177.0 | — | — |
| 6 | 1.02 km | 3:49 | 3:44/km | 165 | 179.0 | — | — |
| 7 | 1.01 km | 3:55 | 3:51/km | 168 | 175.0 | — | — |
| 8 | 1.04 km | 3:54 | 3:45/km | 171 | 173.0 | — | — |
| 9 | 1.02 km | 3:54 | 3:48/km | 173 | 176.0 | — | — |
| 10 | 1.01 km | 3:49 | 3:46/km | 156 | 165.0 | — | — |
| 11 | 1.04 km | 3:50 | 3:41/km | 166 | 167.0 | — | — |
| 12 | 1.01 km | 3:44 | 3:40/km | 154 | 169.0 | — | — |
| Dato | Distanse | Pace | Δ pace | HR | Δ HR | Score | Δ Score | Sko | Link |
|---|---|---|---|---|---|---|---|---|---|
| 2025-12-27 | 8.1 | 3:40 | — | 146 | +16 | 8.5 | -0.9 | Saucony Endorph | → |
| 2025-12-15 | 5.8 | 3:45 | — | 142 | +20 | 6.7 | +0.9 | Saucony Endorph | → |
| 2025-12-15 | 11.2 | 3:45 | — | 156 | +6 | 6.7 | +0.9 | Saucony Endorph | → |
| 2025-07-29 | 18.6 | 3:55 | — | 155 | +7 | 8.9 | -1.3 | Adidas Adios Pr | → |
| 2025-06-14 | 9.1 | 4:01 | — | 157 | +5 | 7.9 | -0.3 | Nike Vaporfly2 | → |
↑ grønn pace/HR = denne økt var raskere/lavere HR enn historisk · ↑ grønn score = denne økt var sterkere.
| Dato | RHR | HRV | Søvn | Stress |
|---|---|---|---|---|
| 2025-12-29 | 37 | 83 | 7.6 h | 19 |
| 2025-12-30 | 37 | 78 | 7.9 h | 23 |
| 2025-12-31 | 37 | 81 | 7.7 h | 18 |
| 2026-01-01 | 37 | 82 | 6.5 h | 22 |
| 2026-01-02 | 38 | 54 | 6.6 h | 28 |
| 2026-01-03 | 39 | 56 | 7.8 h | 28 |
| 2026-01-04 | 39 | 65 | 7.8 h | 18 |
| 2026-01-05 | 39 | 82 | 6.5 h | 21 |
python3 scripts/quality_session_recovery_response.py --date 2026-01-05 når 2-3 dager har gått.interval_medium
| Type | Resultat | Vurdering |
|---|---|---|
| Inter-rep drift (rep1 → repN, steady-state) | 146 → 157 bpm (+11.0) | sterk fatigue |
| Intra-rep drift (første→siste 500m, snitt) | +29.1 bpm | utmattet |
| Metrikk | Verdi | Tolkning |
|---|---|---|
| Pa:HR-decoupling (Friel) | 2.2% | tightly coupled (god aerob form) |
| Time-in-zone (I4: 170-175 bpm) | 36% i / 59% under / 4% over | bommet sone |
| Etter rep | HR-slutt | HR 60s senere | Drop |
|---|---|---|---|
| Rep 1 | 161 bpm | 161 bpm | −0 bpm |
| Rep 2 | 153 bpm | 153 bpm | −0 bpm |
| Rep 3 | 157 bpm | 147 bpm | −10 bpm |
| Rep 4 | 174 bpm | 174 bpm | −0 bpm |
| Rep 5 | 176 bpm | 149 bpm | −27 bpm |
| Rep 6 | 173 bpm | 139 bpm | −34 bpm |
| Rep 7 | 170 bpm | 170 bpm | −0 bpm |
| Rep 8 | 172 bpm | 172 bpm | −0 bpm |
| Rep 9 | 174 bpm | 150 bpm | −24 bpm |
| Rep 10 | 165 bpm | 165 bpm | −0 bpm |
| Rep 11 | 167 bpm | 106 bpm | −61 bpm |
| Metrikk | I dag | Snitt 8 uker | Δ |
|---|---|---|---|
| Steglengde (cm) | 136.1 | 131.9 | +3.2% |
| GCT (ms) | 223.3 | 237.0 | -5.8% |
| Vertical Ratio | 6.7 | 7.2 | -6.4% |
| Vertical Oscillation | 9.0 | 9.2 | -2.8% |
| Rep | Distanse | Pace | PB-ref | % av PB-pace |
|---|---|---|---|---|
| 1 | 1.0 km | 3:59/km | 5K | 93.6% |
| 2 | 1.0 km | 3:50/km | 5K | 97.2% |
| 3 | 1.0 km | 3:52/km | 5K | 96.4% |
| 4 | 1.0 km | 3:50/km | 5K | 97.2% |
| 5 | 1.0 km | 3:46/km | 5K | 98.9% |
| 6 | 1.0 km | 3:44/km | 5K | 99.8% |
| 7 | 1.0 km | 3:51/km | 5K | 96.8% |
| 8 | 1.0 km | 3:45/km | 5K | 99.4% |
| 9 | 1.0 km | 3:48/km | 5K | 98.1% |
| 10 | 1.0 km | 3:46/km | 5K | 98.9% |
| 11 | 1.0 km | 3:41/km | 5K | 101.2% |
| 12 | 1.0 km | 3:40/km | 5K | 101.6% |
| Komponent | Verdi | Score (0-100) | Vekt |
|---|---|---|---|
| hrv | 82 | 100 | 35% |
| rhr | 39 | 92 | 25% |
| sleep_score | 82 | 82 | 15% |
| sleep_debt | — | 93 | 10% |
| stress | 21 | 58 | 10% |
| illness | — | 30 | 5% |
| Type | CV% | Tolkning |
|---|---|---|
| Inter-rep CV (rep1 vs repN steady-state) | 5.5% | ujevn |
| Intra-rep CV (første→steady→siste 500m) | 12.71% | stor variasjon (utmattelse?) |
python3 sync_all.py --log-session gir +0.5 til +2.0 score-bonus.| Komponent | Vekt | Vurdering | Score |
|---|---|---|---|
| pct_reps_in_zone | 30% | 12/12 drag innen ±5s/km av pace-rampa (100%) — progressiv (pace-rampe, ikke HR-band) | 9.5/10 |
| pa_hr_coupling | 15% | 2.2% decoupling — tightly coupled (god aerob form) | 9.5/10 |
| hr_recovery | 15% | Snitt-drop 60s: 14 bpm — svak respons — restitusjon eller aerob form kan være begrenset | 4.0/10 |
| pace_target | 15% | Snitt-pace 3:53 vs target 4:00 — diff 7s/km | 7.5/10 |