.true. iff &ocean_sponge_nml damp_source names a source that is
actually filled. "file" is a recognised name (PR-23b, needs the
PR-14 reader) but has no kernel yet — a source with no filler
must abort, not silently build an all-zero map (the
lateral_closure_is_implemented idiom).
Kept under its original name because it is the DAMP axis; the
TARGET axis has its own predicate below. They were one function
until "linear_z" arrived, at which point a shared list would
have accepted damp_source="linear_z" — a spelling with no
meaning on that axis — as valid.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | tag |
pure logical function sponge_source_is_implemented(tag) result(ok) !! .true. iff `&ocean_sponge_nml damp_source` names a source that is !! actually filled. `"file"` is a recognised name (PR-23b, needs the !! PR-14 reader) but has no kernel yet — a source with no filler !! must abort, not silently build an all-zero map (the !! `lateral_closure_is_implemented` idiom). !! !! Kept under its original name because it is the DAMP axis; the !! TARGET axis has its own predicate below. They were one function !! until `"linear_z"` arrived, at which point a shared list would !! have accepted `damp_source="linear_z"` — a spelling with no !! meaning on that axis — as valid. character(len=*), intent(in) :: tag select case (trim(tag)) case ("band") ok = .true. case default ok = .false. end select end function sponge_source_is_implemented