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
real(kind=wp),
private
::
col_sum
integer,
private
::
i
integer,
private
::
j
integer,
private
::
k
integer,
private
::
nx
integer,
private
::
ny
integer,
private
::
nz
real(kind=wp),
private
::
w_dA
Source Code
pure function budget_total_mass(ms,mask,areaT)result(total)!! Total mass: Σ over masked interior of `h_layer·areaT·weight` over k.!! Units: m³. Public only for the unit-test suite.type(multilayer_state_t),intent(in)::mstype(diag_mask_t),intent(in)::maskreal(wp),intent(in)::areaT(:,:)real(wp)::totalinteger::i,j,k,nx,ny,nzreal(wp)::w_dA,col_sumtotal=0.0_wpnx=min(mask%nx,size(ms%h_layer,1))ny=min(mask%ny,size(ms%h_layer,2))nz=ms%nz_mldo j=1,nydo i=1,nxw_dA=mask%weight(i,j)*areaT(i,j)if(w_dA<=0.0_wp)cyclecol_sum=0.0_wpdo k=1,nzcol_sum=col_sum+ms%h_layer(i,j,k)end dototal=total+w_dA*col_sumend do end do end function budget_total_mass