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 PR(eta,p,Bo,l)REAL(rp),INTENT(IN)::eta! in radiansREAL(rp),INTENT(IN)::p! dimensionless (in units of mc)REAL(rp),INTENT(IN)::BoREAL(rp),INTENT(IN)::lREAL(rp)::PRREAL(rp)::gREAL(rp)::vREAL(rp)::kREAL(rp)::lcREAL(rp)::zREAL(rp)::Pig=SQRT(p**2+1.0_rp)v=C_C*SQRT(1.0_rp-1.0_rp/g**2)k=C_E*Bo*SIN(deg2rad(eta))/(g*C_ME*v)lc=(4.0_rp*C_PI/3.0_rp)/(k*g**3)! Critical wavelengthz=lc/lcall P_integral(z,Pi)PR=(C_C*C_E**2)*Pi/(SQRT(3.0_rp)*C_E0*g**2*l**3)END FUNCTION PR