Kvalitetsøkt · F1 Lange drag · Tirsdag 14. juli 2026

5 × 2000 m

Intensjon antatt — format fra lapper, hensikt fra nivå · Utført: 3:55

Fem 2000-metere på 3:54, steady-puls 166 — 3 slag over normalen din på farten.

Nike Alphafly #5 Yellowutendørs bane21,5 °C · vind 9,4 km/t · fukt 46 %15,9 km · 1:35:42
Nivå
96,1 %
av LT2-fart (3:45) · sub-terskel
Mot målet
Energimila om 29 dager · København om 68 dager
Øktas bilde — drag-grafen
fart per dragsteady-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Δ
Kadens179 spm177+2
Kontakttid233 ms237−4
Steglengde1,28 m1,23+0,05
Vertikal osc.8,8 cm8,7+0,1
Vertikal ratio7,1 %7,3−0,2
Effekt ved 3:54 i samme format over blokka:
Kvalitets-km
10,0 km
økt 15,9 km · 1:35:42
Snittfart drag
3:54 /km
spenn 1 s
Steady-puls
166 bpm
normal 163 · lab 167 · maks 170
Laktat
mmol
ikke målt
Restitusjon
52 bpm / 60 s
median 52 (2026)
Drift
+2,6 bpm
drift +3 bpm drag 1 → 5
Effekt · kadens
440 W · 182 spm
økt 390 W · 179 spm
Belastning
TSB −11 · CTL 93
TRIMP 186 · 0 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 −4,1)i dag, steady per drag
Mot målet — nedtelling, modell og hva økta sier
modellen per 14.07
Fysiologisk plassering3:54 = sub-terskel for deg nå (96,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,9 %). MP 4:01 (Amsterdam) ligger i MP-sonen din (93,0 %).
Formatets trend5×2000 m normalisert til 3:54: puls 161 → 166 → 163 → 166 (08.06 · 26.06 · 07.07 · 14.07).
I blokka — Amsterdam Maraton 2026
○ langtur · ◇ løp

Samme format sist 5 + i dag

DatoØktFartSteady-pulsLaktatSkår
28.043 x 20003:52166,19,4
25.054 x 20003:55164,09,2
08.063 x 2000 @ 3:55 Lt(3) 3,83:54161,53,89,2
26.062 x 2500 @ 4:003:58164,09,6
07.074 x 20003:52163,99,3
14.075 x 20003:54166,29,4
fart puls skår

Økonomi-trend — puls ved 3:54

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

Ukevolum siste 26 uker

Kvalitets-km fordelt på fart — siste 12 uker

212 km kvalitet i drag og segmenter · dagens bånd uthevet
Samme format alle år — 5×2000 m (36 økter)
DatoØktFartSteady-pulsLaktatSkår
20.123x20004:26161,47,6 v1
09.053x20004:16168,27,1 v1
23.113 x 20004:30162,48,4 v1
05.103 x 2000m @ 4:254:25158,86,3 v1
03.113 x 2000m @ 4:154:27152,96,8 v1
09.063×8 min4:07167,18,6 v1
17.073×10 min4:11152,86,9 v1
18.105×2 km3:54169,98,3 v1
15.015×2 km3:53164,39,6 v1
05.025×2 km3:56167,79,0 v1
12.027×2 km3:57163,92,4 / 1,89,3 v1
04.038×2 km3:56164,33,2 / 3,19,4 v1
11.034×2 km3:58161,39,2 v1
18.038×2 km4:05158,25,38,0 v1
25.075×2 km4:10153,68,5 v1
12.087×2 km3:56161,98,5 v1
26.087×2 km3:57166,69,4 v1
09.122×2 km4:04123,68,4 v1
24.02Maratonøkt - 10 x 20004:02159,02,3 / 2,47,9 v1
10.035 x 2000 @ 4:054:01156,78,3 v1
16.045 x 20004:02140,98,7 v1
16.055 x 20004:02167,78,8 v1
30.065 x 20003:57166,48,5 v1
24.094 x 2/1 km @ 4:00/4:303:59162,08,5 v1
22.103 x 2000 @ 4:08-4:05-4:054:06157,47,3 v1
19.014 x 2000 @ 3:553:55165,89,6
09.026 x 2000 @ 3:55-3:503:51164,99,2
09.036 x 2000 @ 3:503:49163,52,7 / 2,59,8
16.035 x 2000 @ 3:503:49165,53,99,5
13.04TOSK terskel4:15158,69,0
28.043 x 20003:52166,19,4
25.054 x 20003:55164,09,2
08.063 x 2000 @ 3:55 Lt(3) 3,83:54161,53,89,2
26.062 x 2500 @ 4:003:58164,09,6
07.074 x 20003:52163,99,3
14.075 x 20003:54166,29,4
Dagen
HRV 7-dagers glattetenkeltdagerbaseline-bånd
HRV i morges
67 ms
7 d 68 · 60 d 70 · baseline ≥ 60
Hvilepuls · søvn
38 bpm · 78
7 d 37–43 · 6,6 t søvn · readiness 84
Vær
21,5 °C
følt 20,0 · vind 9,4 km/t · fukt 46 %
Arena · sko
utendørs bane
Nike Alphafly #5 Yellow
Belastning
CTL 93 · TSB −11
0 om morgenen · TRIMP 186 · kl. 09:19
Analyse — prosa skrevet under forrige skåringssystem
claude-sonnet-4-6 · 2026-07-15
Merknad (auto): Prosaen er skrevet 15.07.2026 under skåring v1 og beholdes uendret. Da var skåren 8,8 Sterk; med Skåring 2.0 er den 9,4 Eksepsjonell (se kortet øverst). Tall i teksten som gjelder skår, komponenter eller «kontekst» er derfor historiske.

