src.dynamic_boundary_conditions.rainfall.rainfall_model_input

Generate the requested rainfall model input for BG-Flood, which can be either spatially uniform rain input (‘rain_forcing.txt’ text file) or spatially varying rain input (‘rain_forcing.nc’ NetCDF file).

Attributes

log

Functions

sites_voronoi_intersect_catchment(→ geopandas.GeoDataFrame)

Get the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area,

sites_coverage_in_catchment(→ geopandas.GeoDataFrame)

Get the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area,

mean_catchment_rainfall(→ pandas.DataFrame)

Calculate the mean catchment rainfall intensities (weighted average of gauge measurements)

spatial_uniform_rain_input(→ None)

Write the mean catchment rainfall intensities data (i.e., 'seconds' and 'rain_intensity_mmhr' columns) into a

create_rain_data_cube(→ xarray.Dataset)

Create rainfall intensities data cube (xarray data) for the catchment area across all durations,

spatial_varying_rain_input(→ None)

Write the rainfall intensities data cube in NetCDF format (rain_forcing.nc).

generate_rain_model_input(→ None)

Generate the requested rainfall model input for BG-Flood, either spatially uniform rain input

Module Contents

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.log
src.dynamic_boundary_conditions.rainfall.rainfall_model_input.sites_voronoi_intersect_catchment(sites_in_catchment: geopandas.GeoDataFrame, catchment_area: geopandas.GeoDataFrame) geopandas.GeoDataFrame

Get the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area, returning the overlapping areas.

Parameters:
  • sites_in_catchment (gpd.GeoDataFrame) – Rainfall sites coverage areas (Thiessen Polygons) that intersect or are within the catchment area.

  • catchment_area (gpd.GeoDataFrame) – A GeoDataFrame representing the catchment area.

Returns:

A GeoDataFrame containing the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area.

Return type:

gpd.GeoDataFrame

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.sites_coverage_in_catchment(sites_in_catchment: geopandas.GeoDataFrame, catchment_area: geopandas.GeoDataFrame) geopandas.GeoDataFrame

Get the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area, and calculate the size and percentage of the catchment area covered by each rainfall site.

Parameters:
  • sites_in_catchment (gpd.GeoDataFrame) – Rainfall sites coverage areas (Thiessen Polygons) that intersect or are within the catchment area.

  • catchment_area (gpd.GeoDataFrame) – A GeoDataFrame representing the catchment area.

Returns:

A GeoDataFrame containing the intersection of the rainfall sites coverage areas (Thiessen Polygons) and the catchment area, with calculated size and percentage of the catchment area covered by each rainfall site.

Return type:

gpd.GeoDataFrame

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.mean_catchment_rainfall(hyetograph_data: pandas.DataFrame, sites_coverage: geopandas.GeoDataFrame) pandas.DataFrame

Calculate the mean catchment rainfall intensities (weighted average of gauge measurements) across all durations using the Thiessen polygon method.

Parameters:
  • hyetograph_data (pd.DataFrame) – Hyetograph intensities data for sites within the catchment area.

  • sites_coverage (gpd.GeoDataFrame) – A GeoDataFrame containing information about the coverage area of each rainfall site within the catchment area, including the size and percentage of the catchment area covered by each site.

Returns:

A DataFrame containing the mean catchment rainfall intensities across all durations.

Return type:

pd.DataFrame

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.spatial_uniform_rain_input(hyetograph_data: pandas.DataFrame, sites_coverage: geopandas.GeoDataFrame, bg_flood_dir: pathlib.Path) None

Write the mean catchment rainfall intensities data (i.e., ‘seconds’ and ‘rain_intensity_mmhr’ columns) into a text file named ‘rain_forcing.txt’. This file is used as spatially uniform rain input for the BG-Flood model.

Parameters:
  • hyetograph_data (pd.DataFrame) – Hyetograph intensities data for sites within the catchment area.

  • sites_coverage (gpd.GeoDataFrame) – A GeoDataFrame containing information about the coverage area of each rainfall site within the catchment area, including the size and percentage of the catchment area covered by each site.

  • bg_flood_dir (pathlib.Path) – BG-Flood model directory.

Returns:

This function does not return any value.

Return type:

None

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.create_rain_data_cube(hyetograph_data: pandas.DataFrame, sites_coverage: geopandas.GeoDataFrame) xarray.Dataset

Create rainfall intensities data cube (xarray data) for the catchment area across all durations, i.e. convert rainfall intensities vector data into rasterized xarray data.

Parameters:
  • hyetograph_data (pd.DataFrame) – Hyetograph intensities data for sites within the catchment area.

  • sites_coverage (gpd.GeoDataFrame) – A GeoDataFrame containing information about the coverage area of each rainfall site within the catchment area, including the size and percentage of the catchment area covered by each site.

Returns:

Rainfall intensities data cube in the form of xarray dataset.

Return type:

xr.Dataset

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.spatial_varying_rain_input(hyetograph_data: pandas.DataFrame, sites_coverage: geopandas.GeoDataFrame, bg_flood_dir: pathlib.Path) None

Write the rainfall intensities data cube in NetCDF format (rain_forcing.nc). This file is used as spatially varying rain input for the BG-Flood model.

Parameters:
  • hyetograph_data (pd.DataFrame) – Hyetograph intensities data for sites within the catchment area.

  • sites_coverage (gpd.GeoDataFrame) – A GeoDataFrame containing information about the coverage area of each rainfall site within the catchment area, including the size and percentage of the catchment area covered by each site.

  • bg_flood_dir (pathlib.Path) – BG-Flood model directory.

Returns:

This function does not return any value.

Return type:

None

src.dynamic_boundary_conditions.rainfall.rainfall_model_input.generate_rain_model_input(hyetograph_data: pandas.DataFrame, sites_coverage: geopandas.GeoDataFrame, bg_flood_dir: pathlib.Path, input_type: src.dynamic_boundary_conditions.rainfall.rainfall_enum.RainInputType) None

Generate the requested rainfall model input for BG-Flood, either spatially uniform rain input (‘rain_forcing.txt’ text file) or spatially varying rain input (‘rain_forcing.nc’ NetCDF file).

Parameters:
  • hyetograph_data (pd.DataFrame) – Hyetograph intensities data for sites within the catchment area.

  • sites_coverage (gpd.GeoDataFrame) – A GeoDataFrame containing information about the coverage area of each rainfall site within the catchment area, including the size and percentage of the catchment area covered by each site.

  • bg_flood_dir (pathlib.Path) – BG-Flood model directory.

  • input_type (RainInputType) – The type of rainfall model input to be generated. Valid options are ‘uniform’ or ‘varying’, representing spatially uniform rain input (text file) or spatially varying rain input (NetCDF file).

Returns:

This function does not return any value.

Return type:

None