Co je Mykoindex
Mykoindex je jeden transparentní číslo 0–100 per lokalita, které agreguje meteorologické podmínky relevantní pro růst hub. Výsledek není identifikace druhu ani mapa nálezů — je to pragmatický signál „stojí to za výlet?".
Index pracuje s denními daty ze stanic ČHMÚ, exponenciálně tlumeným indexem srážek (API30), teplotní bell-curve s optimem 16 °C, penalizací dry-spellu a korekcí nadmořské výšky. Vše multiplikativně skládáme — pokud jediná komponenta kolabuje, kolabuje i skóre.
Datové zdroje
- ČHMÚ — stanice (měřená data)CC BY 4.0
Denní agregáty srážek (SRA), teplot (TMA/TMI/TAVG), vlhkosti vzduchu (H). Klimatologické a srážkoměrné stanice. Refresh denně přes cron.
- Open-Meteo (krátkodobá predikce)CC BY 4.0 (underlying ICON/ECMWF)
Numerická předpověď počasí pro horizont 7–10 dní. ICON model pro Evropu. Použito pro SevenDayStrip na detailu lokality.
30letý klimatologický průměr z denních měření ČHMÚ stanic (1996–2025).
- OpenStreetMapODbL
Přispěvatelé OSM. Hranice CHKO, NP a lokalit. Použito pro mapový layer (/mapa).
Časová osa a confidence levely
Mykoindex skládá data z více horizontů — každý má jinou spolehlivost. Uživatelské rozhraní odráží tuto nejistotu skrze confidence badges (kliknutím rozbalíš vysvětlení).
| Horizont | Zdroj dat | Confidence | Stav |
|---|---|---|---|
| Včera | ČHMÚ stanice | > 95 % | Aktivní |
| Dnes | ČHMÚ stanice | > 95 % | Aktivní |
| 1–3 dny | Open-Meteo / ICON | ±10 % | Aktivní |
| 4–10 dní | Open-Meteo ensemble | ±25 %, klesá | Aktivní |
| 11–30 dní | Subseasonal ensemble | Nízká | Sprint 4 |
| 12 měsíců | ČHMÚ 30y staniční | Klimatologický průměr | Aktivní (ČHMÚ 30y, heuristika jako fallback) |
| YoY (vs. loni) | mykoindex_history | Závisí na horizontu | Aktivní (data se nastřádají) |
Prostorová granularita
Sprint 1 pracuje na úrovni CHKO / oblast (přibližně 5–15 lokalit). Data ze nejbližší ČHMÚ stanice (haversine).
Sprint 3 přinese 9 km grid ERA5-Land (~100 buněk pokrývajících ČR) — sub-CHKO heatmapa na /mapa.
Sprint 5+ (prémiová vrstva): 100m hyperlocal — záleží na dostupnosti dat (pozemní senzory, satelitní vegetační indexy).
Mykoindex neclamuje hyperlokální mapu nálezů — taková by byla nepřípustná z důvodů ochrany lokalit i reliability dat.
Prostorové rozlišení — grid heatmap
Heatmapa na /mapa zobrazuje mykoindex per buňka pravidelné mřížky pokrývající ČR. Aktuální rozlišení je ~80 buněk (~31 km spacing) — bootstrap grid. Postupně rozšiřujeme na ~1 460 buněk (9 km, ERA5-Land nativní 0.1°).
| Vrstva | Rozlišení | Stav |
|---|---|---|
| Per-CHKO body | Oblast (~50–100 km) | Aktivní |
| Grid heatmap | ~31 km (80 buněk) | Aktivní |
| ERA5-Land grid | 9 km (1 460 buněk, 0.1°) | Plánované |
| Hyperlocal | 100 m (pozemní senzory) | Výhled |
Heatmap zobrazuje gradient mikroklimatu, NE mapu nálezů. Rozlišení 30–50 km je dostatečné pro „údolí vs. hřebeny v Šumavě", NE pro konkrétní paseky.
Sub-9km downscaling (Pro tier)
ERA5-Land je nativně 9km. Šedý les ve 200m údolí a hřeben ve 700m sdílí jednu meteo hodnotu — ale realita je jiná: hřeben je o ~3 °C chladnější, jižní svah suší rychleji, jehličnatý porost retainuje víc vlhkosti než paseka.
Sub-9km mikroklima mapa kombinuje:
- 9km ERA5-Land jako baseline (srážky, teplota, sucho)
- EU-DEM 25m (downsampled na 100m) → nadm. výška + slope + aspect pro každý ~2km sub-pixel
- CORINE 2018 100m → dominantní landcover třída (jehličnatý / listnatý / smíšený les / paseka / louka)
Tři korekce per sub-pixel:
// Lapse rate (Stahl 2006)
T_subcell = T_9km − 0.6 × (h_sub − h_9km) / 100
// Aspect (jen sezona Apr–Oct)
aspect_factor = 0.975 − 0.125 × cos(aspect_rad)
→ S svah 0.85, N svah 1.10, plocha 1.00
// Landcover retence vlhkosti
landcover_factor: jehlič. 1.20 | smíšený 1.15 | listnatý 1.05
: louka 0.55 | paseka 0.60 | urban/voda 0
score_sub = base × T_correction × aspect_factor × landcover_factor
Tohle je fyzikální model, ne měření. Lapse rate je čistá fyzika. Aspect a landcover korekce vycházejí z peer-reviewed downscaling literatury (Daly 2008, WRF). Výsledek je orientační odhad rozdílů uvnitř 9km buňky — užitečný pro výběr svahu nebo údolí, ne mapa nálezů. Plně transparentně v /etika.
Známé limity v1.0
Landcover zdroj: Aktuálně OpenStreetMap landuse/natural tagging. Pokrytí je v ČR nerovnoměrné — některé oblasti (Šumava, Krkonoše) mají hustou anotaci, jiné (Brdy, které byly do 2016 vojenskou zónou) jsou OSM-řidčeji popsané. Pro nemapované sub-pixely defaultujeme na smíšený les (statisticky nejčastější ČR biotop mimo zástavbu/pole). Plán v1.1: swap na CORINE 2018 raster (100m, plné EU pokrytí).
DEM downsampling: 25m EU-DEM agregujeme na ~2km grid přes prosté střední hodnoty. Hřebeny užší než 500m (úzké soutěsky, hřebeny pod hraničním rozlišením) se mohou rozmazat.
Aspect aproximace: Centered finite differences ze 4 cardinálních sousedů (500m). Komplexní terén (hřbety s dvojitým svahem) se redukuje na jednu dominantní expozici.
Vzorec mykoindexu v1.0
// Pseudokód — přesná implementace v lib/forecast/mykoindex.ts
score = 100 × moistureScore × tempScore × biotopeFactor × elevationFactor
moistureScore = sigmoid(API30 - 20) × drySpellPenalty(14d)
tempScore = exp(−((T7avg − 16) / 7)²)
elevationFactor: <200m → 0.9 | 200–600m → 1.0 | 600–900m → 1.05 | >900m → 0.95
band: ≥80 → peak | 55–79 → good | 30–54 → weak | <30 → none
- API30 — Antecedent Precipitation Index, exponenciálně tlumená suma srážek 30 dní (lambda 0.07, half-life ~10 dní).
- T7avg — průměrná teplota posledních 7 dní. Bell-curve s optimem 16 °C — pod 5 °C a nad 25 °C strmě klesá.
- Dry-spell penalty— lineární pokles na 0 při 14+ dnech bez srážek > 1 mm.
- Biotope factor — 0–1.2, typicky 1.0 (neutral). Sprint 2 diferenciuje smrčiny / dubohabřiny / bučiny.
Limity a co Mykoindex NEDĚLÁ
- Nepředpovídá konkrétní druhy — pouze celkové podmínky.
- Není mapa nálezů — nezveřejňujeme lokace výskytů.
- Neupravuje za klimatický posun (zatím) — fenologická okna jsou statická.
- Bez půdního pH, mykorhizálních dat ani historické mapování.
- Dry-spell penalty je lineární cap 14 dní — komplexnější hydrologický model je v plánu.
- Klimatologie vychází z 30letého průměru denních měření ČHMÚ stanic (1996–2025); lokality bez dostatečné staniční řady používají heuristický fallback.
Editorská pozice
Mykoindex je citovaný agregátor, ne autoritativní příručka. Dáváme naše výpočty najevo — zdrojový kód vzorce je veřejný, datové zdroje jsou citované s licencí.
Před konzumací hub vždy ověř druhové určení s mykologem nebo prostřednictvím Toxikologického informačního střediska. Mykoindex nenahrazuje odborné posouzení.
Klimatologický průměr — ČHMÚ 30letá staniční
Sekce Klimatologický průměr na detailu lokality a v Houbařském kalendáři vychází z 30letých denních měření ČHMÚ stanic (1996–2025):
- Pro každou lokalitu vybrána nejbližší ČHMÚ stanice vážená vzdáleností i rozdílem nadmořské výšky (haversine + výšková penalizace).
- Vyžadováno ≥ 20 let denních dat srážek (SRA) i průměrné teploty (T) v období 1996–2025; jinak heuristický fallback.
- Teplota korigovaná na rozdíl nadmořské výšky stanice a lokality (lapse rate −6,5 °C / 1000 m). Měřené srážky bez korekce — staničně měřená data jsou přesnější než orografický odhad.
- Mykoindex počítán pro každý den z klouzavého okna a agregován na měsíc.
goodDaysFrequency= % dní v měsíci s mykoindexem ≥ 60.avgBand= pásmo z průměrného skóre (zjednodušení — bimodální měsíc může mít pásmo neodpovídající většině dní).
Lokality bez dostatečné staniční řady (méně než 20 pokrytých let) používají heuristický fallback a jsou označeny confidence_tier = 'heuristic'.
Meziroční rozpětí (P10–P90): u lokalit s reálnými ČHMÚ daty ukazujeme i to, jak spolehlivý je daný měsíc rok od roku — medián a pásmo 10.–90. percentil přes 30 let. Velké rozpětí = sázka (někdy špička, někdy nic). Heuristické lokality rozpětí nemají (nefabrikujeme rozptyl z odhadu).
Vývoj rok po roce: na detailu ČHMÚ lokality (21/28 míst) novou sekcí ukazujeme celých 30 let dat — heatmapa měsíc × rok s rovnoběžnou linkou ročního průměru. Označen nejlepší a nejhorší rok. Ztlumené buňky = méně než 20 dní v měsíci s vypočteným skórem (slabší pokrytí).