rompy.swan.components.numerics.PROP#
- pydantic model rompy.swan.components.numerics.PROP[source]#
Propagation scheme.
PROP BSTB|GSE
Notes
The scheme defaults to S&L and SORDUP for nonstationary and stationary simulations if not specified.
All schemes (BSBT, SORDUP and S&L) can be used in combination with curvilinear grids. With the higher order schemes (S&L and SORDUP) it is important to use a gradually varying grid otherwise there may be a severe loss of accuracy. If sharp transitions in the grid cannot be avoided it is safer to use the BSBT scheme.
In the computation with unstructured meshes, a lowest order upwind scheme will be employed. This scheme is very robust but rather diffusive. This may only be significant for the case when swell waves propagate over relative large distances (in the order of thousands of kilometers) within the model domain. However and most fortunately, in such a case this will alleviate the garden-sprinkler effect.
Alleviating the garden-sprinkler effect by adding some diffusion makes the SWAN computation conditionally stable. You can either use (i) a smaller time step, (ii) a lower value of waveage, (iii) better resolution in the directional space, or (iv) worse resolution in the geographic space, in order of preference, to make the model stable when necessary.
Examples
In [9]: from rompy.swan.components.numerics import PROP In [10]: prop = PROP() In [11]: print(prop.render()) PROP In [12]: prop = PROP(scheme=dict(model_type="bsbt")) In [13]: print(prop.render()) PROP BSBT In [14]: prop = PROP( ....: scheme=dict( ....: model_type="gse", ....: waveage=dict(delt="PT5H", dfmt="hr"), ....: ), ....: ) ....: In [15]: print(prop.render()) PROP GSE waveage=5.0 HR
- Fields:
- field model_type: Literal['prop', 'PROP'] = 'prop'#
Model type discriminator