Implement transportation emissions

This commit is contained in:
2025-09-17 12:11:52 -05:00
parent ca06db2870
commit 157cd500ef
8 changed files with 212 additions and 41 deletions

View File

@@ -68,7 +68,8 @@ function run_boat_example()
prod = dict(
"transportation cost (\$/km/tonne)" => 0.30,
"transportation energy (J/km/tonne)" => 7_500,
"transportation emissions (tonne/km/tonne)" => dict("CO2" => 2.68),
"transportation emissions (tonne/km/tonne)" =>
dict("CO2" => 2.68, "NH4" => 1.02),
"disposal limit (tonne)" => nothing,
)
@@ -176,6 +177,10 @@ function run_boat_example()
RELOG.write_centers_report(model, fixture("boat_example/centers.csv"))
RELOG.write_center_outputs_report(model, fixture("boat_example/center_outputs.csv"))
RELOG.write_transportation_report(model, fixture("boat_example/transportation.csv"))
RELOG.write_transportation_emissions_report(
model,
fixture("boat_example/tr_emissions.csv"),
)
return
end

View File

@@ -11,7 +11,8 @@
"transportation cost ($/km/tonne)": 0.3,
"transportation energy (J/km/tonne)": 7500,
"transportation emissions (tonne/km/tonne)": {
"CO2": 2.68
"CO2": 2.68,
"NH4": 1.02
},
"disposal limit (tonne)": null
},
@@ -19,7 +20,8 @@
"transportation cost ($/km/tonne)": 0.3,
"transportation energy (J/km/tonne)": 7500,
"transportation emissions (tonne/km/tonne)": {
"CO2": 2.68
"CO2": 2.68,
"NH4": 1.02
},
"disposal limit (tonne)": null
},
@@ -27,7 +29,8 @@
"transportation cost ($/km/tonne)": 0.3,
"transportation energy (J/km/tonne)": 7500,
"transportation emissions (tonne/km/tonne)": {
"CO2": 2.68
"CO2": 2.68,
"NH4": 1.02
},
"disposal limit (tonne)": null
},
@@ -35,7 +38,8 @@
"transportation cost ($/km/tonne)": 0.3,
"transportation energy (J/km/tonne)": 7500,
"transportation emissions (tonne/km/tonne)": {
"CO2": 2.68
"CO2": 2.68,
"NH4": 1.02
},
"disposal limit (tonne)": null
}

View File

