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.
function g_j(i,v)INTEGER,INTENT(IN)::iREAL(rp),INTENT(IN)::vREAL(rp)::gamREAL(rp)::pREAL(rp)::g_jgam=1/sqrt(1-v**2)p=v*gamg_j=2._rp/3._rp*((cparams_ms%Zo(i)**2-cparams_ms%Zj(i)**2)*&log((p*cparams_ms%aZj(i))**(3._rp/2._rp)+1)-&(cparams_ms%Zo(i)-cparams_ms%Zj(i))**2*&(p*cparams_ms%aZj(i))**(3._rp/2._rp)/&((p*cparams_ms%aZj(i))**(3._rp/2._rp)+1))! write(output_unit_write,'("g_j: ",E17.10)') g_jend function g_j