rompy.swan.subcomponents.numerics.GSE#
- pydantic model rompy.swan.subcomponents.numerics.GSE[source]#
Garden-sprinkler effect.
GSE [waveage] Sec|MIn|HR|DAy
Garden-sprinkler effect is to be counteracted in the S&L propagation scheme (default for nonstationary regular grid computations) or in the propagation scheme for unstructured grids by adding a diffusion term to the basic equation. This may affect the numerical stability of SWAN.
Examples
In [299]: from rompy.swan.subcomponents.numerics import GSE In [300]: scheme = GSE(waveage=dict(delt=86400, dfmt="day")) In [301]: print(scheme.render()) GSE waveage=1.0 DAY
Show JSON schema
{ "title": "GSE", "description": "Garden-sprinkler effect.\n\n.. code-block:: text\n\n GSE [waveage] Sec|MIn|HR|DAy\n\nGarden-sprinkler effect is to be counteracted in the S&L propagation scheme\n(default for nonstationary regular grid computations) or in the propagation\nscheme for unstructured grids by adding a diffusion term to the basic equation.\nThis may affect the numerical stability of SWAN.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.numerics import GSE\n scheme = GSE(waveage=dict(delt=86400, dfmt=\"day\"))\n print(scheme.render())", "type": "object", "properties": { "model_type": { "default": "gse", "description": "Model type discriminator", "enum": [ "gse", "GSE" ], "title": "Model Type", "type": "string" }, "waveage": { "anyOf": [ { "$ref": "#/$defs/Delt" }, { "type": "null" } ], "default": null, "description": "The time interval used to determine the diffusion which counteracts the so-called garden-sprinkler effect. The default value of `waveage` is zero, i.e. no added diffusion. The value of `waveage` should correspond to the travel time of the waves over the computational region." } }, "$defs": { "Delt": { "additionalProperties": false, "description": "Time interval specification in SWAN.\n\n.. code-block:: text\n\n [delt] SEC|MIN|HR|DAY\n\nNote\n----\nThe `tdelta` field can be specified as:\n\n* existing timedelta object\n* int or float, assumed as seconds\n* ISO 8601 duration string, following formats work:\n\n * `[-][DD ][HH:MM]SS[.ffffff]`\n * `[\u00b1]P[DD]DT[HH]H[MM]M[SS]S` (ISO 8601 format for timedelta)\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.time import Delt\n from datetime import timedelta\n delt = Delt(delt=timedelta(minutes=30))\n print(delt.render())\n delt = Delt(delt=\"PT1H\", dfmt=\"hr\")\n print(delt.render())", "properties": { "model_type": { "const": "delt", "default": "delt", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "delt": { "description": "Time interval", "format": "duration", "title": "Delt", "type": "string" }, "dfmt": { "default": "sec", "description": "Format to render time interval specification", "enum": [ "sec", "min", "hr", "day" ], "title": "Dfmt", "type": "string" } }, "required": [ "delt" ], "title": "Delt", "type": "object" } }, "additionalProperties": false }
- field model_type: Literal['gse', 'GSE'] = 'gse'#
Model type discriminator
- field waveage: Delt | None = None#
The time interval used to determine the diffusion which counteracts the so-called garden-sprinkler effect. The default value of waveage is zero, i.e. no added diffusion. The value of waveage should correspond to the travel time of the waves over the computational region.