Example #1
0
def test_item1_dataframe(item_tmp_dir):
    # As a pd.DataFrame
    data = load_model_data(1, skip_cache=True)
    assert len(data) == item1_size

    # As a dict() of xr.DataArray
    data = load_model_data(1, fmt=xr.DataArray)
    size = sum([d.notnull().sum() for d in data.values()])
    assert size == 875589  # Omits intensity_new

    # As a xr.Dataset
    data = load_model_data(1, fmt=xr.Dataset)
    assert data.notnull().sum() == 875589  # Omits intensity_new
Example #2
0
def plot_all_item1():
    """Produce all plots for the iTEM1 database."""
    from plotnine import aes, facet_grid, geom_bar, labs

    from item.model import load_model_data, squash_scenarios
    from item.model.dimensions import ALL, PAX

    class pass_energy_use_mode(Plot):
        """Passenger energy use by mode.

        This reproduces a figure from the (private) item2-scripts respository.
        """

        variable = "energy"
        selectors = dict(region="Global",
                         mode=PAX,
                         tech=ALL,
                         fuel=ALL,
                         year=[2015, 2030, 2050])
        terms = [
            aes("year", "value / 1000", fill="mode"),
            geom_bar(stat="identity"),
            facet_grid(["scenario", "model"]),
            labs(x="Year", y="EJ/year"),
        ]

    df = load_model_data(1)
    df = squash_scenarios(df, 1)
    pass_energy_use_mode(df, 1).save()
Example #3
0
def test_invalid_version():
    # Load an invalid model database version
    with pytest.raises(ValueError):
        load_model_data(99)
Example #4
0
def test_item2_xr(item_tmp_dir):
    # As a dict() of xr.DataArray
    data = load_model_data(2, fmt=xr.DataArray)
    size = sum([d.notnull().sum() for d in data.values()])
    assert size == item2_size
Example #5
0
def test_item2(item_tmp_dir):
    # As a pd.DataFrame
    data = load_model_data(2, skip_cache=True)
    assert len(data) == item2_size
Example #6
0
def item1_data(item_tmp_dir):
    yield load_model_data(1)