123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141 |
- """Note that these tests only run locally, because they require the downloaded data"""
- import primap2 as pm2
- import pytest
- from faostat_data_primap.helper.paths import (
- downloaded_data_path,
- extracted_data_path,
- )
- from faostat_data_primap.read import process, read_data
- def test_processed_output_remains_the_same():
-
- release_name = "v2024-11-14"
-
- filename_processed_ds = f"FAOSTAT_Agrifood_system_emissions_{release_name}"
- filepath = extracted_data_path / release_name / (filename_processed_ds + ".nc")
- ds_processed = pm2.open_dataset(filepath)
-
- filename_raw_ds = (
- extracted_data_path
- / f"{release_name}/FAOSTAT_Agrifood_system_emissions_{release_name}_raw.nc"
- )
- ds_raw = pm2.open_dataset(filename_raw_ds)
-
- ds_processed_new = process(ds=ds_raw)
-
- primap_sectors = ["3", "3.A", "M.AG", "M.AG.ELV", "M.LULUCF"]
- ds_processed = ds_processed.loc[{"category (IPCC2006_PRIMAP)": primap_sectors}]
- ds_processed_new = ds_processed_new.loc[
- {"category (IPCC2006_PRIMAP)": primap_sectors}
- ]
-
-
- assert ds_processed.broadcast_equals(ds_processed_new)
- @pytest.mark.parametrize(
- "domains_and_releases_to_read",
- [
- pytest.param(
- [
- ("farm_gate_agriculture_energy", "2023-12-13"),
- ("farm_gate_emissions_crops", "2023-11-09"),
- ("farm_gate_livestock", "2023-11-09"),
- ("land_use_drained_organic_soils", "2023-11-09"),
- ("land_use_fires", "2023-11-09"),
- ("land_use_forests", "2023-11-09"),
- ("pre_post_agricultural_production", "2023-11-09"),
- ],
- id="2023 release",
- ),
- pytest.param(
- [
- ("farm_gate_agriculture_energy", "2024-11-14"),
- ("farm_gate_emissions_crops", "2024-11-14"),
- ("farm_gate_livestock", "2024-11-14"),
- ("land_use_drained_organic_soils", "2024-11-14"),
- ("land_use_fires", "2024-11-14"),
- ("land_use_forests", "2024-11-14"),
- ("pre_post_agricultural_production", "2024-11-14"),
- ],
- id="2024 release",
- ),
- ],
- )
- def test_read(tmp_path, domains_and_releases_to_read):
- read_data(
- domains_and_releases_to_read=domains_and_releases_to_read,
- read_path=downloaded_data_path,
-
- save_path=extracted_data_path,
- )
|