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_conservative(u)real(dp),intent(inout)::u(nw_phys)! Compute energy from pressure and kinetic energyu(iw_e)=u(iw_e)*inv_gamma_1+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)! Compute momentum from density and velocity componentsu(iw_mom(1))=u(iw_rho)*u(iw_mom(1))u(iw_mom(2))=u(iw_rho)*u(iw_mom(2))u(iw_mom(3))=u(iw_rho)*u(iw_mom(3))end subroutine to_conservative