Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

revision of SCP implementation for milk and meat alternatives #698

Merged
merged 12 commits into from
Jul 23, 2024
3 changes: 2 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/).
### changed
- **21_trade** refactor equations for enhanced readablility and improve documentation
- **script** rewrite of merge_report.R based on rds files and rbind, which allows for more flexibility when merging reports. Avoid inconsistent use of "GLO" instead of "World" in report.rds files.
- **15_food** revision of SCP implementation for milk. Added demand for plant oil and sugar as ingredients for milk production using single cell protein.
- **15_food** revision of MP/SCP implementation for milk and meat alternatives. Added demand for fat and sugar as ingredients for MP-based milk alternatives. Added optional demand for fat as ingredient for MP-based meat alternatives.
- **script** scripts/start_functions.R decide individually for demand and price whether they are read from a REMIND report.

### added
- **scripts** added output report `EU_report.R` that uses `EU_report.Rmd`
Expand Down
4 changes: 4 additions & 0 deletions config/default.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -397,6 +397,10 @@ cfg$gms$s15_rumdairy_substitution <- 0 # def = 0
# * options: "livst_rum,livst_milk", "livst_rum" or "livst_milk"
cfg$gms$kfo_rd <- "livst_rum" #def = livst_rum

# * Switch for supplemental fat needed as ingredient for scp-based meat alternatives
# * options: 0 (=off), 1 (=on)
cfg$gms$s15_scp_supplement_fat_meat <- 0 # def = 0
jansteinhauser marked this conversation as resolved.
Show resolved Hide resolved

# * Convergence of livestock food calorie supply towards a kcal/cap/day target with or w/o substitution.
# * The functional form and the start and target years of the food substitution can be specified below.
# * options: 0 = no converge, 1 = convergence to target
Expand Down
36 changes: 34 additions & 2 deletions literature.bib
Original file line number Diff line number Diff line change
Expand Up @@ -1650,7 +1650,6 @@ @book{muehlhoff_milk_2013
year = {2013},
note = {OCLC: ocn865477080},
keywords = {Analysis, Dairy products in human nutrition, Milk, Milk in human nutrition},
file = {Muehlhoff et al. - 2013 - Milk and dairy products in human nutrition.pdf:/Users/flo/Zotero/storage/CLD8RP2I/Muehlhoff et al. - 2013 - Milk and dairy products in human nutrition.pdf:application/pdf},
}

