private pure subroutine accumulate_flux_x(nx_face, ny, nz, dt, mass_flux_x, uhtr)
Accumulate one RK2 stage’s zonal mass flux into the windowed
accumulator with the ½ RK2 weight baked in:
uhtr += 0.5·mass_flux_x·dt. mass_flux_x is already
area-weighted (m³/s = u·h_face·dy_cu); the product is m³.
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
::
k
Source Code
pure subroutine accumulate_flux_x(nx_face,ny,nz,dt,mass_flux_x,uhtr)!! Accumulate one RK2 stage's zonal mass flux into the windowed!! accumulator with the ½ RK2 weight baked in:!! `uhtr += 0.5·mass_flux_x·dt`. `mass_flux_x` is already!! area-weighted (m³/s = u·h_face·dy_cu); the product is m³.integer,intent(in)::nx_face,ny,nzreal(wp),intent(in)::dtreal(wp),intent(in)::mass_flux_x(nx_face,ny,nz)real(wp),intent(inout)::uhtr(nx_face,ny,nz)integer::i,j,kdoconcurrent(k=1:nz,j=1:ny,i=1:nx_face)uhtr(i,j,k)=uhtr(i,j,k)+0.5_wp*mass_flux_x(i,j,k)*dtend do end subroutine accumulate_flux_x