-
Notifications
You must be signed in to change notification settings - Fork 2
Landbouw methode
Deze pagina beschrijft de werking van het landbouwmodule in RSopen. Het landbouwmodel wijkt op een aantal punten af van de allocatie van andere sectoren (wonen, werken, etc.): het maakt gebruik van discrete allocatie in plaats van stapsgewijze allocatie, kent een eigen economisch model op basis van Netto Contante Waarde, en bevat een gedetailleerde uitwerking voor melkveehouderij met voedercompositie en melkproductie.
- Landbouwklassen en gewassen
- Landbouw geschiktheid (suitability)
- Melkvee (gg_vee)
- Waterbeheer: drooglegging en deep drainage
- Regionale vraag (claims)
- Allocatieproces
- Exogeen opleggen van landgebruik
- Variantspecifieke instellingen
- Berekening indicatoren
Er worden twaalf landbouwklassen onderscheiden die individueel worden gealloceerd via discrete allocatie:
Rietteelt, Aardappelen, Bieten, Granen, Cranberry, Boomgaard, Moerasbomen, Rijst, Yacon, grondgebonden vee (extensief), grondgebonden vee, grondgebonden vee (intensief).
Onderliggend zijn deze klassen uitgesplitst in gewassen. Zo telt de klasse Rietteelt twee gewassen: Riet en Lisdodde. De meeste andere klassen bevatten momenteel een enkel gewas, maar de structuur is zodanig dat elke klasse meerdere gewassen kan bevatten. Elk gewas heeft een specifieke opbrengstderving en kan wel of niet worden aangetast door verzilting.
| Gewas | LandbouwKlasse | Opbrengstderving bron | Aantasting door verzilting |
|---|---|---|---|
| Riet | Rietteelt | Exotisch | Ja |
| Lisdodde | Rietteelt | Exotisch | Ja |
| Aardappelen | Aardappelen | WWL | Ja |
| Bieten | Bieten | WWL | Nee |
| Granen | Granen | WWL | Nee |
| Cranberry | Cranberry | Exotisch | Nee |
| Boomgaard | Boomgaard | WWL | Ja |
| Moerasbomen | Moerasbomen | Exotisch | Nee |
| Rijst | Rijst | Exotisch | Nee |
| Yacon | Yacon | Exotisch | Nee |
| Gras beweiden | GG vee (extensief) | WWL | Nee |
| Gras maai | GG vee | WWL | Nee |
| Snijmais | GG vee (intensief) | WWL | Ja |
De klasse Aardappelen is een samengesteld gewas (consumptie-, poot- en zetmeelaardappelen). De parameterwaarden zijn gewogen gemiddelden. In de code is de structuur voorbereid voor eventuele uitsplitsing naar afzonderlijke subtypes.
De geschiktheidsberekening voor landbouw verloopt via twee templates: Dairy_T voor de drie grondgebonden vee-klassen, en Akkerbouw_T voor alle overige landbouwklassen (negen stuks). Het verschil is dat Dairy_T een voederconversiemodel bevat (gras en mais worden via FCE omgezet in melkproductie), terwijl Akkerbouw_T een directe keten volgt (opbrengst x prijs - kosten = netto-opbrengst). Beide templates produceren dezelfde interface: Suitability, NPV, NetRevenue en Conversion_costs.
Opbrengstderving is de afname van de maximaal haalbare opbrengst op een locatie als gevolg van bodem-fysische, hydrologische of klimatologische omstandigheden. Het wordt uitgedrukt als een getal tussen 0 en 1. Bijvoorbeeld: de oogst van aardappelen op zandgronden ligt rond de 50 ton per ha, terwijl deze op natte veengronden nagenoeg nul is, wat zich vertaalt in een opbrengstdervingswaarde van 0 op die locaties.
Er worden twee bronnen voor opbrengstderving gebruikt:
- Water Wijzer Landbouw (WWL): voor gangbare gewassen (gras, maïs, aardappelen, bieten, granen, boomgaard). WWL berekent gewasopbrengsten als functie van bodemtype, grondwaterstand en klimaat.
- WUR kansenkaarten: voor exotische gewassen (riet, lisdodde, rijst, yacon, cranberry, moerasbomen). Deze kaarten zijn opgesteld door Wageningen University & Research specifiek voor teelten die in Nederland niet gangbaar zijn.
Een bijzondere vorm van opbrengstderving is zoutschade. Voor gewassen die als verziltingsgevoelig zijn aangemerkt (zie tabel hierboven) kan toenemende verzilting leiden tot verminderde of onmogelijke teelt.
Verzilting is een speciale case van opbrengstderving. De bron hiervoor is het Deltaprogramma Zoetwater (Schasfoort et al. 2024, in prep.), dat per deltascenario ruimtelijke kaarten heeft gemaakt met de verandering van verziltingsrisico tussen nu en 2050. De verziltingsklassen "enig", "matig" en "aanzienlijk groter risico" (2-4) zijn samengevoegd tot een klasse "verziltingsgevoelig". Hierbij is rekening gehouden met twee processen: brakke kwel in de wortelzone en verzilting van beregeningswater.
De verziltingsgevoeligheid per gewas is bepaald aan de hand van Maas-Hoffman relaties, overgenomen uit Mulder et al. (2018).
| Klasse | Omschrijving |
|---|---|
| 0 | Kleiner risico |
| 1 | Nagenoeg gelijk risico |
| 2 | Enig groter risico |
| 3 | Matig groter risico |
| 4 | Aanzienlijk groter risico |
Omdat een kleine toename in verzilting in reeds licht verzilte gebieden grotere gevolgen kan hebben dan in gebieden waar verzilting nu nog niet speelt, wordt niet het hele verziltingsgevoelige gebied als aangetast beschouwd. In plaats daarvan is een aannemingspercentage instelbaar (standaard 40%): dit percentage van de verziltingsgevoelige cellen wordt ook daadwerkelijk als aangetast gemodelleerd. De selectie van welke cellen worden aangetast geschiedt via een ruimtelijk gecorreleerde random trekking (randomgetal × verziltingskaart, ruimtelijk geclustered met een kernel van 1000 meter, vervolgens afgekapt bij het gewenste percentiel).
De geschiktheid (suitability) van een locatie voor een landbouwklasse wordt bepaald via een Netto Contante Waarde-benadering (Net Present Value, NPV), zoals beschreven in Koomen, Diogo, Dekkers & Rietveld (2015) en Diogo, Koomen & Kuhlman (2015).
De NPV representeert de maximale prijs die een boer bereid zou zijn te betalen voor een stuk land zonder verlies te lopen — de biedprijs in het allocatieproces:
Waarin:
-
$NPV_{cj}$ netto contante waarde voor productiesysteem$j$ in cel$c$ -
$I_{cj}$ initiële investeringskosten (transitiekosten, zie hieronder) -
$R_{cjy}$ jaarlijkse bruto opbrengsten -
$C_{cjy}$ jaarlijkse totale kosten -
$r$ disconteringsvoet -
$n$ projectduur in jaren
De bruto opbrengsten worden locatiespecifiek bepaald door de maximaal haalbare oogst te corrigeren voor lokale biofysische condities:
Waarin:
-
$k$ een product geproduceerd in productiesysteem$j$ -
$YM_k$ maximaal haalbare oogst van product$k$ onder optimale condities -
$YR_{ck}$ opbrengstderving van product$k$ in cel$c$ (0–1) -
$P_k$ marktprijs van product$k$
In de code wordt dit berekend als (zie Dairy_T):
Totaal = Net_revenues × Kapitalisatiefactor - Conversion_costs
De kapitalisatiefactor verdisconteert de jaarlijkse netto-opbrengsten naar een huidige waarde. In het model wordt hiervoor een continue discontering gebruikt (template Kapitalisatie_T):
Waarbij de disconteringssnelheid
De kapitalisatiefactor wordt tweemaal berekend:
- Vanuit boerperspectief met de rentevoet van de boer (
RentevoetDezeBoer) en de afschrijvingsperiode, resulterend in de geschiktheid voor allocatie. - Vanuit maatschappelijk perspectief met een maatschappelijke disconteringsvoet en de periodeduur, resulterend in de NPV-indicator.
De transitiekosten (
Totaal = Net_revenues × Kapitalisatiefactor - Conversion_costs
De transitiekosten zijn afhankelijk van het huidige landgebruik in de cel (de vertrekconditie). Daarnaast is er een premie per boervariant (ConversionCostPremium): de intermediate boer ervaart hogere transitiekosten dan de rationele boer, wat transitie naar andere teelten ontmoedigt.
Het model kent drie boervarianten (BoervariantK), die elk een ander gedrag vertegenwoordigen:
| Boervariant | Gedrag | Allocatie | Exotische gewassen | Discontovoet | Transitiekosten |
|---|---|---|---|---|---|
| Rationele boer | Waardeert de toekomst, kijkt vooruit | Discrete allocatie op basis van NPV en claims | Ja | Standaard | Standaard |
| Intermediate boer | Kijkt beperkt vooruit, meer weerstand tegen verandering | Discrete allocatie op basis van NPV en claims | Ja | Hoger | Hoger (premie) |
| Conservatieve boer | Kijkt niet naar de toekomst, wil geen verandering | Geen herallocatie — huidig landgebruik blijft staan | Nee | n.v.t. | n.v.t. |
De rationele boer gedraagt zich als een winstmaximaliserende agent die alle beschikbare informatie meeneemt. De intermediate boer neemt dezelfde gewassen mee, maar heeft een hogere discontovoet (de toekomst weegt dus minder zwaar) en hogere transitiekosten (meer weerstand tegen verandering). De conservatieve boer verandert niets: zijn landgebruik wordt exogeen opgelegd op basis van de huidige situatie, ongeacht veranderingen in de NPV.
In de code (Iter_Landbouw_T) wordt dit geïmplementeerd door het allocatieresultaat te overschrijven met null wanneer de boervariant op conservatief staat:
Alloc_Result := IsConversatieveBoer ? const(null, CompactedAdminDomain) : LandbouwK_rel[landuse]
Het melkveemodel is de meest uitgewerkte component van het landbouwmodel. Het wijkt af van de andere landbouwklassen doordat het gewas (gras, maïs) niet het eindproduct is: het eindproduct is melk, geproduceerd via een voederconversieproces.
De melkproductie wordt bepaald via de Feed Conversion Efficiency (FCE):
Waarin
De voedercompositie (in drooggewicht) bestaat uit drie componenten:
- Gras (60%)
- Snijmaïs (20%)
- Concentraat (20%)
De totale hoeveelheid beschikbaar voeder kan op twee manieren worden bepaald (instelbaar via parameter TotalFeedExo):
- Exogeen: vast op basis van de maximale grasopbrengst gedeeld door het aandeel droge stof in het voeder.
- Endogeen: afgeleid van de lokale grasopbrengst en het aandeel gras in de voedercompositie — hierdoor varieert de totale voederbeschikbaarheid ruimtelijk met de graskwaliteit.
De netto opbrengsten voor melkvee worden als volgt berekend:
netto_opbrengsten = bruto_opbrengsten - totale_kosten
De bruto opbrengsten bestaan uit:
bruto_opbrengsten = melkproductie × (melkprijs + mestopbrengst - vaste bedrijfskosten)
De totale kosten bestaan uit de voederkosten van alle drie componenten:
totale_kosten = voederkosten_gras + voederkosten_maïs + voederkosten_concentraat + deep_drainage_kosten
De voederkosten voor gras zijn:
voederkosten_gras = (productiekosten × rotatie) + (droge_stof_opbrengst × voerkosten_per_ton)
De droge-stofopbrengst van gras is een functie van de maximale grasopbrengst, eventuele extra opbrengst door deep drainage, de lokale opbrengstderving, en het rotatie-aandeel:
droge_stof_gras = (MaxYieldGrass + DDGrassYield) × (1 - YieldReduction) × Rotatie
De voederkosten voor maïs bevatten naast productiekosten en rotatie ook een CAP-subsidiecomponent en een voederoverschot/-tekort:
voederkosten_maïs = productiekosten × rotatie - CAP_subsidie × rotatie - voederoverschot_deficit + voederbehoefte × voerkosten
voederbehoefte_maïs = totaal_voeder - concentraat - droge_stof_gras
voederoverschot_deficit = (droge_stof_maïs - voederbehoefte_maïs) × prijs_per_ton
De volledige berekening in pseudocode (conform Dairy_T):
~ = modelparameter (niet ruimtelijk variërend)
=== Geschiktheid ===
suitability := NPV_boer
NPV_boer := netto_opbrengsten × kapitalisatie_boer - transitiekosten
NPV_maatschappij := netto_opbrengsten × kapitalisatie_maatschappelijk - transitiekosten
=== Opbrengsten en kosten ===
netto_opbrengsten := bruto_opbrengsten - totale_kosten
bruto_opbrengsten := melkproductie × (~melkprijs + ~mestopbrengst - ~vaste_kosten)
totale_kosten := gras/voederkosten + maïs/voederkosten + concentraat/voederkosten + dd_kosten
=== Melkproductie ===
melkproductie := totaal_voeder × ~FCE
totaal_voeder := TotalFeedExo ? exogeen : endogeen
exogeen := ~MaxYieldGrass / ~Perc_Feed_DM (vast per cel)
endogeen := gras/droge_stof / ~aandeel_gras_voer (variabel met yield reduction)
=== Gras ===
gras/droge_stof := (~MaxYieldGrass + dd_extra_opbrengst) × (1 - yield_reduction) × ~rotatie
gras/voederkosten := (~productiekosten × ~rotatie) + (gras/droge_stof × ~voerkosten)
=== Maïs ===
maïs/droge_stof := ~DM_yield × (1 - yield_reduction) × ~rotatie
maïs/voederbehoefte := totaal_voeder - concentraat/behoefte - gras/droge_stof
maïs/overschot := (maïs/droge_stof - maïs/voederbehoefte) × ~prijs_per_ton
maïs/voederkosten := (~productiekosten × ~rotatie) - (~CAP_subsidie × ~rotatie)
- maïs/overschot + (maïs/voederbehoefte × ~voerkosten)
=== Concentraat ===
concentraat/behoefte := totaal_voeder × (1 - ~Perc_Feed_DM)
concentraat/voederkosten:= concentraat/behoefte × (~prijs + ~voerkosten)
=== Deep drainage ===
dd_extra_opbrengst := ~DDGrassYield × DDPossible_kaart
dd_kosten := ~DD_costs × DDPossible_kaart
Het model bevat een waterbeheercomponent die relevant is voor de melkveehouderij op veengronden.
Drooglegging wordt gespecificeerd via twee variantparameters:
-
ZomerdroogleggingK_ref— gewenste zomerdrooglegging t.o.v. maaiveld (bijv. -0,6 m of -0,2 m) -
WinterdroogleggingK_ref— gewenste winterdrooglegging t.o.v. zomerdrooglegging (bijv. -0,1 m of -0,2 m)
Deep drainage (ondiepe buisdrainage) is een investering die op veengronden kan worden toegepast om de grondwaterstand te verlagen en daarmee de grasopbrengst te verhogen. Het model kent twee opties:
| Optie | Extra grasopbrengst (ton DS/ha/jr) | Kosten (€/ha/jr) |
|---|---|---|
| NoDD (geen deep drainage) | 0 | 0 |
| DD (met deep drainage) | 0,25 | 117 |
Deep drainage is alleen van toepassing in cellen waar dit technisch mogelijk is (DDPossible-kaart).
De waterbeheeropties combineren twee dimensies:
- Peilstrategie: Indexation (peil mee laten bewegen met maaiveld) of Fixation (peil vastzetten)
- Deep drainage: wel of niet
De combinatie Fixation + DD is uitgesloten, wat drie opties oplevert: Indexation_NoDD, Indexation_DD en Fixation_NoDD.
De allocatie wordt aangestuurd door regionale claims: de minimale en maximale hoeveelheden areaal per landbouwklasse per allocatieregio. Het model kent twee claimvarianten (instelbaar per modelvariant):
Representeert een business-as-usual trend met beperkte veranderingen:
- Minimum claims voor gg_vee-typen en akkerbouwklassen nemen met 5% af t.o.v. het huidige areaal.
- Minimum claims voor overige typen zijn gelijk aan het huidige areaal.
- Maximum claims zijn beperkt: rietteelt mag met 100% toenemen, akkerbouw met 5%, boomgaard blijft gelijk, en cranberry, moerasbomen, yacon en rijst zijn begrensd op het huidige rietteeltareaal.
- gg_vee-typen zijn onbegrensd in hun maximum.
Representeert een transitie naar meer diverse en natte teelten:
- Minimum claims voor de drie gg_vee-typen nemen af met een instelbaar percentage (standaard 10%).
- De vrijgekomen ruimte wordt verdeeld als minimum claims voor de exotische gewassen: rietteelt (35%), cranberry (10%), moerasbomen (35%), rijst (10%) en yacon (10%).
- Minimum claims voor akkerbouw nemen met 20% af om voldoende beschikbare ruimte te garanderen.
- Boomgaard heeft als minimum de stand in 2020.
- Maximum claims zijn voor alle klassen onbegrensd.
Voordat een cel in aanmerking komt voor allocatie, moet aan meerdere voorwaarden worden voldaan (template IterSubsector_T_Landbouw):
- Geschikt verklaard in het zichtjaar — de cel moet door de zeefmodule als beschikbaar zijn aangemerkt voor de betreffende landbouwklasse.
- Nog niet eerder gealloceerd — cellen die al door een andere sector zijn ingenomen (wonen, werken, etc.) worden uitgesloten.
- Geen extra restrictie door windallocatie — indien er in een eerdere stap windturbines zijn gealloceerd, worden omliggende cellen restrictief.
- Geen huidige zonneweide — bestaande zonneweides worden beschermd.
- Minimale landbeschikbaarheid — de cel moet minimaal 0,60 ha beschikbaar land bevatten (instelbaar via
MinimalLandAvailability_Landbouw).
Alleen cellen die aan al deze voorwaarden voldoen, worden aan het allocatiealgoritme aangeboden.
In tegenstelling tot de stapsgewijze allocatie voor wonen en werken, gebruikt landbouw het discrete allocatie-algoritme (discrete_alloc_sp). Dit algoritme optimaliseert de toewijzing van alle landbouwklassen simultaan, in plaats van ze één voor één te verwerken.
Het algoritme krijgt als invoer:
- Geschiktheidskaarten per landbouwklasse per cel (int32, geschaald × 100)
- Minimum- en maximumclaims per landbouwklasse per allocatieregio
- Een threshold (standaard -999999, d.w.z. effectief geen afkapgrens)
Het algoritme maximaliseert de totale geschiktheid over alle regio's terwijl het de areaal totalen per regio binnen de gestelde grenzen houdt. Het houdt daarbij rekening met de opportuniteitskosten van elke toewijzing — een cel toewijzen aan klasse A gaat ten koste van de mogelijkheid om die cel aan klasse B toe te wijzen. Dit is een fundamenteel verschil met het greedy-algoritme dat voor de andere sectoren wordt gebruikt.
Het resultaat is per cel een toewijzing aan precies één landbouwklasse (of NonLandbouw), of geen toewijzing indien de geschiktheid onvoldoende is. De NonLandbouwK-klasse is opgenomen in de allocatie-unit (LandbouwK_alloc) als vangnet voor cellen die voor geen enkele landbouwklasse voldoende geschikt zijn.
Boervariant: het allocatieresultaat wordt gefilterd op basis van de actieve boervariant. Bij de conservatieve boer vindt geen herallocatie plaats (zie Boervarianten).
De landbouw-allocatie vindt plaats in een specifieke volgorde ten opzichte van de andere sectoren, bepaald door de SectorAllocRegio-structuur. Per zichtjaar wordt de state doorgegeven:
- Eerdere sectoren (bijv. wonen, werken, wind) alloceren hun claims.
- Het landbouwmodel ontvangt de state na eerdere allocaties als vertrekpunt.
- De landbouw-allocatie wijst de resterende beschikbare cellen toe aan landbouwklassen.
- De resulterende state wordt doorgegeven aan de volgende stap.
De routing naar het landbouw-specifieke allocatiemechanisme vindt plaats in SectorAllocRegio_T, die op basis van de sectornaam (Landbouw) kiest voor Iters_Landbouw in plaats van de normale iteratiecyclus (Iters_Normaal).
In bepaalde varianten (met name Intensiveren, Transformeren, Intransformeren) kan landgebruik exogeen worden opgelegd (ExogeenOpleggen = TRUE). Dit houdt in dat voor aangewezen gebieden (bijv. waterbergingsgebieden) het landgebruik vaststaat en niet beschikbaar is voor de reguliere allocatie. In cellen waar exogeen landgebruik is opgelegd, wordt de cel uitgesloten van de geschiktheidsberekening.
De belangrijkste landbouwparameters die per variant kunnen verschillen (zie VariantK):
| Parameter | BAU | Intensiveren | Transformeren | Intransformeren |
|---|---|---|---|---|
| Restricties | Zacht | Zacht | Zacht | Zacht |
| Stimuli | Zacht | Zacht | Zacht | Zacht |
| Waterbeheeroptie | Indexation_NoDD | Fixation_NoDD | Fixation_NoDD | Fixation_NoDD |
| Zomerdrooglegging | -0,6 m | -0,2 m | -0,2 m | -0,2 m |
| Winterdrooglegging | -0,1 m | -0,2 m | -0,2 m | -0,2 m |
| Claimvariant | Conservatief | gg_vee_minfractie | gg_vee_minfractie | gg_vee_minfractie |
| Exogeen opleggen | Nee | Ja | Ja | Ja |
| Min. landbeschikbaarheid | 0,60 ha | 0,60 ha | 0,60 ha | 0,60 ha |
| RVF-beleidsscenario | BAU | WBS | WBS | WBS |
Het verschil tussen BAU en de transformatievarianten is aanzienlijk: BAU handhaaft het huidige peilbeheer en de conservatieve claimopzet, terwijl de andere varianten de drooglegging verlagen (vernatting), deep drainage uitsluiten, en een transitie naar diverse teelten faciliteren.
Op basis van de allocatieresultaten worden onder andere de volgende indicatoren berekend:
- Landgebruikskaart — integratie van de landbouwresultaten in de totale landgebruikskaart.
- CO₂-uitstoot veengebieden — de CO₂-emissies uit veengebieden zijn direct afhankelijk van het peilbeheer en landgebruik en worden als indicator uitgerekend.
- Diogo, V., Koomen, E., & Kuhlman, T. (2015). An economic theory-based explanatory model of agricultural land-use patterns: The Netherlands as a case study. Agricultural Systems, 139, 1–16.
- Koomen, E., Diogo, V., Dekkers, J., & Rietveld, P. (2015). A utility-based suitability framework for integrated local-scale land-use modelling. Computers, Environment and Urban Systems, 50, 1–14.
- Mulder, M., et al. (2018). Waterwijzer Landbouw: instrumentarium voor kwantificeren van effecten van waterbeheer en klimaat op landbouwproductie. STOWA rapport 2018-48.
- Van Duinkerken, G., et al. (2007). Handboek Melkveehouderij. Animal Sciences Group, Wageningen UR.
Object Vision B.V.
Deel I — Wat is het model?
Deel II — Hoe werkt het model?
- Tijdsdynamiek
- Startstaat (basisjaar)
- Beschikbaarheid
- Geschiktheid
- Dichtheid
- Allocatie procedure in formules
- Uitwerking wonen
- Uitwerking werken
- Uitwerking overige sectoren
- Uitwerking waterberging
- Uitwerking landbouw
- Landgebruikskaart
- Effectmodules en indicatoren
Deel III — Toepassingen
Deel IV — Overig