public pure subroutine continuity_apply_fluxes_barotropic(bs, dt)
Forward-Euler step: h <- h - dt * flux_h. The full
split-explicit RK2 scheme (Phase 4) wraps two of these calls
around an RK2 averaging pass; for Phase 2 this single-stage
step is enough to exercise the kernel under the lake-at-rest,
Gaussian-hump, and mass-conservation tests.
Nodes of different colours represent the following:
Solid arrows point from a procedure to one which it calls. Dashed
arrows point from an interface to procedures which implement that interface.
This could include the module procedures in a generic interface or the
implementation in a submodule of an interface in a parent module.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
integer,
private
::
i
integer,
private
::
j
integer,
private
::
nx
integer,
private
::
ny
Source Code
pure subroutine continuity_apply_fluxes_barotropic(bs,dt)!! Forward-Euler step: h <- h - dt * flux_h. The full!! split-explicit RK2 scheme (Phase 4) wraps two of these calls!! around an RK2 averaging pass; for Phase 2 this single-stage!! step is enough to exercise the kernel under the lake-at-rest,!! Gaussian-hump, and mass-conservation tests.type(barotropic_state_t),intent(inout)::bsreal(wp),intent(in)::dtinteger::i,j,nx,nynx=size(bs%h,1)ny=size(bs%h,2)doconcurrent(j=1:ny,i=1:nx)bs%h(i,j)=bs%h(i,j)-dt*bs%flux_h(i,j)end do end subroutine continuity_apply_fluxes_barotropic