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
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()
def test_invalid_version(): # Load an invalid model database version with pytest.raises(ValueError): load_model_data(99)
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
def test_item2(item_tmp_dir): # As a pd.DataFrame data = load_model_data(2, skip_cache=True) assert len(data) == item2_size
def item1_data(item_tmp_dir): yield load_model_data(1)