From dcc41ede5cf29c5e6ffef2db8241e6fb790858c5 Mon Sep 17 00:00:00 2001 From: Peter Alexander <p.m.w.alexander@gmail.com> Date: Fri, 8 Sep 2017 09:23:15 +0100 Subject: [PATCH] Irrigiation and calibration changes --- GAMS/IntExtOpt.gms | 13 +- data/bioenergy_futures_BAU.csv | 82 ++--- data/other_water_uses.csv | 309 ++++++++++++++++++ hind1970/data/bioenergy_futures_BAU.csv | 82 ++--- hind1970/data/country_groups.csv | 8 +- src/ac/ed/lurg/ModelConfig.java | 25 +- src/ac/ed/lurg/ModelMain.java | 12 +- src/ac/ed/lurg/country/CountryAgent.java | 4 + .../country/gams/GamsLocationOptimiser.java | 5 + 9 files changed, 431 insertions(+), 109 deletions(-) diff --git a/GAMS/IntExtOpt.gms b/GAMS/IntExtOpt.gms index 595b76f9..4a6639d5 100644 --- a/GAMS/IntExtOpt.gms +++ b/GAMS/IntExtOpt.gms @@ -46,13 +46,14 @@ SCALAR otherICost cost of other intensity; SCALAR unhandledCropArea includes fruit veg forage crops set aside and failed crop; SCALAR domesticPriceMarkup factor price increased from cost of production; - + SCALAR maxLandExpansionRate max rate of country land expansion + *$gdxin "/Users/peteralexander/Documents/R_Workspace/UNPLUM/temp/GamsTmp/t1.gdx" $gdxin %gdxincname% $load location, suitableLandArea, demand, agriExpansionCost, cropIncCost, pastureIncCost, cropDecCost, pastureDecCost $load previousArea, previousFertIntensity, previousIrrigIntensity, previousOtherIntensity, previousRuminantFeed, previousMonogastricFeed, previousImportAmount, previousExportAmount $load yieldNone, yieldFertOnly, yieldIrrigOnly, yieldBoth -$load fertParam, irrigParam, otherIParam, exportPrices, importPrices, maxNetImport, minNetImport, unhandledCropArea +$load fertParam, irrigParam, otherIParam, exportPrices, importPrices, maxNetImport, minNetImport, unhandledCropArea, maxLandExpansionRate $load meatEfficency, otherICost, irrigCost, irrigMaxRate, irrigConstraint, fertiliserUnitCost, domesticPriceMarkup $gdxin @@ -81,8 +82,8 @@ $gdxin PARAMETER baseCost(crop); PARAMETER otherIntCost(crop); - baseCost(crop) = prodCost(crop)/2; - otherIntCost(crop) = baseCost(crop)/2 + otherICost; + baseCost(crop) = prodCost(crop)*0.35; + otherIntCost(crop) = baseCost(crop)*0.65 + otherICost; baseCost('pasture') = 0.02; otherIntCost('pasture') = 0.8 + otherICost; @@ -135,6 +136,7 @@ $gdxin PASTURE_INCREASE_CONV_CALC(location) PASTURE_DECREASE_CONV_CALC(location) PASTURE_TOTAL_CHANGE_CONSTRAINT(location) + LAND_RATE_CHANGE_CONSTRAINT_INCREASE COST_EQ total cost objective function; UNIT_COST_EQ(crop, location) .. unitCost(crop, location) =E= ( baseCost(crop) + @@ -188,6 +190,8 @@ $gdxin PASTURE_DECREASE_CONV_CALC(location) .. pastureDecrease(location) =G= -(area('pasture', location) - previousArea('pasture', location)); PASTURE_TOTAL_CHANGE_CONSTRAINT(location) .. pastureIncrease(location) -pastureDecrease(location) =G= area('pasture', location) - previousArea('pasture', location); + LAND_RATE_CHANGE_CONSTRAINT_INCREASE .. sum(location, cropIncrease(location)) / sum(location, (suitableLandArea(location)*(1.0 - unhandledCropArea))-sum(crop, previousArea(crop, location))) =L= maxLandExpansionRate; + COST_EQ .. total_cost =E= ( ( SUM((crop, location), area(crop, location) * unitCost(crop, location)) + @@ -205,7 +209,6 @@ $gdxin ); MODEL LAND_USE /ALL/ ; - fertI.L(crop, location) = previousFertIntensity(crop, location); irrigI.L(crop, location) = previousIrrigIntensity(crop, location); otherIntensity.L(crop, location) = previousOtherIntensity(crop, location); diff --git a/data/bioenergy_futures_BAU.csv b/data/bioenergy_futures_BAU.csv index e39a4124..9d990741 100644 --- a/data/bioenergy_futures_BAU.csv +++ b/data/bioenergy_futures_BAU.csv @@ -1,43 +1,43 @@ MODEL,SCENARIO,REGION,Variable,Unit,Year,value -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2000,21.76 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2005,27.2 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2000,20 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2005,27 PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2010,34 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2015,42.5 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2020,53.125 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2025,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2030,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2035,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2040,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2045,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2050,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2055,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2060,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2065,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2070,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2075,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2080,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2085,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2090,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2095,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2100,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2000,10 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2005,30 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2010,60 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2015,110 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2020,200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2025,350 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2030,580 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2035,910 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2040,1300 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2045,1700 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2050,2000 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2055,2200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2060,2400 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2065,2600 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2070,2800 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2075,3000 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2080,3200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2085,3400 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2090,3600 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2095,3800 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2100,4000 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2015,41 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2020,31 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2025,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2030,33 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2035,125 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2040,221 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2045,166 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2050,61 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2055,25 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2060,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2065,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2070,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2075,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2080,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2085,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2090,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2095,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2100,22 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2000,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2005,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2010,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2015,45 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2020,114 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2025,249 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2030,509 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2035,856 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2040,1241 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2045,1659 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2050,1927 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2055,1934 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2060,1797 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2065,1599 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2070,1591 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2075,1798 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2080,1913 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2085,1920 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2090,1962 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2095,1995 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2100,2014 diff --git a/data/other_water_uses.csv b/data/other_water_uses.csv index e79a53d4..a12c0367 100644 --- a/data/other_water_uses.csv +++ b/data/other_water_uses.csv @@ -40169,3 +40169,312 @@ FPU,Year,Value 307,2099,0.161867397257906 308,2099,0.398715070512395 309,2099,0.197570261548918 +1,2100,1.88687808718898e-05 +2,2100,0.206564808367889 +3,2100,0.0444486195702849 +4,2100,0.174522488202001 +5,2100,0.030832672264296 +6,2100,0.0172927181433096 +7,2100,0.188520490030896 +8,2100,0.575141081831689 +9,2100,1.0205137597597 +10,2100,0.518566466179873 +11,2100,0.130999641650533 +12,2100,0.340730698635411 +13,2100,0.81978929275963 +14,2100,5.00678887062895 +15,2100,0.00124871744796451 +16,2100,0.522774953504268 +17,2100,0.189367675047881 +18,2100,0.852362059561678 +19,2100,1.17846341796511 +20,2100,0.301327849470972 +21,2100,0.196070608324439 +22,2100,0.969064405245717 +23,2100,0.387708748146636 +24,2100,0.344043591744082 +25,2100,0.492618069304399 +26,2100,1.45981875338862 +27,2100,0.441474804935297 +28,2100,0.223270617252638 +29,2100,0.413291826451143 +30,2100,0.29786722346832 +31,2100,4.2104586123005 +32,2100,0.0260551298606515 +33,2100,0.0777100088299107 +34,2100,2.39660865380847 +35,2100,4.0583820003659 +36,2100,3.35601219902512 +37,2100,2.02853658288739 +38,2100,1.0692593687607 +39,2100,0.811520508327249 +40,2100,1.50173337486922 +41,2100,1.90766812824895 +42,2100,1.12747679453582 +43,2100,0.0647257746695686 +44,2100,0.0583266040698618 +45,2100,0.111804107461239 +46,2100,0.144288611208399 +47,2100,0.0530587903387634 +48,2100,4.10370701947404 +49,2100,0.188448647138089 +50,2100,0.0582723738563289 +51,2100,1.22874230841314 +52,2100,2.93192604093929 +53,2100,0.695978334622902 +54,2100,0.0249364984223348 +55,2100,0.450945873217812 +56,2100,0.218866732235832 +57,2100,0.195051710119699 +58,2100,0.294330573666912 +59,2100,5.76871990434483 +60,2100,0.220711942517482 +61,2100,0.91591994232482 +62,2100,0.396192035030396 +63,2100,3.06509091547372 +64,2100,0.405101207798907 +65,2100,0.505266945437654 +66,2100,0.00992006713931914 +67,2100,0.208551598242593 +68,2100,0.215424445826102 +69,2100,1.9002733364841 +70,2100,0.372050918184414 +71,2100,0.665764873984699 +72,2100,1.0161849897122 +73,2100,5.71460464608435 +74,2100,2.79503683440271 +75,2100,1.09163540422014 +76,2100,0.0182346573276391 +77,2100,0.456661561411519 +78,2100,0.146857047941921 +79,2100,0.19222879500802 +80,2100,0.087919844489079 +81,2100,0.755920918250922 +82,2100,2.80171273822498 +83,2100,0.848005872593774 +84,2100,0.219223202006617 +85,2100,2.70269047454531 +86,2100,0.00401615417695211 +87,2100,7.69155150422694 +88,2100,4.07639167479766 +89,2100,0.200932409578577 +90,2100,1.00364885592371 +91,2100,1.95848374654209 +92,2100,8.74411912379401 +93,2100,5.14052913727528 +94,2100,4.26998119094719 +95,2100,0.869467002916736 +96,2100,1.93313208260406 +97,2100,12.1551707871727 +98,2100,0.22316646369643 +99,2100,0.788764127332627 +100,2100,3.31149561509301 +101,2100,0.760893872760446 +102,2100,0.00850839679594628 +103,2100,3.98330441678218 +104,2100,0.550945106934179 +105,2100,3.10615639804968 +106,2100,0.0696426752254089 +107,2100,0.0722311890914877 +108,2100,0.0682309198516009 +109,2100,4.36753030527325 +110,2100,0.556735196441874 +111,2100,0.196704295256495 +112,2100,0.100620698292914 +113,2100,0.148551942655786 +114,2100,0.621604885033577 +115,2100,0.0740267472624225 +116,2100,0.563702275394462 +117,2100,0.424618898312663 +118,2100,0.0089230343314739 +119,2100,0.422180694865574 +120,2100,0.377084798651481 +121,2100,1.11943255017786 +122,2100,0.224139095415239 +123,2100,1.13554549255673 +124,2100,0.357159893871914 +125,2100,0.116184128922297 +126,2100,1.86096746614714 +127,2100,4.2855853521794 +128,2100,3.02224515774287 +129,2100,0.0161053505180462 +130,2100,1.40701724931705 +131,2100,3.19310560005033 +132,2100,5.93672335216098 +133,2100,1.9934832528491 +134,2100,1.31253391709084 +135,2100,0.320918039053837 +136,2100,0.558007632293929 +137,2100,0.124657363136066 +138,2100,0.580127622048167 +139,2100,0.30075481475069 +140,2100,0.103963973702776 +141,2100,0.144656081845824 +142,2100,0.0394580503343605 +143,2100,2.03896248506521 +144,2100,2.98033020493487 +145,2100,0.125000322252163 +146,2100,12.5786998826776 +147,2100,0.317466083461795 +148,2100,2.82240541303679 +149,2100,5.84972310785034 +150,2100,1.12509265054223 +151,2100,1.11447347819643 +152,2100,1.02510241014658 +153,2100,0.16629325689183 +154,2100,0.28955199037952 +155,2100,0.245511349716112 +156,2100,0.0387102549053111 +157,2100,0.118058659936509 +158,2100,3.14872937379869 +159,2100,0.0936867571260809 +160,2100,0.98024845947532 +161,2100,0.0294072220344788 +162,2100,2.24127008432242 +163,2100,0.887617108222912 +164,2100,0.0131586534947701 +165,2100,0.606599566453838 +166,2100,1.20432724823378 +167,2100,0.202035974823389 +168,2100,1.36704228365352 +169,2100,0.0351727882034538 +170,2100,2.00470439078262 +171,2100,0.171218394389143 +172,2100,0.0211956352932248 +173,2100,0.887777138465992 +174,2100,0.309727491222247 +175,2100,1.44071878225119 +176,2100,0.229319051083579 +177,2100,2.64617223709405 +178,2100,4.68903883078875 +179,2100,0.446514705583743 +180,2100,1.48769058281403 +181,2100,3.5085026328575 +182,2100,0.597609611350083 +183,2100,0.129615886053671 +184,2100,0.291893209739555 +185,2100,2.67745695296253 +186,2100,0.244853730715931 +187,2100,0.882015727239832 +188,2100,0.835957145525526 +189,2100,0.584480748305729 +190,2100,0.374933550144377 +191,2100,0.81875996198869 +192,2100,0.390262696834782 +193,2100,0.42246322590654 +194,2100,5.7965001355891 +195,2100,0.317598370433575 +196,2100,0.307915814927822 +197,2100,0.0114179773489465 +198,2100,0.0426001814130501 +199,2100,0.0868389024001388 +200,2100,0.167974581339234 +201,2100,0.0235582382725852 +202,2100,0.124150008580187 +203,2100,1.70757005507496 +204,2100,15.78236607041 +205,2100,1.37191132909868 +206,2100,9.28004865018505 +207,2100,0.820646334246931 +208,2100,0.477716656074108 +209,2100,0.432720058490304 +210,2100,0.206383337424882 +211,2100,1.0866297537832 +212,2100,6.43831338405113 +213,2100,1.73053996916743 +214,2100,0.168224487046245 +215,2100,1.62177137951359 +216,2100,0.821070508778803 +217,2100,0.39639324865675 +218,2100,0.213552505244479 +219,2100,2.97219282844492 +220,2100,0.843503358561428 +221,2100,0.328211755214703 +222,2100,0.17605330332708 +223,2100,1.1069043794173 +224,2100,0.21612240455579 +225,2100,1.20577492524808 +226,2100,1.25291219222737 +227,2100,0.200468749273568 +228,2100,0.780454671720967 +229,2100,0.106299340147643 +230,2100,0.169379075578263 +231,2100,1.83722166799052 +232,2100,0.369450444717586 +233,2100,1.18527965247631 +234,2100,0.854136994448481 +235,2100,3.84873594390002 +236,2100,0.735046560642303 +237,2100,0.136281480070954 +238,2100,0.0413730341306859 +239,2100,0.255527432230359 +240,2100,0.147967382299043 +241,2100,0.0292073392551373 +242,2100,1.26825856954292 +243,2100,0.321247202948207 +244,2100,0.0485922709822262 +245,2100,3.31187047969279 +246,2100,0.978121764652315 +247,2100,2.31946069830155 +248,2100,1.63554747949217 +249,2100,1.62674657825119 +250,2100,0.148847691296396 +251,2100,0.191906322492287 +252,2100,0.163661165563099 +253,2100,0.111012678244151 +254,2100,0.180439168732846 +255,2100,0.401822217529116 +256,2100,0.59604340145205 +257,2100,0.367647576531454 +258,2100,0.46186141538945 +259,2100,2.81616635550927 +260,2100,2.80417958429488 +261,2100,0.571035745688278 +262,2100,0.192959470989173 +263,2100,0.143823357043626 +264,2100,1.29683103004572 +265,2100,0.219663890987213 +266,2100,1.11320642325646 +267,2100,0.28657518663158 +268,2100,0.654926170169006 +269,2100,2.30867047360834 +270,2100,0.0334534515545215 +271,2100,0.0056169209278778 +272,2100,0.172145810711299 +273,2100,4.41872451874951 +274,2100,0.409619658019437 +275,2100,0.0359870281607755 +276,2100,0.310719558172423 +277,2100,5.38563572439637 +278,2100,2.17224025123187 +279,2100,11.5301647254202 +280,2100,4.38766390518703 +281,2100,18.9189891972046 +282,2100,0.0341369833784171 +283,2100,0.514444477284599 +284,2100,0.279895664211153 +285,2100,4.05473946462735 +286,2100,13.5828679154583 +287,2100,10.7211283306124 +288,2100,12.2894399501215 +289,2100,3.09632456176877 +290,2100,5.63209184040729 +291,2100,1.70516409765219 +292,2100,14.7788975165167 +293,2100,7.56016000240061 +294,2100,2.05425777406847 +295,2100,0.03664298461063 +296,2100,4.01162510614813 +297,2100,3.09453219841089 +298,2100,8.98950905029051 +299,2100,0.811757224664589 +300,2100,0.762723579194691 +301,2100,0.88460226088979 +302,2100,4.80506116481229 +303,2100,10.1391146961203 +304,2100,0.381055037625629 +305,2100,1.33972262755319 +306,2100,1.91011800912111 +307,2100,0.161867397257906 +308,2100,0.398715070512395 +309,2100,0.197570261548918 diff --git a/hind1970/data/bioenergy_futures_BAU.csv b/hind1970/data/bioenergy_futures_BAU.csv index e39a4124..9d990741 100644 --- a/hind1970/data/bioenergy_futures_BAU.csv +++ b/hind1970/data/bioenergy_futures_BAU.csv @@ -1,43 +1,43 @@ MODEL,SCENARIO,REGION,Variable,Unit,Year,value -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2000,21.76 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2005,27.2 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2000,20 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2005,27 PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2010,34 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2015,42.5 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2020,53.125 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2025,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2030,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2035,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2040,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2045,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2050,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2055,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2060,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2065,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2070,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2075,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2080,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2085,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2090,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2095,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2100,66.40625 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2000,10 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2005,30 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2010,60 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2015,110 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2020,200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2025,350 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2030,580 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2035,910 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2040,1300 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2045,1700 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2050,2000 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2055,2200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2060,2400 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2065,2600 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2070,2800 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2075,3000 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2080,3200 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2085,3400 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2090,3600 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2095,3800 -PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2100,4000 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2015,41 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2020,31 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2025,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2030,33 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2035,125 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2040,221 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2045,166 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2050,61 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2055,25 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2060,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2065,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2070,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2075,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2080,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2085,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2090,24 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2095,23 +PLUM,BAU,World,Agricultural Demand|Bioenergy|1st generation,million t DM/yr,2100,22 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2000,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2005,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2010,0 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2015,45 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2020,114 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2025,249 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2030,509 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2035,856 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2040,1241 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2045,1659 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2050,1927 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2055,1934 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2060,1797 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2065,1599 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2070,1591 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2075,1798 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2080,1913 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2085,1920 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2090,1962 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2095,1995 +PLUM,BAU,World,Agricultural Demand|Bioenergy|2nd generation,million t DM/yr,2100,2014 diff --git a/hind1970/data/country_groups.csv b/hind1970/data/country_groups.csv index 09a1a752..1084d127 100644 --- a/hind1970/data/country_groups.csv +++ b/hind1970/data/country_groups.csv @@ -54,9 +54,9 @@ Switzerland,7.824909,Europe & Central Asia,High income: OECD,Germany Austria & S Austria,8.363404,Europe & Central Asia,High income: OECD,Germany Austria & Switzerland Germany,81.77693,Europe & Central Asia,High income: OECD,Germany Austria & Switzerland Italy,59.277417,Europe & Central Asia,High income: OECD,Italy -Estonia,1.331475,Europe & Central Asia,High income: OECD,Other former USSR -Latvia,2.097555,Europe & Central Asia,High income: nonOECD,Other former USSR -Lithuania,3.097282,Europe & Central Asia,High income: nonOECD,Other former USSR +Estonia,1.331475,Europe & Central Asia,High income: OECD,Scandinavia +Latvia,2.097555,Europe & Central Asia,High income: nonOECD,Scandinavia +Lithuania,3.097282,Europe & Central Asia,High income: nonOECD,Scandinavia Georgia,3.926,Europe & Central Asia,Lower middle income,Other former USSR Turkmenistan,5.041995,Europe & Central Asia,Upper middle income,Other former USSR Kyrgyzstan,5.4479,Europe & Central Asia,Low income,Other former USSR @@ -191,4 +191,4 @@ Burkina Faso,15.632066,Sub-Saharan Africa,Low income,West Africa Niger,16.29199,Sub-Saharan Africa,Low income,West Africa Cote d'Ivoire,20.131707,Sub-Saharan Africa,Lower middle income,West Africa Ghana,24.317734,Sub-Saharan Africa,Lower middle income,West Africa -Somalia,,Sub-Saharan Africa,,West Africa \ No newline at end of file +Somalia,,Sub-Saharan Africa,,West Africa diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java index 4f47bf94..05776854 100644 --- a/src/ac/ed/lurg/ModelConfig.java +++ b/src/ac/ed/lurg/ModelConfig.java @@ -182,7 +182,7 @@ public class ModelConfig { public static final int BASE_YEAR = getIntProperty("BASE_YEAR", 2010); // Import export limits - public static final double ANNUAL_MAX_IMPORT_CHANGE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("ANNUAL_MAX_IMPORT_CHANGE", 0.025); + public static final double ANNUAL_MAX_IMPORT_CHANGE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("ANNUAL_MAX_IMPORT_CHANGE", 0.04); public static final double MAX_IMPORT_CHANGE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("MAX_IMPORT_CHANGE", ANNUAL_MAX_IMPORT_CHANGE*TIMESTEP_SIZE); // Fertiliser application rates in kg/ha @@ -197,7 +197,7 @@ public class ModelConfig { // Other model parameters public static final boolean CHANGE_DEMAND_YEAR = IS_CALIBRATION_RUN ? false : getBooleanProperty("CHANGE_DEMAND_YEAR", true); - public static final double DIETARY_CLOSURE = getDoubleProperty("DIETARY_CLOSURE", 0.2); // Amount diet converges in DIETARY_CLOSURE_GDP_CHANGE rate of GDP shift + public static final double DIETARY_CLOSURE = getDoubleProperty("DIETARY_CLOSURE", 0.0); // Amount diet converges in DIETARY_CLOSURE_GDP_CHANGE rate of GDP shift public static final double DIETARY_CLOSURE_GDP_CHANGE = getDoubleProperty("DIETARY_CLOSURE_GDP_CHANGE", 2.0); // 2 is double of GDP public static final double DIETARY_CLOSURE_PARAM = getDoubleProperty("DIETARY_CLOSURE_PARAM", Math.log((1-DIETARY_CLOSURE))/DIETARY_CLOSURE_GDP_CHANGE); // Zero is no dietary closure, number specifies closure rate for changes in GDP per capita, e.g. Math.log(0.5)/2 public static final String SSP_SCENARIO = getProperty("SSP_SCENARIO", "SSP1_v9_130325"); @@ -212,16 +212,16 @@ public class ModelConfig { public static final double OTHER_WATER_USE_FACTOR = getDoubleProperty("OTHER_WATER_USE_FACTOR", 1.0); public static final boolean USE_BLUE_WATER_FILE_IRRIG_CONSTRAINT = getBooleanProperty("USE_BLUE_WATER_FILE_IRRIG_CONSTRAINT", false);; - public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 0.7); + public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 0.2); public static final double CROP_TO_PASTURE_COST_FACTOR = getDoubleProperty("CROP_TO_PASTURE_COST_FACTOR", 1.0); public static final double AGRI_LAND_EXPANSION_COST_FACTOR = getDoubleProperty("AGRI_LAND_EXPANSION_COST_FACTOR", 1.0); - public static final double CROP_INCREASE_COST = getDoubleProperty("CROP_INCREASE_COST", 0.5 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); - public static final double PASTURE_DECREASE_COST = getDoubleProperty("PASTURE_DECREASE_COST", 0.25 * LAND_CHANGE_COST); - public static final double CROP_DECREASE_COST = getDoubleProperty("CROP_DECREASE_COST", LAND_CHANGE_COST); - public static final double PASTURE_INCREASE_COST = getDoubleProperty("PASTURE_INCREASE_COST", 0.1 * LAND_CHANGE_COST * CROP_TO_PASTURE_COST_FACTOR * AGRI_LAND_EXPANSION_COST_FACTOR); - public static final double AGRI_EXPANSION_COST_BASE = getDoubleProperty("AGRI_EXPANSION_COST_BASE", 0.05 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); - public static final double AGRI_EXPANSION_COST_BASE_MANAGED_FOREST = getDoubleProperty("AGRI_EXPANSION_COST_BASE_MANAGED_FOREST", 0.3 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); + public static final double CROP_INCREASE_COST = getDoubleProperty("CROP_INCREASE_COST", 0.2 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); + public static final double PASTURE_DECREASE_COST = getDoubleProperty("PASTURE_DECREASE_COST", LAND_CHANGE_COST); + public static final double CROP_DECREASE_COST = getDoubleProperty("CROP_DECREASE_COST", 3.5 * LAND_CHANGE_COST); + public static final double PASTURE_INCREASE_COST = getDoubleProperty("PASTURE_INCREASE_COST", 0.2 * LAND_CHANGE_COST * CROP_TO_PASTURE_COST_FACTOR * AGRI_LAND_EXPANSION_COST_FACTOR); + public static final double AGRI_EXPANSION_COST_BASE = getDoubleProperty("AGRI_EXPANSION_COST_BASE", 0.08 * LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); + public static final double AGRI_EXPANSION_COST_BASE_MANAGED_FOREST = getDoubleProperty("AGRI_EXPANSION_COST_BASE_MANAGED_FOREST", LAND_CHANGE_COST * AGRI_LAND_EXPANSION_COST_FACTOR); public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.1); @@ -249,19 +249,20 @@ public class ModelConfig { public static final double OTHER_INTENSITY_COST = getDoubleProperty("OTHER_INTENSITY_COST", 0.4); public static final double OTHER_INTENSITY_PARAM = getDoubleProperty("OTHER_INTENSITY_PARAM", 3.22); - public static final double IRRIG_COST_SCALE_FACTOR = getDoubleProperty("IRRIG_COST_SCALE_FACTOR", 0.001); - public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 2.7); // $500/t, 18% N/t + public static final double IRRIG_COST_SCALE_FACTOR = getDoubleProperty("IRRIG_COST_SCALE_FACTOR", 0.0004); + public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 1.8); // $500/t, 18% N/t public static final double FERTILISER_MAX_COST = FERTILISER_COST_PER_T * MAX_FERT_AMOUNT/1000; public static final double DOMESTIC_PRICE_MARKUP = getDoubleProperty("DOMESTIC_PRICE_MARKUP", 1.0); public static final double TRANSPORT_LOSSES = getDoubleProperty("TRANSPORT_LOSSES", 0.05); // in international trade public static final double TRANSPORT_COST = getDoubleProperty("TRANSPORT_COST", 0.3); // 100 $/t see Wheat Transportation Profile - USDA - public static final double TRADE_BARRIER_FACTOR_DEFAULT = getDoubleProperty("TRADE_BARRIER_FACTOR_DEFAULT", 0.4); // price factor in international trade, transport cost and real trade barriers + public static final double TRADE_BARRIER_FACTOR_DEFAULT = getDoubleProperty("TRADE_BARRIER_FACTOR_DEFAULT", 0.3); // price factor in international trade, transport cost and real trade barriers public static final double TRADE_BARRIER_ADJ = getDoubleProperty("TRADE_BARRIER_ADJ", 1.0); public static final boolean ACTIVE_TRADE_BARRIERS = getBooleanProperty("ACTIVE_TRADE_BARRIERS", false); // if set to true read in barrier information from file, otherwise use default as above public static final boolean PROTECTED_AREAS_ENABLED = getBooleanProperty("PROTECTED_AREAS_ENABLED", true); public static final double MIN_NATURAL_RATE = getDoubleProperty("MIN_NATURAL_RATE", 0.10); + public static final double MAX_CHINA_LAND_EXPANSION_RATE = getDoubleProperty("MAX_CHINA_LAND_EXPANSION_RATE", 0.011*0.4); // 1.1% max forest change 40% of natural land is forest public static final boolean DEBUG_JUST_DEMAND_OUTPUT = getBooleanProperty("DEBUG_JUST_DEMAND_OUTPUT", false); public static final boolean DEBUG_LIMIT_COUNTRIES = getBooleanProperty("DEBUG_LIMIT_COUNTRIES", false); diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java index 7bfe18ce..37dbdd75 100644 --- a/src/ac/ed/lurg/ModelMain.java +++ b/src/ac/ed/lurg/ModelMain.java @@ -145,8 +145,9 @@ public class ModelMain { LogWriter.printlnError("Test key: " + yresp.getYieldMax(CropType.MAIZE) + ", " + yresp.getYieldFertOnly(CropType.MAIZE) + ", " + yresp.getYieldIrrigOnly(CropType.MAIZE) + ", " + yresp.getYieldNone(CropType.MAIZE)); - double previousGen2EcDDemand = timestep.isInitialTimestep() ? 0: demandManager.getSecondGenBioenergyDemand(timestep.getPreviousTimestep()); - double gen2EcDDemand = demandManager.getSecondGenBioenergyDemand(timestep); + double previousGen2EcDDemand = (timestep.isInitialTimestep() || ModelConfig.IS_CALIBRATION_RUN ) ? 0: demandManager.getSecondGenBioenergyDemand(timestep.getPreviousTimestep()); + double gen2EcDDemand = demandManager.getSecondGenBioenergyDemand(ModelConfig.IS_CALIBRATION_RUN ? new Timestep(1) : timestep); + double gen2Increase = (gen2EcDDemand>previousGen2EcDDemand) ? gen2EcDDemand - previousGen2EcDDemand : 0.0; CropToDoubleMap totalImportCommodities = new CropToDoubleMap(); CropToDoubleMap totalExportCommodities = new CropToDoubleMap(); @@ -161,7 +162,7 @@ public class ModelMain { // do the optimization try { - result = ca.determineProduction(timestep, countryYieldSurfaces, irrigData, prevWorldPrices, (gen2EcDDemand - previousGen2EcDDemand)); + result = ca.determineProduction(timestep, countryYieldSurfaces, irrigData, prevWorldPrices, gen2Increase); } catch (Exception e) { LogWriter.printlnError("Exception processing " + ca.getCountry() + " will continue with other countries"); LogWriter.print(e); @@ -354,6 +355,7 @@ public class ModelMain { lpjOutputer.writeOutput(); } } + outputWaterAvailablity(timestep, currentIrrigationData); // uses the year directory structure created above } if (ModelConfig.IS_CALIBRATION_RUN) @@ -373,7 +375,7 @@ public class ModelMain { } private void outputWaterAvailablity(Timestep timestep, IrrigationRasterSet irrigiationRS) { - new RasterOutputer<Double, IrrigationItem>(irrigiationRS, ModelConfig.OUTPUT_DIR + File.separator + "irrig_constraint_" + timestep.getYear() + ".asc") { + new RasterOutputer<Double, IrrigationItem>(irrigiationRS, ModelConfig.OUTPUT_DIR + File.separator + timestep.getYear() + File.separator + "IrrigConstraint.asc") { @Override public Double getValue(RasterKey location) { IrrigationItem item = results.get(location); @@ -557,8 +559,6 @@ public class ModelMain { new RunOffReader(currentIrrigationData, false).getRasterDataFromFile(rootDir + File.separator + ModelConfig.IRRIG_RUNOFF_FILE); currentIrrigationData.updateIrrigConstraints(timestep); } - - outputWaterAvailablity(timestep, currentIrrigationData); } private Map<CropType, Double> getInitialStockLevels() { diff --git a/src/ac/ed/lurg/country/CountryAgent.java b/src/ac/ed/lurg/country/CountryAgent.java index bc9c8d81..abaa9f9a 100644 --- a/src/ac/ed/lurg/country/CountryAgent.java +++ b/src/ac/ed/lurg/country/CountryAgent.java @@ -162,6 +162,10 @@ public class CountryAgent { if (CropType.ENERGY_CROPS.equals(crop)) { double croplandArea = LandUseItem.getTotalLandCover(previousGamsRasterOutput.getLandUses().values(), LandCoverType.CROPLAND); double ecMaxExport = gen2EcIncrease * croplandArea / 1500.0 * 2; + if (ModelConfig.IS_CALIBRATION_RUN) { + baseNetImport = 0.0; + ecMaxExport = 0.0; + } changeDown = ecMaxExport; } diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java index 5c426fb3..fc385087 100644 --- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java +++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java @@ -255,6 +255,11 @@ public class GamsLocationOptimiser { addScalar(inDB, "otherIParam", ModelConfig.OTHER_INTENSITY_PARAM, 3); addScalar(inDB, "unhandledCropArea", ModelConfig.UNHANDLED_CROP_AREA, 3); addScalar(inDB, "domesticPriceMarkup", ModelConfig.DOMESTIC_PRICE_MARKUP, 3); + double maxExpansion = 1.0; + if (!ModelConfig.IS_CALIBRATION_RUN && countryInput.getCountry().getName().equals("China")) { + maxExpansion = ModelConfig.MAX_CHINA_LAND_EXPANSION_RATE; + } + addScalar(inDB, "maxLandExpansionRate", maxExpansion, 3); } private void addScalar(GAMSDatabase gamsDb, String recordName, double val, int places) { -- GitLab