diff --git a/GAMS/IntExtOpt.gms b/GAMS/IntExtOpt.gms
index 94ba5b3cd5c56383b0aeacbe4be094ea20b5682c..eef44d50a59999fe31b4a9dfd250485f91ecaba8 100644
--- a/GAMS/IntExtOpt.gms
+++ b/GAMS/IntExtOpt.gms
@@ -63,7 +63,7 @@ $gdxin
               pasture       1    / ; 
    
  PARAMETER baseCost(crop)  cost per ha before intensity values not including fertiliser or irrigation i.e. seed spray and other.  In 1000 $ per ha
-          /   wheat             0.31   
+          /   wheat             0.32   
               maize             0.26 
               rice              0.4
               oilcrops          0.24
@@ -184,7 +184,7 @@ $gdxin
               (   SUM((crop, location), area(crop, location) * unitCost(crop, location)) +
                   
                   SUM(location, 
-                     1.5 * agriLandExpansion(location) +
+                     1.0 * agriLandExpansion(location) +
                      0.5 * cropIncrease(location) + 
                      0.5 * cropDecrease(location) + 
                      0.5 * pastureIncrease(location) + 
diff --git a/compilePlum.sh b/compilePlum.sh
deleted file mode 100755
index 6832de0d646d2742487537ee5e858b478e5cd9a5..0000000000000000000000000000000000000000
--- a/compilePlum.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-javac -J-Xmx1g -cp .:/Applications/GAMS/gams24.3_osx_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/sac/raster/*.java -d ./classes
-
diff --git a/data/tradeBarriers.csv b/data/tradeBarriers.csv
new file mode 100644
index 0000000000000000000000000000000000000000..8f237087a493ce42ad38d3212a48181911fcf80f
--- /dev/null
+++ b/data/tradeBarriers.csv
@@ -0,0 +1,1329 @@
+Country,crop,Tariff
+Austria,Ruminants,7.4
+Belgium,Ruminants,7.4
+Bulgaria,Ruminants,7.4
+Croatia,Ruminants,7.4
+Cyprus,Ruminants,7.4
+Czech Republic,Ruminants,7.4
+Denmark,Ruminants,7.4
+Estonia,Ruminants,7.4
+Finland,Ruminants,7.4
+France,Ruminants,7.4
+Germany,Ruminants,7.4
+Greece,Ruminants,7.4
+Hungary,Ruminants,7.4
+Ireland,Ruminants,7.4
+Italy,Ruminants,7.4
+Latvia,Ruminants,7.4
+Lithuania,Ruminants,7.4
+Luxembourg,Ruminants,7.4
+Malta,Ruminants,7.4
+Netherlands,Ruminants,7.4
+Poland,Ruminants,7.4
+Portugal,Ruminants,7.4
+Romania,Ruminants,7.4
+Slovakia,Ruminants,7.4
+Slovenia,Ruminants,7.4
+Spain,Ruminants,7.4
+Sweden,Ruminants,7.4
+United Kingdom,Ruminants,7.4
+Afghanistan,Ruminants,10.8
+Albania,Ruminants,10.8
+Algeria,Ruminants,10.4
+Angola,Ruminants,10.4
+Argentina,Ruminants,4.7
+Armenia,Ruminants,10.8
+Australia,Ruminants,1
+Azerbaijan,Ruminants,10.8
+Bahamas,Ruminants,8.6
+Bangladesh,Ruminants,6.3
+Barbados,Ruminants,8.6
+Belarus,Ruminants,10.8
+Belize,Ruminants,10.4
+Benin,Ruminants,10.4
+Bolivia (Plurinational State of),Ruminants,8.6
+Bosnia and Herzegovina,Ruminants,6.2
+Botswana,Ruminants,10.4
+Brazil,Ruminants,8.6
+Brunei Darussalam,Ruminants,10.8
+Burkina Faso,Ruminants,10.4
+Cabo Verde,Ruminants,10.4
+Cambodia,Ruminants,10.4
+Cameroon,Ruminants,10.4
+Canada,Ruminants,1.3
+Chad,Ruminants,10.4
+Chile,Ruminants,8.6
+China,Ruminants,50.8
+Colombia,Ruminants,8.6
+Congo,Ruminants,10.4
+Costa Rica,Ruminants,8.6
+Cote d'Ivoire,Ruminants,10.4
+Cuba,Ruminants,8.6
+Democratic Republic of the Congo,Ruminants,10.4
+Djibouti,Ruminants,10.4
+Dominican Republic,Ruminants,8.6
+Ecuador,Ruminants,8.6
+Egypt,Ruminants,10.4
+El Salvador,Ruminants,8.6
+Ethiopia,Ruminants,10.4
+Fiji,Ruminants,32.9
+French Polynesia,Ruminants,32.9
+Gabon,Ruminants,10.4
+Gambia,Ruminants,10.4
+Georgia,Ruminants,6.2
+Ghana,Ruminants,10.4
+Guatemala,Ruminants,8.6
+Guinea,Ruminants,32.9
+Guinea-Bissau,Ruminants,10.4
+Guyana,Ruminants,10.4
+Haiti,Ruminants,8.6
+Honduras,Ruminants,8.6
+Iceland,Ruminants,29.5
+India,Ruminants,25.5
+Indonesia,Ruminants,1.8
+Iran (Islamic Republic of),Ruminants,10.8
+Iraq,Ruminants,10.8
+Israel,Ruminants,10.8
+Jamaica,Ruminants,8.6
+Japan,Ruminants,27.8
+Jordan,Ruminants,10.4
+Kazakhstan,Ruminants,10.8
+Kenya,Ruminants,10.4
+Kuwait,Ruminants,10.8
+Kyrgyzstan,Ruminants,10.8
+Lao People's Democratic Republic,Ruminants,17.8
+Lebanon,Ruminants,10.8
+Lesotho,Ruminants,10.4
+Liberia,Ruminants,10.4
+Libya,Ruminants,10.4
+Madagascar,Ruminants,10.4
+Malawi,Ruminants,10.4
+Malaysia,Ruminants,17.8
+Maldives,Ruminants,10.4
+Mali,Ruminants,10.4
+Mauritania,Ruminants,10.4
+Mauritius,Ruminants,32.9
+Mexico,Ruminants,10.7
+Mongolia,Ruminants,10.8
+Montenegro,Ruminants,6.2
+Morocco,Ruminants,10.4
+Mozambique,Ruminants,10.4
+Myanmar,Ruminants,17.8
+Namibia,Ruminants,10.4
+Nepal,Ruminants,16.8
+New Caledonia,Ruminants,32.9
+New Zealand,Ruminants,0.4
+Nicaragua,Ruminants,8.6
+Niger,Ruminants,10.4
+Nigeria,Ruminants,10.4
+Norway,Ruminants,29.5
+Oman,Ruminants,10.8
+Pakistan,Ruminants,10.8
+Panama,Ruminants,8.6
+Paraguay,Ruminants,8.6
+Peru,Ruminants,8.6
+Philippines,Ruminants,32.9
+Republic of Korea,Ruminants,16.8
+Republic of Moldova,Ruminants,6.2
+Rwanda,Ruminants,10.4
+Saint Lucia,Ruminants,8.6
+Saint Vincent and the Grenadines,Ruminants,8.6
+Samoa,Ruminants,17.8
+Sao Tome and Principe,Ruminants,10.4
+Saudi Arabia,Ruminants,10.8
+Senegal,Ruminants,10.4
+Serbia,Ruminants,10.8
+Sierra Leone,Ruminants,10.4
+Solomon Islands,Ruminants,32.9
+Somalia,Ruminants,10.4
+South Africa,Ruminants,10.4
+South Sudan,Ruminants,10.4
+Sri Lanka,Ruminants,13.4
+Sudan,Ruminants,10.4
+Suriname,Ruminants,10.4
+Swaziland,Ruminants,10.4
+Switzerland,Ruminants,29.5
+Tajikistan,Ruminants,10.8
+Thailand,Ruminants,17.8
+The former Yugoslav Republic of Macedonia,Ruminants,10.8
+Timor-Leste,Ruminants,10.4
+Togo,Ruminants,10.4
+Trinidad and Tobago,Ruminants,8.6
+Tunisia,Ruminants,10.4
+Turkey,Ruminants,15.9
+Turkmenistan,Ruminants,10.8
+Uganda,Ruminants,10.4
+Ukraine,Ruminants,6.2
+United Arab Emirates,Ruminants,10.8
+United Republic of Tanzania,Ruminants,10.4
+United States of America,Ruminants,1.1
+Uruguay,Ruminants,10.4
+Uzbekistan,Ruminants,10.8
+Vanuatu,Ruminants,32.9
+Venezuela (Bolivarian Republic of),Ruminants,8.6
+Viet Nam,Ruminants,32.9
+Yemen,Ruminants,10.4
+Zambia,Ruminants,10.4
+Zimbabwe,Ruminants,10.4
+Austria,WheatBarleyOats,7.4
+Belgium,WheatBarleyOats,7.4
+Bulgaria,WheatBarleyOats,7.4
+Croatia,WheatBarleyOats,7.4
+Cyprus,WheatBarleyOats,7.4
+Czech Republic,WheatBarleyOats,7.4
+Denmark,WheatBarleyOats,7.4
+Estonia,WheatBarleyOats,7.4
+Finland,WheatBarleyOats,7.4
+France,WheatBarleyOats,7.4
+Germany,WheatBarleyOats,7.4
+Greece,WheatBarleyOats,7.4
+Hungary,WheatBarleyOats,7.4
+Ireland,WheatBarleyOats,7.4
+Italy,WheatBarleyOats,7.4
+Latvia,WheatBarleyOats,7.4
+Lithuania,WheatBarleyOats,7.4
+Luxembourg,WheatBarleyOats,7.4
+Malta,WheatBarleyOats,7.4
+Netherlands,WheatBarleyOats,7.4
+Poland,WheatBarleyOats,7.4
+Portugal,WheatBarleyOats,7.4
+Romania,WheatBarleyOats,7.4
+Slovakia,WheatBarleyOats,7.4
+Slovenia,WheatBarleyOats,7.4
+Spain,WheatBarleyOats,7.4
+Sweden,WheatBarleyOats,7.4
+United Kingdom,WheatBarleyOats,7.4
+Afghanistan,WheatBarleyOats,10.8
+Albania,WheatBarleyOats,10.8
+Algeria,WheatBarleyOats,10.4
+Angola,WheatBarleyOats,10.4
+Argentina,WheatBarleyOats,4.7
+Armenia,WheatBarleyOats,10.8
+Australia,WheatBarleyOats,1
+Azerbaijan,WheatBarleyOats,10.8
+Bahamas,WheatBarleyOats,8.6
+Bangladesh,WheatBarleyOats,6.3
+Barbados,WheatBarleyOats,8.6
+Belarus,WheatBarleyOats,10.8
+Belize,WheatBarleyOats,10.4
+Benin,WheatBarleyOats,10.4
+Bolivia (Plurinational State of),WheatBarleyOats,8.6
+Bosnia and Herzegovina,WheatBarleyOats,6.2
+Botswana,WheatBarleyOats,10.4
+Brazil,WheatBarleyOats,8.6
+Brunei Darussalam,WheatBarleyOats,10.8
+Burkina Faso,WheatBarleyOats,10.4
+Cabo Verde,WheatBarleyOats,10.4
+Cambodia,WheatBarleyOats,10.4
+Cameroon,WheatBarleyOats,10.4
+Canada,WheatBarleyOats,1.3
+Chad,WheatBarleyOats,10.4
+Chile,WheatBarleyOats,8.6
+China,WheatBarleyOats,50.8
+Colombia,WheatBarleyOats,8.6
+Congo,WheatBarleyOats,10.4
+Costa Rica,WheatBarleyOats,8.6
+Cote d'Ivoire,WheatBarleyOats,10.4
+Cuba,WheatBarleyOats,8.6
+Democratic Republic of the Congo,WheatBarleyOats,10.4
+Djibouti,WheatBarleyOats,10.4
+Dominican Republic,WheatBarleyOats,8.6
+Ecuador,WheatBarleyOats,8.6
+Egypt,WheatBarleyOats,10.4
+El Salvador,WheatBarleyOats,8.6
+Ethiopia,WheatBarleyOats,10.4
+Fiji,WheatBarleyOats,32.9
+French Polynesia,WheatBarleyOats,32.9
+Gabon,WheatBarleyOats,10.4
+Gambia,WheatBarleyOats,10.4
+Georgia,WheatBarleyOats,6.2
+Ghana,WheatBarleyOats,10.4
+Guatemala,WheatBarleyOats,8.6
+Guinea,WheatBarleyOats,32.9
+Guinea-Bissau,WheatBarleyOats,10.4
+Guyana,WheatBarleyOats,10.4
+Haiti,WheatBarleyOats,8.6
+Honduras,WheatBarleyOats,8.6
+Iceland,WheatBarleyOats,29.5
+India,WheatBarleyOats,25.5
+Indonesia,WheatBarleyOats,1.8
+Iran (Islamic Republic of),WheatBarleyOats,10.8
+Iraq,WheatBarleyOats,10.8
+Israel,WheatBarleyOats,10.8
+Jamaica,WheatBarleyOats,8.6
+Japan,WheatBarleyOats,27.8
+Jordan,WheatBarleyOats,10.4
+Kazakhstan,WheatBarleyOats,10.8
+Kenya,WheatBarleyOats,10.4
+Kuwait,WheatBarleyOats,10.8
+Kyrgyzstan,WheatBarleyOats,10.8
+Lao People's Democratic Republic,WheatBarleyOats,17.8
+Lebanon,WheatBarleyOats,10.8
+Lesotho,WheatBarleyOats,10.4
+Liberia,WheatBarleyOats,10.4
+Libya,WheatBarleyOats,10.4
+Madagascar,WheatBarleyOats,10.4
+Malawi,WheatBarleyOats,10.4
+Malaysia,WheatBarleyOats,17.8
+Maldives,WheatBarleyOats,10.4
+Mali,WheatBarleyOats,10.4
+Mauritania,WheatBarleyOats,10.4
+Mauritius,WheatBarleyOats,32.9
+Mexico,WheatBarleyOats,10.7
+Mongolia,WheatBarleyOats,10.8
+Montenegro,WheatBarleyOats,6.2
+Morocco,WheatBarleyOats,10.4
+Mozambique,WheatBarleyOats,10.4
+Myanmar,WheatBarleyOats,17.8
+Namibia,WheatBarleyOats,10.4
+Nepal,WheatBarleyOats,16.8
+New Caledonia,WheatBarleyOats,32.9
+New Zealand,WheatBarleyOats,0.4
+Nicaragua,WheatBarleyOats,8.6
+Niger,WheatBarleyOats,10.4
+Nigeria,WheatBarleyOats,10.4
+Norway,WheatBarleyOats,29.5
+Oman,WheatBarleyOats,10.8
+Pakistan,WheatBarleyOats,10.8
+Panama,WheatBarleyOats,8.6
+Paraguay,WheatBarleyOats,8.6
+Peru,WheatBarleyOats,8.6
+Philippines,WheatBarleyOats,32.9
+Republic of Korea,WheatBarleyOats,16.8
+Republic of Moldova,WheatBarleyOats,6.2
+Rwanda,WheatBarleyOats,10.4
+Saint Lucia,WheatBarleyOats,8.6
+Saint Vincent and the Grenadines,WheatBarleyOats,8.6
+Samoa,WheatBarleyOats,17.8
+Sao Tome and Principe,WheatBarleyOats,10.4
+Saudi Arabia,WheatBarleyOats,10.8
+Senegal,WheatBarleyOats,10.4
+Serbia,WheatBarleyOats,10.8
+Sierra Leone,WheatBarleyOats,10.4
+Solomon Islands,WheatBarleyOats,32.9
+Somalia,WheatBarleyOats,10.4
+South Africa,WheatBarleyOats,10.4
+South Sudan,WheatBarleyOats,10.4
+Sri Lanka,WheatBarleyOats,13.4
+Sudan,WheatBarleyOats,10.4
+Suriname,WheatBarleyOats,10.4
+Swaziland,WheatBarleyOats,10.4
+Switzerland,WheatBarleyOats,29.5
+Tajikistan,WheatBarleyOats,10.8
+Thailand,WheatBarleyOats,17.8
+The former Yugoslav Republic of Macedonia,WheatBarleyOats,10.8
+Timor-Leste,WheatBarleyOats,10.4
+Togo,WheatBarleyOats,10.4
+Trinidad and Tobago,WheatBarleyOats,8.6
+Tunisia,WheatBarleyOats,10.4
+Turkey,WheatBarleyOats,15.9
+Turkmenistan,WheatBarleyOats,10.8
+Uganda,WheatBarleyOats,10.4
+Ukraine,WheatBarleyOats,6.2
+United Arab Emirates,WheatBarleyOats,10.8
+United Republic of Tanzania,WheatBarleyOats,10.4
+United States of America,WheatBarleyOats,1.1
+Uruguay,WheatBarleyOats,10.4
+Uzbekistan,WheatBarleyOats,10.8
+Vanuatu,WheatBarleyOats,32.9
+Venezuela (Bolivarian Republic of),WheatBarleyOats,8.6
+Viet Nam,WheatBarleyOats,32.9
+Yemen,WheatBarleyOats,10.4
+Zambia,WheatBarleyOats,10.4
+Zimbabwe,WheatBarleyOats,10.4
+Austria,Monogastrics,7.4
+Belgium,Monogastrics,7.4
+Bulgaria,Monogastrics,7.4
+Croatia,Monogastrics,7.4
+Cyprus,Monogastrics,7.4
+Czech Republic,Monogastrics,7.4
+Denmark,Monogastrics,7.4
+Estonia,Monogastrics,7.4
+Finland,Monogastrics,7.4
+France,Monogastrics,7.4
+Germany,Monogastrics,7.4
+Greece,Monogastrics,7.4
+Hungary,Monogastrics,7.4
+Ireland,Monogastrics,7.4
+Italy,Monogastrics,7.4
+Latvia,Monogastrics,7.4
+Lithuania,Monogastrics,7.4
+Luxembourg,Monogastrics,7.4
+Malta,Monogastrics,7.4
+Netherlands,Monogastrics,7.4
+Poland,Monogastrics,7.4
+Portugal,Monogastrics,7.4
+Romania,Monogastrics,7.4
+Slovakia,Monogastrics,7.4
+Slovenia,Monogastrics,7.4
+Spain,Monogastrics,7.4
+Sweden,Monogastrics,7.4
+United Kingdom,Monogastrics,7.4
+Afghanistan,Monogastrics,10.8
+Albania,Monogastrics,10.8
+Algeria,Monogastrics,10.4
+Angola,Monogastrics,10.4
+Argentina,Monogastrics,4.7
+Armenia,Monogastrics,10.8
+Australia,Monogastrics,1
+Azerbaijan,Monogastrics,10.8
+Bahamas,Monogastrics,8.6
+Bangladesh,Monogastrics,6.3
+Barbados,Monogastrics,8.6
+Belarus,Monogastrics,10.8
+Belize,Monogastrics,10.4
+Benin,Monogastrics,10.4
+Bolivia (Plurinational State of),Monogastrics,8.6
+Bosnia and Herzegovina,Monogastrics,6.2
+Botswana,Monogastrics,10.4
+Brazil,Monogastrics,8.6
+Brunei Darussalam,Monogastrics,10.8
+Burkina Faso,Monogastrics,10.4
+Cabo Verde,Monogastrics,10.4
+Cambodia,Monogastrics,10.4
+Cameroon,Monogastrics,10.4
+Canada,Monogastrics,1.3
+Chad,Monogastrics,10.4
+Chile,Monogastrics,8.6
+China,Monogastrics,50.8
+Colombia,Monogastrics,8.6
+Congo,Monogastrics,10.4
+Costa Rica,Monogastrics,8.6
+Cote d'Ivoire,Monogastrics,10.4
+Cuba,Monogastrics,8.6
+Democratic Republic of the Congo,Monogastrics,10.4
+Djibouti,Monogastrics,10.4
+Dominican Republic,Monogastrics,8.6
+Ecuador,Monogastrics,8.6
+Egypt,Monogastrics,10.4
+El Salvador,Monogastrics,8.6
+Ethiopia,Monogastrics,10.4
+Fiji,Monogastrics,32.9
+French Polynesia,Monogastrics,32.9
+Gabon,Monogastrics,10.4
+Gambia,Monogastrics,10.4
+Georgia,Monogastrics,6.2
+Ghana,Monogastrics,10.4
+Guatemala,Monogastrics,8.6
+Guinea,Monogastrics,32.9
+Guinea-Bissau,Monogastrics,10.4
+Guyana,Monogastrics,10.4
+Haiti,Monogastrics,8.6
+Honduras,Monogastrics,8.6
+Iceland,Monogastrics,29.5
+India,Monogastrics,25.5
+Indonesia,Monogastrics,1.8
+Iran (Islamic Republic of),Monogastrics,10.8
+Iraq,Monogastrics,10.8
+Israel,Monogastrics,10.8
+Jamaica,Monogastrics,8.6
+Japan,Monogastrics,27.8
+Jordan,Monogastrics,10.4
+Kazakhstan,Monogastrics,10.8
+Kenya,Monogastrics,10.4
+Kuwait,Monogastrics,10.8
+Kyrgyzstan,Monogastrics,10.8
+Lao People's Democratic Republic,Monogastrics,17.8
+Lebanon,Monogastrics,10.8
+Lesotho,Monogastrics,10.4
+Liberia,Monogastrics,10.4
+Libya,Monogastrics,10.4
+Madagascar,Monogastrics,10.4
+Malawi,Monogastrics,10.4
+Malaysia,Monogastrics,17.8
+Maldives,Monogastrics,10.4
+Mali,Monogastrics,10.4
+Mauritania,Monogastrics,10.4
+Mauritius,Monogastrics,32.9
+Mexico,Monogastrics,10.7
+Mongolia,Monogastrics,10.8
+Montenegro,Monogastrics,6.2
+Morocco,Monogastrics,10.4
+Mozambique,Monogastrics,10.4
+Myanmar,Monogastrics,17.8
+Namibia,Monogastrics,10.4
+Nepal,Monogastrics,16.8
+New Caledonia,Monogastrics,32.9
+New Zealand,Monogastrics,0.4
+Nicaragua,Monogastrics,8.6
+Niger,Monogastrics,10.4
+Nigeria,Monogastrics,10.4
+Norway,Monogastrics,29.5
+Oman,Monogastrics,10.8
+Pakistan,Monogastrics,10.8
+Panama,Monogastrics,8.6
+Paraguay,Monogastrics,8.6
+Peru,Monogastrics,8.6
+Philippines,Monogastrics,32.9
+Republic of Korea,Monogastrics,16.8
+Republic of Moldova,Monogastrics,6.2
+Rwanda,Monogastrics,10.4
+Saint Lucia,Monogastrics,8.6
+Saint Vincent and the Grenadines,Monogastrics,8.6
+Samoa,Monogastrics,17.8
+Sao Tome and Principe,Monogastrics,10.4
+Saudi Arabia,Monogastrics,10.8
+Senegal,Monogastrics,10.4
+Serbia,Monogastrics,10.8
+Sierra Leone,Monogastrics,10.4
+Solomon Islands,Monogastrics,32.9
+Somalia,Monogastrics,10.4
+South Africa,Monogastrics,10.4
+South Sudan,Monogastrics,10.4
+Sri Lanka,Monogastrics,13.4
+Sudan,Monogastrics,10.4
+Suriname,Monogastrics,10.4
+Swaziland,Monogastrics,10.4
+Switzerland,Monogastrics,29.5
+Tajikistan,Monogastrics,10.8
+Thailand,Monogastrics,17.8
+The former Yugoslav Republic of Macedonia,Monogastrics,10.8
+Timor-Leste,Monogastrics,10.4
+Togo,Monogastrics,10.4
+Trinidad and Tobago,Monogastrics,8.6
+Tunisia,Monogastrics,10.4
+Turkey,Monogastrics,15.9
+Turkmenistan,Monogastrics,10.8
+Uganda,Monogastrics,10.4
+Ukraine,Monogastrics,6.2
+United Arab Emirates,Monogastrics,10.8
+United Republic of Tanzania,Monogastrics,10.4
+United States of America,Monogastrics,1.1
+Uruguay,Monogastrics,10.4
+Uzbekistan,Monogastrics,10.8
+Vanuatu,Monogastrics,32.9
+Venezuela (Bolivarian Republic of),Monogastrics,8.6
+Viet Nam,Monogastrics,32.9
+Yemen,Monogastrics,10.4
+Zambia,Monogastrics,10.4
+Zimbabwe,Monogastrics,10.4
+Austria,MaizeMilletSorghum,7.4
+Belgium,MaizeMilletSorghum,7.4
+Bulgaria,MaizeMilletSorghum,7.4
+Croatia,MaizeMilletSorghum,7.4
+Cyprus,MaizeMilletSorghum,7.4
+Czech Republic,MaizeMilletSorghum,7.4
+Denmark,MaizeMilletSorghum,7.4
+Estonia,MaizeMilletSorghum,7.4
+Finland,MaizeMilletSorghum,7.4
+France,MaizeMilletSorghum,7.4
+Germany,MaizeMilletSorghum,7.4
+Greece,MaizeMilletSorghum,7.4
+Hungary,MaizeMilletSorghum,7.4
+Ireland,MaizeMilletSorghum,7.4
+Italy,MaizeMilletSorghum,7.4
+Latvia,MaizeMilletSorghum,7.4
+Lithuania,MaizeMilletSorghum,7.4
+Luxembourg,MaizeMilletSorghum,7.4
+Malta,MaizeMilletSorghum,7.4
+Netherlands,MaizeMilletSorghum,7.4
+Poland,MaizeMilletSorghum,7.4
+Portugal,MaizeMilletSorghum,7.4
+Romania,MaizeMilletSorghum,7.4
+Slovakia,MaizeMilletSorghum,7.4
+Slovenia,MaizeMilletSorghum,7.4
+Spain,MaizeMilletSorghum,7.4
+Sweden,MaizeMilletSorghum,7.4
+United Kingdom,MaizeMilletSorghum,7.4
+Afghanistan,MaizeMilletSorghum,10.8
+Albania,MaizeMilletSorghum,10.8
+Algeria,MaizeMilletSorghum,10.4
+Angola,MaizeMilletSorghum,10.4
+Argentina,MaizeMilletSorghum,4.7
+Armenia,MaizeMilletSorghum,10.8
+Australia,MaizeMilletSorghum,1
+Azerbaijan,MaizeMilletSorghum,10.8
+Bahamas,MaizeMilletSorghum,8.6
+Bangladesh,MaizeMilletSorghum,6.3
+Barbados,MaizeMilletSorghum,8.6
+Belarus,MaizeMilletSorghum,10.8
+Belize,MaizeMilletSorghum,10.4
+Benin,MaizeMilletSorghum,10.4
+Bolivia (Plurinational State of),MaizeMilletSorghum,8.6
+Bosnia and Herzegovina,MaizeMilletSorghum,6.2
+Botswana,MaizeMilletSorghum,10.4
+Brazil,MaizeMilletSorghum,8.6
+Brunei Darussalam,MaizeMilletSorghum,10.8
+Burkina Faso,MaizeMilletSorghum,10.4
+Cabo Verde,MaizeMilletSorghum,10.4
+Cambodia,MaizeMilletSorghum,10.4
+Cameroon,MaizeMilletSorghum,10.4
+Canada,MaizeMilletSorghum,1.3
+Chad,MaizeMilletSorghum,10.4
+Chile,MaizeMilletSorghum,8.6
+China,MaizeMilletSorghum,50.8
+Colombia,MaizeMilletSorghum,8.6
+Congo,MaizeMilletSorghum,10.4
+Costa Rica,MaizeMilletSorghum,8.6
+Cote d'Ivoire,MaizeMilletSorghum,10.4
+Cuba,MaizeMilletSorghum,8.6
+Democratic Republic of the Congo,MaizeMilletSorghum,10.4
+Djibouti,MaizeMilletSorghum,10.4
+Dominican Republic,MaizeMilletSorghum,8.6
+Ecuador,MaizeMilletSorghum,8.6
+Egypt,MaizeMilletSorghum,10.4
+El Salvador,MaizeMilletSorghum,8.6
+Ethiopia,MaizeMilletSorghum,10.4
+Fiji,MaizeMilletSorghum,32.9
+French Polynesia,MaizeMilletSorghum,32.9
+Gabon,MaizeMilletSorghum,10.4
+Gambia,MaizeMilletSorghum,10.4
+Georgia,MaizeMilletSorghum,6.2
+Ghana,MaizeMilletSorghum,10.4
+Guatemala,MaizeMilletSorghum,8.6
+Guinea,MaizeMilletSorghum,32.9
+Guinea-Bissau,MaizeMilletSorghum,10.4
+Guyana,MaizeMilletSorghum,10.4
+Haiti,MaizeMilletSorghum,8.6
+Honduras,MaizeMilletSorghum,8.6
+Iceland,MaizeMilletSorghum,29.5
+India,MaizeMilletSorghum,25.5
+Indonesia,MaizeMilletSorghum,1.8
+Iran (Islamic Republic of),MaizeMilletSorghum,10.8
+Iraq,MaizeMilletSorghum,10.8
+Israel,MaizeMilletSorghum,10.8
+Jamaica,MaizeMilletSorghum,8.6
+Japan,MaizeMilletSorghum,27.8
+Jordan,MaizeMilletSorghum,10.4
+Kazakhstan,MaizeMilletSorghum,10.8
+Kenya,MaizeMilletSorghum,10.4
+Kuwait,MaizeMilletSorghum,10.8
+Kyrgyzstan,MaizeMilletSorghum,10.8
+Lao People's Democratic Republic,MaizeMilletSorghum,17.8
+Lebanon,MaizeMilletSorghum,10.8
+Lesotho,MaizeMilletSorghum,10.4
+Liberia,MaizeMilletSorghum,10.4
+Libya,MaizeMilletSorghum,10.4
+Madagascar,MaizeMilletSorghum,10.4
+Malawi,MaizeMilletSorghum,10.4
+Malaysia,MaizeMilletSorghum,17.8
+Maldives,MaizeMilletSorghum,10.4
+Mali,MaizeMilletSorghum,10.4
+Mauritania,MaizeMilletSorghum,10.4
+Mauritius,MaizeMilletSorghum,32.9
+Mexico,MaizeMilletSorghum,10.7
+Mongolia,MaizeMilletSorghum,10.8
+Montenegro,MaizeMilletSorghum,6.2
+Morocco,MaizeMilletSorghum,10.4
+Mozambique,MaizeMilletSorghum,10.4
+Myanmar,MaizeMilletSorghum,17.8
+Namibia,MaizeMilletSorghum,10.4
+Nepal,MaizeMilletSorghum,16.8
+New Caledonia,MaizeMilletSorghum,32.9
+New Zealand,MaizeMilletSorghum,0.4
+Nicaragua,MaizeMilletSorghum,8.6
+Niger,MaizeMilletSorghum,10.4
+Nigeria,MaizeMilletSorghum,10.4
+Norway,MaizeMilletSorghum,29.5
+Oman,MaizeMilletSorghum,10.8
+Pakistan,MaizeMilletSorghum,10.8
+Panama,MaizeMilletSorghum,8.6
+Paraguay,MaizeMilletSorghum,8.6
+Peru,MaizeMilletSorghum,8.6
+Philippines,MaizeMilletSorghum,32.9
+Republic of Korea,MaizeMilletSorghum,16.8
+Republic of Moldova,MaizeMilletSorghum,6.2
+Rwanda,MaizeMilletSorghum,10.4
+Saint Lucia,MaizeMilletSorghum,8.6
+Saint Vincent and the Grenadines,MaizeMilletSorghum,8.6
+Samoa,MaizeMilletSorghum,17.8
+Sao Tome and Principe,MaizeMilletSorghum,10.4
+Saudi Arabia,MaizeMilletSorghum,10.8
+Senegal,MaizeMilletSorghum,10.4
+Serbia,MaizeMilletSorghum,10.8
+Sierra Leone,MaizeMilletSorghum,10.4
+Solomon Islands,MaizeMilletSorghum,32.9
+Somalia,MaizeMilletSorghum,10.4
+South Africa,MaizeMilletSorghum,10.4
+South Sudan,MaizeMilletSorghum,10.4
+Sri Lanka,MaizeMilletSorghum,13.4
+Sudan,MaizeMilletSorghum,10.4
+Suriname,MaizeMilletSorghum,10.4
+Swaziland,MaizeMilletSorghum,10.4
+Switzerland,MaizeMilletSorghum,29.5
+Tajikistan,MaizeMilletSorghum,10.8
+Thailand,MaizeMilletSorghum,17.8
+The former Yugoslav Republic of Macedonia,MaizeMilletSorghum,10.8
+Timor-Leste,MaizeMilletSorghum,10.4
+Togo,MaizeMilletSorghum,10.4
+Trinidad and Tobago,MaizeMilletSorghum,8.6
+Tunisia,MaizeMilletSorghum,10.4
+Turkey,MaizeMilletSorghum,15.9
+Turkmenistan,MaizeMilletSorghum,10.8
+Uganda,MaizeMilletSorghum,10.4
+Ukraine,MaizeMilletSorghum,6.2
+United Arab Emirates,MaizeMilletSorghum,10.8
+United Republic of Tanzania,MaizeMilletSorghum,10.4
+United States of America,MaizeMilletSorghum,1.1
+Uruguay,MaizeMilletSorghum,10.4
+Uzbekistan,MaizeMilletSorghum,10.8
+Vanuatu,MaizeMilletSorghum,32.9
+Venezuela (Bolivarian Republic of),MaizeMilletSorghum,8.6
+Viet Nam,MaizeMilletSorghum,32.9
+Yemen,MaizeMilletSorghum,10.4
+Zambia,MaizeMilletSorghum,10.4
+Zimbabwe,MaizeMilletSorghum,10.4
+Austria,Oilcrops,7.4
+Belgium,Oilcrops,7.4
+Bulgaria,Oilcrops,7.4
+Croatia,Oilcrops,7.4
+Cyprus,Oilcrops,7.4
+Czech Republic,Oilcrops,7.4
+Denmark,Oilcrops,7.4
+Estonia,Oilcrops,7.4
+Finland,Oilcrops,7.4
+France,Oilcrops,7.4
+Germany,Oilcrops,7.4
+Greece,Oilcrops,7.4
+Hungary,Oilcrops,7.4
+Ireland,Oilcrops,7.4
+Italy,Oilcrops,7.4
+Latvia,Oilcrops,7.4
+Lithuania,Oilcrops,7.4
+Luxembourg,Oilcrops,7.4
+Malta,Oilcrops,7.4
+Netherlands,Oilcrops,7.4
+Poland,Oilcrops,7.4
+Portugal,Oilcrops,7.4
+Romania,Oilcrops,7.4
+Slovakia,Oilcrops,7.4
+Slovenia,Oilcrops,7.4
+Spain,Oilcrops,7.4
+Sweden,Oilcrops,7.4
+United Kingdom,Oilcrops,7.4
+Afghanistan,Oilcrops,10.8
+Albania,Oilcrops,10.8
+Algeria,Oilcrops,10.4
+Angola,Oilcrops,10.4
+Argentina,Oilcrops,4.7
+Armenia,Oilcrops,10.8
+Australia,Oilcrops,1
+Azerbaijan,Oilcrops,10.8
+Bahamas,Oilcrops,8.6
+Bangladesh,Oilcrops,6.3
+Barbados,Oilcrops,8.6
+Belarus,Oilcrops,10.8
+Belize,Oilcrops,10.4
+Benin,Oilcrops,10.4
+Bolivia (Plurinational State of),Oilcrops,8.6
+Bosnia and Herzegovina,Oilcrops,6.2
+Botswana,Oilcrops,10.4
+Brazil,Oilcrops,8.6
+Brunei Darussalam,Oilcrops,10.8
+Burkina Faso,Oilcrops,10.4
+Cabo Verde,Oilcrops,10.4
+Cambodia,Oilcrops,10.4
+Cameroon,Oilcrops,10.4
+Canada,Oilcrops,1.3
+Chad,Oilcrops,10.4
+Chile,Oilcrops,8.6
+China,Oilcrops,50.8
+Colombia,Oilcrops,8.6
+Congo,Oilcrops,10.4
+Costa Rica,Oilcrops,8.6
+Cote d'Ivoire,Oilcrops,10.4
+Cuba,Oilcrops,8.6
+Democratic Republic of the Congo,Oilcrops,10.4
+Djibouti,Oilcrops,10.4
+Dominican Republic,Oilcrops,8.6
+Ecuador,Oilcrops,8.6
+Egypt,Oilcrops,10.4
+El Salvador,Oilcrops,8.6
+Ethiopia,Oilcrops,10.4
+Fiji,Oilcrops,32.9
+French Polynesia,Oilcrops,32.9
+Gabon,Oilcrops,10.4
+Gambia,Oilcrops,10.4
+Georgia,Oilcrops,6.2
+Ghana,Oilcrops,10.4
+Guatemala,Oilcrops,8.6
+Guinea,Oilcrops,32.9
+Guinea-Bissau,Oilcrops,10.4
+Guyana,Oilcrops,10.4
+Haiti,Oilcrops,8.6
+Honduras,Oilcrops,8.6
+Iceland,Oilcrops,29.5
+India,Oilcrops,25.5
+Indonesia,Oilcrops,1.8
+Iran (Islamic Republic of),Oilcrops,10.8
+Iraq,Oilcrops,10.8
+Israel,Oilcrops,10.8
+Jamaica,Oilcrops,8.6
+Japan,Oilcrops,27.8
+Jordan,Oilcrops,10.4
+Kazakhstan,Oilcrops,10.8
+Kenya,Oilcrops,10.4
+Kuwait,Oilcrops,10.8
+Kyrgyzstan,Oilcrops,10.8
+Lao People's Democratic Republic,Oilcrops,17.8
+Lebanon,Oilcrops,10.8
+Lesotho,Oilcrops,10.4
+Liberia,Oilcrops,10.4
+Libya,Oilcrops,10.4
+Madagascar,Oilcrops,10.4
+Malawi,Oilcrops,10.4
+Malaysia,Oilcrops,17.8
+Maldives,Oilcrops,10.4
+Mali,Oilcrops,10.4
+Mauritania,Oilcrops,10.4
+Mauritius,Oilcrops,32.9
+Mexico,Oilcrops,10.7
+Mongolia,Oilcrops,10.8
+Montenegro,Oilcrops,6.2
+Morocco,Oilcrops,10.4
+Mozambique,Oilcrops,10.4
+Myanmar,Oilcrops,17.8
+Namibia,Oilcrops,10.4
+Nepal,Oilcrops,16.8
+New Caledonia,Oilcrops,32.9
+New Zealand,Oilcrops,0.4
+Nicaragua,Oilcrops,8.6
+Niger,Oilcrops,10.4
+Nigeria,Oilcrops,10.4
+Norway,Oilcrops,29.5
+Oman,Oilcrops,10.8
+Pakistan,Oilcrops,10.8
+Panama,Oilcrops,8.6
+Paraguay,Oilcrops,8.6
+Peru,Oilcrops,8.6
+Philippines,Oilcrops,32.9
+Republic of Korea,Oilcrops,16.8
+Republic of Moldova,Oilcrops,6.2
+Rwanda,Oilcrops,10.4
+Saint Lucia,Oilcrops,8.6
+Saint Vincent and the Grenadines,Oilcrops,8.6
+Samoa,Oilcrops,17.8
+Sao Tome and Principe,Oilcrops,10.4
+Saudi Arabia,Oilcrops,10.8
+Senegal,Oilcrops,10.4
+Serbia,Oilcrops,10.8
+Sierra Leone,Oilcrops,10.4
+Solomon Islands,Oilcrops,32.9
+Somalia,Oilcrops,10.4
+South Africa,Oilcrops,10.4
+South Sudan,Oilcrops,10.4
+Sri Lanka,Oilcrops,13.4
+Sudan,Oilcrops,10.4
+Suriname,Oilcrops,10.4
+Swaziland,Oilcrops,10.4
+Switzerland,Oilcrops,29.5
+Tajikistan,Oilcrops,10.8
+Thailand,Oilcrops,17.8
+The former Yugoslav Republic of Macedonia,Oilcrops,10.8
+Timor-Leste,Oilcrops,10.4
+Togo,Oilcrops,10.4
+Trinidad and Tobago,Oilcrops,8.6
+Tunisia,Oilcrops,10.4
+Turkey,Oilcrops,15.9
+Turkmenistan,Oilcrops,10.8
+Uganda,Oilcrops,10.4
+Ukraine,Oilcrops,6.2
+United Arab Emirates,Oilcrops,10.8
+United Republic of Tanzania,Oilcrops,10.4
+United States of America,Oilcrops,1.1
+Uruguay,Oilcrops,10.4
+Uzbekistan,Oilcrops,10.8
+Vanuatu,Oilcrops,32.9
+Venezuela (Bolivarian Republic of),Oilcrops,8.6
+Viet Nam,Oilcrops,32.9
+Yemen,Oilcrops,10.4
+Zambia,Oilcrops,10.4
+Zimbabwe,Oilcrops,10.4
+Austria,Pulses,7.4
+Belgium,Pulses,7.4
+Bulgaria,Pulses,7.4
+Croatia,Pulses,7.4
+Cyprus,Pulses,7.4
+Czech Republic,Pulses,7.4
+Denmark,Pulses,7.4
+Estonia,Pulses,7.4
+Finland,Pulses,7.4
+France,Pulses,7.4
+Germany,Pulses,7.4
+Greece,Pulses,7.4
+Hungary,Pulses,7.4
+Ireland,Pulses,7.4
+Italy,Pulses,7.4
+Latvia,Pulses,7.4
+Lithuania,Pulses,7.4
+Luxembourg,Pulses,7.4
+Malta,Pulses,7.4
+Netherlands,Pulses,7.4
+Poland,Pulses,7.4
+Portugal,Pulses,7.4
+Romania,Pulses,7.4
+Slovakia,Pulses,7.4
+Slovenia,Pulses,7.4
+Spain,Pulses,7.4
+Sweden,Pulses,7.4
+United Kingdom,Pulses,7.4
+Afghanistan,Pulses,10.8
+Albania,Pulses,10.8
+Algeria,Pulses,10.4
+Angola,Pulses,10.4
+Argentina,Pulses,4.7
+Armenia,Pulses,10.8
+Australia,Pulses,1
+Azerbaijan,Pulses,10.8
+Bahamas,Pulses,8.6
+Bangladesh,Pulses,6.3
+Barbados,Pulses,8.6
+Belarus,Pulses,10.8
+Belize,Pulses,10.4
+Benin,Pulses,10.4
+Bolivia (Plurinational State of),Pulses,8.6
+Bosnia and Herzegovina,Pulses,6.2
+Botswana,Pulses,10.4
+Brazil,Pulses,8.6
+Brunei Darussalam,Pulses,10.8
+Burkina Faso,Pulses,10.4
+Cabo Verde,Pulses,10.4
+Cambodia,Pulses,10.4
+Cameroon,Pulses,10.4
+Canada,Pulses,1.3
+Chad,Pulses,10.4
+Chile,Pulses,8.6
+China,Pulses,50.8
+Colombia,Pulses,8.6
+Congo,Pulses,10.4
+Costa Rica,Pulses,8.6
+Cote d'Ivoire,Pulses,10.4
+Cuba,Pulses,8.6
+Democratic Republic of the Congo,Pulses,10.4
+Djibouti,Pulses,10.4
+Dominican Republic,Pulses,8.6
+Ecuador,Pulses,8.6
+Egypt,Pulses,10.4
+El Salvador,Pulses,8.6
+Ethiopia,Pulses,10.4
+Fiji,Pulses,32.9
+French Polynesia,Pulses,32.9
+Gabon,Pulses,10.4
+Gambia,Pulses,10.4
+Georgia,Pulses,6.2
+Ghana,Pulses,10.4
+Guatemala,Pulses,8.6
+Guinea,Pulses,32.9
+Guinea-Bissau,Pulses,10.4
+Guyana,Pulses,10.4
+Haiti,Pulses,8.6
+Honduras,Pulses,8.6
+Iceland,Pulses,29.5
+India,Pulses,25.5
+Indonesia,Pulses,1.8
+Iran (Islamic Republic of),Pulses,10.8
+Iraq,Pulses,10.8
+Israel,Pulses,10.8
+Jamaica,Pulses,8.6
+Japan,Pulses,27.8
+Jordan,Pulses,10.4
+Kazakhstan,Pulses,10.8
+Kenya,Pulses,10.4
+Kuwait,Pulses,10.8
+Kyrgyzstan,Pulses,10.8
+Lao People's Democratic Republic,Pulses,17.8
+Lebanon,Pulses,10.8
+Lesotho,Pulses,10.4
+Liberia,Pulses,10.4
+Libya,Pulses,10.4
+Madagascar,Pulses,10.4
+Malawi,Pulses,10.4
+Malaysia,Pulses,17.8
+Maldives,Pulses,10.4
+Mali,Pulses,10.4
+Mauritania,Pulses,10.4
+Mauritius,Pulses,32.9
+Mexico,Pulses,10.7
+Mongolia,Pulses,10.8
+Montenegro,Pulses,6.2
+Morocco,Pulses,10.4
+Mozambique,Pulses,10.4
+Myanmar,Pulses,17.8
+Namibia,Pulses,10.4
+Nepal,Pulses,16.8
+New Caledonia,Pulses,32.9
+New Zealand,Pulses,0.4
+Nicaragua,Pulses,8.6
+Niger,Pulses,10.4
+Nigeria,Pulses,10.4
+Norway,Pulses,29.5
+Oman,Pulses,10.8
+Pakistan,Pulses,10.8
+Panama,Pulses,8.6
+Paraguay,Pulses,8.6
+Peru,Pulses,8.6
+Philippines,Pulses,32.9
+Republic of Korea,Pulses,16.8
+Republic of Moldova,Pulses,6.2
+Rwanda,Pulses,10.4
+Saint Lucia,Pulses,8.6
+Saint Vincent and the Grenadines,Pulses,8.6
+Samoa,Pulses,17.8
+Sao Tome and Principe,Pulses,10.4
+Saudi Arabia,Pulses,10.8
+Senegal,Pulses,10.4
+Serbia,Pulses,10.8
+Sierra Leone,Pulses,10.4
+Solomon Islands,Pulses,32.9
+Somalia,Pulses,10.4
+South Africa,Pulses,10.4
+South Sudan,Pulses,10.4
+Sri Lanka,Pulses,13.4
+Sudan,Pulses,10.4
+Suriname,Pulses,10.4
+Swaziland,Pulses,10.4
+Switzerland,Pulses,29.5
+Tajikistan,Pulses,10.8
+Thailand,Pulses,17.8
+The former Yugoslav Republic of Macedonia,Pulses,10.8
+Timor-Leste,Pulses,10.4
+Togo,Pulses,10.4
+Trinidad and Tobago,Pulses,8.6
+Tunisia,Pulses,10.4
+Turkey,Pulses,15.9
+Turkmenistan,Pulses,10.8
+Uganda,Pulses,10.4
+Ukraine,Pulses,6.2
+United Arab Emirates,Pulses,10.8
+United Republic of Tanzania,Pulses,10.4
+United States of America,Pulses,1.1
+Uruguay,Pulses,10.4
+Uzbekistan,Pulses,10.8
+Vanuatu,Pulses,32.9
+Venezuela (Bolivarian Republic of),Pulses,8.6
+Viet Nam,Pulses,32.9
+Yemen,Pulses,10.4
+Zambia,Pulses,10.4
+Zimbabwe,Pulses,10.4
+Austria,Rice (Paddy Equivalent),7.4
+Belgium,Rice (Paddy Equivalent),7.4
+Bulgaria,Rice (Paddy Equivalent),7.4
+Croatia,Rice (Paddy Equivalent),7.4
+Cyprus,Rice (Paddy Equivalent),7.4
+Czech Republic,Rice (Paddy Equivalent),7.4
+Denmark,Rice (Paddy Equivalent),7.4
+Estonia,Rice (Paddy Equivalent),7.4
+Finland,Rice (Paddy Equivalent),7.4
+France,Rice (Paddy Equivalent),7.4
+Germany,Rice (Paddy Equivalent),7.4
+Greece,Rice (Paddy Equivalent),7.4
+Hungary,Rice (Paddy Equivalent),7.4
+Ireland,Rice (Paddy Equivalent),7.4
+Italy,Rice (Paddy Equivalent),7.4
+Latvia,Rice (Paddy Equivalent),7.4
+Lithuania,Rice (Paddy Equivalent),7.4
+Luxembourg,Rice (Paddy Equivalent),7.4
+Malta,Rice (Paddy Equivalent),7.4
+Netherlands,Rice (Paddy Equivalent),7.4
+Poland,Rice (Paddy Equivalent),7.4
+Portugal,Rice (Paddy Equivalent),7.4
+Romania,Rice (Paddy Equivalent),7.4
+Slovakia,Rice (Paddy Equivalent),7.4
+Slovenia,Rice (Paddy Equivalent),7.4
+Spain,Rice (Paddy Equivalent),7.4
+Sweden,Rice (Paddy Equivalent),7.4
+United Kingdom,Rice (Paddy Equivalent),7.4
+Afghanistan,Rice (Paddy Equivalent),10.8
+Albania,Rice (Paddy Equivalent),10.8
+Algeria,Rice (Paddy Equivalent),10.4
+Angola,Rice (Paddy Equivalent),10.4
+Argentina,Rice (Paddy Equivalent),4.7
+Armenia,Rice (Paddy Equivalent),10.8
+Australia,Rice (Paddy Equivalent),1
+Azerbaijan,Rice (Paddy Equivalent),10.8
+Bahamas,Rice (Paddy Equivalent),8.6
+Bangladesh,Rice (Paddy Equivalent),6.3
+Barbados,Rice (Paddy Equivalent),8.6
+Belarus,Rice (Paddy Equivalent),10.8
+Belize,Rice (Paddy Equivalent),10.4
+Benin,Rice (Paddy Equivalent),10.4
+Bolivia (Plurinational State of),Rice (Paddy Equivalent),8.6
+Bosnia and Herzegovina,Rice (Paddy Equivalent),6.2
+Botswana,Rice (Paddy Equivalent),10.4
+Brazil,Rice (Paddy Equivalent),8.6
+Brunei Darussalam,Rice (Paddy Equivalent),10.8
+Burkina Faso,Rice (Paddy Equivalent),10.4
+Cabo Verde,Rice (Paddy Equivalent),10.4
+Cambodia,Rice (Paddy Equivalent),10.4
+Cameroon,Rice (Paddy Equivalent),10.4
+Canada,Rice (Paddy Equivalent),1.3
+Chad,Rice (Paddy Equivalent),10.4
+Chile,Rice (Paddy Equivalent),8.6
+China,Rice (Paddy Equivalent),50.8
+Colombia,Rice (Paddy Equivalent),8.6
+Congo,Rice (Paddy Equivalent),10.4
+Costa Rica,Rice (Paddy Equivalent),8.6
+Cote d'Ivoire,Rice (Paddy Equivalent),10.4
+Cuba,Rice (Paddy Equivalent),8.6
+Democratic Republic of the Congo,Rice (Paddy Equivalent),10.4
+Djibouti,Rice (Paddy Equivalent),10.4
+Dominican Republic,Rice (Paddy Equivalent),8.6
+Ecuador,Rice (Paddy Equivalent),8.6
+Egypt,Rice (Paddy Equivalent),10.4
+El Salvador,Rice (Paddy Equivalent),8.6
+Ethiopia,Rice (Paddy Equivalent),10.4
+Fiji,Rice (Paddy Equivalent),32.9
+French Polynesia,Rice (Paddy Equivalent),32.9
+Gabon,Rice (Paddy Equivalent),10.4
+Gambia,Rice (Paddy Equivalent),10.4
+Georgia,Rice (Paddy Equivalent),6.2
+Ghana,Rice (Paddy Equivalent),10.4
+Guatemala,Rice (Paddy Equivalent),8.6
+Guinea,Rice (Paddy Equivalent),32.9
+Guinea-Bissau,Rice (Paddy Equivalent),10.4
+Guyana,Rice (Paddy Equivalent),10.4
+Haiti,Rice (Paddy Equivalent),8.6
+Honduras,Rice (Paddy Equivalent),8.6
+Iceland,Rice (Paddy Equivalent),29.5
+India,Rice (Paddy Equivalent),25.5
+Indonesia,Rice (Paddy Equivalent),1.8
+Iran (Islamic Republic of),Rice (Paddy Equivalent),10.8
+Iraq,Rice (Paddy Equivalent),10.8
+Israel,Rice (Paddy Equivalent),10.8
+Jamaica,Rice (Paddy Equivalent),8.6
+Japan,Rice (Paddy Equivalent),27.8
+Jordan,Rice (Paddy Equivalent),10.4
+Kazakhstan,Rice (Paddy Equivalent),10.8
+Kenya,Rice (Paddy Equivalent),10.4
+Kuwait,Rice (Paddy Equivalent),10.8
+Kyrgyzstan,Rice (Paddy Equivalent),10.8
+Lao People's Democratic Republic,Rice (Paddy Equivalent),17.8
+Lebanon,Rice (Paddy Equivalent),10.8
+Lesotho,Rice (Paddy Equivalent),10.4
+Liberia,Rice (Paddy Equivalent),10.4
+Libya,Rice (Paddy Equivalent),10.4
+Madagascar,Rice (Paddy Equivalent),10.4
+Malawi,Rice (Paddy Equivalent),10.4
+Malaysia,Rice (Paddy Equivalent),17.8
+Maldives,Rice (Paddy Equivalent),10.4
+Mali,Rice (Paddy Equivalent),10.4
+Mauritania,Rice (Paddy Equivalent),10.4
+Mauritius,Rice (Paddy Equivalent),32.9
+Mexico,Rice (Paddy Equivalent),10.7
+Mongolia,Rice (Paddy Equivalent),10.8
+Montenegro,Rice (Paddy Equivalent),6.2
+Morocco,Rice (Paddy Equivalent),10.4
+Mozambique,Rice (Paddy Equivalent),10.4
+Myanmar,Rice (Paddy Equivalent),17.8
+Namibia,Rice (Paddy Equivalent),10.4
+Nepal,Rice (Paddy Equivalent),16.8
+New Caledonia,Rice (Paddy Equivalent),32.9
+New Zealand,Rice (Paddy Equivalent),0.4
+Nicaragua,Rice (Paddy Equivalent),8.6
+Niger,Rice (Paddy Equivalent),10.4
+Nigeria,Rice (Paddy Equivalent),10.4
+Norway,Rice (Paddy Equivalent),29.5
+Oman,Rice (Paddy Equivalent),10.8
+Pakistan,Rice (Paddy Equivalent),10.8
+Panama,Rice (Paddy Equivalent),8.6
+Paraguay,Rice (Paddy Equivalent),8.6
+Peru,Rice (Paddy Equivalent),8.6
+Philippines,Rice (Paddy Equivalent),32.9
+Republic of Korea,Rice (Paddy Equivalent),16.8
+Republic of Moldova,Rice (Paddy Equivalent),6.2
+Rwanda,Rice (Paddy Equivalent),10.4
+Saint Lucia,Rice (Paddy Equivalent),8.6
+Saint Vincent and the Grenadines,Rice (Paddy Equivalent),8.6
+Samoa,Rice (Paddy Equivalent),17.8
+Sao Tome and Principe,Rice (Paddy Equivalent),10.4
+Saudi Arabia,Rice (Paddy Equivalent),10.8
+Senegal,Rice (Paddy Equivalent),10.4
+Serbia,Rice (Paddy Equivalent),10.8
+Sierra Leone,Rice (Paddy Equivalent),10.4
+Solomon Islands,Rice (Paddy Equivalent),32.9
+Somalia,Rice (Paddy Equivalent),10.4
+South Africa,Rice (Paddy Equivalent),10.4
+South Sudan,Rice (Paddy Equivalent),10.4
+Sri Lanka,Rice (Paddy Equivalent),13.4
+Sudan,Rice (Paddy Equivalent),10.4
+Suriname,Rice (Paddy Equivalent),10.4
+Swaziland,Rice (Paddy Equivalent),10.4
+Switzerland,Rice (Paddy Equivalent),29.5
+Tajikistan,Rice (Paddy Equivalent),10.8
+Thailand,Rice (Paddy Equivalent),17.8
+The former Yugoslav Republic of Macedonia,Rice (Paddy Equivalent),10.8
+Timor-Leste,Rice (Paddy Equivalent),10.4
+Togo,Rice (Paddy Equivalent),10.4
+Trinidad and Tobago,Rice (Paddy Equivalent),8.6
+Tunisia,Rice (Paddy Equivalent),10.4
+Turkey,Rice (Paddy Equivalent),15.9
+Turkmenistan,Rice (Paddy Equivalent),10.8
+Uganda,Rice (Paddy Equivalent),10.4
+Ukraine,Rice (Paddy Equivalent),6.2
+United Arab Emirates,Rice (Paddy Equivalent),10.8
+United Republic of Tanzania,Rice (Paddy Equivalent),10.4
+United States of America,Rice (Paddy Equivalent),1.1
+Uruguay,Rice (Paddy Equivalent),10.4
+Uzbekistan,Rice (Paddy Equivalent),10.8
+Vanuatu,Rice (Paddy Equivalent),32.9
+Venezuela (Bolivarian Republic of),Rice (Paddy Equivalent),8.6
+Viet Nam,Rice (Paddy Equivalent),32.9
+Yemen,Rice (Paddy Equivalent),10.4
+Zambia,Rice (Paddy Equivalent),10.4
+Zimbabwe,Rice (Paddy Equivalent),10.4
+Austria,Starchy Roots,7.4
+Belgium,Starchy Roots,7.4
+Bulgaria,Starchy Roots,7.4
+Croatia,Starchy Roots,7.4
+Cyprus,Starchy Roots,7.4
+Czech Republic,Starchy Roots,7.4
+Denmark,Starchy Roots,7.4
+Estonia,Starchy Roots,7.4
+Finland,Starchy Roots,7.4
+France,Starchy Roots,7.4
+Germany,Starchy Roots,7.4
+Greece,Starchy Roots,7.4
+Hungary,Starchy Roots,7.4
+Ireland,Starchy Roots,7.4
+Italy,Starchy Roots,7.4
+Latvia,Starchy Roots,7.4
+Lithuania,Starchy Roots,7.4
+Luxembourg,Starchy Roots,7.4
+Malta,Starchy Roots,7.4
+Netherlands,Starchy Roots,7.4
+Poland,Starchy Roots,7.4
+Portugal,Starchy Roots,7.4
+Romania,Starchy Roots,7.4
+Slovakia,Starchy Roots,7.4
+Slovenia,Starchy Roots,7.4
+Spain,Starchy Roots,7.4
+Sweden,Starchy Roots,7.4
+United Kingdom,Starchy Roots,7.4
+Afghanistan,Starchy Roots,10.8
+Albania,Starchy Roots,10.8
+Algeria,Starchy Roots,10.4
+Angola,Starchy Roots,10.4
+Argentina,Starchy Roots,4.7
+Armenia,Starchy Roots,10.8
+Australia,Starchy Roots,1
+Azerbaijan,Starchy Roots,10.8
+Bahamas,Starchy Roots,8.6
+Bangladesh,Starchy Roots,6.3
+Barbados,Starchy Roots,8.6
+Belarus,Starchy Roots,10.8
+Belize,Starchy Roots,10.4
+Benin,Starchy Roots,10.4
+Bolivia (Plurinational State of),Starchy Roots,8.6
+Bosnia and Herzegovina,Starchy Roots,6.2
+Botswana,Starchy Roots,10.4
+Brazil,Starchy Roots,8.6
+Brunei Darussalam,Starchy Roots,10.8
+Burkina Faso,Starchy Roots,10.4
+Cabo Verde,Starchy Roots,10.4
+Cambodia,Starchy Roots,10.4
+Cameroon,Starchy Roots,10.4
+Canada,Starchy Roots,1.3
+Chad,Starchy Roots,10.4
+Chile,Starchy Roots,8.6
+China,Starchy Roots,50.8
+Colombia,Starchy Roots,8.6
+Congo,Starchy Roots,10.4
+Costa Rica,Starchy Roots,8.6
+Cote d'Ivoire,Starchy Roots,10.4
+Cuba,Starchy Roots,8.6
+Democratic Republic of the Congo,Starchy Roots,10.4
+Djibouti,Starchy Roots,10.4
+Dominican Republic,Starchy Roots,8.6
+Ecuador,Starchy Roots,8.6
+Egypt,Starchy Roots,10.4
+El Salvador,Starchy Roots,8.6
+Ethiopia,Starchy Roots,10.4
+Fiji,Starchy Roots,32.9
+French Polynesia,Starchy Roots,32.9
+Gabon,Starchy Roots,10.4
+Gambia,Starchy Roots,10.4
+Georgia,Starchy Roots,6.2
+Ghana,Starchy Roots,10.4
+Guatemala,Starchy Roots,8.6
+Guinea,Starchy Roots,32.9
+Guinea-Bissau,Starchy Roots,10.4
+Guyana,Starchy Roots,10.4
+Haiti,Starchy Roots,8.6
+Honduras,Starchy Roots,8.6
+Iceland,Starchy Roots,29.5
+India,Starchy Roots,25.5
+Indonesia,Starchy Roots,1.8
+Iran (Islamic Republic of),Starchy Roots,10.8
+Iraq,Starchy Roots,10.8
+Israel,Starchy Roots,10.8
+Jamaica,Starchy Roots,8.6
+Japan,Starchy Roots,27.8
+Jordan,Starchy Roots,10.4
+Kazakhstan,Starchy Roots,10.8
+Kenya,Starchy Roots,10.4
+Kuwait,Starchy Roots,10.8
+Kyrgyzstan,Starchy Roots,10.8
+Lao People's Democratic Republic,Starchy Roots,17.8
+Lebanon,Starchy Roots,10.8
+Lesotho,Starchy Roots,10.4
+Liberia,Starchy Roots,10.4
+Libya,Starchy Roots,10.4
+Madagascar,Starchy Roots,10.4
+Malawi,Starchy Roots,10.4
+Malaysia,Starchy Roots,17.8
+Maldives,Starchy Roots,10.4
+Mali,Starchy Roots,10.4
+Mauritania,Starchy Roots,10.4
+Mauritius,Starchy Roots,32.9
+Mexico,Starchy Roots,10.7
+Mongolia,Starchy Roots,10.8
+Montenegro,Starchy Roots,6.2
+Morocco,Starchy Roots,10.4
+Mozambique,Starchy Roots,10.4
+Myanmar,Starchy Roots,17.8
+Namibia,Starchy Roots,10.4
+Nepal,Starchy Roots,16.8
+New Caledonia,Starchy Roots,32.9
+New Zealand,Starchy Roots,0.4
+Nicaragua,Starchy Roots,8.6
+Niger,Starchy Roots,10.4
+Nigeria,Starchy Roots,10.4
+Norway,Starchy Roots,29.5
+Oman,Starchy Roots,10.8
+Pakistan,Starchy Roots,10.8
+Panama,Starchy Roots,8.6
+Paraguay,Starchy Roots,8.6
+Peru,Starchy Roots,8.6
+Philippines,Starchy Roots,32.9
+Republic of Korea,Starchy Roots,16.8
+Republic of Moldova,Starchy Roots,6.2
+Rwanda,Starchy Roots,10.4
+Saint Lucia,Starchy Roots,8.6
+Saint Vincent and the Grenadines,Starchy Roots,8.6
+Samoa,Starchy Roots,17.8
+Sao Tome and Principe,Starchy Roots,10.4
+Saudi Arabia,Starchy Roots,10.8
+Senegal,Starchy Roots,10.4
+Serbia,Starchy Roots,10.8
+Sierra Leone,Starchy Roots,10.4
+Solomon Islands,Starchy Roots,32.9
+Somalia,Starchy Roots,10.4
+South Africa,Starchy Roots,10.4
+South Sudan,Starchy Roots,10.4
+Sri Lanka,Starchy Roots,13.4
+Sudan,Starchy Roots,10.4
+Suriname,Starchy Roots,10.4
+Swaziland,Starchy Roots,10.4
+Switzerland,Starchy Roots,29.5
+Tajikistan,Starchy Roots,10.8
+Thailand,Starchy Roots,17.8
+The former Yugoslav Republic of Macedonia,Starchy Roots,10.8
+Timor-Leste,Starchy Roots,10.4
+Togo,Starchy Roots,10.4
+Trinidad and Tobago,Starchy Roots,8.6
+Tunisia,Starchy Roots,10.4
+Turkey,Starchy Roots,15.9
+Turkmenistan,Starchy Roots,10.8
+Uganda,Starchy Roots,10.4
+Ukraine,Starchy Roots,6.2
+United Arab Emirates,Starchy Roots,10.8
+United Republic of Tanzania,Starchy Roots,10.4
+United States of America,Starchy Roots,1.1
+Uruguay,Starchy Roots,10.4
+Uzbekistan,Starchy Roots,10.8
+Vanuatu,Starchy Roots,32.9
+Venezuela (Bolivarian Republic of),Starchy Roots,8.6
+Viet Nam,Starchy Roots,32.9
+Yemen,Starchy Roots,10.4
+Zambia,Starchy Roots,10.4
+Zimbabwe,Starchy Roots,10.4
diff --git a/scripts/compilePlum.sh b/scripts/compilePlum.sh
new file mode 100755
index 0000000000000000000000000000000000000000..606f05696a3b2e414196664c423dae0362ca1a67
--- /dev/null
+++ b/scripts/compilePlum.sh
@@ -0,0 +1,3 @@
+cd /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2
+javac -J-Xmx1g -cp .:/exports/csce/eddie/geos/groups/LURG/models/gams/gams24.7_linux_x64_64_sfx/apifiles/Java/api/GAMSJavaAPI.jar ./src/ac/ed/lurg/*.java ./src/ac/ed/lurg/country/*.java ./src/ac/ed/lurg/country/gams/*.java ./src/ac/ed/lurg/demand/*.java ./src/ac/ed/lurg/landuse/*.java ./src/ac/ed/lurg/output/*.java ./src/ac/ed/lurg/types/*.java ./src/ac/ed/lurg/utils/*.java ./src/ac/ed/lurg/yield/*.java ./src/ac/sac/raster/*.java -d ../classes
+
diff --git a/convertOldToNewLPJData.sh b/scripts/convertOldToNewLPJData.sh
similarity index 100%
rename from convertOldToNewLPJData.sh
rename to scripts/convertOldToNewLPJData.sh
diff --git a/scripts/createScenarios.sh b/scripts/createScenarios.sh
new file mode 100755
index 0000000000000000000000000000000000000000..514b77483336103494e6401d7951ecaba512b335
--- /dev/null
+++ b/scripts/createScenarios.sh
@@ -0,0 +1,47 @@
+#!/bin/sh
+
+filename="$1"
+common_prop_file=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output/common_properties
+output_dir=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output
+
+if [[ $* == *-O* ]]; then overwrite=1
+else overwrite=0
+fi
+
+if [ "$#" -lt 1  ]; then
+   echo "Need to specify scenario table file"
+   exit
+fi
+
+echo "Generating scenarios into $output_dir"
+
+while read -r datarow
+do
+  IFS=',' read -r -a array <<< "$datarow"
+
+  if [ -z "$header" ]; then
+     header=( "${array[@]}" )
+  else
+     scenario="${array[0]}"
+     scenario_dir=$output_dir/$scenario
+     echo "$scenario in $scenario_dir"
+     if [ ! -d "$scenario_dir" ]; then
+        mkdir $scenario_dir
+     elif [ $overwrite -ne 1 ]; then
+        echo "Already have scenario $scenario, set -O to overwrite existing scenarios"
+        continue;
+     fi
+
+     config_file=$scenario_dir/config.properties
+     cp $common_prop_file $config_file
+     echo "OUTPUT_DIR=$scenario_dir" >> $config_file
+
+     for index in "${!array[@]}"
+     do
+        echo "${header[index]}"="${array[index]}" >> $config_file
+     done
+
+     echo "$scenario generated"
+  fi
+done < $filename
+
diff --git a/runPlum.sh b/scripts/runPlum.sh
similarity index 100%
rename from runPlum.sh
rename to scripts/runPlum.sh
diff --git a/scripts/scheduleScenarios.sh b/scripts/scheduleScenarios.sh
new file mode 100755
index 0000000000000000000000000000000000000000..77aa5c435a3b51d3a6acfdef6b7581af612ba6e9
--- /dev/null
+++ b/scripts/scheduleScenarios.sh
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+if [ "$#" -lt 1  ]; then
+   echo "Need to specify scenario table file"
+   exit
+fi
+
+
+filename="$1"
+output_dir=/exports/csce/eddie/geos/groups/LURG/models/PLUM/output
+echo "Starting scenarios in $output_dir"
+
+while read -r datarow
+do
+  IFS=',' read -r -a array <<< "$datarow"
+
+  if [ -z "$header" ]; then
+     header=( "${array[@]}" )
+  else
+     scenario="${array[0]}"
+     scenario_dir=$output_dir/$scenario
+     echo $scenario
+
+     if [ ! -d "$scenario_dir" ]; then
+        echo "Scenario $scenario dir is missing, so skipping"
+        continue;
+     fi
+
+     echo "qsub /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2/scripts/runPlum.sh $scenario"
+     qsub /exports/csce/eddie/geos/groups/LURG/models/PLUM/plumv2/scripts/runPlum.sh $scenario
+  fi
+done < $filename
+
diff --git a/scripts/stopRange.sh b/scripts/stopRange.sh
new file mode 100755
index 0000000000000000000000000000000000000000..3b343904a9cd49dee7d07d81833900c2a980ada4
--- /dev/null
+++ b/scripts/stopRange.sh
@@ -0,0 +1,11 @@
+#!/bin/sh
+if [ $# -ne 2 ]; then
+        echo need 2 argument to specify parameters
+        exit 0
+fi
+
+for ((i=$1; i<=$2; i++ ))
+do
+   #echo "qdel $i"
+   qdel $i
+done
diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java
index 53c8063a05e2b31da1d8850870d70af1ebc9e8d2..f03a36ddade0d33f8ae49704a434030024ca0de6 100644
--- a/src/ac/ed/lurg/ModelConfig.java
+++ b/src/ac/ed/lurg/ModelConfig.java
@@ -3,6 +3,7 @@ package ac.ed.lurg;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
+import java.util.Enumeration;
 import java.util.Properties;
 
 public class ModelConfig {
@@ -22,6 +23,12 @@ public class ModelConfig {
 			System.err.println("Problems reading config file");
 			System.err.println(e.getMessage());
 		}
+
+		Enumeration<?> em = configFile.keys();
+		while(em.hasMoreElements()) {
+			String str = (String) em.nextElement();
+			System.out.println(str + ": " + configFile.get(str));
+		}
 	}
 	
 	private static ModelConfig getModelConfig() {
@@ -82,11 +89,11 @@ public class ModelConfig {
 
 	// Directory information
 	public static final String BASE_DIR = getProperty("BASE_DIR");  // this must to be set in config file
-	public static final String TEMP_DIR = getProperty("TEMP_DIR", BASE_DIR + File.separator + "temp");
 	public static final String OUTPUT_DIR = getProperty("OUTPUT_DIR", BASE_DIR + File.separator + "output");
+	public static final String TEMP_DIR = getProperty("TEMP_DIR", OUTPUT_DIR + File.separator + "GamsTmp");
 	public static final String DATA_DIR = getProperty("DATA_DIR", BASE_DIR + File.separator + "data");
 	public static final String GAMS_MODEL = getProperty("GAMS_MODEL", BASE_DIR + File.separator + "GAMS/IntExtOpt.gms");
-	public static final boolean CLEANUP_GAMS_DIR = getBooleanProperty("CLEANUP_GAMS_DIR", true);
+	public static final boolean CLEANUP_GAMS_DIR = getBooleanProperty("CLEANUP_GAMS_DIR", false);
 
 	// Country (non-gridded) data
 	public static final String DEMAND_CURVES_FILE = DATA_DIR + File.separator + "com_curves.csv";
@@ -96,7 +103,7 @@ public class ModelConfig {
 	public static final String COUNTRY_DATA_FILE = DATA_DIR + File.separator + "country_data.csv";
 	public static final String NET_IMPORTS_FILE = DATA_DIR + File.separator + "net_imports.csv";
 	public static final String BIOENERGY_DEMAND_FILE = DATA_DIR + File.separator + "bio_demand.csv";
-	public static final String TRADE_BARRIERS_FILE = DATA_DIR + File.separator + "tradeBarriers.csv";
+	public static final String TRADE_BARRIERS_FILE = DATA_DIR + File.separator + "trade_barriers_dummy.csv";
 	public static final String STOCKS_FILE = DATA_DIR + File.separator + "global_stocks.csv";
 	
 	// yield data
@@ -104,14 +111,14 @@ public class ModelConfig {
 	public static final int LPJG_MONITOR_TIMEOUT_SEC = getIntProperty("LPJG_MONITOR_TIMEOUT", 60*60*2);
 	public static final String ANPP_FILENAME = getProperty("ANPP_FILENAME", "anpp.out");
 	public static final String YIELD_FILENAME = getProperty("YIELD_FILENAME", "yield.out");
-	public static final boolean PASTURE_FERT_RESPONSE_FROM_LPJ = getBooleanProperty("PASTURE_FERT_RESPONSE_FROM_LPJ", true);;
+	public static final boolean PASTURE_FERT_RESPONSE_FROM_LPJ = getBooleanProperty("PASTURE_FERT_RESPONSE_FROM_LPJ", false);;
 
-	public static final double CALIB_FACTOR_WHEAT = getDoubleProperty("CALIB_FACTOR_WHEAT", 0.966);
-	public static final double CALIB_FACTOR_MAIZE = getDoubleProperty("CALIB_FACTOR_MAIZE", 0.631);
-	public static final double CALIB_FACTOR_RICE = getDoubleProperty("CALIB_FACTOR_RICE", 1.232);
+	public static final double CALIB_FACTOR_WHEAT = getDoubleProperty("CALIB_FACTOR_WHEAT", 0.976);
+	public static final double CALIB_FACTOR_MAIZE = getDoubleProperty("CALIB_FACTOR_MAIZE", 0.667);
+	public static final double CALIB_FACTOR_RICE = getDoubleProperty("CALIB_FACTOR_RICE", 1.247);
 	public static final double CALIB_FACTOR_OILCROPS = getDoubleProperty("CALIB_FACTOR_OILCROPS", 0.192);
 	public static final double CALIB_FACTOR_PULSES = getDoubleProperty("CALIB_FACTOR_PULSES", 0.583);
-	public static final double CALIB_FACTOR_STARCHY_ROOTS = getDoubleProperty("CALIB_FACTOR_STARCHY_ROOTS", 6.027);
+	public static final double CALIB_FACTOR_STARCHY_ROOTS = getDoubleProperty("CALIB_FACTOR_STARCHY_ROOTS", 6.067);
 	
 	// Spatial (gridded) data
 	public static final double CELL_SIZE_X = getDoubleProperty("CELL_SIZE_X", 0.5);
@@ -149,56 +156,55 @@ public class ModelConfig {
 	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
-	public static final double MIN_FERT_AMOUNT = getDoubleProperty("MIN_FERT_AMOUNT", 5.0);
-	public static final double MID_FERT_AMOUNT = getDoubleProperty("MID_FERT_AMOUNT", 20.0);
-	public static final double MAX_FERT_AMOUNT = getDoubleProperty("MAX_FERT_AMOUNT", 200.0);
-	public static final int FERT_AMOUNT_PADDING = getIntProperty("FERT_AMOUNT_PADDING", 3);;
+	public static final double MIN_FERT_AMOUNT = getDoubleProperty("MIN_FERT_AMOUNT", 0.0);
+	public static final double MID_FERT_AMOUNT = getDoubleProperty("MID_FERT_AMOUNT", 200.0);
+	public static final double MAX_FERT_AMOUNT = getDoubleProperty("MAX_FERT_AMOUNT", 1000.0);
+	public static final int FERT_AMOUNT_PADDING = getIntProperty("FERT_AMOUNT_PADDING", 4);;
 
 	// Other model parameters
 	public static final boolean CHANGE_DEMAND_YEAR = IS_CALIBRATION_RUN ? false : getBooleanProperty("CHANGE_DEMAND_YEAR", true);
 	public static final String SSP_SCENARIO = getProperty("SSP_SCENARIO", "SSP1_v9_130325");
 
-	public static final double PASTURE_HARVEST_FRACTION = getDoubleProperty("PASTURE_HARVEST_FRACTION", 0.25);
+	public static final double PASTURE_HARVEST_FRACTION = getDoubleProperty("PASTURE_HARVEST_FRACTION", 0.5);
 	public static final double MEAT_EFFICIENCY = getDoubleProperty("MEAT_EFFICIENCY", 1.0);  // 'meat' is includes feed conversion ratio already, this is tech. change or similar
 	public static final double IRRIGIATION_EFFICIENCY = getDoubleProperty("IRRIGIATION_EFFICIENCY", 0.5);
-	public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 0.6);
+	public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 1.0);
 	public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.15);  
 
 	public static final double TECHNOLOGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("TECHNOLOGY_CHANGE_ANNUAL_RATE", 0.0);
 	public static final int TECHNOLOGY_CHANGE_START_STEP = getIntProperty("TECHNOLOGY_CHANGE_START_STEP", 0);
 	
-	public static final double BIOENERGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("BIOENERGY_CHANGE_ANNUAL_RATE", 0.0);
+	public static final double BIOENERGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("BIOENERGY_CHANGE_ANNUAL_RATE", 0.0); // 6.2/2.31/20
 	public static final int BIOENERGY_CHANGE_START_YEAR = getIntProperty("BIOENERGY_CHANGE_START_YEAR", 2010);
+	public static final int BIOENERGY_CHANGE_END_YEAR = getIntProperty("BIOENERGY_CHANGE_END_YEAR", 2030);
 
-	public static final double MARKET_LAMBA = getDoubleProperty("MARKET_LAMBA", 0.5); // controls international market price adjustment rate
+	public static final double MARKET_LAMBA = getDoubleProperty("MARKET_LAMBA", 0.3); // controls international market price adjustment rate
 
-	public static final double POPULATION_AGGREG_LIMIT = getDoubleProperty("POPULATION_AGGREG_LIMIT", 30.0);  // in millions, smaller countries are aggregated on a regional basis
+	public static final double POPULATION_AGGREG_LIMIT = getDoubleProperty("POPULATION_AGGREG_LIMIT", 40.0);  // in millions, smaller countries are aggregated on a regional basis
 	
 	public static final double UNHANDLED_CROP_AREA = getDoubleProperty("UNHANDLED_CROP_AREA", 0.3);  // includes fruit veg forage crops set aside and failed crop
 	
 	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.02);
-	public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 0.5007 / 0.18); 
+	public static final double IRRIG_COST_SCALE_FACTOR = getDoubleProperty("IRRIG_COST_SCALE_FACTOR", 0.03);
+	public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 0.3/0.34 * 1.1); // $300/t, 34% N/t plus 10% cost for application 
 	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.2);
+	public static final double DOMESTIC_PRICE_MARKUP = getDoubleProperty("DOMESTIC_PRICE_MARKUP", 2.0);
 	public static final double TRANSPORT_LOSSES = getDoubleProperty("TRANSPORT_LOSSES", 0.05);  // in international trade
-	public static final double TRADE_BARRIER_FACTOR_DEFAULT = getDoubleProperty("TRADE_BARRIER_FACTOR_DEFAULT", 0.2);  // price factor in international trade, transport cost and real trade barriers
-	public static final double TRADE_BARRIER_ADJ = getDoubleProperty("TRADE_BARRIER_ADJ", 1.0); //to scale barriers according to SSP's 
+	public static final double TRANSPORT_COST = getDoubleProperty("TRANSPORT_COST", 0.1);  // 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_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 int NUM_CEREAL_CATEGORIES = getIntProperty("NUM_CEREAL_CATEGORIES", 12);
-	public static final int NUM_PASTURE_CATEGORIES = getIntProperty("NUM_PASTURE_CATEGORIES", 3);
+	public static final int NUM_CEREAL_CATEGORIES = getIntProperty("NUM_CEREAL_CATEGORIES", 15);
+	public static final int NUM_PASTURE_CATEGORIES = getIntProperty("NUM_PASTURE_CATEGORIES", 4);
 
 	public static final boolean DEBUG_LIMIT_COUNTRIES = getBooleanProperty("DEBUG_LIMIT_COUNTRIES", false);
-	public static final Object DEBUG_COUNTRY_NAME = getProperty("DEBUG_COUNTRY_NAME", "United States of America");
+	public static final String DEBUG_COUNTRY_NAME = getProperty("DEBUG_COUNTRY_NAME", "United States of America");
 	public static final double PASTURE_MAX_IRRIGATION_RATE = getDoubleProperty("DEFAULT_MAX_IRRIGATION_RATE", 50.0); // shouldn't need this but some areas crops don't have a value, but was causing them to be selected
 	public static final int LPJG_TIMESTEP_SIZE = 5;
-
-	
-
-}
\ No newline at end of file
+}
diff --git a/src/ac/ed/lurg/ModelConfig.java.orig b/src/ac/ed/lurg/ModelConfig.java.orig
new file mode 100644
index 0000000000000000000000000000000000000000..4b33bc0015929c6d714c54cd8f69d8b9e82ac9c8
--- /dev/null
+++ b/src/ac/ed/lurg/ModelConfig.java.orig
@@ -0,0 +1,214 @@
+package ac.ed.lurg;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
+import java.util.Enumeration;
+import java.util.Properties;
+
+public class ModelConfig {
+	
+	private Properties configFile;
+	private static ModelConfig modelConfig;
+	public static final String CONFIG_FILE = System.getProperty("CONFIG_FILE");
+	
+	private ModelConfig() {
+		configFile = new Properties();
+		try {
+			System.out.println("Config. file is " + CONFIG_FILE);
+			if (CONFIG_FILE != null)
+				configFile.load(new FileInputStream(CONFIG_FILE));
+		}
+		catch (IOException e) {
+			System.err.println("Problems reading config file");
+			System.err.println(e.getMessage());
+		}
+
+		Enumeration<?> em = configFile.keys();
+		while(em.hasMoreElements()) {
+			String str = (String) em.nextElement();
+			System.out.println(str + ": " + configFile.get(str));
+		}
+	}
+	
+	private static ModelConfig getModelConfig() {
+		if (modelConfig == null)
+			modelConfig = new ModelConfig();
+
+		return modelConfig;
+	}
+	
+	private static String getProperty(String prop) {
+		return getModelConfig().getProp(prop);
+	}
+	private static String getProperty(String prop, String defaultString) {
+		String propValue = getProperty(prop);
+		return propValue == null ? defaultString : propValue;
+	}
+	private String getProp(String prop) {
+		return configFile.getProperty(prop);
+	}
+	
+	private static Integer getIntProperty(String prop, Integer defaultInt) {
+		Integer propValue = getModelConfig().getIntProp(prop);
+		return propValue == null ? defaultInt : propValue;
+	}
+	private Integer getIntProp(String prop) {
+		String v = configFile.getProperty(prop);
+		return v==null ? null : Integer.valueOf(v);
+	}
+	
+	@SuppressWarnings("unused")
+	private static Long getLongProperty(String prop, Long defaultLong) {
+		Long propValue = getModelConfig().getLongProp(prop);
+		return propValue == null ? defaultLong : propValue;
+	}
+	private Long getLongProp(String prop) {
+		String v = configFile.getProperty(prop);
+		return v==null ? null : Long.valueOf(v);
+	}
+	
+	private static Double getDoubleProperty(String prop, Double defaultDouble) {
+		Double propValue = getModelConfig().getDoubleProp(prop);
+		return propValue == null ? defaultDouble : propValue;
+	}
+	private Double getDoubleProp(String prop) {
+		String v = configFile.getProperty(prop);
+		return v==null ? null :  Double.valueOf(v);
+	}
+	
+	private static Boolean getBooleanProperty(String prop, Boolean defaultBoolean) {
+		return getModelConfig().getBooleanProp(prop, defaultBoolean);
+	}
+	private boolean getBooleanProp(String prop, Boolean defaultBoolean) {
+		String v = configFile.getProperty(prop);
+		return v==null ? defaultBoolean :  Boolean.valueOf(v);
+	}
+
+	public static final boolean SUPPRESS_STD_OUTPUT = getBooleanProperty("SUPPRESS_STD_OUTPUT", Boolean.FALSE);
+
+	// Directory information
+	public static final String BASE_DIR = getProperty("BASE_DIR");  // this must to be set in config file
+	public static final String OUTPUT_DIR = getProperty("OUTPUT_DIR", BASE_DIR + File.separator + "output");
+	public static final String TEMP_DIR = getProperty("TEMP_DIR", OUTPUT_DIR + File.separator + "GamsTmp");
+	public static final String DATA_DIR = getProperty("DATA_DIR", BASE_DIR + File.separator + "data");
+	public static final String GAMS_MODEL = getProperty("GAMS_MODEL", BASE_DIR + File.separator + "GAMS/IntExtOpt.gms");
+	public static final boolean CLEANUP_GAMS_DIR = getBooleanProperty("CLEANUP_GAMS_DIR", false);
+
+	// Country (non-gridded) data
+	public static final String DEMAND_CURVES_FILE = DATA_DIR + File.separator + "com_curves.csv";
+	public static final String SSP_FILE = DATA_DIR + File.separator + "ssp.csv";	
+	public static final String BASELINE_CONSUMP_FILE = DATA_DIR + File.separator + "base_consump.csv";
+	public static final String COUNTRY_CODES_FILE = DATA_DIR + File.separator + "country_codes4.csv";
+	public static final String COUNTRY_DATA_FILE = DATA_DIR + File.separator + "country_data.csv";
+	public static final String NET_IMPORTS_FILE = DATA_DIR + File.separator + "net_imports.csv";
+	public static final String BIOENERGY_DEMAND_FILE = DATA_DIR + File.separator + "bio_demand.csv";
+	public static final String TRADE_BARRIERS_FILE = DATA_DIR + File.separator + "tradeBarriers.csv";
+	public static final String STOCKS_FILE = DATA_DIR + File.separator + "global_stocks.csv";
+	
+	// yield data
+	public static final String YIELD_DIR = getProperty("YIELD_DIR");
+	public static final int LPJG_MONITOR_TIMEOUT_SEC = getIntProperty("LPJG_MONITOR_TIMEOUT", 60*60*2);
+	public static final String ANPP_FILENAME = getProperty("ANPP_FILENAME", "anpp.out");
+	public static final String YIELD_FILENAME = getProperty("YIELD_FILENAME", "yield.out");
+	public static final boolean PASTURE_FERT_RESPONSE_FROM_LPJ = getBooleanProperty("PASTURE_FERT_RESPONSE_FROM_LPJ", false);;
+
+	public static final double CALIB_FACTOR_WHEAT = getDoubleProperty("CALIB_FACTOR_WHEAT", 0.976);
+	public static final double CALIB_FACTOR_MAIZE = getDoubleProperty("CALIB_FACTOR_MAIZE", 0.667);
+	public static final double CALIB_FACTOR_RICE = getDoubleProperty("CALIB_FACTOR_RICE", 1.247);
+	public static final double CALIB_FACTOR_OILCROPS = getDoubleProperty("CALIB_FACTOR_OILCROPS", 0.192);
+	public static final double CALIB_FACTOR_PULSES = getDoubleProperty("CALIB_FACTOR_PULSES", 0.583);
+	public static final double CALIB_FACTOR_STARCHY_ROOTS = getDoubleProperty("CALIB_FACTOR_STARCHY_ROOTS", 6.067);
+	
+	// Spatial (gridded) data
+	public static final double CELL_SIZE_X = getDoubleProperty("CELL_SIZE_X", 0.5);
+	public static final double CELL_SIZE_Y = getDoubleProperty("CELL_SIZE_Y", CELL_SIZE_X);
+	public static final String SPATIAL_DIR_NAME = getProperty("SPATIAL_DIR_NAME", "halfdeg");
+	public static final String SPATIAL_DATA_DIR = getProperty("SPATIAL_DATA_DIR", DATA_DIR + File.separator + SPATIAL_DIR_NAME);
+	public static final String INITAL_LAND_COVER_FILE = SPATIAL_DATA_DIR + File.separator + "netfract_hurtt_2000.txt";
+	public static final String COUNTRY_BOUNDARY_FILE = SPATIAL_DATA_DIR + File.separator + "country_boundaries.asc";
+	public static final String IRRIGATION_COST_FILE = SPATIAL_DATA_DIR + File.separator + "irrigation_cost.asc";
+	public static final String IRRIGATION_CONSTRAINT_FILE = SPATIAL_DATA_DIR + File.separator + "blue_water_available_pseudoCRU_rcp8p5_2004_2013_grid_allhdyro_mm.txt";
+	public static final String IRRIG_MAX_WATER_FILENAME = getProperty("IRRIG_MAX_WATER_FILENAME", "gsirrigation.out");
+	public static final String PROTECTED_AREAS_FILE = SPATIAL_DATA_DIR + File.separator + "protected_areas.txt";
+	
+	// Output
+	public static final String LAND_COVER_OUTPUT_FILE = OUTPUT_DIR + File.separator + "lc.txt";
+	public static final String PRICES_OUTPUT_FILE = OUTPUT_DIR + File.separator + "prices.txt";
+	public static final String DEMAND_OUTPUT_FILE = OUTPUT_DIR + File.separator + "demand.txt";
+	public static final boolean OUTPUT_FOR_LPJG = getBooleanProperty("OUTPUT_FOR_LPJG", true);
+	public static final boolean INTERPOLATE_OUTPUT_YEARS = getBooleanProperty("INTERPOLATE_OUTPUT_YEARS", true);
+	
+	// Calibration related stuff
+	public static final boolean IS_CALIBRATION_RUN = getBooleanProperty("IS_CALIBRATION_RUN", false);
+	public static final String SERIALIZED_LAND_USE_FILE = getProperty("SERIALIZED_LAND_USE_FILE", OUTPUT_DIR + File.separator + "landUseRaster.ser");
+	public static final boolean MARKET_ADJ_PRICE = IS_CALIBRATION_RUN ? false : getBooleanProperty("MARKET_ADJ_PRICE", true);
+	public static final boolean CHANGE_YIELD_DATA_YEAR = IS_CALIBRATION_RUN ? false : getBooleanProperty("CHANGE_YIELD_DATA_YEAR", true);
+
+	// Temporal configuration
+	public static final int START_TIMESTEP = getIntProperty("START_TIMESTEP", 0);
+	public static final int END_TIMESTEP = getIntProperty("END_TIMESTEP", 18);
+	public static final int TIMESTEP_SIZE = getIntProperty("TIMESTEP_SIZE", 5);
+	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.02);
+	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
+	public static final double MIN_FERT_AMOUNT = getDoubleProperty("MIN_FERT_AMOUNT", 0.0);
+	public static final double MID_FERT_AMOUNT = getDoubleProperty("MID_FERT_AMOUNT", 200.0);
+	public static final double MAX_FERT_AMOUNT = getDoubleProperty("MAX_FERT_AMOUNT", 1000.0);
+	public static final int FERT_AMOUNT_PADDING = getIntProperty("FERT_AMOUNT_PADDING", 4);;
+
+	// Other model parameters
+	public static final boolean CHANGE_DEMAND_YEAR = IS_CALIBRATION_RUN ? false : getBooleanProperty("CHANGE_DEMAND_YEAR", true);
+	public static final String SSP_SCENARIO = getProperty("SSP_SCENARIO", "SSP1_v9_130325");
+
+	public static final double PASTURE_HARVEST_FRACTION = getDoubleProperty("PASTURE_HARVEST_FRACTION", 0.5);
+	public static final double MEAT_EFFICIENCY = getDoubleProperty("MEAT_EFFICIENCY", 1.0);  // 'meat' is includes feed conversion ratio already, this is tech. change or similar
+	public static final double IRRIGIATION_EFFICIENCY = getDoubleProperty("IRRIGIATION_EFFICIENCY", 0.5);
+	public static final double LAND_CHANGE_COST = getDoubleProperty("LAND_CHANGE_COST", 1.0);
+	public static final double SEED_AND_WASTE_FRACTION = getDoubleProperty("SEED_AND_WASTE_FRACTION", 0.15);  
+
+	public static final double TECHNOLOGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("TECHNOLOGY_CHANGE_ANNUAL_RATE", 0.0);
+	public static final int TECHNOLOGY_CHANGE_START_STEP = getIntProperty("TECHNOLOGY_CHANGE_START_STEP", 0);
+	
+	public static final double BIOENERGY_CHANGE_ANNUAL_RATE = IS_CALIBRATION_RUN ? 0.0 : getDoubleProperty("BIOENERGY_CHANGE_ANNUAL_RATE", 0.0); // 6.2/2.31/20
+	public static final int BIOENERGY_CHANGE_START_YEAR = getIntProperty("BIOENERGY_CHANGE_START_YEAR", 2010);
+	public static final int BIOENERGY_CHANGE_END_YEAR = getIntProperty("BIOENERGY_CHANGE_END_YEAR", 2030);
+
+	public static final double MARKET_LAMBA = getDoubleProperty("MARKET_LAMBA", 0.3); // controls international market price adjustment rate
+
+	public static final double POPULATION_AGGREG_LIMIT = getDoubleProperty("POPULATION_AGGREG_LIMIT", 40.0);  // in millions, smaller countries are aggregated on a regional basis
+	
+	public static final double UNHANDLED_CROP_AREA = getDoubleProperty("UNHANDLED_CROP_AREA", 0.3);  // includes fruit veg forage crops set aside and failed crop
+	
+	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.03);
+	public static final double FERTILISER_COST_PER_T = getDoubleProperty("FERTILISER_COST_PER_T", 0.3/0.34 * 1.1); // $300/t, 34% N/t plus 10% cost for application 
+	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", 2.0);
+	public static final double TRANSPORT_LOSSES = getDoubleProperty("TRANSPORT_LOSSES", 0.05);  // in international trade
+<<<<<<< local
+	public static final double TRADE_BARRIER_FACTOR_DEFAULT = getDoubleProperty("TRADE_BARRIER_FACTOR_DEFAULT", 0.2);  // price factor in international trade, transport cost and real trade barriers
+	public static final double TRADE_BARRIER_ADJ = getDoubleProperty("TRADE_BARRIER_ADJ", 1.0); //to scale barriers according to SSP's 
+=======
+	public static final double TRANSPORT_COST = getDoubleProperty("TRANSPORT_COST", 0.1);  // 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
+>>>>>>> other
+	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 int NUM_CEREAL_CATEGORIES = getIntProperty("NUM_CEREAL_CATEGORIES", 15);
+	public static final int NUM_PASTURE_CATEGORIES = getIntProperty("NUM_PASTURE_CATEGORIES", 4);
+
+	public static final boolean DEBUG_LIMIT_COUNTRIES = getBooleanProperty("DEBUG_LIMIT_COUNTRIES", false);
+	public static final String DEBUG_COUNTRY_NAME = getProperty("DEBUG_COUNTRY_NAME", "United States of America");
+	public static final double PASTURE_MAX_IRRIGATION_RATE = getDoubleProperty("DEFAULT_MAX_IRRIGATION_RATE", 50.0); // shouldn't need this but some areas crops don't have a value, but was causing them to be selected
+	public static final int LPJG_TIMESTEP_SIZE = 5;
+}
diff --git a/src/ac/ed/lurg/ModelMain.java b/src/ac/ed/lurg/ModelMain.java
index 942f1d1ea487b875489ad34ab8a816996920bb33..563f3015a580b130df392c3d03c2a033d096212d 100644
--- a/src/ac/ed/lurg/ModelMain.java
+++ b/src/ac/ed/lurg/ModelMain.java
@@ -90,17 +90,17 @@ public class ModelMain {
 		countryBoundaryRaster = getCountryBoundaryRaster();
 		countryAgents = createCountryAgents(compositeCountryManager.getAll());
 
-		// in first timestep we don't have this info, but ok as constrained to import/export specified amount, values based on http://www.indexmundi.com/commodities/
+		// in first timestep we don't have this info, but ok as constrained to import/export specified amount, values based on http://www.indexmundi.com/commodities/ for Jun 2010
 		prevWorldPrices = new HashMap<CropType, GlobalPrice>();  
-		prevWorldPrices.put(CropType.WHEAT, GlobalPrice.createInitial(0.274));
-		prevWorldPrices.put(CropType.MAIZE, GlobalPrice.createInitial(0.251));
-		prevWorldPrices.put(CropType.RICE, GlobalPrice.createInitial(0.282));  // 9.8/0.0508023 * 537/368 adjust from hunderdweight of rough rice to k$/t in 2010
-		prevWorldPrices.put(CropType.OILCROPS, GlobalPrice.createInitial((1.21 * .4 + 0.387 * .6)));
+		prevWorldPrices.put(CropType.WHEAT, GlobalPrice.createInitial(0.157));
+		prevWorldPrices.put(CropType.MAIZE, GlobalPrice.createInitial(0.152));
+		prevWorldPrices.put(CropType.RICE, GlobalPrice.createInitial(0.282));
+		prevWorldPrices.put(CropType.OILCROPS, GlobalPrice.createInitial((0.820 * .4 + 0.314 * .6)));
 		
 		prevWorldPrices.put(CropType.PULSES, GlobalPrice.createInitial(0.4));
 		prevWorldPrices.put(CropType.STARCHY_ROOTS, GlobalPrice.createInitial(0.1));
-		prevWorldPrices.put(CropType.MONOGASTRICS, GlobalPrice.createInitial(0.4 * 0.7));  // quantities is in feed equivalent term (0.4 is weighted average price per feed, and 0.7 accounts for mark-up for additional processing)
-		prevWorldPrices.put(CropType.RUMINANTS, GlobalPrice.createInitial(0.2 * 0.6));  // quantities is in feed equivalent term
+		prevWorldPrices.put(CropType.MONOGASTRICS, GlobalPrice.createInitial(0.4 * 0.5));  // quantities is in feed equivalent term (0.4 is weighted average price per feed, and 0.5 accounts for mark-up for additional processing)
+		prevWorldPrices.put(CropType.RUMINANTS, GlobalPrice.createInitial(0.2 * 0.2));  // quantities is in feed equivalent term
 		prevStockLevel = getInitialStockLevels();
 	}
 
@@ -157,7 +157,7 @@ public class ModelMain {
 			}
 			
 			// some hacky code for debug purposes that keeps each gams gdx file
-			if (ca.getCountry().getName().equals("Spain")) {
+/*			if (ca.getCountry().getName().equals("Spain")) {
 				try {
 					Files.copy(
 						FileSystems.getDefault().getPath("/Users/peteralexander/Documents/R_Workspace/UNPLUM/temp/GamsTmp/_gams_java_gdb1.gdx"),
@@ -165,9 +165,9 @@ public class ModelMain {
 						, StandardCopyOption.REPLACE_EXISTING);
 				} catch (IOException e) {
 					// TODO Auto-generated catch block
-					e.printStackTrace();
+					LogWriter.printException(e);
 				}
-			} 
+			} */
 
 			// update global rasters
 			globalLandUseRaster.putAll(result.getLandUses());
@@ -233,20 +233,21 @@ public class ModelMain {
 
 	private void writeLandCoverFile(Timestep timestep, RasterSet<LandUseItem> landUseRaster) {
 		try {
-			StringBuffer sbHeadings = new StringBuffer("Year, Cropland (Mha), Pasture (Mha), Natural (Mha), Fert crop (Mt), Fert pasture (Mt), Irrig crop (km3), Irrig pasture (km3)");
+			StringBuffer sbHeadings = new StringBuffer("Year,Cropland (Mha),Pasture (Mha),Forest (Mha),Natural (Mha),Fert crop (Mt),Fert pasture (Mt),Irrig crop (km3),Irrig pasture (km3)");
 			BufferedWriter outputFile = getFileWriter(timestep, ModelConfig.LAND_COVER_OUTPUT_FILE, sbHeadings.toString());
 
 			StringBuffer sbData = new StringBuffer();
-			sbData.append(String.format("%d, %.1f, %.1f, %.1f", 
+			sbData.append(String.format("%d,%.1f,%.1f,%.1f,%.1f", 
 					timestep.getYear(), 
 					LandUseItem.getTotalLandCover(landUseRaster.values(), LandCoverType.CROPLAND),
 					LandUseItem.getTotalLandCover(landUseRaster.values(), LandCoverType.PASTURE),
+					LandUseItem.getTotalLandCover(landUseRaster.values(), LandCoverType.FOREST),
 					LandUseItem.getTotalLandCover(landUseRaster.values(), LandCoverType.OTHER_NATURAL)));
 
-			sbData.append(String.format(", %.1f", LandUseItem.getFertiliserTotal(landUseRaster.values(), CropType.getCropsLessPasture())/1000));
-			sbData.append(String.format(", %.1f", LandUseItem.getFertiliserTotal(landUseRaster.values(), CropType.PASTURE)/1000));
-			sbData.append(String.format(", %.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.getCropsLessPasture())));
-			sbData.append(String.format(", %.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.PASTURE)));
+			sbData.append(String.format(",%.1f", LandUseItem.getFertiliserTotal(landUseRaster.values(), CropType.getCropsLessPasture())/1000));
+			sbData.append(String.format(",%.1f", LandUseItem.getFertiliserTotal(landUseRaster.values(), CropType.PASTURE)/1000));
+			sbData.append(String.format(",%.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.getCropsLessPasture())));
+			sbData.append(String.format(",%.1f", LandUseItem.getIrrigationTotal(landUseRaster.values(), CropType.PASTURE)));
 
 			outputFile.write(sbData.toString());
 			outputFile.newLine();
@@ -349,8 +350,9 @@ public class ModelMain {
 		LandUseOutputer landuseOutputer = new LandUseOutputer(timestep.getYear(), landUseRaster);
 		landuseOutputer.writeOutput();
 
-		outputLandCover(timestep.getYear(), landUseRaster, LandCoverType.CROPLAND);
-		outputLandCover(timestep.getYear(), landUseRaster, LandCoverType.PASTURE); 
+		// don't really need this a LPJ outputs have same data, although in a slightly different format
+//		outputLandCover(timestep.getYear(), landUseRaster, LandCoverType.CROPLAND);
+//		outputLandCover(timestep.getYear(), landUseRaster, LandCoverType.PASTURE); 
 	}
 
 
@@ -537,4 +539,4 @@ public class ModelMain {
 		return initialStockLevels;
 		
 	}
-}
\ No newline at end of file
+}
diff --git a/src/ac/ed/lurg/Timestep.java b/src/ac/ed/lurg/Timestep.java
index e5127fe5eaee1efa7bc353ef98904cd62a41ba01..c03a1b3fb478733b5f41631ab7891a9093bb31a6 100644
--- a/src/ac/ed/lurg/Timestep.java
+++ b/src/ac/ed/lurg/Timestep.java
@@ -85,9 +85,15 @@ public class Timestep {
 	}
 	
 	public String getYearSubDir(String rootDir) {
-		if (ModelConfig.CHANGE_YIELD_DATA_YEAR)
-			return rootDir + File.separator + (getYieldYear()-ModelConfig.LPJG_TIMESTEP_SIZE+1) + "-" + getYieldYear();
-		else
-			return rootDir + File.separator + (ModelConfig.BASE_YEAR-ModelConfig.LPJG_TIMESTEP_SIZE+1) + "-" + ModelConfig.BASE_YEAR;
+		int endYear;
+		
+		if (ModelConfig.CHANGE_YIELD_DATA_YEAR) {
+			endYear = (getYieldYear()/ModelConfig.LPJG_TIMESTEP_SIZE) * ModelConfig.LPJG_TIMESTEP_SIZE;  // truncation in division as int
+		}
+		else {
+			endYear = ModelConfig.BASE_YEAR;
+		}
+		
+		return rootDir + File.separator + (endYear-ModelConfig.LPJG_TIMESTEP_SIZE+1) + "-" + endYear;
 	}
 }
diff --git a/src/ac/ed/lurg/country/CompositeCountryManager.java b/src/ac/ed/lurg/country/CompositeCountryManager.java
index d202092b9b5912ce8600fe006cf202bb53305179..454b8c4b0d88ee2c4e5e2f58b69f7b161c02fed7 100644
--- a/src/ac/ed/lurg/country/CompositeCountryManager.java
+++ b/src/ac/ed/lurg/country/CompositeCountryManager.java
@@ -1,5 +1,6 @@
 package ac.ed.lurg.country;
 
+import java.util.Arrays;
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.HashSet;
@@ -24,7 +25,7 @@ public class CompositeCountryManager {
 	private void populate(BaseConsumpManager baseConsumpManager) {
 		mapFromSingleCountry = new HashMap<SingleCountry, CompositeCountry>();
 		
-		HashSet<String> countryExclusionList = new HashSet<String>();//Arrays.asList("Bangladesh", "Democratic Republic of the Congo"));
+		HashSet<String> countryExclusionList = new HashSet<String>(Arrays.asList("Philippines"));
 		
 		for (SingleCountry c : baseConsumpManager.getAllCountries()) {
 			CompositeCountry cc;
diff --git a/src/ac/ed/lurg/country/GlobalPrice.java.orig b/src/ac/ed/lurg/country/GlobalPrice.java.orig
new file mode 100644
index 0000000000000000000000000000000000000000..3a8658376d00efc04363c6f2e5a05ff8f67557da
--- /dev/null
+++ b/src/ac/ed/lurg/country/GlobalPrice.java.orig
@@ -0,0 +1,58 @@
+package ac.ed.lurg.country;
+
+import ac.ed.lurg.ModelConfig;
+
+public class GlobalPrice {
+	double exportPrice;
+	double importAmount;
+	double exportAmount;
+
+	public GlobalPrice(double exportPrice, double importAmount, double exportAmount) {
+		this.exportPrice = exportPrice;
+		this.importAmount = importAmount;
+		this.exportAmount = exportAmount;
+	}
+	
+	public static GlobalPrice createInitial(double exportPrice) {
+		return new GlobalPrice(exportPrice, Double.NaN, Double.NaN);
+	}
+
+	public double getExportPrice() {
+		return exportPrice;
+	}
+	
+	public double getCountryImportPrice(double countryTradeBarrier) {
+		double importPrice = exportPrice * (1.0 + countryTradeBarrier*ModelConfig.TRADE_BARRIER_ADJ) / (1.0 - ModelConfig.TRANSPORT_LOSSES);
+		return importPrice;
+	}
+
+	public double getImportAmount() {
+		return importAmount;
+	}
+	
+	public double getExportAmount() {
+		return exportAmount;
+	}
+
+	public GlobalPrice createWithUpdatedMarketPrices(double imports, double exports, boolean adjustPrice) {
+		if (imports > 0 || exports > 0) {
+			double ratio;
+
+			if (imports > exports)
+				ratio = (imports-exports)/imports;
+			else
+				ratio = (imports-exports)/exports;
+
+			double adjustment = adjustPrice ? Math.exp(ratio * ModelConfig.MARKET_LAMBA) : 1.0;
+			return new GlobalPrice(exportPrice * adjustment, imports, exports);
+		}
+		else {
+			return this;
+		}
+	}
+
+	@Override
+	public String toString() {
+		return String.format("export=%.3f", exportPrice);
+	}
+}
diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
index efb19bd7ec16de8306b4a2a048d076b8a4ceb5b0..8e1703ad6cda12d3d4756af3c2cdfe04eaa88083 100644
--- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
+++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java
@@ -45,7 +45,7 @@ public class GamsLocationOptimiser {
 
 	public GamsLocationOutput run() {
 
-		File workingDirectory = new File(ModelConfig.TEMP_DIR, "GamsTmp");
+		File workingDirectory = new File(ModelConfig.TEMP_DIR);
 		workingDirectory.mkdir();
 
 		GAMSWorkspaceInfo  wsInfo  = new GAMSWorkspaceInfo();
@@ -374,4 +374,4 @@ public class GamsLocationOptimiser {
 			LogWriter.print(e);
 		}
 	}
-}
\ No newline at end of file
+}
diff --git a/src/ac/ed/lurg/demand/DemandManager.java b/src/ac/ed/lurg/demand/DemandManager.java
index d3c15d30377c40e4853187fecf69fe4f327906ca..88a52b82f64310d0a4a58f06759e627c96622276 100644
--- a/src/ac/ed/lurg/demand/DemandManager.java
+++ b/src/ac/ed/lurg/demand/DemandManager.java
@@ -76,7 +76,7 @@ public class DemandManager {
 		if (bioenergyBaseDemand != null && bioenergyBaseDemand.containsKey(country)) {
 			Double d = bioenergyBaseDemand.get(country).get(commodity);
 			
-			int yearsOfChange = year - ModelConfig.BIOENERGY_CHANGE_START_YEAR;
+			int yearsOfChange = Math.min(ModelConfig.BIOENERGY_CHANGE_END_YEAR - ModelConfig.BIOENERGY_CHANGE_START_YEAR, year - ModelConfig.BIOENERGY_CHANGE_START_YEAR);
 			double bioenergyDemandAdj = yearsOfChange > 0 ?  (1.0 +  yearsOfChange * ModelConfig.BIOENERGY_CHANGE_ANNUAL_RATE) : 1.0 ;
 
 			return d == null ? 0 : d.doubleValue() * bioenergyDemandAdj;
diff --git a/src/ac/ed/lurg/yield/LPJYieldResponseMapReader.java b/src/ac/ed/lurg/yield/LPJYieldResponseMapReader.java
index 771526c073e2cf2fcf16f495ffff96745d99fe5c..901ecab40f7fd6bce3c69f57df0bffcf7f1f8c05 100644
--- a/src/ac/ed/lurg/yield/LPJYieldResponseMapReader.java
+++ b/src/ac/ed/lurg/yield/LPJYieldResponseMapReader.java
@@ -53,7 +53,7 @@ public class LPJYieldResponseMapReader {
 		
 		AbstractTabularRasterReader<YieldResponsesItem> nppReader = new AbstractTabularRasterReader<YieldResponsesItem>("\\s+", 10, yieldRaster) {
 			protected void setData(RasterKey key, YieldResponsesItem item, Map<String, Double> rowValues) {
-				double adjFactor = 10 * ModelConfig.PASTURE_HARVEST_FRACTION / 0.446;  // 10 for kg/m2 to t/ha, 0.446 carbon units / dry matter, from Osaki, M., Shinano, T., Tadano, T., 1992. Carbon-nitrogen interaction in field crop production. Soil Science and Plant Nutrition 38, 553–564.
+				double adjFactor = 10 * ModelConfig.PASTURE_HARVEST_FRACTION / 0.446;  // 10 for kg/m2 to t/ha, 0.446 carbon units / dry matter, from Osaki, M., Shinano, T., Tadano, T., 1992. Carbon-nitrogen interaction in field crop production. Soil Science and Plant Nutrition 38, 553-564.
 								
 				for (FertiliserRate fert : FertiliserRate.values()) {
 					double pastureYield;
@@ -115,4 +115,4 @@ public class LPJYieldResponseMapReader {
 		
 		item.setYield(yieldType, crop, yieldAdj);  // applying the calibration factor can't go in YieldResponsesItem.setYield as this is also called from elsewhere
 	}
-}
\ No newline at end of file
+}