예제 #1
0
파일: common.py 프로젝트: sonya/eea
def env_sectors_for_year(year, include_hh=False):
    if include_hh:
        blacklist = config.env_sector_blacklist_hh
    else:
        blacklist = config.env_sector_blacklist
    envgen = EnvMatrixGenerator(
        envtable="%s.env_%d" % (config.WIOD_SCHEMA, year),
        ind_col_name="industry",
        series_col_name="measurement",
        value_col_name="value",
        universal_conditions=[
            "industry NOT IN " + sqlhelper.set_repr(blacklist),
            ])
    return envgen.get_sectors()
예제 #2
0
        exchange_rate = exrate.get_rate("ca", year)

    iogen.set_exchange_rate(exchange_rate)

    envgen = cfgen.get_envgen()
    envgen.set_universal_conditions([
        "year = %d" % year,
        "industry not in %s" % sqlhelper.set_repr(config.env_blacklist),
    ])

    io_harmonizer = matrixutils.generate_selector_matrix(
        "%s.sector_map" % config.SCHEMA, iogen.get_sectors(), "io_code",
        "harmonized", ["io_code is not null"])

    env_harmonizer = matrixutils.generate_selector_matrix(
        "%s.sector_map" % config.SCHEMA, envgen.get_sectors(), "env_code",
        "harmonized", ["env_code is not null"])

    series = ["1"]

    cfgen.prepare(year, series, io_harmonizer, env_harmonizer)

sector_titles = {}
stmt = db.prepare("select distinct code, description" +
                  "  from %s.ind_codes order by code" % config.SCHEMA)
for row in stmt():
    sector_titles[row[0]] = row[1]

cfgen.set_sector_titles(sector_titles)
cfgen.describe()
cfgen.describe(True)
예제 #3
0
파일: counterfact.py 프로젝트: sonya/eea
        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(),
            "env_sector", "harmonized")
        io_harmonizer = matrixutils.generate_selector_matrix(
            "%s.io_map_%d" % (config.SCHEMA, year), iogen.get_sectors(),
            "io_sector", "harmonized")

        series = config.env_series[series_code][year]

        cfgen.prepare(year, series, io_harmonizer, env_harmonizer)

    cfgen.set_sector_titles(sector_titles)
    cfgen.describe()
    cfgen.describe(True)
    cfgen.counterfact(1995, "jp")
예제 #4
0
파일: counterfact.py 프로젝트: sonya/eea
    iogen.set_exchange_rate(exchange_rate)
    
    envgen = cfgen.get_envgen()
    envgen.set_universal_conditions([
            "year = %d" % year,
            "industry not in %s" % sqlhelper.set_repr(config.env_blacklist),
            ])

    io_harmonizer = matrixutils.generate_selector_matrix(
        "%s.sector_map" % config.SCHEMA,
        iogen.get_sectors(), "io_code", "harmonized",
        ["io_code is not null"])

    env_harmonizer = matrixutils.generate_selector_matrix(
        "%s.sector_map" % config.SCHEMA,
        envgen.get_sectors(), "env_code", "harmonized",
        ["env_code is not null"])

    series = ["1"]
    
    cfgen.prepare(year, series, io_harmonizer, env_harmonizer)
    
sector_titles = {}
stmt = db.prepare("select distinct code, description" +
                  "  from %s.ind_codes order by code" % config.SCHEMA)
for row in stmt():
    sector_titles[row[0]] = row[1]
    
cfgen.set_sector_titles(sector_titles)
cfgen.describe()
cfgen.describe(True)
예제 #5
0
파일: counterfact.py 프로젝트: sonya/eea
    
        exchange_rate = wiod.common.get_exchange_rate("GBR", year)
        if exchange_rate is None:
            exchange_rate = exrate.get_rate("uk", year)

        # k tons / (M pounds * exchange_rate) = k tons / million usd
        iogen.set_exchange_rate(exchange_rate)
    
        envgen = cfgen.get_envgen()
        envgen.set_table("%s.env_%d" % (config.SCHEMA, year))
    
        # we need to keep building this up because
        # some years are missing sectors
        env_harmonizer = matrixutils.generate_selector_matrix(
            "%s.code_map" % config.SCHEMA,
            envgen.get_sectors(), "env_code", "harmonized",
            ["env_code is not null"])
    
        series = env_series_code
    
        cfgen.prepare(year, series, io_harmonizer, env_harmonizer)
    
    sector_titles = {}
    stmt = db.prepare("select distinct harmonized, description" +
                      "  from %s.code_map order by harmonized" % config.SCHEMA)
    for row in stmt():
        sector_titles[row[0]] = row[1]
    
    cfgen.set_sector_titles(sector_titles)
    cfgen.describe()
    cfgen.describe(True)
예제 #6
0
파일: counterfact.py 프로젝트: sonya/eea
    
        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(), "env_sector", "harmonized")
        io_harmonizer = matrixutils.generate_selector_matrix(
            "%s.io_map_%d" % (config.SCHEMA, year),
            iogen.get_sectors(), "io_sector", "harmonized")
    
        series = config.env_series[series_code][year]
    
        cfgen.prepare(year, series, io_harmonizer, env_harmonizer)
    
    cfgen.set_sector_titles(sector_titles)
    cfgen.describe()
    cfgen.describe(True)
    cfgen.counterfact(1995, "jp")


예제 #7
0
파일: counterfact.py 프로젝트: sonya/eea
        iogen.set_harmonized_rows(config.io_harmonized_sectors[year])

        exchange_rate = wiod.common.get_exchange_rate("TWN", year)
        # tons / (million ntd * exchange_rate) = tons / M usd
        iogen.set_exchange_rate(exchange_rate)
        iogen.set_pce_col(config.pce_sector[year])
        iogen.set_export_col(config.export_sector[year])
    
        envtable = "%s.env_%d" % (config.SCHEMA, year)
        envgen = cfgen.get_envgen()
        envgen.set_table(envtable)
        env_blacklist = sqlhelper.set_repr(config.env_blacklist[year])
        env_condition = "sector NOT IN " + env_blacklist
        envgen.set_universal_conditions([env_condition])
    
        map_table = "%s.sector_map_%d" % (config.SCHEMA, year)
        env_harmonizer = matrixutils.generate_selector_matrix(
            map_table, envgen.get_sectors(), "env_sector", "harmonized_env")
        io_harmonizer = matrixutils.generate_selector_matrix(
            map_table, iogen.get_sectors(), "io_sector", "harmonized_env")
    
        series = config.env_series_for_code(series_code, year)
        cfgen.prepare(year, series, io_harmonizer, env_harmonizer)
    
    cfgen.describe()
    cfgen.describe(True)
    cfgen.counterfact(1999, "tw")