rompy.swan.subcomponents.physics.ST6#

pydantic model rompy.swan.subcomponents.physics.ST6[source]#

St6 source terms subcomponent.

ST6 [a1sds] [a2sds] [p1sds] [p2sds] UP|DOWN HWANG|FAN|ECMWF VECTAU|SCATAU &
    TRUE10|U10PROXY [windscaling] DEBIAS [cdfac] (AGROW [a])

wind input and whitecapping from Rogers et al. (2012) (RBW12).

Notes

The two arguments are specified in the Appendix C of the User manual but not in the command description for WESTH in Section 4.5.4. They are also options in the WCAPPING command. It is not entirely clear if they should/could be specified here.

References

Fan, Y., Lin, S.J., Held, I.M., Yu, Z. and Tolman, H.L., 2012. Global ocean surface wave simulation using a coupled atmosphere–wave model. Journal of Climate, 25(18), pp.6233-6252.

Rogers, W.E., Babanin, A.V. and Wang, D.W., 2012. Observation-consistent input and whitecapping dissipation in a model for wind-generated surface waves: Description and simple calculations. Journal of Atmospheric and Oceanic Technology, 29(9), pp.1329-1346.

Examples

In [53]: from rompy.swan.subcomponents.physics import ST6

In [54]: st6 = ST6(a1sds=4.7e-7, a2sds=6.6e-6)

In [55]: print(st6.render())
ST6 a1sds=4.7e-07 a2sds=6.6e-06 UP HWANG VECTAU U10PROXY windscaling=32.0

In [56]: kwargs = dict(
   ....:     a1sds=2.8e-6,
   ....:     a2sds=3.5e-5,
   ....:     normalization="up",
   ....:     wind_drag="hwang",
   ....:     tau="vectau",
   ....:     u10="u10proxy",
   ....:     windscaling=32.0,
   ....:     cdfac=0.89,
   ....:     agrow=True,
   ....:     a=0.0015,
   ....: )
   ....: 

In [57]: st6 = ST6(**kwargs)

In [58]: print(st6.render())
ST6 a1sds=2.8e-06 a2sds=3.5e-05 UP HWANG VECTAU U10PROXY windscaling=32.0 DEBIAS cdfac=0.89 AGROW a=0.0015

Show JSON schema
{
   "title": "ST6",
   "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())",
   "type": "object",
   "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"
      }
   },
   "additionalProperties": false,
   "required": [
      "a1sds",
      "a2sds"
   ]
}

Fields:
Validators:
field a: float | None = None#

Proportionality coefficient when activating the Cavaleri and Malanotte (1981) wave growth term (SWAN default: 0.0015)

Validated by:
field a1sds: float [Required]#

Coefficient related to local dissipation term T1 (a1 in RBW12)

Validated by:
field a2sds: float [Required]#

Coefficient related to local dissipation term T2 (a2 in RBW12)

Validated by:
field agrow: bool = False#

Activate the Cavaleri and Malanotte (1981) wave growth term

Validated by:
field cdfac: float | None = None#

Counter bias in the input wind fields by providing a multiplier on the drag coefficient

Constraints:
  • gt = 0.0

Validated by:
field model_type: Literal['st6'] = 'st6'#

Model type discriminator

Validated by:
field normalization: Literal['up', 'down'] = 'up'#

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

Validated by:
field p1sds: float | None = None#

Power coefficient controlling strength of dissipation term T1 (L in RBW12, SWAN default: 4)

Validated by:
field p2sds: float | None = None#

Power coefficient controlling strength of dissipation term T2 (M in RBW12, SWAN default: 4)

Validated by:
field tau: Literal['vectau', 'scatau'] = 'vectau'#

Use vector (vectau) or scalar (scatau) calculation for the wind strerss (Eq. 12 in RBW12), vectau is the default and strongly recommended

Validated by:
field u10: Literal['u10proxy', 'true10'] = 'u10proxy'#

Wind velocity definition

Validated by:
field wind_drag: Literal['hwang', 'fan', 'ecmwf'] = 'hwang'#

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

Validated by:
field windscaling: float | None = 32.0#

Factor to scale U10 with U* when using U10PROXY

Validated by:
cmd() str[source]#
validator debias_only_with_hwang  »  all fields[source]#
property u10_cmd: str#