Seed hTr(idx_pseudo_salt) = hTr(idx_salinity) over the FULL
array shape (nx_total, ny_total, nz_ml) — ghosts included,
matching MOM6’s isd:ied, jsd:jed seed (§4 of the plan). A
halved ghost band would make the deviation diagnostic non-zero
at the very first halo exchange, before any real transport has
run. Self-gates on either index being unregistered. Must run
AFTER every write to salinity’s initial condition (analytical
IC, then any z-file overlay) and BEFORE ocean_state_enter_data.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(multilayer_state_t), | intent(inout) | :: | ms |
pure subroutine ocean_pseudo_salt_seed(ms) !! Seed `hTr(idx_pseudo_salt) = hTr(idx_salinity)` over the FULL !! array shape (nx_total, ny_total, nz_ml) — ghosts included, !! matching MOM6's `isd:ied, jsd:jed` seed (§4 of the plan). A !! halved ghost band would make the deviation diagnostic non-zero !! at the very first halo exchange, before any real transport has !! run. Self-gates on either index being unregistered. Must run !! AFTER every write to salinity's initial condition (analytical !! IC, then any z-file overlay) and BEFORE `ocean_state_enter_data`. type(multilayer_state_t), intent(inout) :: ms if (ms%idx_pseudo_salt <= 0 .or. ms%idx_salinity <= 0) return ms%tracers(ms%idx_pseudo_salt)%hTr = ms%tracers(ms%idx_salinity)%hTr end subroutine ocean_pseudo_salt_seed