Kvalitetsøkt · F6 Sammensatt · Mandag 1. juni 2026

7 × 510 m

Plan: MandagsTOSK 3x2000 @ 3:50 (LT2) + 6x500 @ 3:30 (VO2max) - på piren (ukeplan 01.06) · Utført: 3:50

Sju 510-metere på 3:26, steady-puls 168 — 5 slag under normalen din på farten.

Adidas Adios Pro 4 #2utendørs14,8 °C · vind 7,1 km/t · fukt 83 %15,3 km · 1:18:53
Nivå
109,1 %
av LT2-fart (3:45) · vo2
Mot målet
Energimila om 72 dager · København om 111 dager
Øktas bilde — drag-grafen
fart per dragmål 3:50steady-pulsdin normal ved fartenlab-kurvelaktat↓ fall i pausen (60 s)

Kart

dragoppvarming · pauser · nedjoggstart

Tid i soner

draghele økta

Løpsdynamikk mot 8-ukers baseline

MålI dagBaselineΔ
Kadens177 spm175+2
Kontakttid237 ms235+1
Steglengde1,27 m1,26+0,00
Vertikal osc.8,9 cm8,8+0,1
Vertikal ratio7,2 %7,2+0,1
Kvalitets-km
8,0 km
økt 15,3 km · 1:18:53
Snittfart drag
3:36 /km
mål 3:50 · spenn 27 s
Steady-puls
168 bpm
normal 173 · lab 177 · maks 177
Laktat
mmol
ikke målt
Restitusjon
bpm / 60 s
pauser < 45 s
Drift
bpm
Effekt · kadens
458 W · 184 spm
økt 388 W · 177 spm
Belastning
TSB −21 · CTL 82
TRIMP 130 · −18 om morgenen
Kostnad — laktat og puls mot lab-profilen
lab 2026-02 (Biosen) · feltmålinger siste 8 uker
lab 2026-02forrige labi dagfelt siste 8 uker
labdin normal (offset −3,8)i dag, steady per drag
Mot målet — nedtelling, modell og hva økta sier
Fysiologisk plassering3:26 = VO2 for deg nå (109,1 % av LT2-fart 3:45). Målfart 3:42 (Energimila) ligger i terskel-sonen din (101,3 %). HMP 3:47 (København) ligger i terskel-sonen din (98,8 %).
Formatets trend7×500 m normalisert til 3:26: puls 174 → 160 → 167 → 172 (20.06 · 24.01 · 22.09 · 01.06).
I blokka — Amsterdam Maraton 2026
○ langtur · ◇ løp

Samme format sist 5 + i dag

DatoØktFartSteady-pulsLaktatSkår
09.0318x2m4:35152,36,4 v1
28.0518x2m4:25148,56,2 v1
20.0612 x 2 min4:07155,75,7 v1
24.013×1 km + 2×800 m + 6×400 m3:41153,58,5 v1
22.094 x 1000 + 10 x 400 + 4 x 3:44158,66,0 v1
01.063×2 km + 4×500 m3:36168,09,7
fart puls skår

Økonomi-trend — puls ved 3:26

puls normalisert til referansefarten (0,43 bpm per s/km)din normallab

Ukevolum siste 26 uker

Kvalitets-km fordelt på fart — siste 12 uker

159 km kvalitet i drag og segmenter · dagens bånd uthevet
Samme format alle år — 7×500 m (6 økter)
DatoØktFartSteady-pulsLaktatSkår
09.0318x2m4:35152,36,4 v1
28.0518x2m4:25148,56,2 v1
20.0612 x 2 min4:07155,75,7 v1
24.013×1 km + 2×800 m + 6×400 m3:41153,58,5 v1
22.094 x 1000 + 10 x 400 + 4 x 3:44158,66,0 v1
01.063×2 km + 4×500 m3:36168,09,7
Dagen
HRV 7-dagers glattetenkeltdagerbaseline-bånd
HRV i morges
81 ms
7 d 67 · 60 d 63 · baseline ≥ 51
Hvilepuls · søvn
38 bpm · 89
7 d 38–41 · 7,2 t søvn · readiness 95
Vær
14,8 °C
følt 14,3 · vind 7,1 km/t · fukt 83 %
Arena · sko
utendørs
Adidas Adios Pro 4 #2
Belastning
CTL 82 · TSB −21
−18 om morgenen · TRIMP 130 · kl. 19:33
Analyse — prosa skrevet under forrige skåringssystem
claude-opus-4-8 · 2026-06-01
Merknad (auto): Prosaen er skrevet 01.06.2026 under skåring v1 og beholdes uendret. Da var skåren 8,9 Sterk; med Skåring 2.0 er den 9,7 Eksepsjonell (se kortet øverst). Tall i teksten som gjelder skår, komponenter eller «kontekst» er derfor historiske.

