rompy.swan.components.physics.GEN3#
- pydantic model rompy.swan.components.physics.GEN3[source]#
Third generation source terms GEN3.
GEN3 JANSSEN|KOMEN|->WESTHUYSEN|ST6 AGROW [a]
With this command the user indicates that SWAN should run in third-generation mode for wind input, quadruplet interactions and whitecapping.
Examples
In [70]: from rompy.swan.components.physics import GEN3 In [71]: gen = GEN3( ....: source_terms=dict( ....: model_type="westhuysen", ....: wind_drag="wu", ....: agrow=True, ....: ), ....: ) ....: In [72]: print(gen.render()) GEN3 WESTHUYSEN DRAG WU AGROW In [73]: from rompy.swan.subcomponents.physics import ST6C1 In [74]: gen = GEN3(source_terms=ST6C1()) In [75]: print(gen.render()) GEN3 ST6 a1sds=4.7e-07 a2sds=6.6e-06 p1sds=4.0 p2sds=4.0 UP HWANG VECTAU U10PROXY windscaling=28.0 AGROW
Show JSON schema
{ "title": "GEN3", "description": "Third generation source terms GEN3.\n\n.. code-block:: text\n\n GEN3 JANSSEN|KOMEN|->WESTHUYSEN|ST6 AGROW [a]\n\nWith this command the user indicates that SWAN should run in third-generation mode\nfor wind input, quadruplet interactions and whitecapping.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.components.physics import GEN3\n gen = GEN3(\n source_terms=dict(\n model_type=\"westhuysen\",\n wind_drag=\"wu\",\n agrow=True,\n ),\n )\n print(gen.render())\n from rompy.swan.subcomponents.physics import ST6C1\n gen = GEN3(source_terms=ST6C1())\n print(gen.render())", "type": "object", "properties": { "model_type": { "default": "gen3", "description": "Model type discriminator", "enum": [ "gen3", "GEN3" ], "title": "Model Type", "type": "string" }, "source_terms": { "description": "SWAN source terms to be used (SWAN default: WESTHUYSEN)", "discriminator": { "mapping": { "JANSSEN": "#/$defs/JANSSEN", "KOMEN": "#/$defs/KOMEN", "WESTHUYSEN": "#/$defs/WESTHUYSEN", "janssen": "#/$defs/JANSSEN", "komen": "#/$defs/KOMEN", "st6": "#/$defs/ST6", "st6c1": "#/$defs/ST6C1", "st6c2": "#/$defs/ST6C2", "st6c3": "#/$defs/ST6C3", "st6c4": "#/$defs/ST6C4", "st6c5": "#/$defs/ST6C5", "westhuysen": "#/$defs/WESTHUYSEN" }, "propertyName": "model_type" }, "oneOf": [ { "$ref": "#/$defs/JANSSEN" }, { "$ref": "#/$defs/KOMEN" }, { "$ref": "#/$defs/WESTHUYSEN" }, { "$ref": "#/$defs/ST6" }, { "$ref": "#/$defs/ST6C1" }, { "$ref": "#/$defs/ST6C2" }, { "$ref": "#/$defs/ST6C3" }, { "$ref": "#/$defs/ST6C4" }, { "$ref": "#/$defs/ST6C5" } ], "title": "Source Terms" } }, "$defs": { "JANSSEN": { "additionalProperties": false, "description": "Janssen source terms subcomponent.\n\n.. code-block:: text\n\n JANSSEN [cds1] [delta] (AGROW [a])\n\nReferences\n----------\nJanssen, P.A., 1989. Wave-induced stress and the drag of air flow over sea waves.\nJournal of Physical Oceanography, 19(6), pp.745-754.\n\nJanssen, P.A.E.M., Lionello, P. and Zambresky, L., 1989. On the interaction of wind\nand waves. Philosophical transactions of the royal society of London. Series A,\nMathematical and Physical Sciences, 329(1604), pp.289-301.\n\nJanssen, P.A., 1991. Quasi-linear theory of wind-wave generation applied to wave\nforecasting. Journal of physical oceanography, 21(11), pp.1631-1642.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import JANSSEN\n janssen = JANSSEN()\n print(janssen.render())\n janssen = JANSSEN(cds1=4.5, delta=0.5, agrow=True)\n print(janssen.render())", "properties": { "model_type": { "default": "janssen", "description": "Model type discriminator", "enum": [ "janssen", "JANSSEN" ], "title": "Model Type", "type": "string" }, "wind_drag": { "default": "wu", "description": "Indicates the wind drag formulation", "enum": [ "wu", "fit" ], "title": "Wind Drag", "type": "string" }, "agrow": { "default": false, "description": "Activate the Cavaleri and Malanotte (1981) wave growth term", "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "cds1": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Coefficient for determining the rate of whitecapping dissipation ($Cds / s^4_{PM}$) (SWAN default: 4.5)", "title": "Cds1" }, "delta": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Coefficient which determines the dependency of the whitecapping on wave number (mix with Komen et al. formulation) (SWAN default: 0.5)", "title": "Delta" } }, "title": "JANSSEN", "type": "object" }, "KOMEN": { "additionalProperties": false, "description": "Komen source terms subcomponent.\n\n.. code-block:: text\n\n KOMEN [cds2] [stpm] (AGROW [a])\n\nReferences\n----------\nKomen, G.J., Hasselmann, S. and Hasselmann, K., 1984. On the existence of a fully\ndeveloped wind-sea spectrum. Journal of physical oceanography, 14(8), pp.1271-1285.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import KOMEN\n komen = KOMEN()\n print(komen.render())\n komen = KOMEN(cds2=2.36e-5, stpm=3.02e-3, agrow=True, a=0.0015)\n print(komen.render())", "properties": { "model_type": { "default": "komen", "description": "Model type discriminator", "enum": [ "komen", "KOMEN" ], "title": "Model Type", "type": "string" }, "wind_drag": { "default": "wu", "description": "Indicates the wind drag formulation", "enum": [ "wu", "fit" ], "title": "Wind Drag", "type": "string" }, "agrow": { "default": false, "description": "Activate the Cavaleri and Malanotte (1981) wave growth term", "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "cds2": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Coefficient for determining the rate of whitecapping dissipation (`Cds`) (SWAN default: 2.36e-5)", "title": "Cds2" }, "stpm": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Value of the wave steepness for a Pierson-Moskowitz spectrum (`s^2_PM`) (SWAN default: 3.02e-3)", "title": "Stpm" } }, "title": "KOMEN", "type": "object" }, "ST6": { "additionalProperties": false, "description": "St6 source terms subcomponent.\n\n.. code-block:: text\n\n ST6 [a1sds] [a2sds] [p1sds] [p2sds] UP|DOWN HWANG|FAN|ECMWF VECTAU|SCATAU &\n TRUE10|U10PROXY [windscaling] DEBIAS [cdfac] (AGROW [a])\n\nwind input and whitecapping from Rogers et al. (2012) (RBW12).\n\nNotes\n-----\nThe two arguments are specified in the Appendix C of the User manual but not in the\ncommand description for WESTH in Section 4.5.4. They are also options in the\nWCAPPING command. It is not entirely clear if they should/could be specified here.\n\nReferences\n----------\nFan, Y., Lin, S.J., Held, I.M., Yu, Z. and Tolman, H.L., 2012. Global ocean surface\nwave simulation using a coupled atmosphere\u2013wave model. Journal of Climate, 25(18),\npp.6233-6252.\n\nRogers, W.E., Babanin, A.V. and Wang, D.W., 2012. Observation-consistent input and\nwhitecapping dissipation in a model for wind-generated surface waves: Description\nand simple calculations. Journal of Atmospheric and Oceanic Technology, 29(9),\npp.1329-1346.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6\n st6 = ST6(a1sds=4.7e-7, a2sds=6.6e-6)\n print(st6.render())\n kwargs = dict(\n a1sds=2.8e-6,\n a2sds=3.5e-5,\n normalization=\"up\",\n wind_drag=\"hwang\",\n tau=\"vectau\",\n u10=\"u10proxy\",\n windscaling=32.0,\n cdfac=0.89,\n agrow=True,\n a=0.0015,\n )\n st6 = ST6(**kwargs)\n print(st6.render())", "properties": { "model_type": { "const": "st6", "default": "st6", "description": "Model type discriminator", "title": "Model Type", "type": "string" }, "wind_drag": { "default": "hwang", "description": "Wind drag formula, `hwang` is the default and is unchanged from RBW12, `fan` is from Fan et al. (2012), `ecmwf` follows WAM Cycle 4 methodology", "enum": [ "hwang", "fan", "ecmwf" ], "title": "Wind Drag", "type": "string" }, "agrow": { "default": false, "description": "Activate the Cavaleri and Malanotte (1981) wave growth term", "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "description": "Coefficient related to local dissipation term T1 (a1 in RBW12)", "title": "A1Sds", "type": "number" }, "a2sds": { "description": "Coefficient related to local dissipation term T2 (a2 in RBW12)", "title": "A2Sds", "type": "number" }, "p1sds": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Power coefficient controlling strength of dissipation term T1 (L in RBW12, SWAN default: 4)", "title": "P1Sds" }, "p2sds": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Power coefficient controlling strength of dissipation term T2 (M in RBW12, SWAN default: 4)", "title": "P2Sds" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": 32.0, "description": "Factor to scale U10 with U* when using U10PROXY", "title": "Windscaling" }, "cdfac": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "Counter bias in the input wind fields by providing a multiplier on the drag coefficient", "title": "Cdfac" } }, "required": [ "a1sds", "a2sds" ], "title": "ST6", "type": "object" }, "ST6C1": { "additionalProperties": false, "description": "First ST6 calibration in the SWAN user manual.\n\n.. code-block:: text\n\n ST6 4.7e-7 6.6e-6 4.0 4.0 UP HWANG VECTAU U10PROXY 28.0 AGROW\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6C1\n st6 = ST6C1()\n print(st6.render())", "properties": { "model_type": { "const": "st6c1", "default": "st6c1", "title": "Model Type", "type": "string" }, "wind_drag": { "default": "hwang", "description": "Wind drag formula, `hwang` is the default and is unchanged from RBW12, `fan` is from Fan et al. (2012), `ecmwf` follows WAM Cycle 4 methodology", "enum": [ "hwang", "fan", "ecmwf" ], "title": "Wind Drag", "type": "string" }, "agrow": { "const": true, "default": true, "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "const": 4.7e-07, "default": 4.7e-07, "title": "A1Sds", "type": "number" }, "a2sds": { "const": 6.6e-06, "default": 6.6e-06, "title": "A2Sds", "type": "number" }, "p1sds": { "const": 4.0, "default": 4.0, "title": "P1Sds", "type": "number" }, "p2sds": { "const": 4.0, "default": 4.0, "title": "P2Sds", "type": "number" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "const": 28.0, "default": 28.0, "title": "Windscaling", "type": "number" }, "cdfac": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "Counter bias in the input wind fields by providing a multiplier on the drag coefficient", "title": "Cdfac" } }, "title": "ST6C1", "type": "object" }, "ST6C2": { "additionalProperties": false, "description": "Second ST6 calibration in the SWAN user manual.\n\n.. code-block:: text\n\n ST6 4.7e-7 6.6e-6 4.0 4.0 UP FAN VECTAU U10PROXY 28.0 AGROW\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6C2\n st6 = ST6C2()\n print(st6.render())\n\nTODO: Ensure validator is reused here so fan and debias are not used together.", "properties": { "model_type": { "const": "st6c2", "default": "st6c2", "title": "Model Type", "type": "string" }, "wind_drag": { "const": "fan", "default": "fan", "title": "Wind Drag", "type": "string" }, "agrow": { "const": true, "default": true, "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "const": 4.7e-07, "default": 4.7e-07, "title": "A1Sds", "type": "number" }, "a2sds": { "const": 6.6e-06, "default": 6.6e-06, "title": "A2Sds", "type": "number" }, "p1sds": { "const": 4.0, "default": 4.0, "title": "P1Sds", "type": "number" }, "p2sds": { "const": 4.0, "default": 4.0, "title": "P2Sds", "type": "number" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "const": 28.0, "default": 28.0, "title": "Windscaling", "type": "number" }, "cdfac": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "Counter bias in the input wind fields by providing a multiplier on the drag coefficient", "title": "Cdfac" } }, "title": "ST6C2", "type": "object" }, "ST6C3": { "additionalProperties": false, "description": "Third ST6 calibration in the SWAN user manual.\n\n.. code-block:: text\n\n ST6 2.8e-6 3.5e-5 4.0 4.0 UP HWANG VECTAU U10PROXY 32.0 AGROW\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6C3\n st6 = ST6C3()\n print(st6.render())", "properties": { "model_type": { "const": "st6c3", "default": "st6c3", "title": "Model Type", "type": "string" }, "wind_drag": { "default": "hwang", "description": "Wind drag formula, `hwang` is the default and is unchanged from RBW12, `fan` is from Fan et al. (2012), `ecmwf` follows WAM Cycle 4 methodology", "enum": [ "hwang", "fan", "ecmwf" ], "title": "Wind Drag", "type": "string" }, "agrow": { "const": true, "default": true, "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "const": 2.8e-06, "default": 2.8e-06, "title": "A1Sds", "type": "number" }, "a2sds": { "const": 3.5e-05, "default": 3.5e-05, "title": "A2Sds", "type": "number" }, "p1sds": { "const": 4.0, "default": 4.0, "title": "P1Sds", "type": "number" }, "p2sds": { "const": 4.0, "default": 4.0, "title": "P2Sds", "type": "number" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "const": 32.0, "default": 32.0, "title": "Windscaling", "type": "number" }, "cdfac": { "anyOf": [ { "exclusiveMinimum": 0.0, "type": "number" }, { "type": "null" } ], "default": null, "description": "Counter bias in the input wind fields by providing a multiplier on the drag coefficient", "title": "Cdfac" } }, "title": "ST6C3", "type": "object" }, "ST6C4": { "additionalProperties": false, "description": "Fourth ST6 calibration in the SWAN user manual.\n\n.. code-block:: text\n\n ST6 2.8e-6 3.5e-5 4.0 4.0 UP HWANG VECTAU U10PROXY 32.0 DEBIAS 0.89 AGROW\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6C4\n st6 = ST6C4()\n print(st6.render())", "properties": { "model_type": { "const": "st6c4", "default": "st6c4", "title": "Model Type", "type": "string" }, "wind_drag": { "default": "hwang", "description": "Wind drag formula, `hwang` is the default and is unchanged from RBW12, `fan` is from Fan et al. (2012), `ecmwf` follows WAM Cycle 4 methodology", "enum": [ "hwang", "fan", "ecmwf" ], "title": "Wind Drag", "type": "string" }, "agrow": { "const": true, "default": true, "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "const": 2.8e-06, "default": 2.8e-06, "title": "A1Sds", "type": "number" }, "a2sds": { "const": 3.5e-05, "default": 3.5e-05, "title": "A2Sds", "type": "number" }, "p1sds": { "const": 4.0, "default": 4.0, "title": "P1Sds", "type": "number" }, "p2sds": { "const": 4.0, "default": 4.0, "title": "P2Sds", "type": "number" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "const": 32.0, "default": 32.0, "title": "Windscaling", "type": "number" }, "cdfac": { "const": 0.89, "default": 0.89, "title": "Cdfac", "type": "number" } }, "title": "ST6C4", "type": "object" }, "ST6C5": { "additionalProperties": false, "description": "Fifth ST6 calibration in the SWAN user manual.\n\n.. code-block:: text\n\n ST6 4.7e-7 6.6e-6 4.0 4.0 UP HWANG VECTAU U10PROXY 28.0 AGROW\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import ST6C5\n st6 = ST6C5()\n print(st6.render())", "properties": { "model_type": { "const": "st6c5", "default": "st6c5", "title": "Model Type", "type": "string" }, "wind_drag": { "default": "hwang", "description": "Wind drag formula, `hwang` is the default and is unchanged from RBW12, `fan` is from Fan et al. (2012), `ecmwf` follows WAM Cycle 4 methodology", "enum": [ "hwang", "fan", "ecmwf" ], "title": "Wind Drag", "type": "string" }, "agrow": { "const": true, "default": true, "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "a1sds": { "const": 6.5e-06, "default": 6.5e-06, "title": "A1Sds", "type": "number" }, "a2sds": { "const": 8.5e-05, "default": 8.5e-05, "title": "A2Sds", "type": "number" }, "p1sds": { "const": 4.0, "default": 4.0, "title": "P1Sds", "type": "number" }, "p2sds": { "const": 4.0, "default": 4.0, "title": "P2Sds", "type": "number" }, "normalization": { "default": "up", "description": "Selection of normalization of exceedance level by ET(f) (`up`) or E(f) (`down`) as in RBW12 (right column, page 1333), `up` is default and strongly recommended", "enum": [ "up", "down" ], "title": "Normalization", "type": "string" }, "tau": { "default": "vectau", "description": "Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), `vectau` is the default and strongly recommended", "enum": [ "vectau", "scatau" ], "title": "Tau", "type": "string" }, "u10": { "default": "u10proxy", "description": "Wind velocity definition", "enum": [ "u10proxy", "true10" ], "title": "U10", "type": "string" }, "windscaling": { "const": 35.0, "default": 35.0, "title": "Windscaling", "type": "number" }, "cdfac": { "const": 0.89, "default": 0.89, "title": "Cdfac", "type": "number" } }, "title": "ST6C5", "type": "object" }, "WESTHUYSEN": { "additionalProperties": false, "description": "Westhuysen source terms subcomponent.\n\n.. code-block:: text\n\n WESTHUYSEN [cds2] [br] (AGROW [a])\n\nNonlinear saturation-based whitecapping combined with wind input of Yan (1987).\n\nNotes\n-----\nThe two arguments are specified in the Appendix C of the User manual but not in the\ncommand description for WESTH in Section 4.5.4. They are also options in the\nWCAPPING command. It is not entirely clear if they should/could be specified here.\n\nReferences\n----------\nvan der Westhuysen, A.J., Zijlema, M. and Battjes, J.A., 2007. Nonlinear\nsaturation-based whitecapping dissipation in SWAN for deep and shallow water.\nCoastal Engineering, 54(2), pp.151-170.\n\nExamples\n--------\n\n.. ipython:: python\n :okwarning:\n\n from rompy.swan.subcomponents.physics import WESTHUYSEN\n westhuysen = WESTHUYSEN()\n print(westhuysen.render())\n westhuysen = WESTHUYSEN(cds2=5.0e-5, br=1.75e-3)\n print(westhuysen.render())", "properties": { "model_type": { "default": "westhuysen", "description": "Model type discriminator", "enum": [ "westhuysen", "WESTHUYSEN" ], "title": "Model Type", "type": "string" }, "wind_drag": { "default": "wu", "description": "Indicates the wind drag formulation", "enum": [ "wu", "fit" ], "title": "Wind Drag", "type": "string" }, "agrow": { "default": false, "description": "Activate the Cavaleri and Malanotte (1981) wave growth term", "title": "Agrow", "type": "boolean" }, "a": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)", "title": "A" }, "cds2": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "proportionality coefficient due to Alves and Banner (2003) (SWAN default: 5.0e-5).", "title": "Cds2" }, "br": { "anyOf": [ { "type": "number" }, { "type": "null" } ], "default": null, "description": "Threshold saturation level\t(SWAN default: 1.75e-3)", "title": "Br" } }, "title": "WESTHUYSEN", "type": "object" } }, "additionalProperties": false }
- Fields:
- field model_type: Literal['gen3', 'GEN3'] = 'gen3'#
Model type discriminator