rompy.swan.components.physics.TRIAD_SPB#

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

Triad interactions with the SPB method of Becq-Girard et al. (1999).

TRIAD SPB [trfac] [a] [b] BIPHHASE ELDEBERKY|DEWIT

References

Becq-Girard, F., Forget, P. and Benoit, M., 1999. Non-linear propagation of unidirectional wave fields over varying topography. Coastal Engineering, 38(2), pp.91-113.

Note

This method to compute the triad interactions is only supported in SWAN >= 41.45.

Examples

In [190]: from rompy.swan.components.physics import TRIAD_SPB

In [191]: triad = TRIAD_SPB()

In [192]: print(triad.render())
TRIAD SPB

In [193]: triad = TRIAD_SPB(
   .....:     trfac=0.9,
   .....:     a=0.95,
   .....:     b=0.0,
   .....:     biphase={"model_type": "eldeberky", "urcrit": 0.63},
   .....: )
   .....: 

In [194]: print(triad.render())
TRIAD SPB trfac=0.9 a=0.95 b=0.0 BIPHASE ELDEBERKY urcrit=0.63

Show JSON schema
{
   "title": "TRIAD_SPB",
   "description": "Triad interactions with the SPB method of Becq-Girard et al. (1999).\n\n.. code-block:: text\n\n    TRIAD SPB [trfac] [a] [b] BIPHHASE ELDEBERKY|DEWIT\n\nReferences\n----------\nBecq-Girard, F., Forget, P. and Benoit, M., 1999. Non-linear propagation of\nunidirectional wave fields over varying topography. Coastal Engineering, 38(2),\npp.91-113.\n\nNote\n----\nThis method to compute the triad interactions is only supported in SWAN >= 41.45.\n\nExamples\n--------\n\n.. ipython:: python\n    :okwarning:\n\n    from rompy.swan.components.physics import TRIAD_SPB\n    triad = TRIAD_SPB()\n    print(triad.render())\n    triad = TRIAD_SPB(\n        trfac=0.9,\n        a=0.95,\n        b=0.0,\n        biphase={\"model_type\": \"eldeberky\", \"urcrit\": 0.63},\n    )\n    print(triad.render())",
   "type": "object",
   "properties": {
      "model_type": {
         "default": "spb",
         "description": "Model type discriminator",
         "enum": [
            "spb",
            "SPB"
         ],
         "title": "Model Type",
         "type": "string"
      },
      "trfac": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Scaling factor that controls the intensity of the triad interaction due to SPB (SWAN default: 0.9)",
         "title": "Trfac"
      },
      "a": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "First calibration parameter for tuning K in Eq. (5.1) of Becq-Girard et al. (1999). This parameter is associated with broadening of the resonance condition. The default value is 0.95 and is calibrated by means of laboratory experiments (SWAN default: 0.95)",
         "title": "A"
      },
      "b": {
         "anyOf": [
            {
               "type": "number"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Second calibration parameter for tuning K in Eq. (5.1) of Becq-Girard et al. (1999). This parameter is associated with broadening of the resonance condition. The default value is -0.75 and is calibrated by means of laboratory experiments. However, it may not be appropriate for true 2D field cases as it does not scale with the wave field characteristics. Hence, this parameter is set to zero (SWAN default: 0.0)",
         "title": "B"
      },
      "biphase": {
         "anyOf": [
            {
               "$ref": "#/$defs/ELDEBERKY"
            },
            {
               "$ref": "#/$defs/DEWIT"
            },
            {
               "type": "null"
            }
         ],
         "default": null,
         "description": "Defines the parameterization of biphase (self-self interaction) (SWAN default: ELDEBERKY)",
         "title": "Biphase"
      }
   },
   "$defs": {
      "DEWIT": {
         "additionalProperties": false,
         "description": "Biphase of De Wit (2022).\n\n.. code-block:: text\n\n    BIPHASE DEWIT [lpar]\n\nBiphase parameterization based on bed slope and peak period of De Wit (2022).\n\nReferences\n----------\nDe Wit, F.P., 2022. Wave shape prediction in complex coastal systems (Doctoral\ndissertation, PhD. thesis. Delft University of Technology. https://repository.\ntudelft. nl/islandora/object/uuid% 3A0fb850a4-4294-4181-9d74-857de21265c2).\n\nExamples\n--------\n\n.. ipython:: python\n    :okwarning:\n\n    from rompy.swan.subcomponents.physics import DEWIT\n    biphase = DEWIT()\n    print(biphase.render())\n    biphase = DEWIT(lpar=0.0)\n    print(biphase.render())",
         "properties": {
            "model_type": {
               "const": "dewit",
               "default": "dewit",
               "description": "Model type discriminator",
               "title": "Model Type",
               "type": "string"
            },
            "lpar": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "Scales spatial averaging of the De Wit's biphase in terms of a multiple of peak wave length of the incident wave field. Note: `lpar` = 0` means no averaging (SWAN default: 0)",
               "title": "Lpar"
            }
         },
         "title": "DEWIT",
         "type": "object"
      },
      "ELDEBERKY": {
         "additionalProperties": false,
         "description": "Biphase of Eldeberky (1999).\n\n.. code-block:: text\n\n    BIPHASE ELDEBERKY [urcrit]\n\nBiphase parameterisation as a funtion of the Ursell number of Eldeberky (1999).\n\nReferences\n----------\nEldeberky, Y., Polnikov, V. and Battjes, J.A., 1996. A statistical approach for\nmodeling triad interactions in dispersive waves. In Coastal Engineering 1996\n(pp. 1088-1101).\n\nEldeberky, Y. and Madsen, P.A., 1999. Deterministic and stochastic evolution\nequations for fully dispersive and weakly nonlinear waves. Coastal Engineering,\n38(1), pp.1-24.\n\nDoering, J.C. and Bowen, A.J., 1995. Parametrization of orbital velocity\nasymmetries of shoaling and breaking waves using bispectral analysis. Coastal\nengineering, 26(1-2), pp.15-33.\n\nExamples\n--------\n\n.. ipython:: python\n    :okwarning:\n\n    from rompy.swan.subcomponents.physics import ELDEBERKY\n    biphase = ELDEBERKY()\n    print(biphase.render())\n    biphase = ELDEBERKY(urcrit=0.63)\n    print(biphase.render())",
         "properties": {
            "model_type": {
               "const": "eldeberky",
               "default": "eldeberky",
               "description": "Model type discriminator",
               "title": "Model Type",
               "type": "string"
            },
            "urcrit": {
               "anyOf": [
                  {
                     "type": "number"
                  },
                  {
                     "type": "null"
                  }
               ],
               "default": null,
               "description": "The critical Ursell number appearing in the parametrization. Note: the value of `urcrit` is setted by Eldeberky (1996) at 0.2 based on a laboratory experiment, whereas Doering and Bowen (1995) employed the value of 0.63 based on the field experiment data (SWAN default: 0.63)",
               "title": "Urcrit"
            }
         },
         "title": "ELDEBERKY",
         "type": "object"
      }
   },
   "additionalProperties": false
}

Fields:
field a: float | None = None#

First calibration parameter for tuning K in Eq. (5.1) of Becq-Girard et al. (1999). This parameter is associated with broadening of the resonance condition. The default value is 0.95 and is calibrated by means of laboratory experiments (SWAN default: 0.95)

field b: float | None = None#

Second calibration parameter for tuning K in Eq. (5.1) of Becq-Girard et al. (1999). This parameter is associated with broadening of the resonance condition. The default value is -0.75 and is calibrated by means of laboratory experiments. However, it may not be appropriate for true 2D field cases as it does not scale with the wave field characteristics. Hence, this parameter is set to zero (SWAN default: 0.0)

field biphase: ELDEBERKY | DEWIT | None = None#

Defines the parameterization of biphase (self-self interaction) (SWAN default: ELDEBERKY)

field model_type: Literal['spb', 'SPB'] = 'spb'#

Model type discriminator

field trfac: float | None = None#

Scaling factor that controls the intensity of the triad interaction due to SPB (SWAN default: 0.9)

cmd() str[source]#

Command file string for this component.