public pure function wavespeed_rd(cg1, fabs, beta) result(rd)
Smooth equatorial Rd blend: Rd = cg1/sqrt(f^2 + 2betacg1).
Reduces to cg1/|f| away from the equator and sqrt(cg1/(2*beta))
at f=0; a small inside-sqrt guard + denominator floor handle
f = beta = 0.
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.
Where possible, edges connecting nodes are
given different colours to make them easier to distinguish in
large graphs.
Variables
Type
Visibility
Attributes
Name
Initial
real(kind=wp),
private
::
denom
Source Code
pure function wavespeed_rd(cg1,fabs,beta)result(rd)!! Smooth equatorial Rd blend: Rd = cg1/sqrt(f^2 + 2*beta*cg1).!! Reduces to cg1/|f| away from the equator and sqrt(cg1/(2*beta))!! at f=0; a small inside-sqrt guard + denominator floor handle!! f = beta = 0.!$acc routine seqreal(wp),intent(in)::cg1,fabs,betareal(wp)::rdreal(wp)::denomdenom=sqrt(fabs*fabs+2.0_wp*beta*cg1+RD_GUARD)rd=cg1/max(denom,F_DENOM_FLOOR)end function wavespeed_rd