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.
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
real(kind=wp),
private
::
uc
real(kind=wp),
private
::
vc
Source Code
pure subroutine fill_ice_speed_impl(u_ice,v_ice,buf)! assumed-shape-ok: diag fill — fires once per output frame (cadence-bounded);! face-sized u_ice/v_ice have nx+1/ny+1 dims; size() min-clips at call.real(wp),intent(in)::u_ice(:,:),v_ice(:,:)real(wp),intent(inout)::buf(:,:,:)! assumed-shape-ok: diag fill — cadence-boundedinteger::i,j,nx,nyreal(wp)::uc,vcnx=min(size(buf,1),size(u_ice,1)-1,size(v_ice,1))ny=min(size(buf,2),size(u_ice,2),size(v_ice,2)-1)doconcurrent(j=1:ny,i=1:nx)local(uc,vc)uc=0.5_wp*(u_ice(i,j)+u_ice(i+1,j))vc=0.5_wp*(v_ice(i,j)+v_ice(i,j+1))buf(i,j,1)=sqrt(uc*uc+vc*vc)end do end subroutine fill_ice_speed_impl