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.
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 gamma_distribution(rn1,ai,k7)!**** PURPOSE: THIS FUNCTION PROVIDES NUMBERS rn1 FROM A GAMMA DISTRIBUTION,! GIVEN TWO RANDOM NUMBERS ai & k7!**** CALLED IN: ALPHA!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~! PARAMETERS & VARIABLES!! >>>>> STATIC PARAMETERS! fu = local par! rn = local par! xn1 = local par! xx = local par! >>>>>!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~integer k7real(dp)rn1,ai,fu,rn,xx,gamma_distributiondimension k7(4)do while(.true.)gamma_distribution=rn1xx=rn1*airn=random_n(k7)fu=xx**xn1*exp(xn1*(1.-xx))rn1=rnif(fu.ge.rn)exit end do return end function gamma_distribution