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
Show JSON schema
{ "title": "OBSTACLE_FIG", "description": "Obstacle for free infragravity radiation.\n\n.. code-block:: text\n\n OBSTACLE FIG [alpha1] [hss] [tss] (REFL [reflc]) LINE <[xp] [yp]>\n\nWith this optional command the user specifies the obstacles along which the\nfree infra-gravity (FIG) energy is radiated. By placing the obstacles close to\nthe shorelines SWAN will include the FIG source term along the coastlines\naccording to the parametrization of Ardhuin et al. (2014).\n\nThe location of the obstacle is defined by a sequence of corner points of a line.\nFor an obstacle line to be effective its length is at least one mesh size large. It\nis recommended to place the obstacles at the inner area of the computational grid,\nnot at or through the boundaries. In particular, each obstacle line must be\nbordered by wet points on both sides.\n\nIn addition, the orientation of the obstacle line determines from which side of the\nobstacle the FIG wave energy is radiated away. If the begin point of the line is\nbelow or left of the end point, that is, pointing upwards/to the right, then FIG\nenergy is radiated from the west/north side of the line. If the begin point is\nabove or right of the end point (pointing downwards/to the left), then FIG energy\nis radiated away from the east/south side of the obstacle line.\n\nReferences\n----------\nArdhuin, F., Rawat, A. and Aucan, J., 2014. A numerical model for free\ninfragravity waves: Definition and validation at regional and global scales.\nOcean Modelling, 77, pp.20-32.\n\nNotes\n-----\nEither `hss` or `tss` or both are allowed to vary over the computational domain.\nIn that case use the commands `INPGRID HSS` and `READINP HSS` and/or the commands\n`INPGRID TSS` and `READINP TSS` to define and read the sea-swell wave height/period\nIt is permissible to have constant sea-swell height and non-constant sea-swell\nperiod, or vice versa. The command `OBST FIG` is still required to define the\nobstacles. The values of `hss` and/or `tss` in this command are then not required\n(they will be ignored).\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.components.physics import OBSTACLE_FIG\n obs = OBSTACLE_FIG(\n alpha1=5e-4,\n hss=2.5,\n tss=10.3,\n line=dict(xp=[174.1, 174.2, 174.3], yp=[-39.1, -39.1, -39.1]),\n )\n print(obs.render())\n obs = OBSTACLE_FIG(\n alpha1=5e-4,\n hss=2.5,\n tss=10.3,\n reflection=dict(reflc=0.5),\n line=dict(xp=[174.1, 174.2, 174.3], yp=[-39.1, -39.1, -39.1]),\n )\n print(obs.render())", "type": "object", "properties": { "model_type": { "default": "fig", "description": "Model type discriminator", "enum": [ "fig", "FIG" ], "title": "Model Type", "type": "string" }, "alpha1": { "description": "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", "title": "Alpha1", "type": "number" }, "hss": { "description": "The sea-swell significant wave height (in m)", "minimum": 0.0, "title": "Hss", "type": "number" }, "tss": { "description": "The sea-swell mean wave period (in s)", "minimum": 0.0, "title": "Tss", "type": "number" }, "reflection": { "anyOf": [ { "$ref": "#/$defs/REFL" }, { "type": "null" } ], "default": null, "description": "Wave reflection" }, "line": { "$ref": "#/$defs/LINE", "description": "Line of obstacle" } }, "$defs": { "LINE": { "additionalProperties": false, "description": "Line of points to define obstacle location.\n\n.. code-block:: text\n\n LINE < [xp] [yp] >\n\nWith this option the user indicates that the fixed transmission `trcoef` and\nreflection `reflc` coefficients are freeboard dependent. The freeboard dependency\nhas no effect on the transmission coefficient as computed using the DAM option.\n\nNotes\n-----\nPoints coordinates should be provided in m If Cartesian coordinates are used or in\ndegrees if spherical coordinates are used (see command `COORD`). At least two\ncorner points must be provided.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import LINE\n line = LINE(xp=[174.1, 174.2, 174.3], yp=[-39.1, -39.1, -39.1])\n print(line.render())", "properties": { "model_type": { "default": "line", "description": "Model type discriminator", "enum": [ "line", "LINE" ], "title": "Model Type", "type": "string" }, "xp": { "description": "The x-coordinates of the points defining the line", "items": { "type": "number" }, "minItems": 2, "title": "Xp", "type": "array" }, "yp": { "description": "The y-coordinates of the points defining the line", "items": { "type": "number" }, "minItems": 2, "title": "Yp", "type": "array" } }, "required": [ "xp", "yp" ], "title": "LINE", "type": "object" }, "REFL": { "additionalProperties": false, "description": "Obstacle reflections.\n\n.. code-block:: text\n\n REFL [reflc]\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import REFL\n refl = REFL()\n print(refl.render())\n refl = REFL(reflc=0.5)\n print(refl.render())", "properties": { "model_type": { "default": "refl", "description": "Model type discriminator", "enum": [ "refl", "REFL" ], "title": "Model Type", "type": "string" }, "reflc": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Constant reflection coefficient (ratio of reflected over incoming significant wave height) (SWAN default: 1.0)", "title": "Reflc" } }, "title": "REFL", "type": "object" } }, "additionalProperties": false, "required": [ "alpha1", "hss", "tss", "line" ] }
- 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 model_type: Literal['fig', 'FIG'] = 'fig'#
Model type discriminator
- field tss: float [Required]#
The sea-swell mean wave period (in s)
- Constraints:
ge = 0.0