Øktanalyse — 5 × 2000 terskel @ 3:55 | 14.07.2026

Fem jevne terskeldrag med metronom-puls — 9.2 i eksekusjon etter to korte netter

1. Sammendrag

Fem 2000-metere på 3:55/3:55/3:54/3:54/3:54 ble en av de jevneste terskeløktene i hele byggefasen — sesjonsskår 8.8 Sterk (eksekusjon 9.2, kontekst 8.1). Ti kilometer kvalitet på utendørs bane, hr_steady kontrollert i midtre I3 gjennom hele serien (165,3 → 167,9), og en watt-linje så flat at den nesten ikke rører seg (438–442). Det som løfter dette ut av det vanlige er at økten ble levert etter to korte netter, med et balansert utgangspunkt: morgen-TSB var +0,46 (ikke −15,85 — den verdien er post-økt, se §6), og de to alarmerende tallene man først fester seg ved (Training Readiness 45 «LOW» og TSB −15,85) viser seg begge å være post-økt-artefakter, ikke morgenkontekst. Carl kjørte fem drag med under 3 slag inter-rep-drift og null tegn til at pacen skled. Laktat ble ikke logget denne økten, så den metabolske bekreftelsen mangler — men pace-, puls- og watt-bildet forteller samstemt om en terskeløkt levert med full kontroll.

2. Pre-readiness og dagens kontekst

Vi er 107 dager etter Berlin halvmaraton (29/3, 1:21:19), midt i en treningsfase uten satt neste-race i briefen. Wellness-signalene om morgenen var todelte. Det som var bra: hvilepuls 38, HRV 67 ms med BALANCED-status og en stigende 13-dagers trend (snitt 68,1 ms, 14 av 14 dager balansert), respirasjon 11/min om natten. Det som trakk ned: søvn på bare 6 timer 38 minutter (score 78, men REM kuttet til 58 min og deep til 56 min), stress-snitt 24. Training Readiness ble registrert til 45 (LOW) — men det tallet er ikke til å stole på som morgenverdi: snapshotet ble fanget kl. 13:39, altså etter morgenøkten (start 09:19), og Garmin senker TR (og Body Battery/stress) etter trening. Den registrerte 45-en er derfor en post-økt-verdi, ikke formen Carl våknet til. Den ekte morgen-readiness er ukjent (briefen bærer også et TR-tall på 54), men søvnhistorikken tilsier at den lå moderat, ikke dypt, lavt.

