hydroflows.methods.coastal.future_slr#

Derive future (climate) sea level (rise) events by applying a user-specified offset to an event.

class hydroflows.methods.coastal.future_slr.FutureSLR(scenarios: dict[str, float], event_set_yaml: Path, event_names: List[str] | None = None, event_root: Path = PosixPath('data/events/future_climate_sea_level'), event_wildcard: str = 'future_event', scenario_wildcard: str = 'scenario', **params)[source]#

Derive future (climate) sea level (rise) events by applying a user-specified offset to an event.

Parameters:
  • event_set_yaml (Path) – The file path to the event set YAML file, which includes the events to be offset for a future climate projection.

  • scenario_name (str) – Future scenario name for which the Sea Level Rise offset is applied.

  • slr_value (float) – Sea level rise (SLR) change value corresponding to the future climate scenario scenario_name. This value is added to the input event (water level) time series specified in event_set_yaml. The unit of the SLR value can be determined in the slr_unit parameter. As default the value is expected in meters.

  • event_root (Path, optional) – Root folder to save the derived scaled events, by default “data/events/future_climate_sea_level”.

  • wildcard (str) – The wildcard key for expansion over the scaled events, default is “future_event”.

  • event_names_input (Optional[List[str]]) – List of input event names in event_set_yaml and matching output event names for the scaled events. If not provided, event_set_yaml must exist and all events will be scaled.

  • event_names_output (Optional[List[str]]) – List of input event names in event_set_yaml and matching output event names for the scaled events. If not provided, event_set_yaml must exist and all events will be scaled.

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

Create a new expand method instance.

pydantic model hydroflows.methods.coastal.future_slr.Input[source]#

Input parameters for the FutureSLR 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 event_set_yaml: Annotated[Path, AfterValidator(func=filedir_validator)] [Required]#

The file path to the event set YAML file, which includes the events to be offset for future climate projections, see also hydroflows.methods.events.EventSet.

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.coastal.future_slr.Output[source]#

Output parameters for the FutureSLR 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 future_event_csv: Path [Required]#

The path to the offset event csv timeseries file.

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

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

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

The path to the offset 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.coastal.future_slr.Params[source]#

Parameters for FutureSLR 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 event_names: <lambda>, json_schema_input_type=PydanticUndefined)] | None [Required]#

List of event names (subset of event_set_yaml events).

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

Root folder to save the derived offset events.

field event_wildcard: str = 'future_event'#

The wildcard key for expansion over the offset events.

field scenario_wildcard: str = 'scenario'#

The wildcard key for expansion over the scenarios.

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

Future scenario name, e.g. “rcp45_2050”, and sea level rise.

The sea level rise value is added to the input event water level time series.

Sea level rise change for different periods and emission scenarios for different climate models can be taken via: IPCC WGI Interactive Atlas

field slr_unit: Literal['m', 'cm', 'mm', 'ft', 'in'] = 'm'#

The unit (length) of the sea level rise value (slr_value), Valid options are ‘m’ for meters, ‘cm’ for centimeters, “mm” for milimeters, “ft” for feet and “in” for inches. Default is ‘m’.

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.