rompy.swan.components.physics.MUD#

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

Mud dumping.

MUD [layer] [rhom] [viscm]

With this command the user can activate wave damping due to mud based on Ng (2000). If this command or the commands INPGRID MUDLAY and READINP MUDLAY are not used, SWAN will not account for muddy bottom effects.

References

Ng, C., 2000, Water waves over a muddy bed: A two layer Stokes’ boundary layer model, Coastal Eng., 40, 221-242.

Examples

In [81]: from rompy.swan.components.physics import MUD

In [82]: mud = MUD()

In [83]: print(mud.render())
MUD

In [84]: mud = MUD(
   ....:     layer=2.0,
   ....:     rhom=1300,
   ....:     viscm=0.0076,
   ....: )
   ....: 

In [85]: print(mud.render())
MUD layer=2.0 rhom=1300.0 viscm=0.0076

TODO: Validate layer must be prescribed if INPGRID MUDLAY isn’t used.

Show JSON schema
{
   "title": "MUD",
   "description": "Mud dumping.\n\n.. code-block:: text\n\n    MUD [layer] [rhom] [viscm]\n\nWith this command the user can activate wave damping due to mud based on Ng (2000).\nIf this command or the commands INPGRID MUDLAY and READINP MUDLAY are not used,\nSWAN will not account for muddy bottom effects.\n\nReferences\n----------\nNg, C., 2000, Water waves over a muddy bed: A two layer Stokes' boundary layer\nmodel, Coastal Eng., 40, 221-242.\n\nExamples\n--------\n\n.. ipython:: python\n    :okwarning:\n\n    from rompy.swan.components.physics import MUD\n    mud = MUD()\n    print(mud.render())\n    mud = MUD(\n        layer=2.0,\n        rhom=1300,\n        viscm=0.0076,\n    )\n    print(mud.render())\n\nTODO: Validate `layer` must be prescribed if `INPGRID MUDLAY` isn't used.",
   "type": "object",
   "properties": {
      "model_type": {
         "default": "mud",
         "description": "Model type discriminator",
         "enum": [
            "mud",
            "MUD"
         ],
         "title": "Model Type",
         "type": "string"
      },
      "layer": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The thickness of the mud layer (in m). Note that `layer` is allowed to vary over the computational region to account for the zonation of muddy bottom. In that case use the commands `INPGRID MUDLAY` and `READINP MUDLAY` to define and read the layer thickness of mud. The value of `layer` in this command is then not required (it will be ignored)",
         "title": "Layer"
      },
      "rhom": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The density of the mud layer (in kg/m3) (SWAN default: 1300)",
         "title": "Rhom"
      },
      "viscm": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "The kinematic viscosity of the mud layer (in m2/s) (SWAN default: 0.0076)",
         "title": "Viscm"
      }
   },
   "additionalProperties": false
}

Fields:
field layer: float | None = None#

The thickness of the mud layer (in m). Note that layer is allowed to vary over the computational region to account for the zonation of muddy bottom. In that case use the commands INPGRID MUDLAY and READINP MUDLAY to define and read the layer thickness of mud. The value of layer in this command is then not required (it will be ignored)

field model_type: Literal['mud', 'MUD'] = 'mud'#

Model type discriminator

field rhom: float | None = None#

The density of the mud layer (in kg/m3) (SWAN default: 1300)

field viscm: float | None = None#

The kinematic viscosity of the mud layer (in m2/s) (SWAN default: 0.0076)

cmd() str[source]#

Command file string for this component.