At readiness-signalet var noe dempet henger uansett sammen med søvnhistorikken de foregående dagene mer enn med dårlig autonom status: 11. juli ga bare 5 timer 26 minutter (score 55, REM = 0), 12. juli 6 timer 3 minutter (score 71). To korte netter på rad presser Body Battery og readiness ned selv når HRV holder seg balansert. HRV-en er faktisk det mest betryggende tallet her — 67 ms ligger over baseline-gulvet på 60, og trenden peker oppover. Hvilepulsen har ligget stabilt lavt (37–41) gjennom uka. Kroppen var altså autonomt i orden, men undersøvd.

Sko: Nike Alphafly #5 Yellow. Det er en detalj verdt å merke seg — Alphafly er en full racing-sko med karbonplate og luftpute, ikke en nøytral treningssko. Å legge en jevn terskeløkt i racing-skoen gir lavere metabolsk kostnad per fart enn en nøytral sko ville gitt, og det er én grunn til at 3:55 kunne holdes så billig på en undersøvd dag. Økten ble kjørt på utendørs bane. Briefen har ingen vær-data for denne dagen, så jeg legger ingen vind- eller temperaturtolkning på pace-variasjonen.

3. Pacestrategi

Pace-strukturen er nesten kjedelig i sin jevnhet, og det er ment som ros: 3:55 · 3:55 · 3:54 · 3:54 · 3:54. Målet var 3:55, og Carl traff det på øret — de tre siste dragene lå ett sekund raskere enn de to første, en ubetydelig positiv drift som viser at han satt trygt innenfor kapasiteten hele veien. Målt på steady-state-pacen (siste 50 % av hvert drag) er spennet enda tettere: 233,6 · 234,8 · 233,8 · 234,2 · 235,0 sekunder per kilometer — under halvannet sekunds variasjon fra det raskeste til det tregeste draget.

Hvert drag har den samme lille signaturen: en litt forsiktig åpning (first_500m rundt 237–241 s/km) som strammer seg inn til 231–237 på slutten. Det er den vanlige «komme inn i draget»-profilen på 2000-metere fra stående start, ikke et pacing-problem. Ingen av dragene faller sammen mot slutten, og ingen skyter ut for hardt i åpningen. Etter to korte netter er dette den disiplinen man vil se: hold målpace, ikke la den korte søvnen friste til verken å slurve eller å overkompensere.

4. Aerob belastning

Her ligger det som gjør økten sterk. hr_steady_state gjennom de fem dragene: 165,3 · 165,1 · 165,8 · 167,0 · 167,9. Det er midtre I3, komfortabelt under LT2 (169), med en topp på siste drag som akkurat kysser terskel. Inter-rep-driften — hr_steady på drag 5 minus drag 1 — er +2,6 bpm. For fem terskeldrag på 2000 meter er det en svært lav drift; den forteller at det metabolske kostnadsnivået knapt steg gjennom økten. Til sammenligning ligger snittet av hr_steady rundt 166,2, altså tre slag under LT2 og syv over LT1 (159) — nøyaktig der en terskeløkt skal ligge.

Merk avstanden mellom hr_avg og hr_steady her, siden det er den vanlige fellen: aktivitetens rapporterte snitt-HR er 161, mens den reelle arbeidsbelastningen per drag lå på 165–168. Hvert drag åpner fra en pause-HR (first_500m 143–147) og bruker de første 500 meterne på å nå arbeidspuls. Bruker man 161 som fasit, ser dette ut som en I2-økt; leser man hr_steady, er det tydelig midtre I3. Den siste-500m-pulsen bekrefter samme bilde og legger til et hint om progresjon: 165,9 · 164,7 · 165,8 · 166,3 · 168,1 — draget for draget krøp den siste-500m-pulsen oppover, med drag 5 på 168,1 rett under LT2. Kroppen jobbet altså gradvis litt hardere for samme fart mot slutten, men driften er så liten (under 3 slag) at det er en normal aerob build, ikke fatigue.

Laktat ble ikke logget denne økten. Det er verdt å si eksplisitt, for på en terskeløkt er laktatet den ene målingen som ville avgjort om 3:55 kostet sub-terskel (under 3,3 mmol) eller lå akkurat på grensa. Uten den er hr_steady den beste tilgjengelige proxyen, og den plasserer intensiteten trygt sub-LT2 — men den metabolske presisjonen en Lt-måling ville gitt, mangler for denne dagen.

5. Power og økonomi (Stryd)

