ocean_wetdry_config_t Derived Type

type, public :: ocean_wetdry_config_t

&ocean_wetdry_nml: dynamic wetting/drying for the split-explicit barotropic substep (docs/ocean_wetdry_plan.md). Default off ⇒ byte-identical everywhere (the wd_* workspaces stay unallocated and the substep runs its unmodified centred-face path).


Inherited by

type~~ocean_wetdry_config_t~~InheritedByGraph type~ocean_wetdry_config_t ocean_wetdry_config_t type~ocean_config_t ocean_config_t type~ocean_config_t->type~ocean_wetdry_config_t wetdry type~config_t config_t type~config_t->type~ocean_config_t ocean type~ocean_handle_t ocean_handle_t type~ocean_handle_t->type~config_t cfg

Components

Type Visibility Attributes Name Initial
real(kind=wp), public :: dry_depth = 0.05_wp

Total-depth dry threshold (m): a column with D < dry_depth is dynamically dry (masked). Must be > 0.

logical, public :: enable = .false.

Master switch. When .true. the BT substep switches to upwind face thickness + the positive-definite outflow limiter + the bed-blocking momentum gate; requires sigma / zstar(-lite) vertical coordinates, &ocean_continuity_nml ppm_limit_pos, and single-rank (all fail-loud at configure).

real(kind=wp), public :: land_margin = 5.0_wp

Static-land headroom (m) above rest MSL, used ONLY when enable=.true. A column is STATIC LAND (metrics zeroed at configure) iff its bed is above the highest credible water level: b < -land_margin (b positive- down, so -land_margin is land_margin metres above rest MSL). Columns with -land_margin <= b < LAND_DEPTH_THRESHOLD are INTERTIDAL: they seed wet_mask=1 (real metrics) and the dynamic wd_wet_dyn gate handles their wetting/drying. Set to the expected tidal amplitude + surge. When enable=.false. this knob is inert (the LAND_DEPTH_THRESHOLD seed runs).

real(kind=wp), public :: rewet_depth = 0.10_wp

Hysteresis re-wet threshold (m): a dry column re-wets only when D > rewet_depth. Must be > dry_depth (kills wet/dry flip-flop chatter at the front).


Source Code

   type :: ocean_wetdry_config_t
      !! `&ocean_wetdry_nml`: dynamic wetting/drying for the split-explicit
      !! barotropic substep (docs/ocean_wetdry_plan.md).  Default off ⇒
      !! byte-identical everywhere (the wd_* workspaces stay unallocated and
      !! the substep runs its unmodified centred-face path).
      logical :: enable = .false.
         !! Master switch.  When `.true.` the BT substep switches to upwind
         !! face thickness + the positive-definite outflow limiter + the
         !! bed-blocking momentum gate; requires sigma / zstar(-lite)
         !! vertical coordinates, `&ocean_continuity_nml ppm_limit_pos`,
         !! and single-rank (all fail-loud at configure).
      real(wp) :: dry_depth = 0.05_wp
         !! Total-depth dry threshold (m): a column with `D < dry_depth`
         !! is dynamically dry (masked).  Must be > 0.
      real(wp) :: rewet_depth = 0.10_wp
         !! Hysteresis re-wet threshold (m): a dry column re-wets only when
         !! `D > rewet_depth`.  Must be > `dry_depth` (kills wet/dry
         !! flip-flop chatter at the front).
      real(wp) :: land_margin = 5.0_wp
         !! Static-land headroom (m) above rest MSL, used ONLY when enable=.true.
         !! A column is STATIC LAND (metrics zeroed at configure) iff its bed is
         !! above the highest credible water level: `b < -land_margin` (b positive-
         !! down, so -land_margin is `land_margin` metres above rest MSL). Columns
         !! with `-land_margin <= b < LAND_DEPTH_THRESHOLD` are INTERTIDAL: they
         !! seed wet_mask=1 (real metrics) and the dynamic wd_wet_dyn gate handles
         !! their wetting/drying. Set to the expected tidal amplitude + surge. When
         !! enable=.false. this knob is inert (the LAND_DEPTH_THRESHOLD seed runs).
   end type ocean_wetdry_config_t