Metadata-Version: 2.5
Name: mixed-forest-resilience-utac
Version: 1.0.1
Summary: Why structurally diverse forests outperform monocultures -- Pretzsch & Schuetze 2009 (mixed-stand overyielding up to 59%), Jactel & Brockerhoff 2007 (associational resistance, 119-study meta-analysis), Jactel/Scherer-Lorenzen et al. 2025 (real MyDiv bark-beetle field evidence), Bosela et al. 2025 (drought/carbon resilience, 24-yr Slovakia comparison), and Obladen et al. 2021 (the honesty check: beech also dies in drought, just less), no UTAC/CREP bridge
Project-URL: Homepage, https://github.com/GenesisAeon/mixed-forest-resilience-utac
Project-URL: Repository, https://github.com/GenesisAeon/mixed-forest-resilience-utac
Author: Römer, Johann
License: MIT
License-File: LICENSE
Requires-Python: >=3.11
Provides-Extra: dev
Requires-Dist: mypy>=1.10.0; extra == 'dev'
Requires-Dist: pre-commit>=3.7.0; extra == 'dev'
Requires-Dist: pytest-cov>=5.0.0; extra == 'dev'
Requires-Dist: pytest>=8.0.0; extra == 'dev'
Requires-Dist: ruff>=0.6.0; extra == 'dev'
Description-Content-Type: text/markdown

# mixed-forest-resilience-utac

GenesisAeon Package 113 — why structurally diverse forests outperform
monocultures. Extracted from an independent assessment of a German
nature-conservation policy report — its forest-conversion (Waldumbau)
section was the one part worth pursuing as durable science, separate
from the funding-program/legal-framework content in the rest of that
document (deliberately not built, same precedent as `mountain-
governance-adaptation-utac` (P104) and `landscape-restoration-
hydrology-utac`/`urban-green-infrastructure-utac` (P107/P108)).
**Deliberately has no UTAC/CREP/AFET bridge** — see
[DISCLAIMER.md](DISCLAIMER.md).

For a plain-language explanation of the same topic (German, no jargon,
written for general audiences), see [WHITEPAPER.md](WHITEPAPER.md).

## Deliberately not one-sided

This package includes a real **complication**, not just confirmation:
`is_beech_immune_to_drought_mortality()` returns `False` — European
beech, the tree species most often promoted as spruce's resilient
alternative, still died at a real, measured rate (~7%) in the same
2018–2019 drought that killed ~50% of sampled spruce. Mixed-forest
resilience is a large, real reduction in risk — not immunity.

## What's real here

- **Pretzsch & Schütze (2009, *European Journal of Forest Research*)**
  — 37 real experimental plots across Central Europe (age 37–155
  years): mixed Norway spruce/European beech stands produce up to
  **59% more** aboveground biomass than neighboring pure stands — but
  this is site-dependent, ranging from −46% to +138%, not a universal
  constant.
- **Jactel & Brockerhoff (2007, *Ecology Letters*)** — a real,
  worldwide meta-analysis of **119 studies**: tree diversity reduces
  insect herbivory via "associational resistance" — strong and
  consistent for host-specialist insects, more variable for
  generalists.
- **Jactel, Scherer-Lorenzen et al. (2025, *Journal of Pest
  Science*)** — real field evidence from Germany's MyDiv tree-
  diversity experiment (established 2003): bark beetle (*Ips
  typographus*) damage decreased significantly as the proportion of
  spruce in mixed plots decreased — directly relevant to Germany's
  real, ongoing spruce-monoculture dieback crisis.
- **Bosela et al. (2025, *Forest Ecology and Management*)** — a real
  24-year paired field comparison in Slovakia (70-year-old spruce
  monoculture vs. 150-year-old mixed forest, identical soils): the
  2022 drought significantly reduced growth and soil CO₂ efflux in
  the monoculture, while the mixed forest stayed stable.
- **Obladen et al. (2021, *Agricultural and Forest Meteorology*)** —
  the honesty-check citation: real field sampling in Bavaria (186
  spruce, 143 beech trees) found ~50% spruce mortality but also ~7%
  beech mortality in the 2018–2019 drought.

## Quickstart

```bash
pip install mixed-forest-resilience-utac
```

```python
from mixed_forest_resilience_utac import (
    SPRUCE_BEECH_OVERYIELDING, is_overyielding_universal,
    meta_analysis_study_count, is_effect_uniform_across_insect_types,
    MYDIV_BARK_BEETLE_EVIDENCE, is_modeled_not_measured,
    SLOVAKIA_PAIRED_COMPARISON, stands_share_identical_soil_conditions,
    BAVARIA_2018_2019_MORTALITY, is_beech_immune_to_drought_mortality,
    mortality_reduction_factor,
)

print(SPRUCE_BEECH_OVERYIELDING.max_overyielding_pct)  # 59.0
print(is_overyielding_universal())                     # False
print(meta_analysis_study_count())                     # 119
print(MYDIV_BARK_BEETLE_EVIDENCE.experiment_established_year)  # 2003
print(SLOVAKIA_PAIRED_COMPARISON.study_duration_years)  # 24
print(BAVARIA_2018_2019_MORTALITY.beech_mortality_pct)  # 7.0
print(is_beech_immune_to_drought_mortality())           # False
print(mortality_reduction_factor())                     # ~7.14
```

## Development

```bash
pip install -e ".[dev]"
pre-commit install
ruff check src tests
mypy src
pytest
```

## Citation

See [CITATION.cff](CITATION.cff) and [.zenodo.json](.zenodo.json).
