Esempio n. 1
0
File: common.py Progetto: sonya/eea
def iogen_for_year(year):
    iogen = IOMatrixGenerator(
        transaction_table="%s.indbyind_%d" % (config.WIOD_SCHEMA, year),
        from_sector_name="from_ind",
        to_sector_name="to_ind",
        value_column_name="value",
        final_demand_sectors=config.default_fd_sectors,
        universal_conditions=["country = $1"])
    iogen.set_pce_col("CONS_h")
    iogen.set_export_col("EXP")
    return iogen
Esempio n. 2
0
File: common.py Progetto: sonya/eea
def iogen_for_year(year,
                   is_hybrid=False,
                   allow_imports=True,
                   adjust_for_inflation=False):

    if is_hybrid:
        transaction_table = "hybrid_transactions_%d" % year
        value_column_name = "expenditure"
    else:
        transaction_table = "%s.transact_view_%d" % (config.IO_SCHEMA, year)
        value_column_name = "fob"

    fd_codes = fd_sectors_for_year(year, is_hybrid)

    iogen = IOMatrixGenerator(
        transaction_table=transaction_table,
        from_sector_name="from_sector",
        to_sector_name="to_sector",
        value_column_name=value_column_name,
        final_demand_sectors=fd_codes)
    iogen.set_pce_col(bea.fd_sectors[year]["pce"])
    iogen.set_export_col(bea.fd_sectors[year]["exports"])

    from_blacklist = [bea.tourism_adjustment_codes[year]]
    to_blacklist = [bea.tourism_adjustment_codes[year]]
    if year in (1972, 1977, 1982):
        from_blacklist.append("780300")
        to_blacklist.append("780300")

    if not allow_imports:
        to_blacklist.append(bea.fd_sectors[year]["imports"])

    iogen.blacklist_from_sectors(from_blacklist)
    iogen.blacklist_to_sectors(to_blacklist)

    if adjust_for_inflation:
        iogen.set_exchange_rate(deflators.get_gdp_deflator(year))

    return iogen
Esempio n. 3
0
def iogen_for_year(year,
                   is_hybrid=False,
                   allow_imports=True,
                   adjust_for_inflation=False):

    if is_hybrid:
        transaction_table = "hybrid_transactions_%d" % year
        value_column_name = "expenditure"
    else:
        transaction_table = "%s.transact_view_%d" % (config.IO_SCHEMA, year)
        value_column_name = "fob"

    fd_codes = fd_sectors_for_year(year, is_hybrid)

    iogen = IOMatrixGenerator(transaction_table=transaction_table,
                              from_sector_name="from_sector",
                              to_sector_name="to_sector",
                              value_column_name=value_column_name,
                              final_demand_sectors=fd_codes)
    iogen.set_pce_col(bea.fd_sectors[year]["pce"])
    iogen.set_export_col(bea.fd_sectors[year]["exports"])

    from_blacklist = [bea.tourism_adjustment_codes[year]]
    to_blacklist = [bea.tourism_adjustment_codes[year]]
    if year in (1972, 1977, 1982):
        from_blacklist.append("780300")
        to_blacklist.append("780300")

    if not allow_imports:
        to_blacklist.append(bea.fd_sectors[year]["imports"])

    iogen.blacklist_from_sectors(from_blacklist)
    iogen.blacklist_to_sectors(to_blacklist)

    if adjust_for_inflation:
        iogen.set_exchange_rate(deflators.get_gdp_deflator(year))

    return iogen
Esempio n. 4
0
#

import common.more_exchange_rates as exrate
import wiod.common
from ca import config
from common import matrixutils, sqlhelper
from common.dbconnect import db
from common.matrixutils import NamedMatrix
from common.ioutils import IOMatrixGenerator, EnvMatrixGenerator
from common.counterfact import CounterfactGenerator

iogen = IOMatrixGenerator(transaction_table="%s.ixi_%d" %
                          (config.SCHEMA, config.STUDY_YEARS[0]),
                          final_demand_sectors=config.fd_sectors)
iogen.set_pce_col(config.pce_sector)
iogen.set_export_col(config.export_sector)

envgen = EnvMatrixGenerator(
    envtable="%s.emissions_quantity" % config.SCHEMA,
    ind_col_name="industry",
    series_col_name="1")  # we just have emissions, no series, need hack

