varunayan.imd module¶
IMD gridded climate data (rainfall 0.25/1.0 deg, temperature 1.0 deg).
- varunayan.imd.get_imd_grid_specs(dataset: str) dict[source]¶
Return grid specifications for dataset (a key in
IMD_GRID_SPECS).
- varunayan.imd.list_imd_datasets() DataFrame[source]¶
Return a DataFrame of all IMD gridded datasets.
- varunayan.imd.download_imd_rainfall(start_year: int, end_year: int, resolution: float = 0.25, output_dir: str | None = None, use_cache: bool = True) List[str][source]¶
Download IMD gridded rainfall for each year. Returns list of file paths.
- varunayan.imd.download_imd_temperature(start_year: int, end_year: int, var_type: str = 'tmax', output_dir: str | None = None, use_cache: bool = True) List[str][source]¶
Download IMD gridded temperature for each year. Returns list of file paths.
- varunayan.imd.read_imd_temperature(file_path: str, var_type: str, year: int) DataFrame[source]¶
Read an IMD binary .grd temperature file (32-bit LE floats, nlon x nlat x ndays).
- varunayan.imd.read_imd_rainfall(file_path: str, resolution: float, year: int) DataFrame[source]¶
Read an IMD NetCDF rainfall file.
- varunayan.imd.process_imd_files(file_paths: List[str], var_type: str, resolution: float | None = None, years: List[int] | None = None) DataFrame[source]¶
Read and concatenate multiple IMD files.
- varunayan.imd.filter_imd_by_bbox(data: DataFrame, north: float, south: float, east: float, west: float) DataFrame[source]¶
Filter IMD data to a lat/lon bounding box.
- varunayan.imd.filter_imd_by_geojson(data: DataFrame, geojson_file: str) DataFrame[source]¶
Filter IMD data to points within a GeoJSON polygon.
- varunayan.imd.aggregate_imd_by_frequency(data: DataFrame, frequency: str = 'daily') DataFrame[source]¶
Aggregate IMD data: SUM for rainfall, MEAN for temperature.
- varunayan.imd.imd_rainfall_bbox(request_id: str, start_year: int, end_year: int, north: float, south: float, east: float, west: float, resolution: float = 0.25, frequency: str = 'daily', use_cache: bool = True) DataFrame[source]¶
Download, bbox-filter, aggregate IMD rainfall.
- varunayan.imd.imd_rainfall_geojson(request_id: str, start_year: int, end_year: int, geojson_file: str, resolution: float = 0.25, frequency: str = 'daily', use_cache: bool = True) DataFrame[source]¶
Download, geojson-filter, aggregate IMD rainfall.