Source code for rompy.swan.subcomponents.output

"""
SWAN Output Subcomponents

This module contains subcomponents for defining output specifications in SWAN,
including spectral output types and frequency representations.
"""

from typing import Literal

from pydantic import Field

from rompy.swan.subcomponents.base import BaseSubComponent


[docs] class SPEC1D(BaseSubComponent): """Frequency 1D spectra. .. code-block:: text SPEC1D Examples -------- .. ipython:: python :okwarning: from rompy.swan.subcomponents.output import SPEC1D spec = SPEC1D() print(spec.render()) """ model_type: Literal["spec1d", "SPEC1D"] = Field( default="spec1d", description="Model type discriminator" )
[docs] def cmd(self) -> str: """Command file string for this subcomponent.""" return "SPEC2D"
[docs] class SPEC2D(BaseSubComponent): """Frequency-direction 2D spectra. .. code-block:: text SPEC2D Examples -------- .. ipython:: python :okwarning: from rompy.swan.subcomponents.output import SPEC2D spec = SPEC2D() print(spec.render()) """ model_type: Literal["spec2d", "SPEC2D"] = Field( default="spec2d", description="Model type discriminator" )
[docs] def cmd(self) -> str: """Command file string for this subcomponent.""" return "SPEC2D"
[docs] class ABS(BaseSubComponent): """Absolute frequency spectra. .. code-block:: text ABS Spectra are computed as a function of absolute frequency, i.e., the frequency as measured in a fixed point. Examples -------- .. ipython:: python :okwarning: from rompy.swan.subcomponents.output import ABS freq = ABS() print(freq.render()) """ model_type: Literal["abs", "ABS"] = Field( default="abs", description="Model type discriminator" )
[docs] def cmd(self) -> str: """Command file string for this subcomponent.""" return "ABS"
[docs] class REL(BaseSubComponent): """Relative frequency spectra. .. code-block:: text REL Spectra are computed as a function of relative frequency, i.e., the frequency as measured when moving with current. Examples -------- .. ipython:: python :okwarning: from rompy.swan.subcomponents.output import REL freq = REL() print(freq.render()) """ model_type: Literal["rel", "REL"] = Field( default="rel", description="Model type discriminator" )
[docs] def cmd(self) -> str: """Command file string for this subcomponent.""" return "REL"