Nodes of different colours represent the following:
Solid arrows point from a submodule to the (sub)module which it is
descended from. Dashed arrows point from a module or program unit to
modules which it uses.
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
subroutine get_Thomson_parameters(Rl,A,B,C,D)! parameters given in Billings 1968use mod_constantsdouble precision,intent(in)::Rldouble precision,intent(inout)::A,B,C,Ddouble precision::sinO,cosO,sinO2,cosO2,tmpsinO=const_Rsun/(Rl*unit_length)sinO2=sinO**2cosO2=1.d0-sinO2cosO=abs(dsqrt(cosO2))tmp=log((1.d0+sinO)/cosO)A=cosO*sinO2B=-(1.d0-3.d0*sinO2-(cosO2/sinO)*(1.d0+3.d0*sinO2)*tmp)/8.d0C=4.d0/3.d0-cosO-cosO*cosO2/3.d0D=(5.d0+sinO2-(cosO2/sinO)*(5.d0-sinO2)*tmp)/8.d0end subroutine get_Thomson_parameters