{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Livestock Module Example" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Imports \n", "\n", "We will start by importing ```AnimalData``` and the ```Exports``` classes, along with a few others." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from livestock_generation.livestock import AnimalData\n", "from livestock_generation.livestock_exports import Exports\n", "import pandas as pd\n", "import os" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we set the path to our data and we will import our scenario dataframe" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "path = \"../tests/data/\"\n", "\n", "scenario_dataframe = pd.read_csv(os.path.join(path, \"scenario_input_dataframe.csv\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Our Scenario Data frame looks like this ... " ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " index Scenarios Dairy pop Beef pop Upland sheep pop Lowland sheep pop \\\n", "0 0 0 1060000 0 0 0 \n", "1 1 0 0 1000 0 0 \n", "2 2 0 0 0 3000 0 \n", "3 3 0 0 0 0 50000 \n", "4 4 1 1060000 0 0 0 \n", "5 5 1 0 1000 0 0 \n", "6 6 1 0 0 0 0 \n", "7 7 1 0 0 0 0 \n", "\n", " Dairy prod Beef prod Upland sheep prod Lowland sheep prod ... \\\n", "0 0 0 0 0 ... \n", "1 0 0 0 0 ... \n", "2 0 0 0 0 ... \n", "3 0 0 0 0 ... \n", "4 0 0 0 0 ... \n", "5 0 0 0 0 ... \n", "6 0 0 0 0 ... \n", "7 0 0 0 0 ... \n", "\n", " Crop area Wetland area Forest area Conifer proportion \\\n", "0 0 0 1 0.7 \n", "1 0 0 1 0.7 \n", "2 0 0 1 0.7 \n", "3 0 0 1 0.7 \n", "4 0 0 1 0.7 \n", "5 0 0 1 0.7 \n", "6 0 0 1 0.7 \n", "7 0 0 1 0.7 \n", "\n", " Broadleaf proportion Conifer harvest Broadleaf harvest Conifer thinned \\\n", "0 0.3 0.05 0 0.1 \n", "1 0.3 0.05 0 0.1 \n", "2 0.3 0.05 0 0.1 \n", "3 0.3 0.05 0 0.1 \n", "4 0.3 0.05 0 0.8 \n", "5 0.3 0.05 0 0.8 \n", "6 0.3 0.05 0 0.8 \n", "7 0.3 0.05 0 0.8 \n", "\n", " Afforest year Cattle systems \n", "0 2080 Dairy \n", "1 2080 Beef \n", "2 2080 Upland sheep \n", "3 2080 Lowland sheep \n", "4 2080 Dairy \n", "5 2080 Beef \n", "6 2080 Upland sheep \n", "7 2080 Lowland sheep \n", "\n", "[8 rows x 29 columns]\n" ] } ], "source": [ "print(scenario_dataframe)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define additional variables\n", "\n", "We also need to define the ```calibration_year```, which is the year reference year, the ```target_year```, which is the year the scenarios run to, and the ```ef_country```, which is the emissions factor country. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "baseline_year = 2020\n", "target_year = 2050\n", "ef_country = \"ireland\"" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Class instances \n", "\n", "Now we set our classes, and use the methods to generate our data. " ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "animal_class = AnimalData(ef_country, baseline_year, target_year, scenario_dataframe)\n", "export_class = Exports(ef_country, baseline_year, target_year, scenario_dataframe)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [], "source": [ "# create dataframe for baseline year animals\n", "baseline_data = animal_class.create_baseline_animal_dataframe()" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ef_countryfarm_idScenariosyearcohortpopdaily_milkweightforagegrazingcon_typecon_amountwoolt_outdoorst_indoorst_stabledmm_storagedaily_spreadingn_soldn_bought
0ireland2020.0-1.02020.0dairy_cows1.511850e+0614.953000538.000irish_grasspastureconcentrate2.9928280.013.58904110.4109590.0tank liquidbroadcast0.00.0
1ireland2020.0-1.02020.0suckler_cows9.530000e+051.410959600.000irish_grasspastureconcentrate0.8427520.012.21917811.7808220.0tank liquidbroadcast0.00.0
2ireland2020.0-1.02020.0bulls5.095000e+040.000000773.000irish_grasspastureconcentrate0.6541410.011.50684912.4931510.0tank liquidbroadcast0.00.0
3ireland2020.0-1.02020.0DxD_calves_m2.486034e+050.000000171.400irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
4ireland2020.0-1.02020.0DxD_calves_f3.537366e+050.000000138.550irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
5ireland2020.0-1.02020.0DxB_calves_m3.201623e+050.000000176.875irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
6ireland2020.0-1.02020.0DxB_calves_f3.189379e+050.000000158.625irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
7ireland2020.0-1.02020.0BxB_calves_m4.059952e+050.000000211.550irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
8ireland2020.0-1.02020.0BxB_calves_f4.041513e+050.000000175.050irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
9ireland2020.0-1.02020.0DxD_heifers_less_2_yr3.465882e+050.000000335.650irish_grasspastureconcentrate0.0000000.011.50684912.4931510.0tank liquidbroadcast0.00.0
10ireland2020.0-1.02020.0DxD_steers_less_2_yr2.394694e+050.000000434.200irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
11ireland2020.0-1.02020.0DxB_heifers_less_2_yr3.083219e+050.000000395.875irish_grasspastureconcentrate0.0000000.011.50684912.4931510.0tank liquidbroadcast0.00.0
12ireland2020.0-1.02020.0DxB_steers_less_2_yr3.092563e+050.000000450.625irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
13ireland2020.0-1.02020.0BxB_heifers_less_2_yr3.908495e+050.000000445.150irish_grasspastureconcentrate0.0000000.011.50684912.4931510.0tank liquidbroadcast0.00.0
14ireland2020.0-1.02020.0BxB_steers_less_2_yr3.923286e+050.000000554.650irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
15ireland2020.0-1.02020.0DxD_heifers_more_2_yr1.046702e+040.000000481.650irish_grasspastureconcentrate0.0000000.012.76509011.2349100.0tank liquidbroadcast0.00.0
16ireland2020.0-1.02020.0DxD_steers_more_2_yr5.823657e+040.000000592.975irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
17ireland2020.0-1.02020.0DxB_heifers_more_2_yr2.021479e+040.000000527.275irish_grasspastureconcentrate0.0000000.012.76509011.2349100.0tank liquidbroadcast0.00.0
18ireland2020.0-1.02020.0DxB_steers_more_2_yr7.121757e+040.000000624.000irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
19ireland2020.0-1.02020.0BxB_heifers_more_2_yr5.656799e+040.000000603.925irish_grasspastureconcentrate0.0000000.012.76509011.2349100.0tank liquidbroadcast0.00.0
20ireland2020.0-1.02020.0BxB_steers_more_2_yr6.266367e+040.000000751.750irish_grasspastureconcentrate0.0000000.018.4657535.5342470.0tank liquidbroadcast0.00.0
21ireland2020.0-1.02020.0ewes2.137040e+060.00000068.000averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
22ireland2020.0-1.02020.0ewes5.342600e+050.00000068.000averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
23ireland2020.0-1.02020.0lamb_less_1_yr9.603852e+050.00000037.000averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
24ireland2020.0-1.02020.0lamb_less_1_yr2.400963e+050.00000037.000averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
25ireland2020.0-1.02020.0lamb_more_1_yr1.027081e+050.00000068.000averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
26ireland2020.0-1.02020.0lamb_more_1_yr2.567702e+040.00000068.000averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
27ireland2020.0-1.02020.0male_less_1_yr2.400963e+050.00000037.000averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
28ireland2020.0-1.02020.0male_less_1_yr9.603852e+050.00000037.000averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
29ireland2020.0-1.02020.0ram6.876000e+040.00000086.000averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
30ireland2020.0-1.02020.0ram1.719000e+040.00000086.000averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
\n", "
" ], "text/plain": [ " ef_country farm_id Scenarios year cohort \\\n", "0 ireland 2020.0 -1.0 2020.0 dairy_cows \n", "1 ireland 2020.0 -1.0 2020.0 suckler_cows \n", "2 ireland 2020.0 -1.0 2020.0 bulls \n", "3 ireland 2020.0 -1.0 2020.0 DxD_calves_m \n", "4 ireland 2020.0 -1.0 2020.0 DxD_calves_f \n", "5 ireland 2020.0 -1.0 2020.0 DxB_calves_m \n", "6 ireland 2020.0 -1.0 2020.0 DxB_calves_f \n", "7 ireland 2020.0 -1.0 2020.0 BxB_calves_m \n", "8 ireland 2020.0 -1.0 2020.0 BxB_calves_f \n", "9 ireland 2020.0 -1.0 2020.0 DxD_heifers_less_2_yr \n", "10 ireland 2020.0 -1.0 2020.0 DxD_steers_less_2_yr \n", "11 ireland 2020.0 -1.0 2020.0 DxB_heifers_less_2_yr \n", "12 ireland 2020.0 -1.0 2020.0 DxB_steers_less_2_yr \n", "13 ireland 2020.0 -1.0 2020.0 BxB_heifers_less_2_yr \n", "14 ireland 2020.0 -1.0 2020.0 BxB_steers_less_2_yr \n", "15 ireland 2020.0 -1.0 2020.0 DxD_heifers_more_2_yr \n", "16 ireland 2020.0 -1.0 2020.0 DxD_steers_more_2_yr \n", "17 ireland 2020.0 -1.0 2020.0 DxB_heifers_more_2_yr \n", "18 ireland 2020.0 -1.0 2020.0 DxB_steers_more_2_yr \n", "19 ireland 2020.0 -1.0 2020.0 BxB_heifers_more_2_yr \n", "20 ireland 2020.0 -1.0 2020.0 BxB_steers_more_2_yr \n", "21 ireland 2020.0 -1.0 2020.0 ewes \n", "22 ireland 2020.0 -1.0 2020.0 ewes \n", "23 ireland 2020.0 -1.0 2020.0 lamb_less_1_yr \n", "24 ireland 2020.0 -1.0 2020.0 lamb_less_1_yr \n", "25 ireland 2020.0 -1.0 2020.0 lamb_more_1_yr \n", "26 ireland 2020.0 -1.0 2020.0 lamb_more_1_yr \n", "27 ireland 2020.0 -1.0 2020.0 male_less_1_yr \n", "28 ireland 2020.0 -1.0 2020.0 male_less_1_yr \n", "29 ireland 2020.0 -1.0 2020.0 ram \n", "30 ireland 2020.0 -1.0 2020.0 ram \n", "\n", " pop daily_milk weight forage grazing \\\n", "0 1.511850e+06 14.953000 538.000 irish_grass pasture \n", "1 9.530000e+05 1.410959 600.000 irish_grass pasture \n", "2 5.095000e+04 0.000000 773.000 irish_grass pasture \n", "3 2.486034e+05 0.000000 171.400 irish_grass pasture \n", "4 3.537366e+05 0.000000 138.550 irish_grass pasture \n", "5 3.201623e+05 0.000000 176.875 irish_grass pasture \n", "6 3.189379e+05 0.000000 158.625 irish_grass pasture \n", "7 4.059952e+05 0.000000 211.550 irish_grass pasture \n", "8 4.041513e+05 0.000000 175.050 irish_grass pasture \n", "9 3.465882e+05 0.000000 335.650 irish_grass pasture \n", "10 2.394694e+05 0.000000 434.200 irish_grass pasture \n", "11 3.083219e+05 0.000000 395.875 irish_grass pasture \n", "12 3.092563e+05 0.000000 450.625 irish_grass pasture \n", "13 3.908495e+05 0.000000 445.150 irish_grass pasture \n", "14 3.923286e+05 0.000000 554.650 irish_grass pasture \n", "15 1.046702e+04 0.000000 481.650 irish_grass pasture \n", "16 5.823657e+04 0.000000 592.975 irish_grass pasture \n", "17 2.021479e+04 0.000000 527.275 irish_grass pasture \n", "18 7.121757e+04 0.000000 624.000 irish_grass pasture \n", "19 5.656799e+04 0.000000 603.925 irish_grass pasture \n", "20 6.266367e+04 0.000000 751.750 irish_grass pasture \n", "21 2.137040e+06 0.000000 68.000 average flat_pasture \n", "22 5.342600e+05 0.000000 68.000 average hilly_pasture \n", "23 9.603852e+05 0.000000 37.000 average flat_pasture \n", "24 2.400963e+05 0.000000 37.000 average hilly_pasture \n", "25 1.027081e+05 0.000000 68.000 average flat_pasture \n", "26 2.567702e+04 0.000000 68.000 average hilly_pasture \n", "27 2.400963e+05 0.000000 37.000 average hilly_pasture \n", "28 9.603852e+05 0.000000 37.000 average flat_pasture \n", "29 6.876000e+04 0.000000 86.000 average flat_pasture \n", "30 1.719000e+04 0.000000 86.000 average hilly_pasture \n", "\n", " con_type con_amount wool t_outdoors t_indoors t_stabled \\\n", "0 concentrate 2.992828 0.0 13.589041 10.410959 0.0 \n", "1 concentrate 0.842752 0.0 12.219178 11.780822 0.0 \n", "2 concentrate 0.654141 0.0 11.506849 12.493151 0.0 \n", "3 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "4 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "5 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "6 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "7 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "8 concentrate 1.000000 0.0 7.890411 16.109589 0.0 \n", "9 concentrate 0.000000 0.0 11.506849 12.493151 0.0 \n", "10 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "11 concentrate 0.000000 0.0 11.506849 12.493151 0.0 \n", "12 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "13 concentrate 0.000000 0.0 11.506849 12.493151 0.0 \n", "14 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "15 concentrate 0.000000 0.0 12.765090 11.234910 0.0 \n", "16 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "17 concentrate 0.000000 0.0 12.765090 11.234910 0.0 \n", "18 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "19 concentrate 0.000000 0.0 12.765090 11.234910 0.0 \n", "20 concentrate 0.000000 0.0 18.465753 5.534247 0.0 \n", "21 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "22 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "23 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "24 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "25 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "26 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "27 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "28 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "29 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "30 concentrate 0.000000 4.5 21.360000 2.640000 0.0 \n", "\n", " mm_storage daily_spreading n_sold n_bought \n", "0 tank liquid broadcast 0.0 0.0 \n", "1 tank liquid broadcast 0.0 0.0 \n", "2 tank liquid broadcast 0.0 0.0 \n", "3 tank liquid broadcast 0.0 0.0 \n", "4 tank liquid broadcast 0.0 0.0 \n", "5 tank liquid broadcast 0.0 0.0 \n", "6 tank liquid broadcast 0.0 0.0 \n", "7 tank liquid broadcast 0.0 0.0 \n", "8 tank liquid broadcast 0.0 0.0 \n", "9 tank liquid broadcast 0.0 0.0 \n", "10 tank liquid broadcast 0.0 0.0 \n", "11 tank liquid broadcast 0.0 0.0 \n", "12 tank liquid broadcast 0.0 0.0 \n", "13 tank liquid broadcast 0.0 0.0 \n", "14 tank liquid broadcast 0.0 0.0 \n", "15 tank liquid broadcast 0.0 0.0 \n", "16 tank liquid broadcast 0.0 0.0 \n", "17 tank liquid broadcast 0.0 0.0 \n", "18 tank liquid broadcast 0.0 0.0 \n", "19 tank liquid broadcast 0.0 0.0 \n", "20 tank liquid broadcast 0.0 0.0 \n", "21 solid broadcast 0.0 0.0 \n", "22 solid broadcast 0.0 0.0 \n", "23 solid broadcast 0.0 0.0 \n", "24 solid broadcast 0.0 0.0 \n", "25 solid broadcast 0.0 0.0 \n", "26 solid broadcast 0.0 0.0 \n", "27 solid broadcast 0.0 0.0 \n", "28 solid broadcast 0.0 0.0 \n", "29 solid broadcast 0.0 0.0 \n", "30 solid broadcast 0.0 0.0 " ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "baseline_data" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "# create dataframe for scenarios animals\n", "scenario_data = animal_class.create_animal_dataframe()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
ef_countryfarm_idScenariosyearcohortpopdaily_milkweightforagegrazingcon_typecon_amountwoolt_outdoorst_indoorst_stabledmm_storagedaily_spreadingn_soldn_bought
0ireland0.00.02050.0dairy_cows1.060000e+0613.800000538.00irish_grasspastureconcentrate2.7620560.013.58904110.4109590.0tank liquidbroadcast0.00.0
1ireland0.00.02050.0suckler_cows0.000000e+001.410959600.00irish_grasspastureconcentrate0.8427520.012.21917811.7808220.0tank liquidbroadcast0.00.0
2ireland0.00.02050.0bulls2.191087e+040.000000773.00irish_grasspastureconcentrate0.6541410.011.50684912.4931510.0tank liquidbroadcast0.00.0
3ireland0.00.02050.0DxD_calves_m1.743027e+050.000000171.40irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
4ireland0.00.02050.0DxD_calves_f2.480145e+050.000000138.55irish_grasspastureconcentrate1.0000000.07.89041116.1095890.0tank liquidbroadcast0.00.0
...............................................................
119ireland7.01.02050.0lamb_more_1_yr0.000000e+000.00000068.00averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
120ireland7.01.02050.0male_less_1_yr0.000000e+000.00000037.00averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
121ireland7.01.02050.0male_less_1_yr0.000000e+000.00000037.00averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
122ireland7.01.02050.0ram0.000000e+000.00000086.00averageflat_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
123ireland7.01.02050.0ram0.000000e+000.00000086.00averagehilly_pastureconcentrate0.0000004.521.3600002.6400000.0solidbroadcast0.00.0
\n", "

124 rows × 20 columns

\n", "
" ], "text/plain": [ " ef_country farm_id Scenarios year cohort pop \\\n", "0 ireland 0.0 0.0 2050.0 dairy_cows 1.060000e+06 \n", "1 ireland 0.0 0.0 2050.0 suckler_cows 0.000000e+00 \n", "2 ireland 0.0 0.0 2050.0 bulls 2.191087e+04 \n", "3 ireland 0.0 0.0 2050.0 DxD_calves_m 1.743027e+05 \n", "4 ireland 0.0 0.0 2050.0 DxD_calves_f 2.480145e+05 \n", ".. ... ... ... ... ... ... \n", "119 ireland 7.0 1.0 2050.0 lamb_more_1_yr 0.000000e+00 \n", "120 ireland 7.0 1.0 2050.0 male_less_1_yr 0.000000e+00 \n", "121 ireland 7.0 1.0 2050.0 male_less_1_yr 0.000000e+00 \n", "122 ireland 7.0 1.0 2050.0 ram 0.000000e+00 \n", "123 ireland 7.0 1.0 2050.0 ram 0.000000e+00 \n", "\n", " daily_milk weight forage grazing con_type con_amount \\\n", "0 13.800000 538.00 irish_grass pasture concentrate 2.762056 \n", "1 1.410959 600.00 irish_grass pasture concentrate 0.842752 \n", "2 0.000000 773.00 irish_grass pasture concentrate 0.654141 \n", "3 0.000000 171.40 irish_grass pasture concentrate 1.000000 \n", "4 0.000000 138.55 irish_grass pasture concentrate 1.000000 \n", ".. ... ... ... ... ... ... \n", "119 0.000000 68.00 average hilly_pasture concentrate 0.000000 \n", "120 0.000000 37.00 average hilly_pasture concentrate 0.000000 \n", "121 0.000000 37.00 average flat_pasture concentrate 0.000000 \n", "122 0.000000 86.00 average flat_pasture concentrate 0.000000 \n", "123 0.000000 86.00 average hilly_pasture concentrate 0.000000 \n", "\n", " wool t_outdoors t_indoors t_stabled mm_storage daily_spreading \\\n", "0 0.0 13.589041 10.410959 0.0 tank liquid broadcast \n", "1 0.0 12.219178 11.780822 0.0 tank liquid broadcast \n", "2 0.0 11.506849 12.493151 0.0 tank liquid broadcast \n", "3 0.0 7.890411 16.109589 0.0 tank liquid broadcast \n", "4 0.0 7.890411 16.109589 0.0 tank liquid broadcast \n", ".. ... ... ... ... ... ... \n", "119 4.5 21.360000 2.640000 0.0 solid broadcast \n", "120 4.5 21.360000 2.640000 0.0 solid broadcast \n", "121 4.5 21.360000 2.640000 0.0 solid broadcast \n", "122 4.5 21.360000 2.640000 0.0 solid broadcast \n", "123 4.5 21.360000 2.640000 0.0 solid broadcast \n", "\n", " n_sold n_bought \n", "0 0.0 0.0 \n", "1 0.0 0.0 \n", "2 0.0 0.0 \n", "3 0.0 0.0 \n", "4 0.0 0.0 \n", ".. ... ... \n", "119 0.0 0.0 \n", "120 0.0 0.0 \n", "121 0.0 0.0 \n", "122 0.0 0.0 \n", "123 0.0 0.0 \n", "\n", "[124 rows x 20 columns]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "scenario_data" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "# Create dataframes for beef and milk output\n", "beef_outputs = export_class.compute_system_protien_exports(scenario_data, baseline_data)\n", "\n", "dairy_outputs = export_class.compute_system_milk_exports(scenario_data, baseline_data)\n", "\n", "protein_outputs = export_class.compute_system_total_protein_exports(scenario_data, baseline_data)" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Scenarios carcass_weight_kg DxD_m DxD_f \\\n", "-1.0 -1.0 652803287.105261 77397063.2663 95540884.900078 \n", " 0.0 0.0 256991209.428068 54265229.395958 66986366.368411 \n", " 1.0 1.0 256991209.428068 54265229.395958 66986366.368411 \n", "\n", " DxB_m DxB_f BxB_m BxB_f \n", "-1.0 106421442.081876 86751315.047085 158882596.689614 127809985.120308 \n", " 0.0 74615027.024366 60823754.969018 166718.35959 134113.310724 \n", " 1.0 74615027.024366 60823754.969018 166718.35959 134113.310724 \n" ] } ], "source": [ "print(beef_outputs)" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " Scenarios total_milk_kg\n", "-1.0 -1.0 8251442963.25\n", " 0.0 0.0 5339220000.0\n", " 1.0 1.0 5339220000.0\n" ] } ], "source": [ "print(dairy_outputs)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " total_protein milk_protein beef_protein\n", "-1.0 438945259.74796 288800503.71375 150144756.03421\n", " 0.0 245980678.168456 186872700.0 59107978.168456\n", " 1.0 245980678.168456 186872700.0 59107978.168456\n" ] } ], "source": [ "print(protein_outputs)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.12" } }, "nbformat": 4, "nbformat_minor": 2 }