
Build a grazing-land footprint by forward feed-allocation.
Source:R/footprint_grazing.R
build_grazing_feed_footprint.RdEnd-to-end grazing-land footprint for one year on real WHEP data.
Grazing land (the grassland extension) is pushed forward onto
livestock meat and milk via allocate_grazing_to_products(), then
routed to consuming countries through the bilateral meat-trade
network with compute_footprint_balance(). This attributes grazing
land to the meat and dairy consumption that drives it – the chain
the Leontief footprint leaks because grass is non-productive and not
traded.
The inputs are assembled from build_grassland_land_extension(),
get_feed_intake(), get_primary_production() and
get_bilateral_trade(). Supply any of them through data to reuse
cached inputs or to test without remote reads.
intake_basis selects the intake that splits grazing land across
animals. The default "grazer_forage" uses every grazing animal's
grass plus roughage-residue intake, because the feed model classes
the forage of major extensive-grazing countries (for example
Australia, the United States and Argentina) as residues rather than
grass; keying on the "grass" feed type alone would silently strip
that land. "grass" reproduces the narrower grass-feed basis for
sensitivity analysis. Land in countries with no grazer intake at all
cannot be attributed and is reported via a warning.
Arguments
- year
Year to build the footprint for.
- products
Co-product split passed to
allocate_grazing_to_products()."all"(default) or"meat_milk".- intake_basis
Intake used to split land across animals,
"grazer_forage"(default) or"grass".- data
Optional named list of pre-built inputs, any of
grass_land,grazer_intake,livestock_productionandtrade. Each falls back to its builder when absent.- example
If
TRUE, return a small example output without downloading remote data. Default isFALSE.
Value
A tibble with area_code (consuming country),
item_cbs_code (meat or milk item), value (embodied grazing
land) and method ("grazing_feed_allocation").
Examples
build_grazing_feed_footprint(example = TRUE)
#> # A tibble: 10 × 4
#> area_code item_cbs_code value method
#> <int> <int> <dbl> <chr>
#> 1 10 2848 184625300 grazing_feed_allocation
#> 2 10 2731 71204900 grazing_feed_allocation
#> 3 41 2731 38950100 grazing_feed_allocation
#> 4 33 2848 24310700 grazing_feed_allocation
#> 5 33 2732 9875400 grazing_feed_allocation
#> 6 100 2731 6420300 grazing_feed_allocation
#> 7 79 2848 3155800 grazing_feed_allocation
#> 8 179 2735 812600 grazing_feed_allocation
#> 9 122 2740 49120 grazing_feed_allocation
#> 10 137 2732 18430 grazing_feed_allocation