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.
Source Code
pure subroutine to_primitive(u)real(dp),intent(inout)::u(nw_phys)u(iw_mom(1))=u(iw_mom(1))/u(iw_rho)u(iw_mom(2))=u(iw_mom(2))/u(iw_rho)u(iw_mom(3))=u(iw_mom(3))/u(iw_rho)u(iw_e)=gamma_1*(u(iw_e)-0.5_dp*&(u(iw_rho)*(u(iw_mom(1))**2+u(iw_mom(2))**2+u(iw_mom(3))**2)+&u(iw_mag(1))**2+u(iw_mag(2))**2+u(iw_mag(3))**2))end subroutine to_primitive