Øktanalyse — MandagsTOSK 3 × 2000 m + 4 × 500 m utendørs | 01.06.2026

1. Sammendrag

Dette var en todelt kvalitetsøkt: tre 2000m-drag på sub-LT2-terskel, etterfulgt av fire 500m-drag i VO2max-fart. Ikke på bane — Garmin viser «Run», og økten ble løpt ut-og-tilbake (1000m hver vei) i kraftig vind. Blokk 1 ble levert prikk på 3:50/3:51/3:50 mot 3:50-målet, med HR_steady 165.0 → 165.5 → 166.3 — alle tre under LT2=169, midt i sub-LT2-vinduet. Blokk 2 traff 3:24/3:26/3:24/3:26 mot 3:25-målet, med peak-puls som klatret 171 → 173 → 175 → 175, alle over LT2 og inn i I4/I5 — riktig VO2max-stimulus.

Vinden Carl rapporterte er synlig i tallene. På hvert 2000m-drag var km 2 (returen) 3–6 sek/km tregere enn km 1, samtidig som watt steg 33–41 W. Identisk innsats ga lavere fart andre veien — det er motvind, ikke fatigue.

Eksekusjonsskår: 8.9 / 10 — Sterk (skjønnsmessig, todelt). Eksekusjon 8.8, kontekst 9.5. Den type-bevisste motoren ga 7.8 fordi den behandlet alle sju drag som én flat terskel-blokk og straffet 500m-dragene for å gjøre nøyaktig det de skulle: ligge over terskel. Korrigert per blokk traff begge målene nær perfekt, under vindfulle forhold, med utmerket dagsform.

2. Pre-readiness og dagens kontekst

Morning_snapshot fra kl 07:16 viser optimal dagsform. Training Readiness 92 / HIGH ved oppvåkning. HRV 81 ms mot 13-dagers snitt 68.4 — dagsverdien ligger 13 ms over trenden og 30 ms over Carls baseline-lav på 51. Status BALANCED, 14 av 14 dager balansert, trend stigende. RHR 38 bpm — bunnen av Carls range. Søvn 7 t 10 min, score 89, deep 98 min, REM 140 min, null minutter våken. Stress døgnsnitt 15. Body battery 100 ved oppvåkning.

Composite pre-readiness lander på 9.5 — grønn, optimal. Det er en uthvilt kropp som går inn i en hardøkt.

Treningslast på øktdagen: CTL 79.67, ATL 85.85, TSB −6.18. Det plasserer Carl i øvre del av det produktive kvalitetsvinduet (−5 til −15 i hans personlige fordeling), ikke i overload. Det er en kropp med litt akkumulert tretthet, men godt restituert — akkurat der man vil være for å treffe to ulike intensiteter på samme økt.

Periodisering: treningsfase, 218 dager etter forrige race (Frankfurt Maraton 2:53:06, 26.10.2025), ingen race i nær fremtid. Carl bygger struktur, ikke spisser mot et mål — som gir frihet til å kombinere terskel-volum og VO2-spiss i én økt.

Sko: Adidas Adios Pro 4 #2. Karbonplate-racer brukt på kvalitetsøkt for å beskytte beina mot repetert hardt arbeid.

3. Pacestrategi

Beskrivelsen fra Carl: «3 x 2000 @ 3:50» + «4 x 500 @ 3:25». To blokker, to ulike mål.

Blokk 1 — 3 × 2000 @ 3:50 (sub-LT2):

DragMålFaktiskkm 1km 2WattHR_steady
13:503:503:493:52452165.0
23:503:513:503:53447165.5
33:503:503:473:53451166.3

