Spaces:
Sleeping
Sleeping
Download scripts/generate_sample_data.py from SeriousSam07/Ritu-AI: direct link, hf CLI and curl.
- Browser
- Download file 2.87 kB
-
https://huggingface.co/spaces/SeriousSam07/Ritu-AI/resolve/main/scripts/generate_sample_data.py
- Command line
-
hf download hf://spaces/SeriousSam07/Ritu-AI/scripts/generate_sample_data.py
-
curl -L -o generate_sample_data.py https://huggingface.co/spaces/SeriousSam07/Ritu-AI/resolve/main/scripts/generate_sample_data.py
2.87 kB
| """ | |
| generate_sample_data.py β One-time script to create demo NetCDF files. | |
| Run this before starting the API: | |
| python scripts/generate_sample_data.py | |
| Generates: | |
| backend/data/sample/maharashtra_rain.nc | |
| backend/data/sample/maharashtra_temp.nc | |
| backend/data/sample/maharashtra_lst.nc | |
| """ | |
| import sys | |
| import logging | |
| from pathlib import Path | |
| # Add backend to path | |
| sys.path.insert(0, str(Path(__file__).parent.parent)) | |
| logging.basicConfig( | |
| level=logging.INFO, | |
| format="%(asctime)s %(levelname)s: %(message)s", | |
| datefmt="%H:%M:%S", | |
| ) | |
| logger = logging.getLogger(__name__) | |
| def main(): | |
| logger.info("π§οΈ Generating Maharashtra climate sample data...") | |
| try: | |
| from backend.pipeline.ingest_imd import ingest_rainfall, ingest_temperature | |
| from backend.pipeline.ingest_mosdac import ingest_lst | |
| # ββ Rainfall: 2015β2023 βββββββββββββββββββββββββββββββββββββββ | |
| logger.info("\n[1/3] Rainfall dataset (2015β2023)...") | |
| ds_rain = ingest_rainfall(start_year=2015, end_year=2023) | |
| print(f" β Rain: {ds_rain.dims} | vars={list(ds_rain.data_vars)}") | |
| # ββ Temperature: 2015β2023 ββββββββββββββββββββββββββββββββββββ | |
| logger.info("\n[2/3] Temperature dataset (2015β2023)...") | |
| ds_temp = ingest_temperature(start_year=2015, end_year=2023) | |
| print(f" β Temp: {ds_temp.dims} | vars={list(ds_temp.data_vars)}") | |
| # ββ LST: MOSDAC (2020β2023) βββββββββββββββββββββββββββββββββββ | |
| logger.info("\n[3/3] Land Surface Temperature (MOSDAC/INSAT)...") | |
| ds_lst = ingest_lst() | |
| print(f" β LST: {ds_lst.dims} | vars={list(ds_lst.data_vars)}") | |
| # ββ Validation ββββββββββββββββββββββββββββββββββββββββββββββββ | |
| logger.info("\nπ Validating generated files...") | |
| import xarray as xr | |
| sample_dir = Path(__file__).parent.parent / "backend" / "data" / "sample" | |
| for nc_file in sample_dir.glob("*.nc"): | |
| ds = xr.open_dataset(nc_file) | |
| nan_count = sum(int(ds[v].isnull().sum()) for v in ds.data_vars) | |
| print(f" π {nc_file.name}: {ds.dims} | NaN count: {nan_count}") | |
| ds.close() | |
| logger.info("\nπ All sample data generated successfully!") | |
| logger.info(f" Location: {sample_dir}") | |
| except ImportError as e: | |
| logger.error(f"Missing dependency: {e}") | |
| logger.error("Install with: pip install xarray netCDF4 numpy scipy") | |
| sys.exit(1) | |
| if __name__ == "__main__": | |
| main() | |