Skip to content

Config

The Config class is the main entry point for XBeach configuration.

Module

Config

Bases: XBeachBaseConfig

Xbeach config class.

Attributes

model_type class-attribute instance-attribute

model_type: Literal['xbeach'] = Field(default='xbeach', description='Model type discriminator')

template class-attribute instance-attribute

template: str = Field(default=str(HERE / 'templates' / 'base'), description='The model config template')

grid class-attribute instance-attribute

grid: RegularGrid = Field(description='The XBeach grid object')

bathy class-attribute instance-attribute

bathy: XBeachBathy = Field(description='The XBeach bathymetry object')

input class-attribute instance-attribute

input: Optional[DataInterface] = Field(default=None, description='Input data (generate boundary conditions from data sources)')

wave_boundary class-attribute instance-attribute

wave_boundary: Optional[WaveBoundaryType] = Field(default=None, description='Wave boundary specification (manual specification or pre-existing files)')

physics class-attribute instance-attribute

physics: Physics = Field(default_factory=Physics, description='Physical processes configuration')

sediment class-attribute instance-attribute

sediment: Optional[Sediment] = Field(default_factory=Sediment, description='Sediment transport configuration')

mpi class-attribute instance-attribute

mpi: Optional[Mpi] = Field(default_factory=Mpi, description='MPI parallelisation configuration')

output class-attribute instance-attribute

output: Output = Field(default_factory=Output, description='Output configuration')

flow_boundary class-attribute instance-attribute

flow_boundary: Optional[FlowBoundaryConditions] = Field(default=None, description='Flow boundary conditions for shallow water equations')

tide_boundary class-attribute instance-attribute

tide_boundary: Optional[TideBoundaryConditions] = Field(default=None, description='Tide and surge boundary conditions')

hotstart class-attribute instance-attribute

hotstart: Optional[Union[bool, Hotstart]] = Field(default=None, description='Hotstart configuration. Set to True to enable hotstart with files already in run directory, or provide a Hotstart object to specify source directory and file number.')

tunits class-attribute instance-attribute

tunits: Optional[str] = Field(default=None, description='Time units in udunits format, if not provided it is constructed based on the simulation start time (XBeach default: s)', examples=['seconds since 1970-01-01 00:00:00.00 +1:00'])

params property

params: dict

Return the XBeach configuration parameters.

Functions

validate_wave_boundary

validate_wave_boundary()

Ensure only one wave boundary source is specified.

set_dtheta_if_surfbeat

set_dtheta_if_surfbeat() -> Config

Placeholder validator for future dtheta logic.

warn_wave_direction_params_without_swave

warn_wave_direction_params_without_swave() -> Config

Warn if wave directional parameters are set but swave is disabled.

The wave directional grid parameters (thetamin, thetamax, dtheta, thetanaut) are only used when short waves are enabled (swave=1). Setting these when swave=0 has no effect.

__call__

__call__(runtime) -> dict

Serialise the config to generate the params file.