rompy.swan.components.physics.OBSTACLE_FIG#

pydantic model rompy.swan.components.physics.OBSTACLE_FIG[source]#

Obstacle for free infragravity radiation.

OBSTACLE FIG [alpha1] [hss] [tss] (REFL [reflc]) LINE <[xp] [yp]>

With this optional command the user specifies the obstacles along which the free infra-gravity (FIG) energy is radiated. By placing the obstacles close to the shorelines SWAN will include the FIG source term along the coastlines according to the parametrization of Ardhuin et al. (2014).

The location of the obstacle is defined by a sequence of corner points of a line. For an obstacle line to be effective its length is at least one mesh size large. It is recommended to place the obstacles at the inner area of the computational grid, not at or through the boundaries. In particular, each obstacle line must be bordered by wet points on both sides.

In addition, the orientation of the obstacle line determines from which side of the obstacle the FIG wave energy is radiated away. If the begin point of the line is below or left of the end point, that is, pointing upwards/to the right, then FIG energy is radiated from the west/north side of the line. If the begin point is above or right of the end point (pointing downwards/to the left), then FIG energy is radiated away from the east/south side of the obstacle line.

References

Ardhuin, F., Rawat, A. and Aucan, J., 2014. A numerical model for free infragravity waves: Definition and validation at regional and global scales. Ocean Modelling, 77, pp.20-32.

Notes

Either hss or tss or both are allowed to vary over the computational domain. In that case use the commands INPGRID HSS and READINP HSS and/or the commands INPGRID TSS and READINP TSS to define and read the sea-swell wave height/period It is permissible to have constant sea-swell height and non-constant sea-swell period, or vice versa. The command OBST FIG is still required to define the obstacles. The values of hss and/or tss in this command are then not required (they will be ignored).

Examples

In [100]: from rompy.swan.components.physics import OBSTACLE_FIG

In [101]: obs = OBSTACLE_FIG(
   .....:     alpha1=5e-4,
   .....:     hss=2.5,
   .....:     tss=10.3,
   .....:     line=dict(xp=[174.1, 174.2, 174.3], yp=[-39.1, -39.1, -39.1]),
   .....: )
   .....: 

In [102]: print(obs.render())
OBSTACLE FIG alpha1=0.0005 hss=2.5 tss=10.3 LINE 174.1 -39.1 174.2 -39.1 174.3 -39.1

In [103]: obs = OBSTACLE_FIG(
   .....:     alpha1=5e-4,
   .....:     hss=2.5,
   .....:     tss=10.3,
   .....:     reflection=dict(reflc=0.5),
   .....:     line=dict(xp=[174.1, 174.2, 174.3], yp=[-39.1, -39.1, -39.1]),
   .....: )
   .....: 

In [104]: print(obs.render())
OBSTACLE FIG alpha1=0.0005 hss=2.5 tss=10.3 REFL reflc=0.5 LINE 174.1 -39.1 174.2 -39.1 174.3 -39.1
Fields:
field alpha1: float [Required]#

Calibration parameter (in 1/s) for determining the rate of radiating FIG energy from the shorelines, values in Table 1 of Ardhuin et al. (2014) are between 4e-4 and 8.1e-4

field hss: float [Required]#

The sea-swell significant wave height (in m)

Constraints:
  • ge = 0.0

field line: LINE [Required]#

Line of obstacle

field model_type: Literal['fig', 'FIG'] = 'fig'#

Model type discriminator

field reflection: REFL | None = None#

Wave reflection

field tss: float [Required]#

The sea-swell mean wave period (in s)

Constraints:
  • ge = 0.0

cmd() str[source]#

Command file string for this component.