Snitt 3:50, klokkeren på målet. Pace-CV mellom drag er minimal (3:50/3:51/3:50). Det interessante ligger i per-km-fordelingen: hvert drag åpner raskere (km 1: 3:49/3:50/3:47) og lukker tregere (km 2: 3:52/3:53/3:53). Det er ikke desselerasjon i kroppen — det er ut-og-tilbake-strukturen. Km 1 er veien ut, km 2 er returen med motvind fra ca. 1000–1500m. Mønsteret gjentar seg identisk på alle tre dragene, så det er ekstern motstand, ikke tretthet.

Blokk 2 — 4 × 500 @ 3:25 (VO2max):

DragMålFaktiskGPS-distanseWattHR_max
43:253:24505 m469171
53:253:26475 m498173
63:253:24499 m468175
73:253:26509 m498175

Jevnt på 3:24–3:26 mot 3:25-målet — én til to sekunder per km i avvik. Disse paceverdiene er regnet fra rå GPS-distanse, ikke snappet til 500m. Det er et viktig poeng: økten var ikke på bane, så GPS-distansen ER målingen. (En tidligere kjøring snappet drag 5 til 500m og fikk feilaktig 3:16 — det er nå rettet.) Terrenget var tilnærmet flatt (grade −0.12 % til +0.26 % per km), så GAP ≈ faktisk pace. Vinden, ikke høydemeter, var motstanden.

4. Aerob belastning — HR-respons og soner

Fysiologi-konstantene: LT1 159 bpm, LT2 169 bpm, HRmax operativ 186 bpm, VO2max-lab 61.7 (Granåsen 24.02.2026), LT2-laktat 3.3 mmol/L ved 3:49/km.

Blokk 1 — sub-LT2 (mål: puls 160–169):

DragHR_first_500mHR_steadyHR_max
1134.8165.0167
2139.0165.5168
3139.4166.3171

HR_steady 165–166 på alle tre, midt i sub-LT2-båndet og 3–4 slag under LT2. Oppvarmingsdriften per drag er klassisk: fra ~135–139 i første 500m til steady ~165, deretter stabilt. Inter-rep-stigningen i steady er +1.3 bpm over tre drag (165.0 → 166.3) — kontrollert intensitetsdosering. Pausen mellom dragene (stående) er lang nok til at pulsen faller tilbake før neste.

Blokk 2 — VO2max (mål: peak-puls i I4/I5, siste 200m over LT2):

DragHR_steadyHR_maxOver LT2?
4168.3171ja (peak)
5168.7173ja (peak)
6170.5175ja
7172.0175ja

Peak-puls klatrer 171 → 173 → 175 → 175 gjennom serien, alle over LT2=169 og inn i I4/I5. På 500m-drag som varer ~100s rekker ikke pulsen platå, så peak og siste segment er de meningsfulle målene — og de er truffet, klarest på drag 6–7. 175 bpm tilsvarer 94 % av operativ maks. For 500m-drag etter en vending i vind er det en sterk respons.

Decoupling pace:puls er −5.3 % — tett koblet, et tegn på god aerob form (pulsen «henger ikke etter» farten). HR-recovery i pausene er 56 bpm fall på 60s — sterk parasympatisk respons. Begge er rene form-markører, uavhengig av blokk.

5. Power og økonomi (Stryd) — der vinden viser seg

Blokk 1: Snitt-watt 452 / 447 / 451 per drag. Per-km-fordelingen avslører vind-signaturen Carl rapporterte:

Dragkm 1 (ut)km 2 (retur)Differanse
1431 W472 W+41 W
2430 W464 W+34 W
3438 W464 W+26 W

Returen krevde 26–41 W mer kraft enn veien ut — og leverte likevel 3–6 sek/km tregere pace. Det er motvindens regnestykke: høyere mekanisk kostnad for lavere fart. At mønsteret er identisk på alle tre dragene bekrefter at det er en fast vindeksponert strekning (1000–1500m), ikke variasjon i Carls innsats. W/kg på km 1: 431/74 = 5.8; på km 2: 472/74 = 6.4 — samme løper, samme tempo-mål, men 0.6 W/kg dyrere mot vinden.

Blokk 2: Snitt-watt 469 / 498 / 468 / 498 — høyere enn 2000-dragene, som forventet ved 3:25 mot 3:50. Toppene på 498 W = 6.7 W/kg på de korte dragene. Kraftproduksjonen samsvarer med fartshoppet og bekrefter at 500-dragene var en reell intensitetsspiss, ikke bare raskere ben.

