From b0535d8740927f6472971932600d54a492c00552 Mon Sep 17 00:00:00 2001 From: Tim Reichelt Date: Wed, 9 Jul 2025 15:38:11 +0100 Subject: [PATCH 1/2] Make basepath a command line argument --- src/climatebenchpress/data_loader/datasets/cams.py | 9 +++++++-- .../data_loader/datasets/cmip6/access_atmos.py | 9 +++++++-- .../data_loader/datasets/cmip6/access_ocean.py | 9 +++++++-- src/climatebenchpress/data_loader/datasets/era5.py | 9 +++++++-- .../data_loader/datasets/esa_biomass_cci.py | 8 +++++++- src/climatebenchpress/data_loader/datasets/nextgems.py | 9 +++++++-- 6 files changed, 42 insertions(+), 11 deletions(-) diff --git a/src/climatebenchpress/data_loader/datasets/cams.py b/src/climatebenchpress/data_loader/datasets/cams.py index 57d273f..d1b225f 100644 --- a/src/climatebenchpress/data_loader/datasets/cams.py +++ b/src/climatebenchpress/data_loader/datasets/cams.py @@ -2,6 +2,7 @@ import logging from pathlib import Path +import argparse import xarray as xr @@ -46,8 +47,12 @@ def open(download_path: Path) -> xr.Dataset: if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(CamsNitrogenDioxideDataset) - open_downloaded_tiny_canonicalized_dataset(CamsNitrogenDioxideDataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(CamsNitrogenDioxideDataset, basepath=args.basepath) + open_downloaded_tiny_canonicalized_dataset(CamsNitrogenDioxideDataset, basepath=args.basepath) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py b/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py index 3c78723..d461a26 100644 --- a/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py +++ b/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py @@ -1,6 +1,7 @@ __all__ = ["Cmip6AtmosphereAccessDataset"] from pathlib import Path +import argparse from ... import ( open_downloaded_canonicalized_dataset, @@ -28,8 +29,12 @@ def download(download_path: Path, progress: bool = True): if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(Cmip6AtmosphereAccessDataset) - open_downloaded_tiny_canonicalized_dataset(Cmip6AtmosphereAccessDataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(Cmip6AtmosphereAccessDataset, basepath=args.basepath) + open_downloaded_tiny_canonicalized_dataset(Cmip6AtmosphereAccessDataset, basepath=args.basepath) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py b/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py index 4198347..18aaa40 100644 --- a/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py +++ b/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py @@ -1,6 +1,7 @@ __all__ = ["Cmip6OceanAccessDataset"] from pathlib import Path +import argparse from ... import ( open_downloaded_canonicalized_dataset, @@ -30,8 +31,12 @@ def download(download_path: Path, progress: bool = True): if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(Cmip6OceanAccessDataset) - open_downloaded_tiny_canonicalized_dataset(Cmip6OceanAccessDataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(Cmip6OceanAccessDataset, basepath=args.basepath) + open_downloaded_tiny_canonicalized_dataset(Cmip6OceanAccessDataset, basepath=args.basepath) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/era5.py b/src/climatebenchpress/data_loader/datasets/era5.py index d9d0d88..2570694 100644 --- a/src/climatebenchpress/data_loader/datasets/era5.py +++ b/src/climatebenchpress/data_loader/datasets/era5.py @@ -1,6 +1,7 @@ __all__ = ["Era5Dataset"] from pathlib import Path +import argparse import xarray as xr @@ -49,8 +50,12 @@ def open(download_path: Path) -> xr.Dataset: if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(Era5Dataset) - open_downloaded_tiny_canonicalized_dataset(Era5Dataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(Era5Dataset, basepath=args.basepath) + open_downloaded_tiny_canonicalized_dataset(Era5Dataset, basepath=args.basepath) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py b/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py index 8120322..26dea57 100644 --- a/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py +++ b/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py @@ -2,6 +2,7 @@ import logging from pathlib import Path +import argparse import xarray as xr @@ -55,7 +56,11 @@ def open(download_path: Path) -> xr.Dataset: if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(EsaBiomassCciDataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(EsaBiomassCciDataset, basepath=args.basepath) num_lon, num_lat = ds.lon.size, ds.lat.size open_downloaded_tiny_canonicalized_dataset( EsaBiomassCciDataset, @@ -64,6 +69,7 @@ def open(download_path: Path) -> xr.Dataset: "X": slice(num_lon // 2, (num_lon // 2) + 500), "Y": slice(num_lat // 2, (num_lat // 2) + 500), }, + basepath=args.basepath, ) for v, da in ds.items(): diff --git a/src/climatebenchpress/data_loader/datasets/nextgems.py b/src/climatebenchpress/data_loader/datasets/nextgems.py index 4d1713c..bc8a3f0 100644 --- a/src/climatebenchpress/data_loader/datasets/nextgems.py +++ b/src/climatebenchpress/data_loader/datasets/nextgems.py @@ -1,6 +1,7 @@ __all__ = ["NextGemsDataset"] from pathlib import Path +import argparse import healpy import intake @@ -94,8 +95,12 @@ def _get_nn_lon_lat_index(nside, lons, lats): if __name__ == "__main__": - ds = open_downloaded_canonicalized_dataset(NextGemsDataset) - open_downloaded_tiny_canonicalized_dataset(NextGemsDataset) + parser = argparse.ArgumentParser() + parser.add_argument("--basepath", type=Path, default=Path()) + args = parser.parse_args() + + ds = open_downloaded_canonicalized_dataset(NextGemsDataset, basepath=args.basepath) + open_downloaded_tiny_canonicalized_dataset(NextGemsDataset, basepath=args.basepath) for v, da in ds.items(): print(f"- {v}: {da.dims}") From 138f41c868bfc2e6d7199bee79314cfa0344bf46 Mon Sep 17 00:00:00 2001 From: Tim Reichelt Date: Wed, 9 Jul 2025 15:45:19 +0100 Subject: [PATCH 2/2] reformat --- src/climatebenchpress/data_loader/datasets/cams.py | 8 ++++++-- .../data_loader/datasets/cmip6/access_atmos.py | 8 ++++++-- .../data_loader/datasets/cmip6/access_ocean.py | 8 ++++++-- .../data_loader/datasets/esa_biomass_cci.py | 4 +++- 4 files changed, 21 insertions(+), 7 deletions(-) diff --git a/src/climatebenchpress/data_loader/datasets/cams.py b/src/climatebenchpress/data_loader/datasets/cams.py index d1b225f..12b3fbc 100644 --- a/src/climatebenchpress/data_loader/datasets/cams.py +++ b/src/climatebenchpress/data_loader/datasets/cams.py @@ -51,8 +51,12 @@ def open(download_path: Path) -> xr.Dataset: parser.add_argument("--basepath", type=Path, default=Path()) args = parser.parse_args() - ds = open_downloaded_canonicalized_dataset(CamsNitrogenDioxideDataset, basepath=args.basepath) - open_downloaded_tiny_canonicalized_dataset(CamsNitrogenDioxideDataset, basepath=args.basepath) + ds = open_downloaded_canonicalized_dataset( + CamsNitrogenDioxideDataset, basepath=args.basepath + ) + open_downloaded_tiny_canonicalized_dataset( + CamsNitrogenDioxideDataset, basepath=args.basepath + ) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py b/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py index d461a26..559f06a 100644 --- a/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py +++ b/src/climatebenchpress/data_loader/datasets/cmip6/access_atmos.py @@ -33,8 +33,12 @@ def download(download_path: Path, progress: bool = True): parser.add_argument("--basepath", type=Path, default=Path()) args = parser.parse_args() - ds = open_downloaded_canonicalized_dataset(Cmip6AtmosphereAccessDataset, basepath=args.basepath) - open_downloaded_tiny_canonicalized_dataset(Cmip6AtmosphereAccessDataset, basepath=args.basepath) + ds = open_downloaded_canonicalized_dataset( + Cmip6AtmosphereAccessDataset, basepath=args.basepath + ) + open_downloaded_tiny_canonicalized_dataset( + Cmip6AtmosphereAccessDataset, basepath=args.basepath + ) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py b/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py index 18aaa40..4dd40f6 100644 --- a/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py +++ b/src/climatebenchpress/data_loader/datasets/cmip6/access_ocean.py @@ -35,8 +35,12 @@ def download(download_path: Path, progress: bool = True): parser.add_argument("--basepath", type=Path, default=Path()) args = parser.parse_args() - ds = open_downloaded_canonicalized_dataset(Cmip6OceanAccessDataset, basepath=args.basepath) - open_downloaded_tiny_canonicalized_dataset(Cmip6OceanAccessDataset, basepath=args.basepath) + ds = open_downloaded_canonicalized_dataset( + Cmip6OceanAccessDataset, basepath=args.basepath + ) + open_downloaded_tiny_canonicalized_dataset( + Cmip6OceanAccessDataset, basepath=args.basepath + ) for v, da in ds.items(): print(f"- {v}: {da.dims}") diff --git a/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py b/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py index 26dea57..c97d3a7 100644 --- a/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py +++ b/src/climatebenchpress/data_loader/datasets/esa_biomass_cci.py @@ -60,7 +60,9 @@ def open(download_path: Path) -> xr.Dataset: parser.add_argument("--basepath", type=Path, default=Path()) args = parser.parse_args() - ds = open_downloaded_canonicalized_dataset(EsaBiomassCciDataset, basepath=args.basepath) + ds = open_downloaded_canonicalized_dataset( + EsaBiomassCciDataset, basepath=args.basepath + ) num_lon, num_lat = ds.lon.size, ds.lat.size open_downloaded_tiny_canonicalized_dataset( EsaBiomassCciDataset,