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
}

Fields:
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.

cmd() str[source]#

Command file string for this component.