Watt-linja er det andre tallet som imponerer: 438 · 438 · 441 · 442 · 440. Fire watt fra bunn til topp over fem drag — det er så flatt det praktisk kan bli. Ved 74 kg gir det rundt 5,9–6,0 W/kg gjennom hele serien, og aktivitetens snitt på 440 watt er identisk med det man leser drag for drag. Watt-CV-en er nær null.

Den flate watten er selve beviset på at innsatsen var konstant. Når fart (3:54–3:55), watt (438–442) og hr_steady (165–168) alle holder seg så tett samlet gjennom fem drag, er det en økt uten indre svingninger — ingen drag der Carl måtte grave dypere for å holde farten, ingen der han fikk den gratis. Kadensen klatret jemnt fra 181 til 184 spm, en liten stigning som følger den svakt økende pulsen. Kombinasjonen flat watt og lav HR-drift er økonomi-signaturen til en løper som satt godt innenfor kapasiteten — 3:55 var en fart han kunne ha holdt lenger enn 5 × 2000.

6. Drift, decoupling og fatigue-signaler

Fatigue-signalene fra selve økten er fraværende. Inter-rep-driften på +2,6 bpm, den flate watten og den stramme pacen peker samlet mot en kropp som taklet belastningen godt. Kadensen steg 3 spm gjennom økten (181 → 184), som er innenfor normal variasjon og følger pulsen — ikke et forfall i steglengde. Det eneste reelle «signalet» ligger i konteksten, ikke i dataene fra draget: to korte netter i forkant (den registrerte readiness-en på 45 overdriver hvor lavt utgangspunktet var — den ble fanget etter økten). Den svake oppadgående siste-500m-pulsen (165,9 → 168,1) er den forventede aerobe driften på fem drag, ikke et tretthetstegn.

Det er ingen Pa:HR-decoupling å snakke om her — pace og puls fulgte hverandre tett gjennom hele serien. Subjektiv RPE-logg er ikke tilgjengelig i briefen, så jeg tolker ikke følelsen; men den objektive belastningen forteller om en økt som ble utført med margin. Dagen etter (15. juli) sprang HRV opp til 96 ms med hvilepuls ned til 36 — den autonome responsen på økten var altså god, ingen tegn til at 5 × 2000 tømte kroppen dypere enn de to korte nettene skulle tilsi.

7. Sammenligning med historikk

Mot de siste terskeløktene skiller 14. juli seg ut på jevnhet. Sist uke ga to sammenlignbare økter: 9. juli 10 × 1000 på snitt 3:48 (avg-HR 152, Solid) og 7. juli 4 × 2000 på snitt 3:53 (avg-HR 158, Solid). Begge lå raskere i snittpace, men den 5 × 2000-strukturen her er lengre sammenhengende drag enn 1000-meterne og ett drag mer enn 4 × 2000-økten fra uka før — altså mer terskel-volum i lengre biter. At Carl leverte 10 km kvalitet med under 3 slag inter-rep-drift, etter en uke som allerede inneholdt to kvalitetsøkter, forteller at grunnformen bar godt.

Mot samme-sone-baselinen (I3, n = 20) er dette en topp-økt: sonen har snitt 8,03 og median 8,6, med spenn fra 5,9 til 9,5. Sesjonsskåren 8.8 ligger over medianen og et godt stykke opp mot toppen av registeret. De fem siste I3-øktene scoret 7,1 (9/7), 7,9 (7/7), 6,0 (30/6), 8,6 (26/6) og 9,1 (17/6) — 8.8 her er nest øverst i den rekka, bare slått av OnsdagsTOSK 17. juni. Jeg legger ingen laktat-basert form-sammenligning mot tidligere terskeløkter, siden denne økten ikke har laktat-data — en påstand om «bedre eller dårligere form enn før» ville krevd matchet fart og laktat, og det grunnlaget mangler.

8. Form og treningskontekst

Morgen-TSB — formen Carl faktisk gikk INN i dagen med — var +0,46 (CTL 90,86, ATL 90,40), altså balansert. Det er selve økten som dro ATL kraftig opp: etter 5 × 2000 landet dagen på TSB −15,85 (CTL 94,11, ATL 109,96). Dette er en viktig distinksjon — økten ble ikke levert fra dyp tretthet, utgangspunktet var nøytralt, og −15,85 er signaturen økten SKAPTE, ikke konteksten den ble utført i. (Post-økt ligger −15,85 rundt P10 på Carls historiske fordeling — produktiv kvalitetsfase, ikke overload — men det beskriver altså tilstanden etter, ikke før.) En CTL på 94 forteller uansett om en solid, godt oppbygd base.

