Co je Mykoindex
Mykoindex je jedno transparentní číslo 0–100 pro každou lokalitu, 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 spolehlivost předpovědi
Mykoindex skládá data z více horizontů — každý má jinou spolehlivost. Uživatelské rozhraní odráží tuto nejistotu skrze štítky spolehlivosti (kliknutím rozbalíš vysvětlení).
| Horizont | Zdroj dat | Spolehlivost | 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) |
| Meziročně (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 z 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 neslibuje hyperlokální mapu nálezů — taková by byla nepřípustná z důvodů ochrany lokalit i spolehlivosti dat.
Prostorové rozlišení — mapa po čtvercích
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í |
| Mapa po čtvercích | ~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.
Zjemnění na 2 km (vrstva Pro)
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ý les udrží víc vlhkosti než holá paseka.
Detailní mikroklimatická mapa (rozlišení ~2 km) 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 dílčí pole (sklon a orientaci svahu)
- CORINE 2018 100m → převažující typ porostu (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. Korekce na orientaci svahu a typ porostu vycházejí z recenzované 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
Zdroj typu porostu: Aktuálně značky využití krajiny z OpenStreetMap. 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í).
Zhrubení výškového modelu: 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.
Odhad orientace svahu: počítán ze 4 sousedních bodů (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
pásmo: ≥80 → vrchol | 55–79 → dobré | 30–54 → slabé | <30 → mimo
- API30 — index předchozích srážek: exponenciálně tlumená suma srážek za 30 dní (váha starších dní klesá, poločas ~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á.
- Penalizace za sucho— lineární pokles na 0 při 14 a více dnech bez srážek > 1 mm.
- Faktor biotopu — 0–1,2, typicky 1,0 (neutrální). 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í).