6. Drift, decoupling og fatigue-signaler

Det mest opplysende signalet ligger i kadens. I 2000-dragene lå frekvensen på 182–183 skritt/min; i 500-dragene hoppet den til 186–189. Det er korrekt frekvensøkning ved raskere pace — ikke et fatigue-drop (som ville gått andre veien). Steglengde og frekvens skaleres opp sammen med farten, som forventet av en frisk løper.

Det er ingen fatigue-signaler i de strukturerte dataene: pace-CV er lav innen hver blokk, watt er stabil per blokk, recovery er sterk, og det er ingen rep-til-rep-degradering innenfor blokkene.

Et viktig metodisk poeng for denne økttypen: inter_rep_drift over hele økten er +7 bpm (HR_steady 165.0 på drag 1 → 172.0 på drag 7). Den motorbaserte skåringen leste dette som drift og trakk på det. Men stigningen er fartsdrevet — det er helt ventet at pulsen ligger 7 bpm høyere på et 3:25-drag enn på et 3:50-drag. Å straffe den driften er å straffe selve hensikten med blokk 2. Derfor er inter_rep_drift ekskludert fra den skjønnsmessige skåren (se §10).

7. Sammenligning med historikk

DatoØktPaceHR snittSkårKontekst
2026-04-283 × 20003:531608.8Pre-pause, samme format uten VO2-blokk
2026-05-182 × 10 × 4003:38149(Sterk)Ren VO2max
2026-05-254 × 20003:551599.3I3-terskel, kontrollert (4:00-mål)
2026-05-27OnsdagsTOSK 10 × 10003:52155(Sterk)Sub-LT2
2026-06-013 × 2000 + 4 × 5003:50 / 3:251578.9I dag — todelt

Det nærmeste ankerpunktet er 3 × 2000 den 28.04 (skår 8.8 Sterk): samme grunnformat, men 3:53-pace og uten VO2-blokk. I dag er 2000-dragene 3 sek/km raskere ved lignende HR-profil, og det er lagt fire 500m-drag på toppen. Mot I4-baselinen (n=10: snitt 7.95, median 8.6, range 6.7–8.9) sitter dagens 8.9 på toppen av spennet — en outlier oppover, som den fortjener å være.

Mot 4 × 2000 den 25.05 (9.3): den var en lavere-intensitets kontrollert terskel (4:00-mål, ren I3). Dagens økt er et hakk hardere og mer sammensatt (sub-LT2 + VO2), så den er ikke direkte sammenlignbar — men begge bekrefter at form-buen peker oppover. Referansetoppene står fortsatt: Berlin HM 1:21:19 (29.03.2026) og Frankfurt Maraton 2:53:06.

8. Form og treningskontekst

TSB −6.18 plasserer Carl i balansert-produktivt territorium (P25-vinduet i hans historikk), ikke i overload. CTL 79.67 stiger jevnt. Kvalitets-km-historikken viser snitt 13.1 km/uke over de siste 13 ukene, med topp i W11 (24 km). De siste ukene: W21 16 km, W22 18 km, W23 (denne uka) 6 km før i dag — dagens økt legger til 8.0 km kvalitet.

Planen den kommende uka er kvalitets-tung og godt periodisert rundt dagens økt: onsdag OnsdagsTOSK 10 × 1000 @ 3:55–3:58 (sub-LT2, kontrollert), lørdag langtur 26 km med I3-finish, mandag dobbel terskel. Dagens kombinasjon av terskel-volum og VO2-spiss passer fasen: bygge aerob kapasitet og samtidig holde på toppfarten uten å spisse mot et race.

9. Gjennomføring og taktiske observasjoner

Carls notat: «Vanskelig å treffe farten i vinden. Bare fire TOSKer som møtte opp.»