Kvalitets-km-historikken bekrefter en jevn, ikke aggressiv, byggefase: snittet de siste 14 ukene er 14,8 km kvalitet/uke, med topp-uka W25 på 23,8 km. Denne økten på 10 km kvalitet ligger på et normalt ukenivå for Carl. Volumet har vært stabilt gjennom juni og juli uten hopp som skiller seg ut. Fasekoherensen er god: en jevn terskeløkt i midtre I3 er nøyaktig riktig type i en base-/treningsfase uten et nært målløp — den bygger terskelkapasitet uten den skjerpingen en race-uke ville krevd. At økten ble levert rent etter to korte netter viser en utøver som leste at HRV og hvilepuls (de autonome markørene) var i orden, selv om søvnen ikke var det.

9. Gjennomføring og taktiske observasjoner

Planen for dagen i briefen sto som «Easy 12 km + Rodal bodyweight» i I3-sonen — men det som faktisk ble løpt var 5 × 2000 terskel. Det var altså et bevisst valg å legge en full terskeløkt der planen antydet en roligere dag, sannsynligvis fordi de autonome signalene (HRV 67 balansert, hvilepuls 38) ga grønt lys tross kort søvn. Det taktisk modne er at Carl da holdt seg strengt på målpace i stedet for å teste hvor mye beina hadde: 3:55 gjennom fem drag, ikke en negativ split eller en avsluttende fart-prøve. På en undersøvd dag er det riktig prioritering — hent terskelstimulusen, ikke en ny hardhets-rekord.

Utførelsen på utendørs bane ga presise 2000-metere og en ren rep-struktur. Den lille «komme inn i draget»-profilen på hver 2000-meter (litt forsiktig første 500 m, strammere siste 500 m) er den vanlige måten å pace lange terskeldrag fra stående start. Carl prioriterte jevnhet over alt annet denne økten, og han fikk det: fem drag som statistisk sett nesten er kopier av hverandre i fart, watt og puls.

10. Eksekusjonsscore — komponenter

Eksekusjonen på 9.2 er høy, og dataene forklarer hvorfor. Pace-konsistensen er nær perfekt — fem drag innenfor ett sekund per kilometer på steady-state — som gir full uttelling på jevnhets-komponentene. Inter-rep-driften på +2,6 bpm (målt på hr_steady, ikke hr_avg) er lav og løfter drift-komponenten. Watt-stabiliteten (438–442, CV nær null) bekrefter konstant innsats og trekker samme vei. Plan-fullføringen er komplett: ti kilometer kvalitet, alle fem drag levert på mål. Det er lite i det objektive bildet som drar eksekusjonen ned — den manglende laktat-loggen fjerner et datapunkt, men påvirker ikke selve utførelsen.

Kontekstscoren på 8.1 er den lavere av de to, og det er dagsform-bildet som forklarer det: kort søvn (6 timer 38 minutter etter to korte netter) og en registrert Training Readiness på 45. NB: den registrerte readiness-en er en post-økt-verdi (fanget 13:39), så kontekst-komponenten er beregnet på et readiness-tall som trolig undervurderer morgenformen noe — den frosne skåren står, men den reelle dagsformen var sannsynligvis et hakk bedre enn 8.1 antyder. Score-systemet vekter 70 % eksekusjon (objektiv utførelse) mot 30 % kontekst (dagsform), og her er utførelsen klart sterkere enn dagsformen tilsa. At den samlede skåren likevel lander på 8.8 Sterk reflekterer at den nær perfekte eksekusjonen bærer økten — Carl leverte en terskeløkt på 9-tallet i utførelse på en dag kroppen ga ham 8-tallet i kontekst.

11. Hva som ville løftet score

