hydroflows.methods.rainfall.pluvial_design_events_GPEX#

Method for generating pluvial design events based on the GPEX global IDF dataset.

class hydroflows.methods.rainfall.pluvial_design_events_GPEX.PluvialDesignEventsGPEX(gpex_nc: Path, region: Path, event_root: Path = PosixPath('data/events/rainfall'), rps: list[int] | None = None, duration: int = 48, event_names: list[str] | None = None, wildcard: str = 'event', **params)[source]#

Method for generating pluvial design events based on the GPEX global IDF dataset using the alternating block method.

Parameters:
  • gpex_nc (Path) – The file path to the GPEX data set.

  • region (Path) – The file path to the geometry file for which we want to derive GPEX estimates at its centroid pixel.

  • event_root (Path, optional) – The root folder to save the derived design events, by default “data/events/rainfall”.

  • rps (List[float], optional) – Return periods of design events, by default [2, 5, 10, 20, 39, 50, 100].

  • duration (int) – Duration of the produced design event, by default 48 hours.

  • event_names (List[str], optional) – List of event names for the design events, by “p_event{i}”, where i is the event number.

  • wildcard (str, optional) – The wildcard key for expansion over the design events, by default “event”.

  • **params – Additional parameters to pass to the PluvialDesignEventsGPEX Params instance.

Create a new expand method instance.

pydantic model hydroflows.methods.rainfall.pluvial_design_events_GPEX.Input[source]#

Input parameters for PluvialDesignEventsGPEX method.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Fields:
field gpex_nc: Path [Required]#

The file path to the GPEX dataset.

field region: Path [Required]#

The file path to the geometry file for which we want to get the GPEX estimates at its centroid. An example of such a file could be the SFINCS region GeoJSON.

model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model hydroflows.methods.rainfall.pluvial_design_events_GPEX.Output[source]#

Output parameters for PluvialDesignEventsGPEX.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Fields:
field event_csv: Path [Required]#

The path to the event csv timeseries file

field event_set_yaml: Annotated[Path, AfterValidator(func=filedir_validator)] [Required]#

The path to the event set yml file, see also hydroflows.methods.events.EventSet.

field event_yaml: Annotated[Path, AfterValidator(func=filedir_validator)] [Required]#

The path to the event description file, see also hydroflows.methods.events.Event.

model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.

pydantic model hydroflows.methods.rainfall.pluvial_design_events_GPEX.Params[source]#

Parameters for PluvialDesignEventsGPEX method.

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Fields:
field duration: int = 48#

Duration of the produced design event.

field eva_method: Literal['gev', 'gumbel', 'mev', 'pot'] = 'gev'#

Extreme value distribution method to get the GPEX estimate. Valid options within the GPEX dataset are “gev” for the Generalized Extreme Value ditribution, “mev” for the Metastatistical Extreme Value distribution, and “pot” for the Peak-Over-Threshold distribution.

field event_names: <lambda>, json_schema_input_type=PydanticUndefined)] | None = None#

List of event names associated with return periods.

field event_root: Annotated[Path, AfterValidator(func=outputdirpath_validator)] [Required]#

Root folder to save the derived design events.

field plot_fig: bool = True#

Determines whether to plot figures, including the derived design hyetographs as well as the calculated IDF curves per return period.

field rps: <lambda>, json_schema_input_type=PydanticUndefined)] [Required]#

Return periods of interest.

field save_idf_csv: bool = True#

Determines whether to save the calculated IDF curve values per return period in a csv format.

field t0: str = '2020-01-01'#

Random initial date for the design events.

field wildcard: str = 'event'#

The wildcard key for expansion over the design events.

model_post_init(context: Any, /) None#

This function is meant to behave like a BaseModel method to initialise private attributes.

It takes context as an argument since that’s what pydantic-core passes when calling it.

Parameters:
  • self – The BaseModel instance.

  • context – The context.