Punkt for punkt:

  • Vinden: bekreftet i watt-til-pace-dataene. Ut-og-tilbake-strukturen (1000m hver vei) ga motvind på returen, 1000–1500m inn i hvert 2000-drag. Returen kostet 26–41 W ekstra for tregere pace. At Carl likevel landet snittet på 3:50 viser at han styrte etter innsats og holdt målpace gjennom motstanden.
  • «Treffe farten»: tross vinden er avviket fra mål kun 0–1 sek/km på blokk 1 og 1–2 sek/km på blokk 2. Det er presis pacing under ujevne forhold.
  • Liten gruppe (fire TOSKer): færre å henge på, mer egen-drift av tempoet — som gjør pace-presisjonen mer imponerende.
  • Bevisst todelt design: 3 × 2000 bygger terskel-utholdenhet i sub-LT2; 4 × 500 legger en VO2-spiss på en allerede forhøyet aerob base. Rekkefølgen (langt før kort) gjør at 500-dragene løpes på en «varm» motor, noe peak-pulsen 175 reflekterer.

10. Eksekusjonsskår — komponenter (todelt, skjønnsmessig)

Den type-bevisste v2-motoren ga 7.8 (Solid) ved å lese hele økten som én flat terskel-blokk (160–169). Tre komponenter ble urettmessig trukket: pct_reps_in_zone (500-dragene «for høye»), inter_rep_drift (+7 bpm = fartsøkning, ikke tretthet) og pace_target_per_rep (500-dragene målt mot 3:50). Motortallet er bevart i engine_score_v2.

Korrekt vurdert per blokk, mot blokkens eget mål:

KomponentVurderingSkår
Blokk 1 — 3 × 2000 sub-LT2Pace prikk (3:50/3:51/3:50); HR_steady 165–166 midt i 160–169 alle drag; holdt mot motvind9.0
Blokk 2 — 4 × 500 VO2Pace prikk (3:24–3:26 vs 3:25); peak-puls 171→175, alle over LT29.0
Aerobe markørerPace:puls −5.3 % (tett koblet); recovery 56 bpm/60s9.5
inter_rep_driftEKSKLUDERT — planlagt fartsdrevet drift over blokkgrensen
Eksekusjon8.8
Kontekst-komponentVurderingSkår
Pre-readinessTR 92 HIGH, composite grønn9.5
HRV81 ms, +13 over snitt, 14/14 balansert9.5
Søvn89/89, deep 98 min, REM 140 min9.5
TSB−6.18 (balansert-produktivt)9.5
Kontekst9.5

Total = skjønnsmessig 8.9 — Sterk. Begge blokker traff sine separate mål nær perfekt under vind, med utmerkede form-markører og optimal dagsform.

11. Hva som ville løftet skår

På 8.9 er det lite igjen, men:

  1. Laktatmåling. Ikke logget i dag. En verdi rundt 2.5–3.0 mmol etter blokk 1 og >4 mmol etter blokk 2 ville bekreftet at de to blokkene traff hver sin sone, og flyttet skåren fra skjønn mot data. +0.2–0.3.
  2. Litt høyere peak på 500-dragene. Toppene nådde 175/186 = 94 %. Et par slag høyere (178–180) ville gjort blokk 2 til et rent VO2max-stimulus og løftet økten mot Eksepsjonell (≥9.0).
  3. Mindre vind. Jevnere watt på 2000-dragene ville gitt et renere pace-bilde, men ville endret belastningen — ikke nødvendigvis et bedre treningsstimulus.

12. Konklusjon og veien videre

Dette var riktig økt for dagsformen: grønn readiness, balansert TSB og en kropp som tålte både terskel-volum og en VO2-spiss på samme kveld. Begge blokker ble truffet nær perfekt, og vinden gjorde 2000-dragene tøffere enn paceverdiene alene antyder — kraftdataene viser at returen mot vinden kostet 26–41 W ekstra.

Tre take-aways:

  1. Skåring av todelte økter: Denne økttypen (terskel-volum + VO2-spiss) lar seg ikke skåre rett med én flat HR-sone. Inntil et eget todelt-skåringssystem finnes, må slike økter vurderes per blokk og inter_rep_drift ekskluderes. Dagens skår er satt skjønnsmessig på det grunnlaget.
  2. Underlag styrer snapping: Økten var ikke på bane (Garmin «Run»), så 500m-dragene skal bruke rå GPS-distanse. Snapping til 500m er kun riktig på faktisk bane. Dette er nå rettet i underlags-tagg og pace.
  3. Vind-kontekst i pace-tolking: Når watt stiger mens pace faller på samme strekning av en ut-tilbake-runde, er det vind — ikke fatigue. Det skal med i tolkningen, ikke leses som desselerasjon.