Det som mangler for å skvise ut det siste er ikke i utførelsen — den er allerede nær taket for en jevn terskeløkt — men i to andre ting. Den ene er kontekst: en natt eller to med full søvn før økten ville hevet både morgen-readiness og kontekstscoren, som er den komponenten som holder totalen fra å nærme seg 9-tallet. Det er utenfor det Carl kan styre på selve øktdagen. Den andre er datakomplettheten: en laktat-måling etter drag 3 eller 4 ville gitt den metabolske bekreftelsen på om 3:55 lå sub-terskel (som hr_steady antyder) eller akkurat på grensa. Uten den er den fysiologiske dokumentasjonen ett hakk tynnere enn den kunne vært. Å legge til mer volum eller en hardere avsluttende innsats ville ikke løftet skåren riktig — det ville endret øktens karakter bort fra den kontrollerte terskeljevnheten som var hele poenget.

12. Konklusjon og veien videre

Dette var en mønstergyldig jevn terskeløkt: fem 2000-metere på 3:55, hr_steady kontrollert i midtre I3 med bare 2,6 slags drift, og en watt-linje så flat at den knapt beveger seg. At den ble levert med 9.2 i eksekusjon etter to korte netter, fra et balansert utgangspunkt (morgen-TSB +0,46), er take-away for treneren — Carl leste at de autonome markørene (HRV 67 balansert, hvilepuls 38) var i orden, valgte terskel over den planlagte rolige dagen, og holdt seg disiplinert på målpace i stedet for å teste beina. Den ene tingen å observere er laktat: neste gang en 5 × 2000 kjøres, vil en Lt-måling etter drag 3–4 lukke det siste datahullet og bekrefte hvor 3:55 ligger metabolsk. Planen fremover holder samme spor — 45/15 dagen etter, tempo 3 × 10 min senere i uka, og MandagsTOSK-re-intro med 8 × 1000 @ 3:55 mot slutten. For byggefasen var dette en av de reneste terskeløktene så langt: grunnformen bærer, og terskelkapasiteten bygger seg jevnt videre.

Detaljer
#TidFartMålFørste 500Siste 500Steady-pulsForventetMaksFall 60 sEffektKadensLaktat
17:503:553:573:51165,3162,6 (+2,7)168−56438 W181
27:503:553:583:55165,1162,6 (+2,5)167−52438 W181
37:483:544:003:54165,8163,1 (+2,7)168−61441 W182
47:483:544:023:58167,0163,1 (+3,9)169−40442 W184
57:493:544:013:55167,9163,1 (+4,8)170440 W184
pulsfartdrag

Etterspill

DagHRVHvilepulsSøvn
D+196 ↑ +28,336 ↓ −3,461 ↓ −15,3
D+276 ↑ +8,337 ↓ −2,479 ↑ +2,7
mot 7-dagers snittet før økta: HRV 68 · hvilepuls 39 · søvn 76

Strava

