From 070ce500b53676bc0c36faabb316967eab2ef144 Mon Sep 17 00:00:00 2001 From: Bart Arendarczyk <s1924442@ed.ac.uk> Date: Thu, 18 May 2023 14:10:01 +0100 Subject: [PATCH] Some forestry fixes and refactoring. --- GAMS/IntExtOpt.gms | 45 ++- GAMS/woodDemand.gms | 121 ++++++++ data/wood_base_demand.csv | 276 +++++++++--------- src/ac/ed/lurg/ModelConfig.java | 9 +- .../country/gams/GamsLocationOptimiser.java | 30 +- src/ac/ed/lurg/types/WoodType.java | 12 +- 6 files changed, 316 insertions(+), 177 deletions(-) create mode 100644 GAMS/woodDemand.gms diff --git a/GAMS/IntExtOpt.gms b/GAMS/IntExtOpt.gms index b2c4732f..4fefa8d8 100644 --- a/GAMS/IntExtOpt.gms +++ b/GAMS/IntExtOpt.gms @@ -60,6 +60,7 @@ PARAMETER maxRotationIntensity(wood_type); PARAMETER forestBaseCost(managed_forest); PARAMETER previousRotationIntensity(location); + PARAMETER minRotationIntensity(location); SCALAR meatEfficency efficiency of converting feed and pasture into animal products; SCALAR fertiliserUnitCost fert cost at max fert rate; @@ -86,7 +87,7 @@ $load yieldNone, yieldFertOnly, yieldIrrigOnly, yieldBoth, yieldShock $load fertParam, irrigParam, otherIParam, exportPrices, importPrices, maxNetImport, minNetImport, unhandledCropRate, setAsideRate, maxGrossLccRate, subsidyRate $load meatEfficency, otherICost, irrigCost, irrigMaxRate, irrigConstraint, fertiliserUnitCost, domesticPriceMarkup, minDemandFraction, seedAndWasteRate $load previousLandCoverArea, maxCroplandArea, carbonCreditRate, conversionCost, woodYieldMax, woodYieldParam, maxRotationIntensity, forestBaseCost, tradeAdjustmentCostRate -$load forestManagementCost, vegClearingCostRate, carbonForestMaxProportion, maxFertChange, maxIrrigChange, previousRotationIntensity +$load forestManagementCost, vegClearingCostRate, carbonForestMaxProportion, maxFertChange, maxIrrigChange, previousRotationIntensity, minRotationIntensity $gdxin SCALAR delta "use to smooth power function see 7.5 www.gams.com dd docs solversconopt.pdf" / 0.00000000001 /; @@ -144,6 +145,11 @@ $gdxin PARAMETER previousNetImport(import_types); previousNetImport(import_types) = previousImportAmount(import_types) - previousExportAmount(import_types); + PARAMETER loggingCost(wood_type) + / roundwood 0.1 + fuelwood 0.05 + /; + VARIABLES unitCost(crop, location) cost per area for each crop - cost @@ -168,7 +174,8 @@ $gdxin woodYieldRota(location) wood yield tC per ha rotationIntensity(location) equivalent to 1 divided by rotation period - woodSupply(location) wood supply MtC + totalWoodSupply(location) wood supply MtC + woodSupply(wood_type) forestryCost(location) total cost in 1000$ carbonCredits(location) @@ -176,7 +183,7 @@ $gdxin total_cost total cost of domestic supply including net imports; POSITIVE VARIABLE cropArea, fertI, irrigI, otherIntensity, netSupply, ruminantFeed, monogastricFeed, importAmount, exportAmount, totalFeedDM, - landCoverArea, landCoverChange, totalConversionCost, animalProd, woodYieldRota, rotationIntensity, woodSupply; + landCoverArea, landCoverChange, totalConversionCost, animalProd, woodYieldRota, rotationIntensity, totalWoodSupply, woodSupply; * POSITIVE VARIABLE A; @@ -210,7 +217,8 @@ $gdxin WOOD_YIELD_CALC(location) wood yield at rotation - tC per ha WOOD_SUPPLY_CALC(location) wood supply - WOOD_DEMAND_CONSTRAINT satisfy wood demand and trade + WOOD_SUPPLY_CONSTRAINT + WOOD_DEMAND_CONSTRAINT(wood_type) ROUNDWOOD_DEMAND_CONSTRAINT satisfy roundwood demand (can only by obtained from older trees) FORESTRY_COST_CALC(location) total forestry cost @@ -297,19 +305,20 @@ $gdxin * Upper and lower bounds on rotation intensity rotationIntensity.UP(location) = 1 / 10; - rotationIntensity.LO(location) = 1 / 150; + rotationIntensity.LO(location) = minRotationIntensity(location); - WOOD_SUPPLY_CALC(location) .. woodSupply(location) =E= woodYieldRota(location) * rotationIntensity(location) * landCoverArea('timberForest', location); - - WOOD_DEMAND_CONSTRAINT .. sum(location, woodSupply(location)) =G= sum(wood_type, demand(wood_type) + exportAmount(wood_type) - importAmount(wood_type)); + WOOD_SUPPLY_CALC(location) .. totalWoodSupply(location) =E= woodYieldRota(location) * rotationIntensity(location) * landCoverArea('timberForest', location); -* The sigmoid function here calculates the proportion of wood yield that is suitable for roundwood (maximum 85% with halfway point at 25 years). - ROUNDWOOD_DEMAND_CONSTRAINT .. sum(location, woodSupply(location) * 0.85 * sigmoid(0.2 * (1 / rotationIntensity(location) - 25))) =G= demand('roundwood') + exportAmount('roundwood') - importAmount('roundwood'); + WOOD_SUPPLY_CONSTRAINT .. sum(wood_type, woodSupply(wood_type)) =E= sum(location, totalWoodSupply(location)); + + WOOD_DEMAND_CONSTRAINT(wood_type) .. woodSupply(wood_type) =G= demand(wood_type) + exportAmount(wood_type) - importAmount(wood_type); + +* The sigmoid function here calculates the proportion of wood yield that is suitable for roundwood (maximum 100% with halfway point at 25 years). + ROUNDWOOD_DEMAND_CONSTRAINT .. sum(location, totalWoodSupply(location) * sigmoid(0.2 * (1 / rotationIntensity(location) - 25))) =G= woodSupply('roundwood'); FORESTRY_COST_CALC(location) .. forestryCost(location) =E= sum(managed_forest, landCoverArea(managed_forest, location) * forestBaseCost(managed_forest)) + forestManagementCost * rotationIntensity(location) * landCoverArea('timberForest', location) - + sum(land_cover$[not sameAs(land_cover, 'carbonForest')], landCoverChange(land_cover, 'carbonForest', location) * forestManagementCost) - + woodSupply(location) * vegClearingCostRate; + + sum(land_cover$[not sameAs(land_cover, 'carbonForest')], landCoverChange(land_cover, 'carbonForest', location) * forestManagementCost); *********** Carbon *********************************** @@ -335,9 +344,10 @@ $gdxin ************ Total cost ****************************** COST_CALC .. total_cost =E= sum((crop, location), cropArea(crop, location) * unitCost(crop, location) * (1 - subsidyRate(crop))) * domesticPriceMarkup + - sum(animal, animalProd(animal) * animalProdCost(animal) * (1 - subsidyRate(animal))) + + sum(animal, animalProd(animal) * animalProdCost(animal) * (1 - subsidyRate(animal))) * domesticPriceMarkup + sum(location, totalConversionCost(location)) + sum(location, forestryCost(location)) + + sum(wood_type, woodSupply(wood_type) * loggingCost(wood_type)) + sum(import_types, importPrices(import_types) * importAmount(import_types)) - sum(import_types, exportPrices(import_types) * exportAmount(import_types)) + sum(import_types, tradeAdjustmentCost(import_types)); @@ -382,7 +392,8 @@ $gdxin parameter carbonFlux(location); scalar netCarbonCredits; scalar totalWoodNetDemand; - parameter woodSupplyP(wood_type); + scalar totalWoodProdCost; + scalar totalWoodSupplyP; * Production quantities based on smaller area (before unhandledCropArea adjustment applied) totalProd(crop) = sum(location, cropArea.l(crop, location) * yield.l(crop, location)); @@ -404,8 +415,10 @@ $gdxin netCarbonCredits = SUM(location, carbonCredits.L(location)); - totalWoodNetDemand = sum(wood_type, demand(wood_type) + exportAmount.L(wood_type) - importAmount.L(wood_type)); - woodSupplyP(wood_type) = sum(location, woodSupply.L(location)) * (demand(wood_type) + exportAmount.L(wood_type) - importAmount.L(wood_type)) / (totalWoodNetDemand + 1E-6); + totalWoodProdCost = sum(location, (forestBaseCost('timberForest') + forestManagementCost * rotationIntensity.L(location)) * landCoverArea.L('timberForest', location) + + totalWoodSupply.L(location) * vegClearingCostRate); + + totalWoodSupplyP = sum(location, totalWoodSupply.L(location)); Scalar totalCostsLessLU; diff --git a/GAMS/woodDemand.gms b/GAMS/woodDemand.gms new file mode 100644 index 00000000..7765d761 --- /dev/null +++ b/GAMS/woodDemand.gms @@ -0,0 +1,121 @@ +$ondotl + +Set i(*); +ALIAS (i,j); + +PARAMETER + alpha(i) Parameter of MAIDADS + beta(i) Parameter of MAIDADS + kappa Parameter of MAIDADS + delta(i) Parameter of MAIDADS + tau(i) Parameter of MAIDADS + omega Parameter of MAIDADS + previousU + previousSubs(i) + previousDisc(i) +; + +$gdxin %gdx_parameters% +$load i, alpha, beta, kappa, delta, tau, omega +$gdxin + +VARIABLE + u Utility + error Error term for NLS + ressq Residual squared +; + +POSITIVE VARIABLE + DiscretionaryC(i) Discretionary consumption + SubsistenceC(i) Subsistence consumption + w(i) Budget share by commodity +; + +PARAMETER + p(i) Price, + m GDP per capita +; + +$gdxin %gdx_prices_and_gdp% +*$gdxin "../../GAMS/PricesAndGdp.gdx" +$load p=price, m=gdp_pc, previousU, previousSubs, previousDisc +$gdxin + +display p, m, alpha, beta, kappa, delta, tau, omega; + +w.up(j) = 1; + +EQUATIONS + EQ_w(i) "Definition of budget share" + EQ_u "Implicit definition of utility" + EQ_DiscretionaryC(i) + EQ_SubsistenceC(j) + EQ_u_NLS "Relaxed constraint for NLS" + EQ_ressq_NLS +; + +EQ_w(j).. + w(j) =e= (SubsistenceC(j) + DiscretionaryC(j)) * p(j) / m; + +EQ_u .. sum(i, (alpha(i)+ beta(i)* exp(u)) / (1 + exp(u)) * log(DiscretionaryC(i))) - u =e= kappa; + +EQ_u_NLS .. sum(i, (alpha(i)+ beta(i)* exp(u)) / (1 + exp(u)) * log(DiscretionaryC(i))) - u =e= kappa + error; + +EQ_DiscretionaryC(i)$p(i).. DiscretionaryC(i) =e= [(alpha(i) + beta(i) * exp(u))/(1 + exp(u))] / p(i) * [m - sum(j, p(j) * SubsistenceC(j))]; + +EQ_SubsistenceC(j).. SubsistenceC(j) =e= (delta(j) + tau(j) * exp(omega * u)) / (1 + exp(omega * u)); + +EQ_ressq_NLS .. ressq =e= sqr(error); + +model MAIDADS_Sim_CNS "MAIDADS model for simulation" / + EQ_w + EQ_u + EQ_DiscretionaryC + EQ_SubsistenceC +/ ; + +model MAIDADS_Sim_NLP / + EQ_w + EQ_u_NLS + EQ_DiscretionaryC + EQ_SubsistenceC + EQ_ressq_NLS +/ ; + +MAIDADS_Sim_CNS.optfile = 1; +option cns=path; + +Parameter minSpending; +minSpending = sum(i, p(i)*delta(i)); + +Scalar ms 'model status', ss 'solve status'; +u = previousU; + +If(minSpending < m, + + SubsistenceC(i) = previousSubs(i); + DiscretionaryC(i) = previousDisc(i); + DiscretionaryC.LO(i) = 1E-11; + SubsistenceC.LO(j) = 0; + w(j) = (SubsistenceC(j)+DiscretionaryC(j))*p(j)/m; + +* Initial solution by least square. If no exact solution then go back to least square + solve MAIDADS_Sim_NLP using nlp minimising ressq; + solve MAIDADS_Sim_CNS using cns; + + ms=MAIDADS_Sim_CNS.modelstat; + ss=MAIDADS_Sim_CNS.solvestat; + + if ((MAIDADS_Sim_CNS.modelstat ne 16), + solve MAIDADS_Sim_NLP using nlp minimising ressq; + ms=MAIDADS_Sim_NLP.modelstat; + ss=MAIDADS_Sim_NLP.solvestat; + ); +else + SubsistenceC(i) = delta(i); + DiscretionaryC(i) = 0; +) + + + +display SubsistenceC.l, DiscretionaryC.l; diff --git a/data/wood_base_demand.csv b/data/wood_base_demand.csv index f9d3861a..a526f1a3 100644 --- a/data/wood_base_demand.csv +++ b/data/wood_base_demand.csv @@ -2,21 +2,21 @@ Iso3,Item,DemandPc,Price,Production,NetImport AFG,Industrial roundwood,0.061364981,232.6481474,1.759918,0.427339667 AFG,Wood fuel,0.052088804,437.5,1.856559,6.40E-05 ALB,Industrial roundwood,0.104812015,259.195158,0.024,0.277791 -ALB,Wood fuel,0.409923519,75.41990271,1.185613333,-0.005298 +ALB,Wood fuel,0.407449817,75.41990271,1.206,-0.032807333 DZA,Industrial roundwood,0.086277556,401.4192736,0.10232,3.446840667 DZA,Wood fuel,0.209905615,155.2301323,8.634792,0 AGO,Industrial roundwood,0.040504631,615.1216105,1.249327,-0.025737667 AGO,Wood fuel,0.154821066,155.2301323,4.676932,0 -ARG,Industrial roundwood,0.333221162,719.5438835,13.792033,0.887897333 -ARG,Wood fuel,0.092690983,233.3765512,4.083585667,-1.20E-04 +ARG,Industrial roundwood,0.333311709,719.5438835,13.796022,0.887897333 +ARG,Wood fuel,0.092638563,233.3765512,4.087995,-0.006838667 ARM,Industrial roundwood,0.076035597,401.9821841,0.005,0.211847667 -ARM,Wood fuel,0.542094813,671.8665638,1.546011667,1.00E-06 -AUS,Industrial roundwood,0.564707566,186.1466157,32.804804,-18.91845633 -AUS,Wood fuel,0.17065505,94.82618261,4.358941667,-0.162477 +ARM,Wood fuel,0.542093995,671.8665638,1.546,1.03E-05 +AUS,Industrial roundwood,0.567429855,186.1466157,32.871746,-18.91845633 +AUS,Wood fuel,0.168807765,94.82618261,4.399583,-0.248543667 AUT,Industrial roundwood,2.635896207,314.0779761,23.369815,-0.180528667 -AUT,Wood fuel,0.812354409,174.2455104,6.713529667,0.433155 +AUT,Wood fuel,0.771324174,174.2455104,6.628713,0.157008333 AZE,Industrial roundwood,0.138629768,186.1466157,0.0047,1.391519 -AZE,Wood fuel,0.041950771,179.245283,0.42251,0 +AZE,Wood fuel,0.041940643,179.245283,0.422266667,1.41E-04 BHS,Industrial roundwood,0.171548627,514.8974566,0.015244,0.053207333 BHS,Wood fuel,0.084654905,155.2301323,0.033779,0 BHR,Industrial roundwood,0.223616418,379.7158663,0,0.325772 @@ -25,10 +25,10 @@ BGD,Industrial roundwood,0.015860532,564.9780857,0.474633333,2.091505 BGD,Wood fuel,0.160719166,155.2301323,26.003391,0 BRB,Industrial roundwood,0.162632931,569.328433,0.005627,0.039778 BRB,Wood fuel,0.017110396,155.2301323,0.004777,0 -BLR,Industrial roundwood,0.507461158,186.1466157,13.592315,-8.665945 -BLR,Wood fuel,1.000829979,103.8910004,9.715933333,0 +BLR,Industrial roundwood,0.517453045,186.1466157,13.689315,-8.665945 +BLR,Wood fuel,1.000071145,103.8910004,10.0671,-0.358533333 BEL,Industrial roundwood,0.695400441,427.4236307,5.291256667,2.625522 -BEL,Wood fuel,0.307165097,152.6299559,3.347776667,0.149141 +BEL,Wood fuel,0.264035771,152.6299559,1.55675,1.449162333 BLZ,Industrial roundwood,0.223057276,387.0373602,0.040177,0.043401 BLZ,Wood fuel,0.336275297,155.2301323,0.126,0 BEN,Industrial roundwood,0.029279826,644.0340416,0.383855,-0.044303333 @@ -38,85 +38,85 @@ BTN,Wood fuel,6.870707202,155.2301323,5.195086,0 BOL,Industrial roundwood,0.103898903,523.3847956,0.950954,0.237185333 BOL,Wood fuel,0.215734763,155.2301323,2.467042,0 BIH,Industrial roundwood,0.514208173,303.3461262,2.387453333,-0.618563333 -BIH,Wood fuel,0.287919252,80.07432963,1.86705,-0.8766 +BIH,Wood fuel,0.266073493,80.07432963,2.024633333,-1.109333333 BWA,Industrial roundwood,0.086822186,394.0693943,0.086381,0.122152 -BWA,Wood fuel,0.291159833,671.8665638,0.699308333,1.10E-05 -BRA,Industrial roundwood,0.538669117,410.7055042,146.1522227,-33.83704 -BRA,Wood fuel,0.602476571,163.179539,125.6193533,0 -BRN,Industrial roundwood,0.2162364,485.696462,0.064464,0.028577333 -BRN,Wood fuel,0.028978299,542.5531915,0.012447667,2.10E-05 -BGR,Industrial roundwood,0.280399052,334.8167532,3.027789333,-1.013843333 -BGR,Wood fuel,0.416038652,125.1767767,3.158921667,-0.170754 +BWA,Wood fuel,0.291159139,671.8665638,0.6993,1.77E-05 +BRA,Industrial roundwood,0.543258776,410.7055042,147.1091893,-33.83704 +BRA,Wood fuel,0.598057153,163.179539,124.8398667,-0.141984 +BRN,Industrial roundwood,0.216738404,485.696462,0.06468,0.028577333 +BRN,Wood fuel,0.02860567,542.5531915,0.01251,-2.02E-04 +BGR,Industrial roundwood,0.290805885,334.8167532,3.102535667,-1.013843333 +BGR,Wood fuel,0.411314159,125.1767767,3.288240333,-0.334006 BFA,Industrial roundwood,0.061035995,726.1572475,1.170897,0.039804333 BFA,Wood fuel,0.707298973,155.2301323,14.029882,0 BDI,Industrial roundwood,0.056972468,690.3158985,0.624821,0.010740667 BDI,Wood fuel,0.537757159,155.2301323,5.999,0 CPV,Industrial roundwood,0.029197657,581.2086296,0,0.016495333 -CPV,Wood fuel,0.338493635,188.5350318,0.191233333,0 +CPV,Wood fuel,0.336640977,188.5350318,0.186,0.004186667 KHM,Industrial roundwood,0.026278452,642.7748624,0.379,0.037006 KHM,Wood fuel,0.473782095,155.2301323,7.500297,0 CMR,Industrial roundwood,0.074128749,382.3673683,3.826171,-2.017935 CMR,Wood fuel,0.430358919,155.2301323,10.497823,0 -CAN,Industrial roundwood,2.381085117,330.4182836,145.7970067,-58.75799267 -CAN,Wood fuel,0.072269542,148.2216758,2.706625,-0.064859 +CAN,Industrial roundwood,2.408949892,330.4182836,146.8155853,-58.75799267 +CAN,Wood fuel,0.065853753,148.2216758,5.608314667,-3.201073667 CAF,Industrial roundwood,0.100230997,252.067436,0.844713,-0.343884667 CAF,Wood fuel,0.40026089,155.2301323,2,0 TCD,Industrial roundwood,0.051152632,186.1466157,0.761,0.010682667 TCD,Wood fuel,0.521895435,155.2301323,7.873254,0 -CHL,Industrial roundwood,1.524596852,313.9923096,45.855993,-17.85131833 -CHL,Wood fuel,0.884271329,409.8119379,16.242804,2.00E-06 +CHL,Industrial roundwood,1.526012313,313.9923096,45.881993,-17.85131833 +CHL,Wood fuel,0.882953699,409.8119379,16.225789,-0.007186 CHN,Industrial roundwood,0.380318567,340.2357267,413.2903683,135.1446397 -CHN,Wood fuel,0.116250675,195.5528878,167.637227,0.001025 +CHN,Wood fuel,0.116037836,195.5528878,167.2932787,0.038050333 COL,Industrial roundwood,0.080824976,645.0252696,2.722711,1.185311667 COL,Wood fuel,0.146011913,155.2301323,7.05992,0 COM,Industrial roundwood,0.038604949,240.8759124,0.024607,0.004797 COM,Wood fuel,0.413476284,155.2301323,0.31493,0 COG,Industrial roundwood,0.206886294,409.2371792,2.270123,-1.171072667 COG,Wood fuel,0.279862546,155.2301323,1.486725,0 -CRI,Industrial roundwood,0.40726125,582.8118002,1.273937,0.759861333 -CRI,Wood fuel,0.665728177,186.9158879,3.324541333,0 +CRI,Industrial roundwood,0.408743075,582.8118002,1.281337,0.759861333 +CRI,Wood fuel,0.66423921,186.9158879,3.316963,1.43E-04 CIV,Industrial roundwood,0.099660915,646.6391036,2.399259,0.077117 -CIV,Wood fuel,0.370727036,671.8665638,9.211832333,-1.00E-06 +CIV,Wood fuel,0.37072701,671.8665638,9.211829,1.67E-06 HRV,Industrial roundwood,0.244755176,276.8192484,2.505453333,-1.479325333 -HRV,Wood fuel,0.413965413,98.9971765,2.419448333,-0.683912 +HRV,Wood fuel,0.412512887,98.9971765,2.837353333,-1.107906667 CUB,Industrial roundwood,0.065095387,763.9545306,0.609989,0.127958667 CUB,Wood fuel,0.100649192,155.2301323,1.141,0 CYP,Industrial roundwood,0.180272117,471.4334348,0.005647,0.212216 -CYP,Wood fuel,0.019108449,158.0790705,0.020738,0.002355 -CZE,Industrial roundwood,0.820421021,200.142222,14.242888,-5.602784 -CZE,Wood fuel,0.245502211,111.7813025,2.767481667,-0.182023 +CYP,Wood fuel,0.017930151,158.0790705,0.013618,0.008051 +CZE,Industrial roundwood,0.83694319,200.142222,14.416888,-5.602784 +CZE,Wood fuel,0.238067584,111.7813025,3.072,-0.564837667 PRK,Industrial roundwood,0.058949538,393.748614,1.497804,0.006371333 -PRK,Wood fuel,0.243322356,89.18705604,6.208731333,-4.00E-05 +PRK,Wood fuel,0.243273224,89.18705604,6.202463,0.004974667 COD,Industrial roundwood,0.053979956,691.7105365,4.607489,-0.057881667 COD,Wood fuel,1.003407995,155.2301323,84.57051,0 -DNK,Industrial roundwood,0.792819855,298.9214369,1.096372,3.452260667 -DNK,Wood fuel,1.172953672,156.8976415,6.663573333,0.065995 +DNK,Industrial roundwood,0.803277765,298.9214369,1.156372,3.452260667 +DNK,Wood fuel,1.012512831,156.8976415,2.3011,3.507973667 DJI,Industrial roundwood,0.125131261,535.0548357,3.35E-16,0.130165667 DJI,Wood fuel,0.379374621,155.2301323,0.394638,0 DOM,Industrial roundwood,0.09640811,542.2620794,0.026,1.000480667 -DOM,Wood fuel,0.090504735,367.7777778,0.963626,0 +DOM,Wood fuel,0.090476559,367.7777778,0.962126,0.0012 ECU,Industrial roundwood,0.132934985,498.005573,2.439851,-0.220243 ECU,Wood fuel,0.301036345,42.79452514,5.026346,4.10E-05 EGY,Industrial roundwood,0.075200077,340.8140531,0,7.654569667 -EGY,Wood fuel,0,122.4342491,0,0 +EGY,Wood fuel,0.174912844,122.4342491,0,17.804271 SLV,Industrial roundwood,0.188665913,616.9634103,0.681985,0.500319 -SLV,Wood fuel,0.662736925,75.36231884,4.153143,0 +SLV,Wood fuel,0.662718574,75.36231884,4.152568,4.60E-04 GNQ,Industrial roundwood,0.067350983,268.9414997,1.199999,-1.102293333 GNQ,Wood fuel,0.308128385,155.2301323,0.447,0 ERI,Industrial roundwood,0.007502945,778.0040733,0.02248,0.003007 ERI,Wood fuel,0.294540987,155.2301323,1.000536,0 EST,Industrial roundwood,2.065543925,195.3127731,5.623333333,-2.901878 -EST,Wood fuel,3.466373547,129.5851289,4.815465,-0.248348 +EST,Wood fuel,3.411874625,129.5851289,6.395106667,-1.899794667 SWZ,Industrial roundwood,0.713861507,409.1565509,0.928724,-0.106791 SWZ,Wood fuel,1.010709664,42.79452514,1.754,-0.590279 ETH,Industrial roundwood,0.030015957,516.5323898,2.934818,0.312847 ETH,Wood fuel,1.022406293,155.2301323,110.622265,0 FJI,Industrial roundwood,0.6746636,223.0511184,0.799259,-0.179230333 FJI,Wood fuel,0.040114513,186.5671642,0.037,-1.34E-04 -FIN,Industrial roundwood,4.707848747,397.7524628,49.92700067,-23.99551067 -FIN,Wood fuel,1.551410276,95.69019636,8.594816,-0.049431 +FIN,Industrial roundwood,4.728666422,397.7524628,50.04166733,-23.99551067 +FIN,Wood fuel,1.527964068,95.69019636,8.407757667,0.008482333 FRA,Industrial roundwood,0.513675228,440.1393312,30.87954967,2.069678333 -FRA,Wood fuel,0.423646757,102.1863701,27.5162,-0.341766 +FRA,Wood fuel,0.415477025,102.1863701,26.78933333,-0.138939333 PYF,Industrial roundwood,0.087887403,637.7218292,0,0.025966333 PYF,Wood fuel,0.015647318,155.2301323,0.004623,0 GAB,Industrial roundwood,0.71800559,577.9237165,2.3,-0.763313667 @@ -124,17 +124,17 @@ GAB,Wood fuel,0.499949771,155.2301323,1.07,0 GMB,Industrial roundwood,0.068110759,344.6170278,0,1.71E-04 GMB,Wood fuel,0.318158377,155.2301323,0.757593,0 GEO,Industrial roundwood,0.156646694,266.6097117,0.2117,0.379155667 -GEO,Wood fuel,0.110074852,50.76322446,0.423174333,-0.007983 +GEO,Wood fuel,0.110074675,50.76322446,0.423171,-0.007980333 DEU,Industrial roundwood,0.692885952,449.8246826,54.16052633,3.088741667 -DEU,Wood fuel,0.32791438,170.2376348,26.79832033,0.2954 +DEU,Wood fuel,0.317241056,170.2376348,25.626093,0.585750667 GHA,Industrial roundwood,0.068870534,499.8257279,2.379684,-0.298260667 -GHA,Wood fuel,1.535604472,342.364532,46.40962967,-1.89E-04 -GRC,Industrial roundwood,0.206951005,513.9557666,0.459499667,1.753267667 -GRC,Wood fuel,0.133198993,88.72736508,1.253112,0.171082 +GHA,Wood fuel,1.535606843,342.364532,46.409988,-4.76E-04 +GRC,Industrial roundwood,0.208629389,513.9557666,0.477445333,1.753267667 +GRC,Wood fuel,0.129670636,88.72736508,1.136264667,0.250203333 GRD,Industrial roundwood,0.090538451,474.361474,0,0.010948 -GRD,Wood fuel,0.096670087,155.2301323,0,1.19E-05 -GTM,Industrial roundwood,0.08954411,515.4603314,0.518534,0.965993 -GTM,Wood fuel,1.248452992,671.8665638,20.69780233,-4.60E-05 +GRD,Wood fuel,0.096643878,155.2301323,0,1.19E-05 +GTM,Industrial roundwood,0.091166612,515.4603314,0.545433,0.965993 +GTM,Wood fuel,1.246790279,671.8665638,20.66757,0.002620667 GIN,Industrial roundwood,0.051654241,607.0467934,0.650867,-0.018578333 GIN,Wood fuel,1.005045998,155.2301323,12.302556,0 GNB,Industrial roundwood,0.07045989,597.3705834,0.131863,5.89E-04 @@ -143,132 +143,132 @@ GUY,Industrial roundwood,0.147600443,309.8739591,0.298226,-0.185569667 GUY,Wood fuel,1.076539596,45.40833616,0.827573,-0.005902 HTI,Industrial roundwood,0.035300529,364.948498,0.237698,0.14579082 HTI,Wood fuel,0.19413197,155.2301323,2.108961,0 -HND,Industrial roundwood,0.110306786,522.7832654,1.035334333,0.026571667 -HND,Wood fuel,0.861631191,458.5987261,8.295100333,-3.13E-04 -HUN,Industrial roundwood,0.303255582,371.2037134,2.599337667,0.369213333 -HUN,Wood fuel,0.303122847,61.32575889,2.987233667,-0.019982 +HND,Industrial roundwood,0.110474685,522.7832654,1.036950667,0.026571667 +HND,Wood fuel,0.861463257,458.5987261,8.293482333,-3.12E-04 +HUN,Industrial roundwood,0.304034488,371.2037134,2.606962333,0.369213333 +HUN,Wood fuel,0.299847587,61.32575889,2.857425667,0.077764667 ISL,Industrial roundwood,0.465369931,451.6214682,0.002,0.157916 -ISL,Wood fuel,2.13E-04,259.6076524,9.73E-04,-9.00E-04 +ISL,Wood fuel,2.29E-04,259.6076524,1.00E-03,-9.21E-04 IND,Industrial roundwood,0.042829236,453.4414156,45.138469,12.86069767 -IND,Wood fuel,0.224809878,423.4972678,304.436562,4.00E-06 -IDN,Industrial roundwood,0.21801864,505.8704734,72.60085,-14.93517 -IDN,Wood fuel,0.167180849,109.8107923,44.21983767,-6.95E-04 +IND,Wood fuel,0.224809803,423.4972678,304.436052,4.12E-04 +IDN,Industrial roundwood,0.218207677,505.8704734,72.65085,-14.93517 +IDN,Wood fuel,0.16717388,109.8107923,44.410621,-0.193321667 IRN,Industrial roundwood,0.072257569,428.2209306,2.3495,3.756631333 IRN,Wood fuel,3.55E-04,432.4324324,0.03,2.90E-05 IRQ,Industrial roundwood,0.021377557,359.8535286,0.038957,0.808046667 IRQ,Wood fuel,0.002978206,155.2301323,0.118,0 -IRL,Industrial roundwood,0.627525975,353.7462807,3.0749,-0.080437667 -IRL,Wood fuel,0.052554206,345.1415831,0.24834,0.002441 +IRL,Industrial roundwood,0.630669407,353.7462807,3.0899,-0.080437667 +IRL,Wood fuel,0.049103137,345.1415831,0.226,0.008313 ISR,Industrial roundwood,0.244394455,562.6013967,0.133,1.897736333 -ISR,Wood fuel,0.001952962,163.8732227,0.006096667,0.010131 +ISR,Wood fuel,0.001854358,163.8732227,0.002,0.013408333 ITA,Industrial roundwood,0.488195549,481.0569987,11.22522,18.06848133 -ITA,Wood fuel,0.259595127,159.054582,14.68933833,0.887416 +ITA,Wood fuel,0.246761529,159.054582,11.43233333,3.374353333 JAM,Industrial roundwood,0.148071222,387.9803554,0.1508,0.265039667 -JAM,Wood fuel,0.183154606,250,0.514367,0 +JAM,Wood fuel,0.18315247,250,0.514337,2.40E-05 JPN,Industrial roundwood,0.612267949,286.1958782,41.87333333,35.67803867 -JPN,Wood fuel,0.056197882,176.0801255,7.113706667,0.004456 +JPN,Wood fuel,0.054497763,176.0801255,6.206333333,0.696488 JOR,Industrial roundwood,0.091933722,520.0170541,0.00317,0.935968 -JOR,Wood fuel,0.034973928,118.3098592,0.356935,3.37E-04 +JOR,Wood fuel,0.034973341,118.3098592,0.356905,3.61E-04 KAZ,Industrial roundwood,0.11120304,393.9196309,0.38763,1.649033 -KAZ,Wood fuel,0.013366429,226.5960966,0.242951667,0.001852 +KAZ,Wood fuel,0.013345117,226.5960966,0.241,0.003413333 KEN,Industrial roundwood,0.035190219,648.1095064,1.030307,0.692188667 KEN,Wood fuel,0.53934637,155.2301323,26.4,0 KWT,Industrial roundwood,0.191875738,478.4055968,0,0.791469 -KWT,Wood fuel,0.005032117,429.1417166,0.020342,4.15E-04 +KWT,Wood fuel,0.005026784,429.1417166,0.020232,5.03E-04 KGZ,Industrial roundwood,0.093243151,186.1466157,0.1346,0.436165667 -KGZ,Wood fuel,0.006251435,147,0.038266667,0 +KGZ,Wood fuel,0.00619698,147,0.0366,0.001333333 LAO,Industrial roundwood,0.164878539,679.9597317,1.431971,-0.278164667 LAO,Wood fuel,0.830076436,155.2301323,5.808806,0 LVA,Industrial roundwood,1.884616749,186.1466157,9.971408,-6.287242333 -LVA,Wood fuel,1.061910082,122.0631631,2.403896667,-0.328009 +LVA,Wood fuel,1.041049615,122.0631631,4.282666667,-2.247558333 LBN,Industrial roundwood,0.155981889,450.5480455,0.0551,0.897832667 LBN,Wood fuel,0.003256372,109.3375898,0.018641,0.001253 LSO,Industrial roundwood,0.024534591,391.0704568,0.005,0.0482552 -LSO,Wood fuel,0.985255344,73.04347826,2.138062,5.50E-04 +LSO,Wood fuel,0.985163205,73.04347826,2.137062,0.00135 LBR,Industrial roundwood,0.071065157,288.0198593,0.463375,-0.122501667 LBR,Wood fuel,1.850694998,155.2301323,8.877101,0 LBY,Industrial roundwood,0.035830874,405.8570299,0.093584,0.134954667 LBY,Wood fuel,0.161714298,155.2301323,1.031456,0 LTU,Industrial roundwood,1.602304739,188.8545765,4.1476,0.506214 -LTU,Wood fuel,0.655936236,142.3327048,2.061795,-0.156661 +LTU,Wood fuel,0.652713939,142.3327048,2.479,-0.583225 LUX,Industrial roundwood,2.194882855,186.1466157,0.98929,0.319481333 -LUX,Wood fuel,0.319296933,146.9387899,0.178888333,0.011503 +LUX,Wood fuel,0.282717546,146.9387899,0.12983,0.038749667 MDG,Industrial roundwood,0.007420267,446.9797387,0.173631,0.020554 -MDG,Wood fuel,0.55098022,420.6008584,14.418907,-7.00E-06 +MDG,Wood fuel,0.550974373,420.6008584,14.418142,6.05E-04 MWI,Industrial roundwood,0.079641595,450.2371955,1.426367,-0.002282333 MWI,Wood fuel,0.327133626,155.2301323,5.849531,0 -MYS,Industrial roundwood,0.23285057,374.6879019,12.790607,-5.345022333 -MYS,Wood fuel,0.078442151,145.5787262,2.511078,-0.002827 +MYS,Industrial roundwood,0.239261668,374.6879019,12.995607,-5.345022333 +MYS,Wood fuel,0.07833335,145.5787262,3.313683,-0.808911 MDV,Industrial roundwood,0.242448809,604.2052909,0,0.114543 MDV,Wood fuel,0.03597267,88.60759494,0.016363,6.32E-04 MLI,Industrial roundwood,0.041633346,757.125704,0.816947,-0.012950667 MLI,Wood fuel,0.296773582,155.2301323,5.7311,0 MLT,Industrial roundwood,0.196863241,684.8091007,0,0.094395333 -MLT,Wood fuel,0.007503001,197.1094663,0.002576667,0.001021 +MLT,Wood fuel,0.006428264,197.1094663,0,0.003082333 MRT,Industrial roundwood,0.011927361,592.1605226,0.024794,0.024824 MRT,Wood fuel,0.511716184,155.2301323,2.128747,0 MUS,Industrial roundwood,0.121051237,528.0239852,0.00148,0.15525 -MUS,Wood fuel,0.004079323,461.5384615,0.005206667,7.50E-05 -MEX,Industrial roundwood,0.153328851,557.0665019,7.942333333,10.892469 -MEX,Wood fuel,0.314999952,121.372494,38.70979633,-0.015436 -MNG,Industrial roundwood,0.083573049,307.4291258,0.122701667,0.136043 -MNG,Wood fuel,0.204610205,191.7808219,0.633333333,1.46E-04 +MUS,Wood fuel,0.004075204,461.5384615,0.00518,9.63E-05 +MEX,Industrial roundwood,0.153339706,557.0665019,7.943666667,10.892469 +MEX,Wood fuel,0.314965788,121.372494,38.69414633,-0.003982667 +MNG,Industrial roundwood,0.085726344,307.4291258,0.129368333,0.136043 +MNG,Wood fuel,0.20245691,191.7808219,0.626666667,1.46E-04 MNE,Industrial roundwood,0.281400443,186.1466157,0.4654,-0.287431667 -MNE,Wood fuel,1.354872731,151.1445072,0.863085,-0.006212 +MNE,Wood fuel,1.329546928,151.1445072,0.896333333,-0.055477333 MAR,Industrial roundwood,0.072345906,459.2923085,0.303066667,2.267247 -MAR,Wood fuel,0.186966791,229.1057861,6.642659667,-8.20E-05 +MAR,Wood fuel,0.18693689,229.1057861,6.644014667,-0.002499333 MOZ,Industrial roundwood,0.030965231,286.7244727,1.98301,-1.098350667 MOZ,Wood fuel,0.585383697,352.9411765,16.724,8.50E-05 MMR,Industrial roundwood,0.093008146,711.6701717,4.359995,0.503246667 MMR,Wood fuel,0.732209117,155.2301323,38.286,0 NAM,Industrial roundwood,0.040414306,462.7962352,0.002,0.093561 -NAM,Wood fuel,0.623982146,67.35655548,1.485733,-0.010306 +NAM,Wood fuel,0.623981723,67.35655548,1.485728,-0.010302 NPL,Industrial roundwood,0.054253127,553.7259253,1.292142,0.236897 NPL,Wood fuel,0.425505863,155.2301323,11.992213,0 NLD,Industrial roundwood,0.321438195,420.7972245,1.250333333,4.280717333 -NLD,Wood fuel,0.150617201,120.9781988,2.9215,-0.3298 +NLD,Wood fuel,0.143765417,120.9781988,2.6844,-0.2106 NCL,Industrial roundwood,0.164183216,641.4735789,0.014179,0.032506333 NCL,Wood fuel,0.044906084,155.2301323,0.012769,0 -NZL,Industrial roundwood,2.301762668,193.0005494,34.34311267,-23.418367 -NZL,Wood fuel,0.017654141,488.299532,0.083745,4.60E-05 +NZL,Industrial roundwood,2.305274211,193.0005494,34.35977933,-23.418367 +NZL,Wood fuel,0.014125251,488.299532,0.066666667,3.75E-04 NIC,Industrial roundwood,0.044222604,571.1260766,0.133862,0.152724 NIC,Wood fuel,0.952069213,155.2301323,6.169915,0 NER,Industrial roundwood,0.034609058,665.5691348,0.699618,0.052711 NER,Wood fuel,0.525924465,155.2301323,11.432505,0 NGA,Industrial roundwood,0.054587527,691.8018481,10.020922,0.541541 -NGA,Wood fuel,0.340528707,292.1348315,65.891282,-3.71E-04 +NGA,Wood fuel,0.340528273,292.1348315,65.890862,-3.50E-05 MKD,Industrial roundwood,0.185754057,323.5045202,0.086138,0.306170667 -MKD,Wood fuel,0.387347128,162.6256833,0.8029,0.015169 -NOR,Industrial roundwood,1.077754315,242.1695881,9.818218667,-4.130486667 -NOR,Wood fuel,0.352704518,93.80841079,1.77702,0.08434 +MKD,Wood fuel,0.37637164,162.6256833,0.687,0.107889 +NOR,Industrial roundwood,1.083803262,242.1695881,9.850141333,-4.130486667 +NOR,Wood fuel,0.350846782,93.80841079,1.855690667,-0.004134667 OMN,Industrial roundwood,0.165257404,411.81391,2.33E-16,0.750575 -OMN,Wood fuel,0.012156049,232.1201862,0.055149,6.20E-05 +OMN,Wood fuel,0.011827108,232.1201862,0.047679,0.006038 PAK,Industrial roundwood,0.026243484,606.609618,3.852254,1.826302 -PAK,Wood fuel,0.136488286,671.8665638,29.53338733,-9.90E-05 +PAK,Wood fuel,0.136488251,671.8665638,29.533349,-6.83E-05 PAN,Industrial roundwood,0.118628872,521.6962549,0.379088,0.106823333 -PAN,Wood fuel,0.249306143,671.8665638,1.021173667,0 +PAN,Wood fuel,0.249248445,671.8665638,1.019992,9.45E-04 PNG,Industrial roundwood,0.096207675,233.1613345,4.071959,-3.195045667 PNG,Wood fuel,0.607034979,155.2301323,5.533,0 PRY,Industrial roundwood,0.65567838,805.0544871,4.043939,0.123162 PRY,Wood fuel,1.157264275,82.31707317,7.35521,-3.28E-04 PER,Industrial roundwood,0.074824341,546.2745258,1.045122,1.319737667 -PER,Wood fuel,0.228213872,155.599886,7.212810333,0 +PER,Wood fuel,0.228176864,155.599886,7.206962,0.004678667 PHL,Industrial roundwood,0.067083695,450.5383423,3.696289,3.464124 PHL,Wood fuel,0.10871913,671.8665638,11.604495,2.20E-05 -POL,Industrial roundwood,1.057048203,364.5040883,36.17027833,4.560761333 -POL,Wood fuel,0.170006582,134.1546854,6.662939667,-0.112108 -PRT,Industrial roundwood,0.872893506,367.5679896,9.290991333,-0.293615333 -PRT,Wood fuel,0.14051226,135.7487521,1.452878333,-0.004544 +POL,Industrial roundwood,1.068527597,364.5040883,36.61261167,4.560761333 +POL,Wood fuel,0.162663611,134.1546854,7.017546333,-0.74966 +PRT,Industrial roundwood,0.895861116,367.5679896,9.527730667,-0.293615333 +PRT,Wood fuel,0.132649497,135.7487521,1.994607333,-0.627318667 QAT,Industrial roundwood,0.19452839,375.4338563,0,0.527513333 -QAT,Wood fuel,0.007463432,361.7280725,0.014218,0.006021 +QAT,Wood fuel,0.00679228,361.7280725,0.005118,0.013301 KOR,Industrial roundwood,0.440633634,359.3880185,8.399666667,14.298094 -KOR,Wood fuel,0.092449883,115.8969093,4.76208,1.65E-04 -MDA,Industrial roundwood,0.136204533,264.0182288,0.018377,0.414822333 -MDA,Wood fuel,0.395402493,118.1947484,1.25755,3.00E-05 +KOR,Wood fuel,0.075098154,115.8969093,0.383666667,3.484762333 +MDA,Industrial roundwood,0.137227116,264.0182288,0.021629333,0.414822333 +MDA,Wood fuel,0.393081793,118.1947484,1.244651667,0.005547333 ROU,Industrial roundwood,0.646271943,307.0138832,13.478473,-0.747657 -ROU,Wood fuel,0.31793599,88.12299391,5.984801333,0.278173 -RUS,Industrial roundwood,0.905917618,186.1466157,193.8481203,-62.08010533 -RUS,Wood fuel,0.108671207,97.02948747,15.89027367,-0.083771 +ROU,Wood fuel,0.30706309,88.12299391,5.980549667,0.068241 +RUS,Industrial roundwood,0.911089981,186.1466157,194.6004537,-62.08010533 +RUS,Wood fuel,0.107155982,97.02948747,17.79764033,-2.211531 RWA,Industrial roundwood,0.101551369,688.8615474,1.211735,0.030272667 RWA,Wood fuel,0.408819412,155.2301323,5,0 LCA,Industrial roundwood,0.188442282,388.6935894,0,0.033385 @@ -280,29 +280,29 @@ WSM,Wood fuel,0.337138178,155.2301323,0.07,0 STP,Industrial roundwood,0.135539041,640.427971,0.027196,0.001001 STP,Wood fuel,0.543867408,155.2301323,0.113144,0 SAU,Industrial roundwood,0.141646352,407.7914854,0,4.843331 -SAU,Wood fuel,0.009849963,451.6108059,0.323073,0.013728 +SAU,Wood fuel,0.009684345,451.6108059,0.294758,0.03638 SEN,Industrial roundwood,0.064200243,609.1055743,0.807464,0.16567 SEN,Wood fuel,0.368391889,155.2301323,5.584008,0 SRB,Industrial roundwood,0.269451753,510.6031061,1.261,0.750425 -SRB,Wood fuel,0.937233195,128.0647059,7.024333333,-0.028 +SRB,Wood fuel,0.921470495,128.0647059,6.872,0.006666667 SLE,Industrial roundwood,0.009375759,651.7994041,0.123578,-0.051595 SLE,Wood fuel,0.766034544,155.2301323,5.88128,0 SGP,Industrial roundwood,0.176252284,652.961782,0.017,0.999004 -SGP,Wood fuel,0.005899687,439.9579114,0.036273667,-0.002265 -SVK,Industrial roundwood,0.880863151,261.4798926,7.669163333,-2.877781333 -SVK,Wood fuel,0.135636472,94.37102321,0.690997333,0.046786 -SVN,Industrial roundwood,0.524427911,260.2205337,2.950512,-1.850056667 -SVN,Wood fuel,0.432448116,120.3074514,1.221569667,-0.314124 +SGP,Wood fuel,0.00565416,439.9579114,0.029197,0.003396333 +SVK,Industrial roundwood,0.891219653,261.4798926,7.725496667,-2.877781333 +SVK,Wood fuel,0.131963714,94.37102321,0.816442333,-0.098636667 +SVN,Industrial roundwood,0.543490126,260.2205337,2.990512,-1.850056667 +SVN,Wood fuel,0.415032241,120.3074514,1.198843,-0.327942667 SLB,Industrial roundwood,0.233115404,188.4968102,3.205947,-3.055906 SLB,Wood fuel,0.208683817,155.2301323,0.134316,0 SOM,Industrial roundwood,0.015122533,328.1468456,0.107405,0.117379667 SOM,Wood fuel,1.023012373,155.2301323,15.206282,0 -ZAF,Industrial roundwood,0.153817562,413.9409757,12.872552,-4.160139333 -ZAF,Wood fuel,0.223021987,42.79452514,12.072929,0.559306 +ZAF,Industrial roundwood,0.153905837,413.9409757,12.877552,-4.160139333 +ZAF,Wood fuel,0.222855448,42.79452514,12.045764,0.577038 SSD,Industrial roundwood,0.068110759,498.5132515,0,7.12E-04 SSD,Wood fuel,0.439378936,155.2301323,4.683,0 ESP,Industrial roundwood,0.284453438,481.597169,13.44831,-0.197282667 -ESP,Wood fuel,0.06273166,206.7196727,2.940442333,-0.01814 +ESP,Wood fuel,0.059847211,206.7196727,3.000594,-0.212661333 LKA,Industrial roundwood,0.079634641,527.9612805,0.72012,0.992567333 LKA,Wood fuel,0.217712871,155.2301323,4.68231,0 SDN,Industrial roundwood,0.036143426,449.8005611,1.156228,0.314080363 @@ -310,54 +310,54 @@ SDN,Wood fuel,0.378983903,155.2301323,15.417,0 SUR,Industrial roundwood,0.655026417,186.1466157,0.862857,-0.477990333 SUR,Wood fuel,0.149772193,155.2301323,0.088,0 SWE,Industrial roundwood,3.76681222,381.378774,59.82166667,-21.93435367 -SWE,Wood fuel,0.970182541,123.7809717,9.618308333,0.139972 +SWE,Wood fuel,0.910165613,123.7809717,8.921333333,0.233285333 CHE,Industrial roundwood,0.360729245,468.4353241,2.759958667,0.288812 -CHE,Wood fuel,0.255816383,221.5372512,2.152435,0.009645 +CHE,Wood fuel,0.243802569,221.5372512,1.92475,0.135793 SYR,Industrial roundwood,0.021419745,428.4767047,0.029846,0.376773 SYR,Wood fuel,0.001792832,155.2301323,0.034034,0 TWN,Industrial roundwood,0.270614177,415.8577448,1.064658,5.339433 -TWN,Wood fuel,0.002277707,186.9947502,0.05267,0.001232 +TWN,Wood fuel,0.001873355,186.9947502,0.004825,0.039508 TJK,Industrial roundwood,0.093703508,186.1466157,0,0.836353 TJK,Wood fuel,0.411628448,155.2301323,3.674,0 THA,Industrial roundwood,0.164506739,307.8520104,22.70513333,-11.04190133 -THA,Wood fuel,0.262610844,91.60265493,18.61874767,-1.11E-04 +THA,Wood fuel,0.262573744,91.60265493,18.77892933,-0.162923 TLS,Industrial roundwood,0.007585587,486.4086984,3.00E-04,0.009130667 TLS,Wood fuel,0.071485278,155.2301323,0.088873,0 TGO,Industrial roundwood,0.028124381,465.5408044,0.243714,-0.022859 TGO,Wood fuel,0.563366292,155.2301323,4.424,0 TTO,Industrial roundwood,0.234250886,585.9217604,0.162977,0.183388 TTO,Wood fuel,0.02079863,155.2301323,0.030753,0 -TUN,Industrial roundwood,0.097670059,464.7625782,0.281492,0.872132333 -TUN,Wood fuel,0.305674477,193.5594774,3.610456667,0 -TUR,Industrial roundwood,0.325918846,474.9062875,19.32733333,7.427288 -TUR,Wood fuel,0.066024016,80.14842301,5.3469,0.073 +TUN,Industrial roundwood,0.09792405,464.7625782,0.284492,0.872132333 +TUN,Wood fuel,0.305666745,193.5594774,3.622,-0.011634667 +TUR,Industrial roundwood,0.325935088,474.9062875,19.32866667,7.427288 +TUR,Wood fuel,0.066014514,80.14842301,5.348333333,0.070786667 TKM,Industrial roundwood,0.085518976,292.3832362,0,0.51041 -TKM,Wood fuel,0.096670087,155.2301323,0,5.95E-04 +TKM,Wood fuel,0.096643878,155.2301323,0,5.95E-04 UGA,Industrial roundwood,0.137131441,605.7507987,5.329952,0.172733 UGA,Wood fuel,1.078885272,155.2301323,43.292521,0 UKR,Industrial roundwood,0.085957713,244.2549972,7.5945,-3.755864333 -UKR,Wood fuel,0.251701995,47.32443773,12.72301167,-1.482691 +UKR,Wood fuel,0.246753139,47.32443773,12.966,-1.946681667 ARE,Industrial roundwood,0.51095237,406.3544718,0,4.633467333 -ARE,Wood fuel,0.00299233,281.5646785,0.023019333,0.004116 +ARE,Wood fuel,0.002899405,281.5646785,0.018806,0.007486667 GBR,Industrial roundwood,0.468098889,441.8867194,10.56547267,20.35938867 -GBR,Wood fuel,0.210086786,176.9902048,13.83648833,0.042854 +GBR,Wood fuel,0.174545052,176.9902048,2.478225333,9.053059333 TZA,Industrial roundwood,0.051448173,651.2561596,2.822098,0.072738 TZA,Wood fuel,0.436710452,155.2301323,24.572401,0 -USA,Industrial roundwood,1.12620949,403.0884476,363.7313327,7.682681333 -USA,Wood fuel,0.20462145,129.2673887,67.76436,-0.282 -URY,Industrial roundwood,1.995259774,350.5008913,13.31821433,-6.490036333 -URY,Wood fuel,0.750580036,141.8137553,2.568635,0 +USA,Industrial roundwood,1.133201691,403.0884476,366.0372993,7.682681333 +USA,Wood fuel,0.20256296,129.2673887,73.59386667,-6.790378667 +URY,Industrial roundwood,1.995357178,350.5008913,13.31854767,-6.490036333 +URY,Wood fuel,0.750433055,141.8137553,2.567453333,6.79E-04 UZB,Industrial roundwood,0.106403718,186.1466157,0.159887333,3.239252 -UZB,Wood fuel,7.52E-04,277.4489796,0.024078333,-5.10E-05 +UZB,Wood fuel,7.52E-04,277.4489796,0.024,1.17E-05 VUT,Industrial roundwood,0.139046326,567.3643374,0.037298,0.003058667 VUT,Wood fuel,0.313534708,155.2301323,0.091,0 VEN,Industrial roundwood,0.044456611,496.8107318,1.51088,-0.152133333 -VEN,Wood fuel,0.140059321,200,4.280693667,0 -VNM,Industrial roundwood,0.228996126,248.863311,27.69273433,-6.159530667 -VNM,Wood fuel,0.213909366,109.7350165,20.13554167,-0.020992 +VEN,Wood fuel,0.140059375,200,4.280702,-6.67E-06 +VNM,Industrial roundwood,0.235508021,248.863311,28.30506767,-6.159530667 +VNM,Wood fuel,0.213621081,109.7350165,22.44933333,-2.361892 YEM,Industrial roundwood,0.016791374,414.51696,0.002199,0.502119667 YEM,Wood fuel,0.018530359,155.2301323,0.556548,0 -ZMB,Industrial roundwood,0.149095519,919.9304233,2.572603667,0.006458667 -ZMB,Wood fuel,1.334909541,671.8665638,23.09133333,4.00E-06 +ZMB,Industrial roundwood,0.149769968,919.9304233,2.584270333,0.006458667 +ZMB,Wood fuel,1.334235092,671.8665638,23.07966667,4.00E-06 ZWE,Industrial roundwood,0.045526749,526.1956602,0.563978,0.107591667 ZWE,Wood fuel,0.625982833,155.2301323,9.233936,0 \ No newline at end of file diff --git a/src/ac/ed/lurg/ModelConfig.java b/src/ac/ed/lurg/ModelConfig.java index 1c84687c..2d619343 100755 --- a/src/ac/ed/lurg/ModelConfig.java +++ b/src/ac/ed/lurg/ModelConfig.java @@ -580,17 +580,14 @@ public class ModelConfig { public static final String WOOD_DEMAND_FILENAME = getProperty("WOOD_DEMAND_FILENAME", "wood_base_demand.csv"); public static final String WOOD_DEMAND_FILE = getProperty("WOOD_DEMAND_FILE", DATA_DIR + File.separator + WOOD_DEMAND_FILENAME); public static final double INIT_WOOD_STOCK = getDoubleProperty("INIT_WOOD_STOCK", 600.0); // MtC-eq - public static final double IND_ROUNDWOOD_DEMAND_ELASTICITY = getDoubleProperty("IND_ROUNDWOOD_DEMAND_ELASTICITY", 0.3123881); // fitted to FAO data - public static final double FUELWOOD_DEMAND_ELASTICITY = getDoubleProperty("FUELDWOOD_DEMAND_ELASTICITY", -0.3598551); public static final double WOOD_BIOMASS_CONVERSION_FACTOR = getDoubleProperty("WOOD_BIOMASS_CONVERSION_FACTOR", 0.3); // m3 to tC-eq p.16 [https://doi.org/10.5194/gmd-13-5425-2020] public static final double VEGETATION_CLEARING_COST = getDoubleProperty("VEGETATION_CLEARING_COST", 0.08); //$1000/tC - public static final double FOREST_MANAGEMENT_COST = IS_FORESTRY_ON ? getDoubleProperty("FOREST_MANAGEMENT_COST", 2.5) : 0.0; // establishment, management etc. $1000/ha - public static final double FOREST_BASE_COST = getDoubleProperty("FOREST_BASE_COST", 0.3); // $1000/ha - public static final double WOOD_TRADE_BARRIER = getDoubleProperty("WOOD_TRADE_BARRIER", 0.05); //$1000/tC + public static final double FOREST_MANAGEMENT_COST = IS_FORESTRY_ON ? getDoubleProperty("FOREST_MANAGEMENT_COST", 2.0) : 0.0; // establishment, management etc. $1000/ha + public static final double FOREST_BASE_COST = getDoubleProperty("FOREST_BASE_COST", 0.12); // $1000/ha + public static final double WOOD_TRADE_BARRIER = getDoubleProperty("WOOD_TRADE_BARRIER", 0.1); //$1000/tC public static final double INIT_ROUNDWOOD_PRICE = IS_FORESTRY_ON ? getDoubleProperty("INIT_ROUNDWOOD_PRICE", 0.1) : 0.0; // $1000/tC-eq public static final double INIT_FUELWOOD_PRICE = IS_FORESTRY_ON ? getDoubleProperty("INIT_FUELWOOD_PRICE", 0.04) : 0.0; // $1000/tC-eq public static final int CARBON_WOOD_MAX_TIME = getIntProperty("CARBON_WOOD_MAX_TIME", 160); // upper data limit, years - public static final int LAND_AGE_GROUP_SIZE = getIntProperty("LAND_AGE_GROUP_SIZE", 5); // grouping size for land cover age // Carbon public static final boolean IS_CARBON_ON = getBooleanProperty("IS_CARBON_ON", false); diff --git a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java index 45804f90..810bae54 100644 --- a/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java +++ b/src/ac/ed/lurg/country/gams/GamsLocationOptimiser.java @@ -131,6 +131,7 @@ public class GamsLocationOptimiser { GAMSParameter prevLandCoverP = inDB.addParameter("previousLandCoverArea", 2); GAMSParameter maxCroplandAreaP = inDB.addParameter("maxCroplandArea", 1); GAMSParameter prevRotaIntP = inDB.addParameter("previousRotationIntensity", 1); + GAMSParameter minRotaIntP = inDB.addParameter("minRotationIntensity", 1); double totalAgriLand = 0; double totalSuitable = 0; @@ -200,6 +201,8 @@ public class GamsLocationOptimiser { setGamsParamValue(maxCroplandAreaP.addRecord(locString), landUseItem.getMaxCroplandArea(), 6); setGamsParamValue(prevRotaIntP.addRecord(locString), landUseItem.getForestRotationIntensity(), 6); + double minRotaIntensity = ModelConfig.IS_CALIBRATION_RUN ? 1.0 / 160 : 1 / ((1 / landUseItem.getForestRotationIntensity()) + 1); + setGamsParamValue(minRotaIntP.addRecord(locString), minRotaIntensity, 6); } if (DEBUG) LogWriter.println(String.format(" Total agricultural %.1f,\t suitable %.1f", totalAgriLand, totalSuitable)); @@ -640,18 +643,28 @@ public class GamsLocationOptimiser { List<LandCoverChangeItem> changesList = landCoverChanges.computeIfAbsent(locId, k -> new ArrayList<>()); changesList.add(new LandCoverChangeItem(fromLc, toLc, change)); } + + // Wood production cost + GAMSParameter totalWoodProdCostP = outDB.getParameter("totalWoodProdCost"); + GAMSParameter totalWoodSupplyP = outDB.getParameter("totalWoodSupplyP"); + double totalWoodProdCost = totalWoodProdCostP.getFirstRecord().getValue(); + double totalWoodSupply = totalWoodSupplyP.getFirstRecord().getValue(); // Wood production Map<WoodType, WoodUsageData> newWoodUsageMap = new HashMap<>(); - /* - GAMSVariable varWoodSupplyRota = outDB.getVariable("woodSupply"); - for (GAMSVariableRecord rec : varWoodSupplyRota) { - WoodType wType = WoodType.getForName(rec.getKey(0)); - double supply = rec.getLevel(); - double netImports = getParmValue(parmNetImports, wType.getName()); - newWoodUsageMap.put(wType, new WoodUsageData(supply, netImports)); + double totalWoodProd = 0; + + GAMSVariable varWoodSupply = outDB.getVariable("woodSupply"); + for (WoodType wType : WoodType.values()) { + double netImports = varNetImports.findRecord(wType.getName()).getLevel(); + double supply = varWoodSupply.findRecord(wType.getName()).getLevel(); + double woodProdCost = supply > 0 ? supply / totalWoodProd * totalWoodProdCost : 0; + WoodUsageData woodUsageData = new WoodUsageData(supply, netImports, woodProdCost); + newWoodUsageMap.put(wType, woodUsageData); + totalWoodProd += supply; } - */ + + /* GAMSParameter woodSupplyP = outDB.getParameter("woodSupplyP"); for (WoodType wType : WoodType.values()) { double netImports = varNetImports.findRecord(wType.getName()).getLevel(); @@ -661,6 +674,7 @@ public class GamsLocationOptimiser { woodUsageData.setNetImports(netImports); newWoodUsageMap.put(wType, woodUsageData); } + */ Map<Integer, Double> rotationPeriods = new HashMap<>(); GAMSVariable varRota = outDB.getVariable("rotationIntensity"); diff --git a/src/ac/ed/lurg/types/WoodType.java b/src/ac/ed/lurg/types/WoodType.java index 73c6f370..0ae02e8f 100644 --- a/src/ac/ed/lurg/types/WoodType.java +++ b/src/ac/ed/lurg/types/WoodType.java @@ -5,17 +5,15 @@ import java.util.Map; import ac.ed.lurg.ModelConfig; public enum WoodType { - IND_ROUNDWOOD("roundwood", ModelConfig.IND_ROUNDWOOD_DEMAND_ELASTICITY, 30, ModelConfig.INIT_ROUNDWOOD_PRICE), - FUELWOOD("fuelwood", ModelConfig.FUELWOOD_DEMAND_ELASTICITY, 10, ModelConfig.INIT_FUELWOOD_PRICE); + IND_ROUNDWOOD("roundwood", 30, ModelConfig.INIT_ROUNDWOOD_PRICE), + FUELWOOD("fuelwood", 10, ModelConfig.INIT_FUELWOOD_PRICE); private String name; - private double incomeDemandElasticity; private int minRotation; private double initialPrice; - WoodType(String name, double incomeDemandElasticity, int minRotation, double initialPrice) { + WoodType(String name, int minRotation, double initialPrice) { this.name = name; - this.incomeDemandElasticity = incomeDemandElasticity; this.minRotation = minRotation; this.initialPrice = initialPrice; } @@ -40,10 +38,6 @@ public enum WoodType { public String getName() { return name; } - - public double getIncomeDemandElasticity() { - return incomeDemandElasticity; - } public int getMinRotation() { return minRotation; -- GitLab