与光明路各单位交流
exchanges with different units in brightway
是否可以在 Brightway 中定义一个 activity 与不同单位交换?
(例如太焦耳而不是兆焦耳)。我写了一些代码来测试这个,但我天真的方法似乎不起作用:
co2_f=[f for f in bw.Database('biosphere3')
if 'Carbon dioxide' in f['name']
and ' fossil' in f['name']
and f['categories']==('air', 'low population density, long-term')
][0]
co2_f
for act in bw.Database('ei_35cutoff'):
if act['unit']=='megajoule':
break
db = bw.Database("a&e")
db.write({
("a&e", "cat1"):
{
'name': 'cat1',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'megajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'kilogram'}]
},
("a&e", "cat2"):
{
'name': 'cat2',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'terajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'kilogram'}]
},
("a&e", "cat3"):
{
'name': 'cat3',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'megajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'ton'}]
},
})
ipcc2013 = ('IPCC 2013', 'climate change', 'GWP 100a')
for a in db:
actlca=bw.LCA({a:1},method=ipcc2013)
actlca.lci()
actlca.lcia()
print(a['name'],actlca.score)
并且都产生相同的结果。就好像 CO2 是千克,act
是兆焦耳。
是否可以在 Brightway 中定义一个 activity 与不同单位交换? (例如太焦耳而不是兆焦耳)。我写了一些代码来测试这个,但我天真的方法似乎不起作用:
co2_f=[f for f in bw.Database('biosphere3')
if 'Carbon dioxide' in f['name']
and ' fossil' in f['name']
and f['categories']==('air', 'low population density, long-term')
][0]
co2_f
for act in bw.Database('ei_35cutoff'):
if act['unit']=='megajoule':
break
db = bw.Database("a&e")
db.write({
("a&e", "cat1"):
{
'name': 'cat1',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'megajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'kilogram'}]
},
("a&e", "cat2"):
{
'name': 'cat2',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'terajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'kilogram'}]
},
("a&e", "cat3"):
{
'name': 'cat3',
'unit': 'kilogram',
'exchanges': [
{'input': act.key ,'amount': 10,'type': 'technosphere','unit':'megajoule'},
{'input': co2_f.key,'amount': 1,'type': 'biosphere','unit':'ton'}]
},
})
ipcc2013 = ('IPCC 2013', 'climate change', 'GWP 100a')
for a in db:
actlca=bw.LCA({a:1},method=ipcc2013)
actlca.lci()
actlca.lcia()
print(a['name'],actlca.score)
并且都产生相同的结果。就好像 CO2 是千克,act
是兆焦耳。