5 x 2000 @ 3:55 Tungt i varmen. Avsluttet med laktatprofil for Fredrik Grelland.
Rådata (quality.json)
{
 "activity_id": 19307721359,
 "date": "2026-07-14",
 "name": "5 x 2000",
 "session_label": "5 x 2000 terskel",
 "quality_type": "interval",
 "interval_structure": "5 x 2000",
 "interval_type": "distance",
 "is_track": true,
 "is_treadmill": false,
 "arena": "utendørs bane",
 "distance_km": 15.93,
 "duration_s": 5742,
 "moving_time_s": 5687,
 "avg_hr": 147.4,
 "max_hr": 170.0,
 "avg_power": 390.4,
 "avg_cadence": 89.3,
 "avg_gct": 232.89999389648438,
 "avg_stride_length": 127.85999755859376,
 "avg_vertical_oscillation": 8.830000305175782,
 "avg_vertical_ratio": 7.070000171661377,
 "elevation_gain": 0.0,
 "gear_name": "Nike Alphafly #5 Yellow",
 "gear_km_at_run": null,
 "weather": {
  "temp_c": 21.5,
  "feels_like_c": 20.0,
  "humidity_pct": 46,
  "wind_kmh": 9.4,
  "precip_mm": 0.0,
  "condition": "stort sett klar"
 },
 "quality_km": 10.0,
 "quality_avg_pace": "3:55",
 "quality_avg_hr": 161,
 "quality_avg_power": 440,
 "quality_avg_cadence": 182,
 "lactate": [],
 "reps": [
  {
   "n": 1,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 470,
   "elapsed_time_s": 470,
   "pace": "3:55",
   "hr_avg": 159,
   "hr_max": 168.0,
   "cadence": 181,
   "power": 438,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:57",
     "hr": 153,
     "cadence": 180,
     "power": 433
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:53",
     "hr": 165,
     "cadence": 181,
     "power": 444
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 520,
    "stream_idx_end": 990,
    "hr_first_500m": 143.5,
    "hr_last_500m": 165.9,
    "hr_steady_state": 165.3,
    "pace_first_500m_s": 236.6,
    "pace_last_500m_s": 231.2,
    "pace_steady_state_s": 233.6
   }
  },
  {
   "n": 2,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 470,
   "elapsed_time_s": 470,
   "pace": "3:55",
   "hr_avg": 160,
   "hr_max": 167.0,
   "cadence": 181,
   "power": 438,
   "per_km": null,
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 1080,
    "stream_idx_end": 1549,
    "hr_first_500m": 143.8,
    "hr_last_500m": 164.7,
    "hr_steady_state": 165.1,
    "pace_first_500m_s": 238.5,
    "pace_last_500m_s": 235.0,
    "pace_steady_state_s": 234.8
   }
  },
  {
   "n": 3,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 468,
   "elapsed_time_s": 468,
   "pace": "3:54",
   "hr_avg": 160,
   "hr_max": 168.0,
   "cadence": 182,
   "power": 441,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:54",
     "hr": 155,
     "cadence": 182,
     "power": 440
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:54",
     "hr": 166,
     "cadence": 183,
     "power": 442
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 1644,
    "stream_idx_end": 2112,
    "hr_first_500m": 144.0,
    "hr_last_500m": 165.8,
    "hr_steady_state": 165.8,
    "pace_first_500m_s": 239.7,
    "pace_last_500m_s": 234.4,
    "pace_steady_state_s": 233.8
   }
  },
  {
   "n": 4,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 468,
   "elapsed_time_s": 468,
   "pace": "3:54",
   "hr_avg": 162,
   "hr_max": 169.0,
   "cadence": 184,
   "power": 442,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:54",
     "hr": 156,
     "cadence": 183,
     "power": 440
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:54",
     "hr": 167,
     "cadence": 184,
     "power": 443
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 2207,
    "stream_idx_end": 2675,
    "hr_first_500m": 146.1,
    "hr_last_500m": 166.3,
    "hr_steady_state": 167.0,
    "pace_first_500m_s": 241.5,
    "pace_last_500m_s": 237.7,
    "pace_steady_state_s": 234.2
   }
  },
  {
   "n": 5,
   "prescribed_distance_m": 2000,
   "gps_distance_m": 2000,
   "time_s": 469,
   "elapsed_time_s": 469,
   "pace": "3:54",
   "hr_avg": 163,
   "hr_max": 170.0,
   "cadence": 184,
   "power": 440,
   "per_km": [
    {
     "km": 1,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:54",
     "hr": 157,
     "cadence": 184,
     "power": 443
    },
    {
     "km": 2,
     "dist_m": 1000,
     "gps_m": 1000,
     "pace": "3:55",
     "hr": 168,
     "cadence": 184,
     "power": 438
    }
   ],
   "n_laps_in_rep": 1,
   "merged_from_laps": null,
   "flag": null,
   "stream_stats": {
    "stream_idx_start": 2803,
    "stream_idx_end": 3272,
    "hr_first_500m": 147.1,
    "hr_last_500m": 168.1,
    "hr_steady_state": 167.9,
    "pace_first_500m_s": 240.7,
    "pace_last_500m_s": 235.2,
    "pace_steady_state_s": 235.0
   }
  }
 ],
 "block_id": 13,
 "block_phase": "build",
 "training_block": "Amsterdam Maraton 2026",
 "block_goal_date": "2026-10-18",
 "hr_unreliable": false,
 "description": "@ 3:55\nTungt i varmen. Avsluttet med laktatprofil for Fredrik Grelland.",
 "session_score": 9.4,
 "execution_score": 9.2,
 "context_score": 8.1,
 "score_tier": "Eksepsjonell",
 "score_tag": "terskel",
 "_scorer_version": "2.0.0-2026-09-09"
}