@@ -0,0 +1,81 @@
source,destination,product,emission,year,amount sent (tonne),distance (km),emission factor (tonne/km/tonne),emission amount (tonne)
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,CO2,1,0.15789,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,NH4,1,0.15789,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,CO2,2,0.57341,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,NH4,2,0.57341,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,CO2,3,0.79428,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,NH4,3,0.79428,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,CO2,4,0.84522,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,NH4,4,0.84522,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,CO2,5,0.86354,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Nail,NH4,5,0.86354,0.0,1.02,0.0
NailFactory (Chicago),BoatFactory (Dallas),Nail,CO2,1,1.0,1293.093,2.68,3465.48924
NailFactory (Chicago),BoatFactory (Dallas),Nail,NH4,1,1.0,1293.093,1.02,1318.95486
NailFactory (Chicago),BoatFactory (Dallas),Nail,CO2,2,1.0,1293.093,2.68,3465.48924
NailFactory (Chicago),BoatFactory (Dallas),Nail,NH4,2,1.0,1293.093,1.02,1318.95486
NailFactory (Chicago),BoatFactory (Dallas),Nail,CO2,3,1.0,1293.093,2.68,3465.48924
NailFactory (Chicago),BoatFactory (Dallas),Nail,NH4,3,1.0,1293.093,1.02,1318.95486
NailFactory (Chicago),BoatFactory (Dallas),Nail,CO2,4,1.0,1293.093,2.68,3465.48924
NailFactory (Chicago),BoatFactory (Dallas),Nail,NH4,4,1.0,1293.093,1.02,1318.95486
NailFactory (Chicago),BoatFactory (Dallas),Nail,CO2,5,1.0,1293.093,2.68,3465.48924
NailFactory (Chicago),BoatFactory (Dallas),Nail,NH4,5,1.0,1293.093,1.02,1318.95486
NailFactory (Phoenix),BoatFactory (Dallas),Nail,CO2,1,1.0,1423.57,2.68,3815.1676
NailFactory (Phoenix),BoatFactory (Dallas),Nail,NH4,1,1.0,1423.57,1.02,1452.0414
NailFactory (Phoenix),BoatFactory (Dallas),Nail,CO2,2,1.0,1423.57,2.68,3815.1676
NailFactory (Phoenix),BoatFactory (Dallas),Nail,NH4,2,1.0,1423.57,1.02,1452.0414
NailFactory (Phoenix),BoatFactory (Dallas),Nail,CO2,3,1.0,1423.57,2.68,3815.1676
NailFactory (Phoenix),BoatFactory (Dallas),Nail,NH4,3,1.0,1423.57,1.02,1452.0414
NailFactory (Phoenix),BoatFactory (Dallas),Nail,CO2,4,1.0,1423.57,2.68,3815.1676
NailFactory (Phoenix),BoatFactory (Dallas),Nail,NH4,4,1.0,1423.57,1.02,1452.0414
NailFactory (Phoenix),BoatFactory (Dallas),Nail,CO2,5,1.0,1423.57,2.68,3815.1676
NailFactory (Phoenix),BoatFactory (Dallas),Nail,NH4,5,1.0,1423.57,1.02,1452.0414
NailFactory (Dallas),BoatFactory (Dallas),Nail,CO2,1,1.0,0.0,2.68,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,NH4,1,1.0,0.0,1.02,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,CO2,2,1.0,0.0,2.68,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,NH4,2,1.0,0.0,1.02,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,CO2,3,1.0,0.0,2.68,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,NH4,3,1.0,0.0,1.02,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,CO2,4,1.0,0.0,2.68,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,NH4,4,1.0,0.0,1.02,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,CO2,5,1.0,0.0,2.68,0.0
NailFactory (Dallas),BoatFactory (Dallas),Nail,NH4,5,1.0,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,CO2,1,3.0,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,NH4,1,3.0,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,CO2,2,10.89474,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,NH4,2,10.89474,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,CO2,3,15.09141,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,NH4,3,15.09141,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,CO2,4,16.05912,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,NH4,4,16.05912,0.0,1.02,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,CO2,5,16.40733,0.0,2.68,0.0
RecyclingPlant (Dallas),BoatFactory (Dallas),Wood,NH4,5,16.40733,0.0,1.02,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,CO2,1,57.0,0.0,2.68,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,NH4,1,57.0,0.0,1.02,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,CO2,2,57.0,0.0,2.68,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,NH4,2,57.0,0.0,1.02,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,CO2,3,57.0,0.0,2.68,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,NH4,3,57.0,0.0,1.02,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,CO2,4,57.0,0.0,2.68,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,NH4,4,57.0,0.0,1.02,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,CO2,5,57.0,0.0,2.68,0.0
Forest (Dallas),BoatFactory (Dallas),Wood,NH4,5,57.0,0.0,1.02,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,CO2,1,63.15789,0.0,2.68,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,NH4,1,63.15789,0.0,1.02,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,CO2,2,71.46814,0.0,2.68,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,NH4,2,71.46814,0.0,1.02,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,CO2,3,75.8857,0.0,2.68,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,NH4,3,75.8857,0.0,1.02,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,CO2,4,76.90434,0.0,2.68,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,NH4,4,76.90434,0.0,1.02,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,CO2,5,77.27087,0.0,2.68,0.0
BoatFactory (Dallas),Retail (Dallas),NewBoat,NH4,5,77.27087,0.0,1.02,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,CO2,1,6.31579,0.0,2.68,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,NH4,1,6.31579,0.0,1.02,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,CO2,2,22.93629,0.0,2.68,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,NH4,2,22.93629,0.0,1.02,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,CO2,3,31.7714,0.0,2.68,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,NH4,3,31.7714,0.0,1.02,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,CO2,4,33.80867,0.0,2.68,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,NH4,4,33.80867,0.0,1.02,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,CO2,5,34.54174,0.0,2.68,0.0
Retail (Dallas),RecyclingPlant (Dallas),UsedBoat,NH4,5,34.54174,0.0,1.02,0.0
1 source destination product emission year amount sent (tonne) distance (km) emission factor (tonne/km/tonne) emission amount (tonne)
2 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail CO2 1 0.15789 0.0 2.68 0.0
3 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail NH4 1 0.15789 0.0 1.02 0.0
4 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail CO2 2 0.57341 0.0 2.68 0.0
5 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail NH4 2 0.57341 0.0 1.02 0.0
6 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail CO2 3 0.79428 0.0 2.68 0.0
7 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail NH4 3 0.79428 0.0 1.02 0.0
8 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail CO2 4 0.84522 0.0 2.68 0.0
9 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail NH4 4 0.84522 0.0 1.02 0.0
10 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail CO2 5 0.86354 0.0 2.68 0.0
11 RecyclingPlant (Dallas) BoatFactory (Dallas) Nail NH4 5 0.86354 0.0 1.02 0.0
12 NailFactory (Chicago) BoatFactory (Dallas) Nail CO2 1 1.0 1293.093 2.68 3465.48924
13 NailFactory (Chicago) BoatFactory (Dallas) Nail NH4 1 1.0 1293.093 1.02 1318.95486
14 NailFactory (Chicago) BoatFactory (Dallas) Nail CO2 2 1.0 1293.093 2.68 3465.48924
15 NailFactory (Chicago) BoatFactory (Dallas) Nail NH4 2 1.0 1293.093 1.02 1318.95486
16 NailFactory (Chicago) BoatFactory (Dallas) Nail CO2 3 1.0 1293.093 2.68 3465.48924
17 NailFactory (Chicago) BoatFactory (Dallas) Nail NH4 3 1.0 1293.093 1.02 1318.95486
18 NailFactory (Chicago) BoatFactory (Dallas) Nail CO2 4 1.0 1293.093 2.68 3465.48924
19 NailFactory (Chicago) BoatFactory (Dallas) Nail NH4 4 1.0 1293.093 1.02 1318.95486
20 NailFactory (Chicago) BoatFactory (Dallas) Nail CO2 5 1.0 1293.093 2.68 3465.48924
21 NailFactory (Chicago) BoatFactory (Dallas) Nail NH4 5 1.0 1293.093 1.02 1318.95486
22 NailFactory (Phoenix) BoatFactory (Dallas) Nail CO2 1 1.0 1423.57 2.68 3815.1676
23 NailFactory (Phoenix) BoatFactory (Dallas) Nail NH4 1 1.0 1423.57 1.02 1452.0414
24 NailFactory (Phoenix) BoatFactory (Dallas) Nail CO2 2 1.0 1423.57 2.68 3815.1676
25 NailFactory (Phoenix) BoatFactory (Dallas) Nail NH4 2 1.0 1423.57 1.02 1452.0414
26 NailFactory (Phoenix) BoatFactory (Dallas) Nail CO2 3 1.0 1423.57 2.68 3815.1676
27 NailFactory (Phoenix) BoatFactory (Dallas) Nail NH4 3 1.0 1423.57 1.02 1452.0414
28 NailFactory (Phoenix) BoatFactory (Dallas) Nail CO2 4 1.0 1423.57 2.68 3815.1676
29 NailFactory (Phoenix) BoatFactory (Dallas) Nail NH4 4 1.0 1423.57 1.02 1452.0414
30 NailFactory (Phoenix) BoatFactory (Dallas) Nail CO2 5 1.0 1423.57 2.68 3815.1676
31 NailFactory (Phoenix) BoatFactory (Dallas) Nail NH4 5 1.0 1423.57 1.02 1452.0414
32 NailFactory (Dallas) BoatFactory (Dallas) Nail CO2 1 1.0 0.0 2.68 0.0
33 NailFactory (Dallas) BoatFactory (Dallas) Nail NH4 1 1.0 0.0 1.02 0.0
34 NailFactory (Dallas) BoatFactory (Dallas) Nail CO2 2 1.0 0.0 2.68 0.0
35 NailFactory (Dallas) BoatFactory (Dallas) Nail NH4 2 1.0 0.0 1.02 0.0
36 NailFactory (Dallas) BoatFactory (Dallas) Nail CO2 3 1.0 0.0 2.68 0.0
37 NailFactory (Dallas) BoatFactory (Dallas) Nail NH4 3 1.0 0.0 1.02 0.0
38 NailFactory (Dallas) BoatFactory (Dallas) Nail CO2 4 1.0 0.0 2.68 0.0
39 NailFactory (Dallas) BoatFactory (Dallas) Nail NH4 4 1.0 0.0 1.02 0.0
40 NailFactory (Dallas) BoatFactory (Dallas) Nail CO2 5 1.0 0.0 2.68 0.0
41 NailFactory (Dallas) BoatFactory (Dallas) Nail NH4 5 1.0 0.0 1.02 0.0
42 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood CO2 1 3.0 0.0 2.68 0.0
43 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood NH4 1 3.0 0.0 1.02 0.0
44 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood CO2 2 10.89474 0.0 2.68 0.0
45 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood NH4 2 10.89474 0.0 1.02 0.0
46 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood CO2 3 15.09141 0.0 2.68 0.0
47 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood NH4 3 15.09141 0.0 1.02 0.0
48 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood CO2 4 16.05912 0.0 2.68 0.0
49 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood NH4 4 16.05912 0.0 1.02 0.0
50 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood CO2 5 16.40733 0.0 2.68 0.0
51 RecyclingPlant (Dallas) BoatFactory (Dallas) Wood NH4 5 16.40733 0.0 1.02 0.0
52 Forest (Dallas) BoatFactory (Dallas) Wood CO2 1 57.0 0.0 2.68 0.0
53 Forest (Dallas) BoatFactory (Dallas) Wood NH4 1 57.0 0.0 1.02 0.0
54 Forest (Dallas) BoatFactory (Dallas) Wood CO2 2 57.0 0.0 2.68 0.0
55 Forest (Dallas) BoatFactory (Dallas) Wood NH4 2 57.0 0.0 1.02 0.0
56 Forest (Dallas) BoatFactory (Dallas) Wood CO2 3 57.0 0.0 2.68 0.0
57 Forest (Dallas) BoatFactory (Dallas) Wood NH4 3 57.0 0.0 1.02 0.0
58 Forest (Dallas) BoatFactory (Dallas) Wood CO2 4 57.0 0.0 2.68 0.0
59 Forest (Dallas) BoatFactory (Dallas) Wood NH4 4 57.0 0.0 1.02 0.0
60 Forest (Dallas) BoatFactory (Dallas) Wood CO2 5 57.0 0.0 2.68 0.0
61 Forest (Dallas) BoatFactory (Dallas) Wood NH4 5 57.0 0.0 1.02 0.0
62 BoatFactory (Dallas) Retail (Dallas) NewBoat CO2 1 63.15789 0.0 2.68 0.0
63 BoatFactory (Dallas) Retail (Dallas) NewBoat NH4 1 63.15789 0.0 1.02 0.0
64 BoatFactory (Dallas) Retail (Dallas) NewBoat CO2 2 71.46814 0.0 2.68 0.0
65 BoatFactory (Dallas) Retail (Dallas) NewBoat NH4 2 71.46814 0.0 1.02 0.0
66 BoatFactory (Dallas) Retail (Dallas) NewBoat CO2 3 75.8857 0.0 2.68 0.0
67 BoatFactory (Dallas) Retail (Dallas) NewBoat NH4 3 75.8857 0.0 1.02 0.0
68 BoatFactory (Dallas) Retail (Dallas) NewBoat CO2 4 76.90434 0.0 2.68 0.0
69 BoatFactory (Dallas) Retail (Dallas) NewBoat NH4 4 76.90434 0.0 1.02 0.0
70 BoatFactory (Dallas) Retail (Dallas) NewBoat CO2 5 77.27087 0.0 2.68 0.0
71 BoatFactory (Dallas) Retail (Dallas) NewBoat NH4 5 77.27087 0.0 1.02 0.0
72 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat CO2 1 6.31579 0.0 2.68 0.0
73 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat NH4 1 6.31579 0.0 1.02 0.0
74 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat CO2 2 22.93629 0.0 2.68 0.0
75 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat NH4 2 22.93629 0.0 1.02 0.0
76 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat CO2 3 31.7714 0.0 2.68 0.0
77 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat NH4 3 31.7714 0.0 1.02 0.0
78 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat CO2 4 33.80867 0.0 2.68 0.0
79 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat NH4 4 33.80867 0.0 1.02 0.0
80 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat CO2 5 34.54174 0.0 2.68 0.0
81 Retail (Dallas) RecyclingPlant (Dallas) UsedBoat NH4 5 34.54174 0.0 1.02 0.0