@book{fao_food_2004,
Expand All @@ -1664,5 +1663,38 @@ @book{fao_food_2004
publisher = {Food and Agriculture Organization of the United Nations},
editor = {{FAO}},
year = {2004},
file = {FAO - 2004 - Food energy methods of analysis and conversion fa.pdf:/Users/flo/Zotero/storage/ZSY5VYYI/FAO - 2004 - Food energy methods of analysis and conversion fa.pdf:application/pdf},
}

@article{mazac_novelfoods_2023,
title = {Environmental and nutritional {Life} {Cycle} {Assessment} of novel foods in meals as transformative food for the future},
volume = {876},
issn = {0048-9697},
url = {https://www.sciencedirect.com/science/article/pii/S0048969723014122},
doi = {10.1016/j.scitotenv.2023.162796},
abstract = {Sustainable diets are key for mitigating further anthropogenic climate change and meeting future health and sustainability goals globally. Given that current diets need to change significantly, novel/future foods (e.g., insect meal, cultured meat, microalgae, mycoprotein) present options for protein alternatives in future diets with lower total environmental impacts than animal source foods. Comparisons at the more concrete meal level would help consumers better understand the scale of environmental impacts of single meals and substitutability of animal sourced foods with novel foods. Our aim was to compare the environmental impacts of meals including novel/future foods with those of vegan and omnivore meals. We compiled a database on environmental impacts and nutrient composition of novel/future foods and modeled the impacts of calorically similar meals. Additionally, we applied two nutritional Life Cycle Assessment (nLCA) methods to compare the meals in terms of nutritional content and environmental impacts in one index. All meals with novel/future foods had up to 88 \% less Global Warming Potential, 83 \% less land use, 87 \% less scarcity-weighted water use, 95 \% less freshwater eutrophication, 78 \% less marine eutrophication, and 92 \% less terrestrial acidification impacts than similar meals with animal source foods, while still offering the same nutritional value as vegan and omnivore meals. The nLCA indices of most novel/future food meals are similar to protein-rich plant-based alternative meals and show fewer environmental impacts in terms of nutrient richness than most animal source meals. Substituting animal source foods with certain novel/future foods may provide for nutritious meals with substantial environmental benefits for sustainably transforming future food systems.},
urldate = {2024-07-18},
journal = {Science of The Total Environment},
author = {Mazac, Rachel and Järviö, Natasha and Tuomisto, Hanna L.},
month = jun,
year = {2023},
keywords = {Acidification, Alternative proteins, Environmental impacts, Eutrophication, Global Warming Potential, Land/water use, Novel foods, Sustainable meals},
pages = {162796},
}

@article{jarvio_LCA_MP_2021,
title = {An attributional life cycle assessment of microbial protein production: {A} case study on using hydrogen-oxidizing bacteria},
volume = {776},
issn = {0048-9697},
shorttitle = {An attributional life cycle assessment of microbial protein production},
url = {https://www.sciencedirect.com/science/article/pii/S0048969721008317},
doi = {10.1016/j.scitotenv.2021.145764},
abstract = {Novel food production technologies are being developed to address the challenges of securing sustainable and healthy nutrition for the growing global population. This study assessed the environmental impacts of microbial protein (MP) produced by autotrophic hydrogen-oxidizing bacteria (HOB). Data was collected from a company currently producing MP using HOB (hereafter simply referred to as MP) on a small-scale. Earlier studies have performed an environmental assessment of MP on a theoretical basis but no study yet has used empirical data. An attributional life cycle assessment (LCA) with a cradle-to-gate approach was used to quantify global warming potential (GWP), land use, freshwater and marine eutrophication potential, water scarcity, human (non-)carcinogenic toxicity, and the cumulative energy demand (CED) of MP production in Finland. A Monte Carlo analysis was performed to assess uncertainties while a sensitivity analysis was used to explore the impacts of alternative production options and locations. The results were compared with animal- and plant-based protein sources for human consumption as well as protein sources for feed. Electricity consumption had the highest contribution to environmental impacts. Therefore, the source of energy had a substantial impact on the results. MP production using hydropower as an energy source yielded 87.5\% lower GWP compared to using the average Finnish electricity mix. In comparison with animal-based protein sources for food production, MP had 53–100\% lower environmental impacts depending on the reference product and the source of energy assumed for MP production. When compared with plant-based protein sources for food production, MP had lower land and water use requirements, and eutrophication potential but GWP was reduced only if low-emission energy sources were used. Compared to protein sources for feed production, MP production often resulted in lower environmental impact for GWP (FHE), land use, and eutrophication and acidification potential, but generally caused high water scarcity and required more energy.},
language = {en},
urldate = {2022-02-16},
journal = {Science of The Total Environment},
author = {Järviö, Natasha and Maljanen, Netta-Leena and Kobayashi, Yumi and Ryynänen, Toni and Tuomisto, Hanna L.},
month = jul,
year = {2021},
keywords = {LCA, Food, Hydrogen-oxidizing bacteria, Cellular agriculture, Microbial protein},
pages = {145764},
}
10 changes: 6 additions & 4 deletions modules/15_food/anthro_iso_jun22/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -140,7 +140,7 @@ parameters
p15_kcal_pc_iso_livestock_orig(t,iso) Auxiliary parameter for per capita livestock consumption - basis for scenarios of livestock food substitution (kcal per capita per day)
p15_kcal_pc_iso_rumdairy_orig(t,iso) Auxiliary parameter for per capita ruminant and dairy consumption - basis for scenarios of ruminant-based food substitution (kcal per capita per day)
p15_kcal_pc_iso_plant_orig(t,iso) Auxiliary parameter for per capita plant-based food consumption - basis for scenarios of livestock food substitution (kcal per capita per day)
p15_protein_pc_iso_scp(t,iso,kfo_rd) Per capita consumption of SCP in food demand model after price shock on country level (protein per capita per day)
p15_protein_pc_iso_scp(t,iso,kfo_rd) Per capita consumption of SCP in food demand model after price shock on country level (g protein per capita per day)
p15_livestock_kcal_structure_orig(t,iso,kfo_lp) Auxiliary parameter for livestock kcal structure - basis for scenarios of livestock food substitution (1)
p15_rumdairy_kcal_structure_orig(t,iso,kfo_rd) Auxiliary parameter for ruminant and dairy kcal structure - basis for scenarios of ruminant-based food substitution (1)
p15_plant_kcal_structure_orig(t,iso,kfo_pp) Auxiliary parameter for plant-based food kcal structure - basis for scenarios of livestock food substitution (1)
Expand Down Expand Up @@ -184,9 +184,11 @@ parameters
;

scalars
s15_scp_fat_per_milk fat needed as ingredient for scp milk (g per 100g wet matter) / 3.3 /
s15_scp_sugar_per_milk sugar needed as ingredient for scp milk (g per 100g wet matter) / 4.7 /
s15_scp_protein_per_milk protein needed as ingredient for scp milk (g per 100g wet matter) / 3.3 /
s15_scp_fat_per_milk Fat needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 3.3 /
s15_scp_sugar_per_milk Sugar needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 4.7 /
s15_scp_protein_per_milk Protein needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 3.3 /
s15_scp_fat_per_meat Fat content of microbial biomass based on Solein from Solar foods (g fat per 100 g dry weight) / 5 /
s15_scp_fat_protein_ratio_meat Ratio of protein to fat in both plant based meat alternatives and current meat products (g fat per g protein) / 0.66 /
;


Expand Down
26 changes: 25 additions & 1 deletion modules/15_food/anthro_iso_jun22/exodietmacro.gms
Original file line number Diff line number Diff line change
Expand Up @@ -135,7 +135,31 @@ p15_kcal_pc_iso(t,iso,"oils") = p15_kcal_pc_iso(t,iso,"oils")
p15_kcal_pc_iso(t,iso,"sugar") = p15_kcal_pc_iso(t,iso,"sugar")
+ sum(kfo_rd$sameas(kfo_rd,"livst_milk"), p15_protein_pc_iso_scp(t,iso,kfo_rd)) /
s15_scp_protein_per_milk * s15_scp_sugar_per_milk * fm_nutrition_attributes(t, "sugar" ,"kcal");
*'
*'
*' The ratio of fat to protein in raw microbial biomass (used as single cell protein) is much lower than for
*' plant based meat alternatives and animal based meat products. If the desired microbial product is alternative meat,
*' this may require supplementation with plant based fats to more closely match other existing products.
*' It is therefore possible to choose whether microbial biomass should be supplemented with plant based oil,
*' which drives additional demand for plant based oil production in MAgPIE.
*' For alternative microbial meats supplemented with fat, the desired fat to protein ratio is given
*' as 2:3 on a mass basis, analogous to similar products. Because microbial biomass already contains some fats,
*' the additional amount of plant based fat needed is given as the difference between the amount of fat present
*' in microbial biomass and the amount of fat needed to reach the desired protein to fat ratio.
*' Unlike additional plant oil and sugar demand for microbial milk, the additional amount of plant fat needed
*' for microbial meat is calculated dynamically based on the protein content of microbial biomass.
*' This is because the microbial protein content varies depending on the specific type of microbes used
*' (e.g. bacteria or funghi), whereas the nutritional content of cow milk is assumed to be fixed.
*' If the microbial protein is therefore changed, the amount of fat must also change to keep the same
*' fat to protein ratio. It is also assumed, unlike for microbial milk, that additional carbohydrates
*' (e.g., sugar) are not required for alternative microbial meats. This is because meat products contain
*' very little or no carbohydrates.
*' Data sources: @mazac_novelfoods_2023 and @jarvio_LCA_MP_2021
*'
p15_kcal_pc_iso(t,iso,"oils")$(s15_scp_supplement_fat_meat = 1) = p15_kcal_pc_iso(t,iso,"oils")
+ sum(kfo_rd$sameas(kfo_rd,"livst_rum"), p15_protein_pc_iso_scp(t,iso,kfo_rd)) /
fm_nutrition_attributes(t,"scp", "protein") * (fm_nutrition_attributes(t,"scp", "protein") *
s15_scp_fat_protein_ratio_meat - s15_scp_fat_per_meat) * fm_nutrition_attributes(t,"oils", "kcal");
jansteinhauser marked this conversation as resolved.
Show resolved Hide resolved
*'
*' @stop

* Conditional reduction of livestock products (without fish) depending on s15_kcal_pc_livestock_supply_target.
Expand Down
1 change: 1 addition & 0 deletions modules/15_food/anthro_iso_jun22/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -109,6 +109,7 @@ s15_exo_foodscen_functional_form Switch for functional form of exogenous food
s15_exo_foodscen_start Food substitution start year / 2025 /
s15_exo_foodscen_target Food substitution target year / 2050 /
s15_exo_foodscen_convergence Convergence to exogenous food scenario (1) / 1 /
s15_scp_supplement_fat_meat Switch for supplemental fat needed as ingredient for scp-based meat alternatives (1) / 0 /
jansteinhauser marked this conversation as resolved.
Show resolved Hide resolved
;

table f15_household_balanceflow(t_all,i,kall,dm_ge_nr) Balance flow to take account of heterogeneous products and processes (mio. tDM)
Expand Down
10 changes: 6 additions & 4 deletions modules/15_food/anthropometrics_jan18/declarations.gms
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,7 @@ parameters
p15_kcal_pc_iso(t,iso,kfo) Per capita consumption in food demand model after price shock on country level (kcal per capita per day)
p15_kcal_pc(t,i,kfo) Per capita consumption in food demand model after price shock on regional level (kcal per capita per day)
p15_kcal_pc_calibrated(t,i,kfo) Calibrated per capita consumption in food demand model after price shock (kcal per capita per day)
p15_protein_pc_scp(t,i,kfo_rd) Calibrated per capita consumption of SCP in food demand model after price shock (protein per capita per day)
p15_protein_pc_scp(t,i,kfo_rd) Calibrated per capita consumption of SCP in food demand model after price shock (g protein per capita per day)
p15_kcal_pc_calibrated_orig(t,i,kfo) Auxiliary parameter for per capita food consumption - basis for convergence into waste and diet scenarios (kcal per capita per day)
p15_kcal_pc_calibrated_livestock_orig(t,i) Auxiliary parameter for per capita livestock consumption - basis for scenarios of livestock food substitution (kcal per capita per day)
p15_kcal_pc_calibrated_rumdairy_orig(t,i) Auxiliary parameter for per capita ruminant and dairy consumption - basis for scenarios of ruminant-based food substitution (kcal per capita per day)
Expand Down Expand Up @@ -181,9 +181,11 @@ parameters
;

scalars
s15_scp_fat_per_milk fat needed as ingredient for scp milk (g per 100g wet matter) / 3.3 /
s15_scp_sugar_per_milk sugar needed as ingredient for scp milk (g per 100g wet matter) / 4.7 /
s15_scp_protein_per_milk protein needed as ingredient for scp milk (g per 100g wet matter) / 3.3 /
s15_scp_fat_per_milk Fat needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 3.3 /
s15_scp_sugar_per_milk Sugar needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 4.7 /
s15_scp_protein_per_milk Protein needed as ingredient for scp-based milk alternative (g per 100g wet matter) / 3.3 /
s15_scp_fat_per_meat Fat content of microbial biomass based on Solein from Solar foods (g fat per 100 g dry weight) / 5 /
s15_scp_fat_protein_ratio_meat Ratio of protein to fat in both plant based meat alternatives and current meat products (g fat per g protein) / 0.66 /
;

*' @code
Expand Down
1 change: 1 addition & 0 deletions modules/15_food/anthropometrics_jan18/input.gms
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,7 @@ s15_exo_foodscen_functional_form Switch for functional form of exogeno
s15_exo_foodscen_start Food substitution start year / 2025 /
s15_exo_foodscen_target Food substitution target year / 2050 /
s15_exo_foodscen_convergence Convergence to exogenous food scenario (1) / 1 /
s15_scp_supplement_fat_meat Switch for supplemental fat needed as ingredient for scp-based meat alternatives (1) / 0 /
jansteinhauser marked this conversation as resolved.
Show resolved Hide resolved
;

table f15_household_balanceflow(t_all,i,kall,dm_ge_nr) Balance flow to take account of heterogeneous products and processes (mio. tDM)
Expand Down
26 changes: 25 additions & 1 deletion modules/15_food/anthropometrics_jan18/intersolve.gms
Original file line number Diff line number Diff line change
Expand Up @@ -251,7 +251,31 @@ p15_kcal_pc_calibrated(t,i,"oils") = p15_kcal_pc_calibrated(t,i,"oils")
p15_kcal_pc_calibrated(t,i,"sugar") = p15_kcal_pc_calibrated(t,i,"sugar")
+ sum(kfo_rd$sameas(kfo_rd,"livst_milk"), p15_protein_pc_scp(t,i,kfo_rd)) /
s15_scp_protein_per_milk * s15_scp_sugar_per_milk * fm_nutrition_attributes(t, "sugar" ,"kcal");
*'
*'
*' The ratio of fat to protein in raw microbial biomass (used as single cell protein) is much lower than for
*' plant based meat alternatives and animal based meat products. If the desired microbial product is alternative meat,
*' this may require supplementation with plant based fats to more closely match other existing products.
*' It is therefore possible to choose whether microbial biomass should be supplemented with plant based oil,
*' which drives additional demand for plant based oil production in MAgPIE.
*' For alternative microbial meats supplemented with fat, the desired fat to protein ratio is given
*' as 2:3 on a mass basis, analogous to similar products. Because microbial biomass already contains some fats,
*' the additional amount of plant based fat needed is given as the difference between the amount of fat present
*' in microbial biomass and the amount of fat needed to reach the desired protein to fat ratio.
*' Unlike additional plant oil and sugar demand for microbial milk, the additional amount of plant fat needed
*' for microbial meat is calculated dynamically based on the protein content of microbial biomass.
*' This is because the microbial protein content varies depending on the specific type of microbes used
*' (e.g. bacteria or funghi), whereas the nutritional content of cow milk is assumed to be fixed.
*' If the microbial protein is therefore changed, the amount of fat must also change to keep the same
*' fat to protein ratio. It is also assumed, unlike for microbial milk, that additional carbohydrates
*' (e.g., sugar) are not required for alternative microbial meats. This is because meat products contain
*' very little or no carbohydrates.
*' Data sources: @mazac_novelfoods_2023 and @jarvio_LCA_MP_2021
*'
p15_kcal_pc_calibrated(t,i,"oils")$(s15_scp_supplement_fat_meat = 1) = p15_kcal_pc_calibrated(t,i,"oils")
+ sum(kfo_rd$sameas(kfo_rd,"livst_rum"), p15_protein_pc_scp(t,i,kfo_rd)) /
fm_nutrition_attributes(t,"scp", "protein") * (fm_nutrition_attributes(t,"scp", "protein") *
s15_scp_fat_protein_ratio_meat - s15_scp_fat_per_meat) * fm_nutrition_attributes(t,"oils", "kcal");
jansteinhauser marked this conversation as resolved.
Show resolved Hide resolved
*'
*' @stop

* Conditional reduction of livestock products (without fish) depending on s15_kcal_pc_livestock_supply_target.
Expand Down
Loading
Loading