Neste økt: OnsdagsTOSK 10 × 1000 @ 3:55–3:58 (sub-LT2, kontrollert) per planen. Hold target og press ikke til terskel — onsdag er bygging, ikke spissing.

Prognose: 2000-dragene på 3:50 ved HR_steady 165 (under LT2), kombinert med en ren VO2-respons på 500-dragene og sterk decoupling/recovery, antyder at HM-formen er på vei tilbake mot Berlin-nivå (1:21:19). En 10 km akkurat nå ville ligge rundt 3:40–3:43/km. Med kvalitets-tung uke foran og stigende CTL er retningen riktig.

Detaljer
#TidFartMålFørste 500Siste 500Steady-pulsForventetMaksFall 60 sEffektKadensLaktat
17:413:503:503:533:52165,0165,5 (−0,5)167−55452 W182
27:433:513:503:523:52165,5165,0 (+0,5)168−59447 W183
37:403:503:503:543:56166,3165,5 (+0,8)171−53451 W183
41:433:243:503:313:28168,3179,4 (−11,1)171−61469 W189
51:383:263:503:474:16168,7178,3 (−9,6)173−50498 W186
61:423:243:503:303:30170,5179,4 (−8,9)175−57468 W189
71:453:263:503:313:27172,0178,3 (−6,3)175498 W188
pulsfartdrag

Etterspill

DagHRVHvilepulsSøvn
D+176 ↑ +8,640 ↑ +1,076 ↓ −13,6
D+270 ↑ +2,639 → +0,091 ↑ +1,4
mot 7-dagers snittet før økta: HRV 67 · hvilepuls 39 · søvn 90

Strava