cfgen = CounterfactGenerator(iogen, envgen)

cfgen.set_series_code(["1"], "emissions")

for year in config.STUDY_YEARS:
    print(year)
    iogen = cfgen.get_iogen()
    iogen.set_table("%s.ixi_%d" % (config.SCHEMA, year))
Esempio n. 5
0
for row in stmt():
    sector_titles[row[0]] = row[1]

cfgen = CounterfactGenerator(iogen, envgen)

for series_code in config.env_series.keys():
    cfgen.set_series_code(series_code)

    for year in config.STUDY_YEARS:
        iogen = cfgen.get_iogen()
        iogen.set_table("%s.ixi_%d" % (config.SCHEMA, year))
        iogen.set_fd_sectors(config.fd_sectors[year])
        iogen.blacklist_from_sectors(config.from_blacklists[year])
        iogen.blacklist_to_sectors(config.to_blacklists[year])
        iogen.set_pce_col(config.pce_sector[year])
        iogen.set_export_col(config.export_sector[year])

        exchange_rate = wiod.common.get_exchange_rate("JPN", year)
        if exchange_rate is None:
            exchange_rate = 1 / exrate.get_rate("jp", year)

        # tons co2 / (M jpy * exchange rate) = tons co2 / M usd
        # GJ / (M jpy * exchange rate) = GJ / M usd
        # exchange_rate * 1000 gives us kilotons and terrajoules
        iogen.set_exchange_rate(exchange_rate * 1000)

        envgen = cfgen.get_envgen()
        envgen.set_table("%s.env_%d" % (config.SCHEMA, year))

        env_harmonizer = matrixutils.generate_selector_matrix(
            "%s.env_map_%d" % (config.SCHEMA, year), envgen.get_sectors(),
Esempio n. 6
0
#

import common.more_exchange_rates as exrate
import wiod.common
from ca import config
from common import matrixutils, sqlhelper
from common.dbconnect import db
from common.matrixutils import NamedMatrix
from common.ioutils import IOMatrixGenerator, EnvMatrixGenerator
from common.counterfact import CounterfactGenerator

iogen = IOMatrixGenerator(
    transaction_table="%s.ixi_%d" % (config.SCHEMA, config.STUDY_YEARS[0]),
    final_demand_sectors=config.fd_sectors)
iogen.set_pce_col(config.pce_sector)
iogen.set_export_col(config.export_sector)

envgen = EnvMatrixGenerator(
    envtable="%s.emissions_quantity" % config.SCHEMA,
    ind_col_name="industry",
    series_col_name="1") # we just have emissions, no series, need hack

cfgen = CounterfactGenerator(iogen, envgen)

cfgen.set_series_code(["1"], "emissions")
    
for year in config.STUDY_YEARS:
    print(year)
    iogen = cfgen.get_iogen()
    iogen.set_table("%s.ixi_%d" % (config.SCHEMA, year))
Esempio n. 7
0
for row in stmt():
    sector_titles[row[0]] = row[1]

cfgen = CounterfactGenerator(iogen, envgen)

for series_code in config.env_series.keys():
    cfgen.set_series_code(series_code)
    
    for year in config.STUDY_YEARS:
        iogen = cfgen.get_iogen()
        iogen.set_table("%s.ixi_%d" % (config.SCHEMA, year))
        iogen.set_fd_sectors(config.fd_sectors[year])
        iogen.blacklist_from_sectors(config.from_blacklists[year])
        iogen.blacklist_to_sectors(config.to_blacklists[year])
        iogen.set_pce_col(config.pce_sector[year])
        iogen.set_export_col(config.export_sector[year])
    
        exchange_rate = wiod.common.get_exchange_rate("JPN", year)
        if exchange_rate is None:
            exchange_rate = 1 / exrate.get_rate("jp", year)

        # tons co2 / (M jpy * exchange rate) = tons co2 / M usd
        # GJ / (M jpy * exchange rate) = GJ / M usd
        # exchange_rate * 1000 gives us kilotons and terrajoules
        iogen.set_exchange_rate(exchange_rate * 1000)
    
        envgen = cfgen.get_envgen()
        envgen.set_table("%s.env_%d" % (config.SCHEMA, year))
    
        env_harmonizer = matrixutils.generate_selector_matrix(
            "%s.env_map_%d" % (config.SCHEMA, year),