View File

@@ -9,6 +9,7 @@ function model_build_test()
y = model[:y]
z_disp = model[:z_disp]
z_input = model[:z_input]
z_tr_em = model[:z_tr_em]
x = model[:x]
obj = objective_function(model)
# print(model)
@@ -44,6 +45,12 @@ function model_build_test()
300 # fixed operating cost
)
# Variables: Transportation emissions
@test haskey(z_tr_em, ("CO2", "L1", "C3", "P4", 1))
@test haskey(z_tr_em, ("CH4", "L1", "C3", "P4", 1))
@test haskey(z_tr_em, ("CO2", "C2", "L1", "P1", 1))
@test haskey(z_tr_em, ("CH4", "C2", "L1", "P1", 1))
# Plants: Definition of total plant input
@test repr(model[:eq_z_input]["L1", 1]) ==
"eq_z_input[L1,1] : -y[C2,L1,P1,1] - y[C1,L1,P2,1] + z_input[L1,1] = 0"
@@ -118,4 +125,8 @@ function model_build_test()
@test repr(model[:eq_disposal_limit]["P3", 1]) ==
"eq_disposal_limit[P3,1] : z_disp[L1,P3,1] + z_disp[C1,P3,1] ≤ 5"
@test ("P4", 1) keys(model[:eq_disposal_limit])
# Products: Transportation emissions
@test repr(model[:eq_tr_em]["CH4", "L1", "C3", "P4", 1]) ==
"eq_tr_em[CH4,L1,C3,P4,1] : -0.333354 y[L1,C3,P4,1] + z_tr_em[CH4,L1,C3,P4,1] = 0"
end