MandagsTOSK 3 x 2000 @ 3:50 4 x 500 @ 3:25 Vanskelig å treffe farten i vinden 💨 Bare fire TOSKer som møtte opp. 🤷‍♂️
Rådata (quality.json)
{
 "activity_id": 18746381139,
 "date": "2026-06-01",
 "name": "MandagsTOSK",
 "session_label": "3 x 2000 + 4 x 500 høy terskel",
 "quality_type": "interval",
 "interval_structure": "3×2 km + 4×500 m",
 "interval_type": "distance",
 "is_track": false,
 "is_treadmill": false,
 "arena": "utendørs",
 "distance_km": 15.32,
 "duration_s": 4733,
 "moving_time_s": 4621,
 "avg_hr": 140.2,
 "max_hr": 177.0,
 "avg_power": 388.4,
 "avg_cadence": 88.3,
 "avg_gct": 236.60000610351562,
 "avg_stride_length": 126.50999755859375,
 "avg_vertical_oscillation": 8.890000152587891,
 "avg_vertical_ratio": 7.230000019073486,
 "elevation_gain": 114.0,
 "gear_name": "Adidas Adios Pro 4 #2",
 "gear_km_at_run": null,
 "weather": {
  "temp_c": 14.8,
  "feels_like_c": 14.3,
  "humidity_pct": 83,
  "wind_kmh": 7.1,
  "precip_mm": 0.0,
  "condition": "klar"
 },
 "quality_km": 8.0,
 "quality_avg_pace": "3:50",
 "quality_avg_hr": 157,
 "quality_avg_power": 458,
 "quality_avg_cadence": 184,
 "lactate": [],
 "reps": [
  {
   "n": 1,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 461,
   "elapsed_time_s": 461,
   "pace": "3:50",
   "hr_avg": 157,
   "hr_max": 167.0,
   "cadence": 182,
   "power": 452,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:49",
     "hr": 149,
     "cadence": 182,
     "power": 431
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:52",
     "hr": 165,
     "cadence": 181,
     "power": 472
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 1553,
    "stream_idx_end": 2018,
    "hr_first_500m": 134.8,
    "hr_last_500m": 164.4,
    "hr_steady_state": 165.0,
    "pace_first_500m_s": 232.7,
    "pace_last_500m_s": 232.5,
    "pace_steady_state_s": 232.0
   }
  },
  {
   "n": 2,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 463,
   "elapsed_time_s": 463,
   "pace": "3:51",
   "hr_avg": 159,
   "hr_max": 168.0,
   "cadence": 183,
   "power": 447,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:50",
     "hr": 153,
     "cadence": 183,
     "power": 430
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:53",
     "hr": 166,
     "cadence": 183,
     "power": 464
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 2135,
    "stream_idx_end": 2603,
    "hr_first_500m": 139,
    "hr_last_500m": 165.7,
    "hr_steady_state": 165.5,
    "pace_first_500m_s": 231.7,
    "pace_last_500m_s": 231.6,
    "pace_steady_state_s": 233.9
   }
  },
  {
   "n": 3,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 460,
   "elapsed_time_s": 460,
   "pace": "3:50",
   "hr_avg": 159,
   "hr_max": 171.0,
   "cadence": 183,
   "power": 451,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:47",
     "hr": 152,
     "cadence": 183,
     "power": 438
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:53",
     "hr": 166,
     "cadence": 183,
     "power": 464
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 2723,
    "stream_idx_end": 3185,
    "hr_first_500m": 139.4,
    "hr_last_500m": 166.6,
    "hr_steady_state": 166.3,
    "pace_first_500m_s": 233.7,
    "pace_last_500m_s": 235.5,
    "pace_steady_state_s": 233.3
   }
  },
  {
   "n": 4,
   "prescribed_distance_m": null,
   "gps_distance_m": 505,
   "time_s": 103,
   "elapsed_time_s": 103,
   "pace": "3:24",
   "hr_avg": 151,
   "hr_max": 171.0,
   "cadence": 189,
   "power": 469,
   "per_km": null,
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 3306,
    "stream_idx_end": 3411,
    "hr_first_500m": 148.4,
    "hr_last_500m": 150.0,
    "hr_steady_state": 168.3,
    "pace_first_500m_s": 210.6,
    "pace_last_500m_s": 207.6,
    "pace_steady_state_s": 211.5
   }
  },
  {
   "n": 5,
   "prescribed_distance_m": null,
   "gps_distance_m": 475,
   "time_s": 98,
   "elapsed_time_s": 98,
   "pace": "3:26",
   "hr_avg": 152,
   "hr_max": 173.0,
   "cadence": 186,
   "power": 498,
   "per_km": null,
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 3469,
    "stream_idx_end": 3568,
    "hr_first_500m": 153.2,
    "hr_last_500m": 147.5,
    "hr_steady_state": 168.7,
    "pace_first_500m_s": 227.3,
    "pace_last_500m_s": 256.2,
    "pace_steady_state_s": 211.8
   }
  },
  {
   "n": 6,
   "prescribed_distance_m": null,
   "gps_distance_m": 499,
   "time_s": 102,
   "elapsed_time_s": 102,
   "pace": "3:24",
   "hr_avg": 155,
   "hr_max": 175.0,
   "cadence": 189,
   "power": 468,
   "per_km": null,
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 3624,
    "stream_idx_end": 3727,
    "hr_first_500m": 153.6,
    "hr_last_500m": 153.6,
    "hr_steady_state": 170.5,
    "pace_first_500m_s": 209.9,
    "pace_last_500m_s": 209.9,
    "pace_steady_state_s": 206.4
   }
  },
  {
   "n": 7,
   "prescribed_distance_m": null,
   "gps_distance_m": 509,
   "time_s": 105,
   "elapsed_time_s": 105,
   "pace": "3:26",
   "hr_avg": 157,
   "hr_max": 175.0,
   "cadence": 188,
   "power": 498,
   "per_km": null,
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 3784,
    "stream_idx_end": 3889,
    "hr_first_500m": 155.6,
    "hr_last_500m": 157.0,
    "hr_steady_state": 172.0,
    "pace_first_500m_s": 211.2,
    "pace_last_500m_s": 207.2,
    "pace_steady_state_s": 209.4
   }
  }
 ],
 "block_id": null,
 "block_phase": "base",
 "training_block": "Amsterdam Maraton 2026",
 "block_goal_date": null,
 "hr_unreliable": false,
 "description": "3 x 2000 @ 3:50\n4 x 500 @ 3:25\nVanskelig å treffe farten i vinden 💨\nBare fire TOSKer som møtte opp. 🤷‍♂️",
 "session_score": 9.7,
 "execution_score": 8.8,
 "context_score": 9.5,
 "score_tier": "Eksepsjonell",
 "score_tag": "terskel",
 "_scorer_version": "2.0.0-2026-09-09"
}